liuyi
17d584b336
refactor(server): use events system ( #5149 )
2023-12-08 05:00:58 +00:00
liuyi
e0cada49f5
refactor(server): do not force init binary when creating workspace ( #5146 )
2023-12-06 08:35:48 +00:00
liuyi
4cb26cd3e5
feat(server): events system ( #5145 )
2023-12-06 08:35:45 +00:00
LongYinan
e4c6db2d02
chore: bump up ava version to v6 ( #5195 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [ava](https://avajs.dev ) ([source](https://togithub.com/avajs/ava )) | [`^5.3.1` -> `^6.0.0`](https://renovatebot.com/diffs/npm/ava/5.3.1/6.0.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>avajs/ava (ava)</summary>
### [`v6.0.0`](https://togithub.com/avajs/ava/releases/tag/v6.0.0 )
[Compare Source](https://togithub.com/avajs/ava/compare/v5.3.1...v6.0.0 )
#### Breaking Changes
- AVA now requires Node.js versions 18.18, 20.8 or 21. Versions 14 and 16 are no longer supported. [#​3251](https://togithub.com/avajs/ava/issues/3251 ) [#​3216](https://togithub.com/avajs/ava/issues/3216 )
- When tests finish, worker threads or child processes are no longer exited through `proces.exit()`. If your test file does not exit on its own, the test run will time out. [#​3260](https://togithub.com/avajs/ava/issues/3260 )
- Changes to watch mode [#​3218](https://togithub.com/avajs/ava/issues/3218 ):
- Watch mode can no longer be started via the `ava.config.*` or `package.json` configuration.
- The `ignoredByWatcher` configuration has moved to the `watchMode` object, under the `ignoreChanges` key.
- Watch mode now uses the built-in [`fs.watch()`](https://nodejs.org/api/fs.html#fswatchfilename-options-listener ) in recursive mode. This is supported on Linux in Node.js 20 or newer, and MacOS and Windows in Node.js 18 as well. There are [caveats](https://nodejs.org/api/fs.html#caveats ) to keep in mind.
- Failed assertions now throw, meaning that any subsequent code is not executed. This also impacts the type definitions. [#​3246](https://togithub.com/avajs/ava/issues/3246 )
- [Only native errors](https://nodejs.org/api/util.html#utiltypesisnativeerrorvalue ) are now considered errors by the `t.throws()` and `t.throwsAsync()` assertions. [`Object.create(Error.prototype)` is **not** a native error](Object.create\(Error.prototype\)). [#​3229](https://togithub.com/avajs/ava/issues/3229 )
- Changes to modules loaded through the `require` configuration [#​3184](https://togithub.com/avajs/ava/issues/3184 ):
- If such modules export a default function, this function is now invoked.
- Local files are loaded through `@ava/typescript` if necessary.
#### Improvements
##### Rewritten watcher
The watcher has been rewritten. It’s now built on [`fs.watch()`](https://nodejs.org/api/fs.html#fswatchfilename-options-listener ) in recursive mode.
[`@vercel/nft`](https://togithub.com/vercel/nft ) is used to perform static dependency analysis, supporting ESM and CJS imports for JavaScript & TypeScript source files. This is a huge improvement over the previous runtime tracking of CJS imports, which did not support ESM.
Integration with [`@ava/typescript`](https://togithub.com/avajs/typescript ) has been improved. The watcher can now detect a change to a TypeScript source file, then wait for the corresponding build output to change before re-running tests.
The ignoredByWatcher configuration has moved to the watchMode object, under the ignoreChanges key.
See [#​3218](https://togithub.com/avajs/ava/issues/3218 ) and [#​3257](https://togithub.com/avajs/ava/issues/3257 ).
##### Failed assertions now throw
Assertions now throw a `TestFailure` error when they fail. This error is not exported or documented and should not be used or thrown manually. You cannot catch this error in order to recover from a failure, use `t.try()` instead.
All assertions except for `t.throws()` and `t.throwsAsync()` now return `true` when they pass. This is useful for some of the assertions in TypeScript where they can be used as a type guard.
Committing a failed `t.try()` result now also throws.
See [#​3246](https://togithub.com/avajs/ava/issues/3246 ).
##### `t.throws()` and `t.throwsAsync()` can now expect any error
By default, the thrown error (or rejection reason) must be a native error. You can change the assertion to expect any kind of error by setting `any: true` in the expectation object:
```js
t.throws(() => { throw 'error' }, {any: true})
```
See [#​3245](https://togithub.com/avajs/ava/issues/3245 ) by [@​adiSuper94](https://togithub.com/adiSuper94 ).
##### The `require` configuration is now more powerful
It now loads ES modules.
Local files are loaded through `@ava/typescript` if necessary, so you can also write these in TypeScript.
If there is a default export function, it is invoked after loading. The function is awaited so it can do asynchronous setup before further modules are loaded. Arguments from the configuration can be passed to the function (as a \[[structured clone](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone )]\(https://developer.mozilla.org/en-US/docs/Web/API/structuredClone )).
See [#​3184](https://togithub.com/avajs/ava/issues/3184 ) by [@​sculpt0r](https://togithub.com/sculpt0r ).
##### Other changes worth noting
- Internal events can now be observed (experimentally). See [#​3247](https://togithub.com/avajs/ava/issues/3247 ) by [@​codetheweb](https://togithub.com/codetheweb ). It’s experimental and undocumented.
- You can now use `t.timeout.clear()` to restore a previous `t.timeout()`. [#​3221](https://togithub.com/avajs/ava/issues/3221 )
- Code coverage is flushed to disk at opportune moments. [#​3220](https://togithub.com/avajs/ava/issues/3220 )
#### New Contributors
- [@​sculpt0r](https://togithub.com/sculpt0r ) made their first contribution in [https://github.com/avajs/ava/pull/3184 ](https://togithub.com/avajs/ava/pull/3184 )
- [@​ZachHaber](https://togithub.com/ZachHaber ) made their first contribution in [https://github.com/avajs/ava/pull/3233 ](https://togithub.com/avajs/ava/pull/3233 )
- [@​adiSuper94](https://togithub.com/adiSuper94 ) made their first contribution in [https://github.com/avajs/ava/pull/3245 ](https://togithub.com/avajs/ava/pull/3245 )
- [@​bricker](https://togithub.com/bricker ) made their first contribution in [https://github.com/avajs/ava/pull/3250 ](https://togithub.com/avajs/ava/pull/3250 )
**Full Changelog**: https://github.com/avajs/ava/compare/v5.3.1...v6.0.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
2023-12-05 06:19:00 +00:00
LongYinan
f3e717ee5f
chore: bump up @opentelemetry/instrumentation-ioredis version to ^0.36.0 ( #5186 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme ) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib )) | [`^0.35.3` -> `^0.36.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.35.3/0.36.0 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>open-telemetry/opentelemetry-js-contrib (@​opentelemetry/instrumentation-ioredis)</summary>
### [`v0.36.0`](607d375595...a757b5e443 )
[Compare Source](607d375595...a757b5e443 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/ ). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSJ9-->
2023-12-05 03:46:25 +00:00
liuyi
b4b4a3b625
fix(server): avoid snapshot write conflict ( #5174 )
2023-12-04 11:12:16 +00:00
liuyi
89f267a3fe
refactor(server): simplify metrics creation and usage ( #5115 )
2023-11-29 08:05:08 +00:00
LongYinan
7a7cbc45d7
fix: add prefer-readonly rule ( #5122 )
2023-11-29 15:19:00 +08:00
LongYinan
cb2c659f52
fix: add no-new-array rule ( #5117 )
2023-11-29 04:44:06 +00:00
LongYinan
68caf5027d
fix: add new-for-builtins rule ( #5116 )
2023-11-29 04:44:02 +00:00
LongYinan
19c61e051d
fix: add no-typeof-undefined rule ( #5114 )
2023-11-29 04:43:59 +00:00
LongYinan
bd488262fa
fix: add prefer-date-now rule ( #5113 )
2023-11-29 04:43:55 +00:00
LongYinan
45690c2756
fix: add no-useless-promise-resolve-reject rule ( #5111 )
2023-11-29 04:43:47 +00:00
LongYinan
923844f302
fix: add eqeqeq lint rule ( #5106 )
2023-11-29 04:43:31 +00:00
LongYinan
a843dcd851
fix: resolve cycle imports and prevent it by oxlint ( #5103 )
2023-11-29 04:43:27 +00:00
liuyi
e73c39fe6b
fix(server): wrong OTEL config ( #5084 )
2023-11-28 05:54:42 +00:00
liuyi
8cc9a0b21b
feat(server): add soft deleted flag to optimized blob table ( #5058 )
...
requires https://github.com/toeverything/OctoBase/pull/561
2023-11-27 07:06:31 +00:00
Peng Xiao
34d575078c
feat(core): simple recovery history ui poc ( #5033 )
...
Simple recovery history UI poc.
What's missing
- [x] e2e
All biz logic should be done, excluding complete ui details.
- [ ] offline prompt
- [ ] history timeline
- [ ] page ui
https://github.com/toeverything/AFFiNE/assets/584378/fc3f6a48-ff7f-4265-b9f5-9c0087cb2635
2023-11-27 02:41:19 +00:00
DarkSky
f04ec50d12
feat: optional payment for frontend ( #5056 )
2023-11-25 15:15:44 +00:00
DarkSky
13e712158c
feat: optional payment for server ( #5055 )
2023-11-25 14:59:47 +00:00
liuyi
9dc2d55a5a
fix(server): add guid compatibility of :space:page variant ( #5062 )
2023-11-24 15:46:09 +00:00
liuyi
91efca107a
refactor(server): standarderlize metrics and trace with OTEL ( #5054 )
...
you can now export span to Zipkin and metrics to Prometheus when developing locally
follow the docs of OTEL: https://opentelemetry.io/docs/instrumentation/js/exporters/
<img width="2357" alt="image" src="https://github.com/toeverything/AFFiNE/assets/8281226/ec615e1f-3e91-43f7-9111-d7d2629e9679 ">
2023-11-24 15:19:22 +00:00
liuyi
cf65a5cd93
fix(server): never throw in websocket gateways ( #5050 )
2023-11-24 07:26:40 +00:00
LongYinan
25eda22af6
v0.10.3-canary.2
2023-11-23 16:47:40 +08:00
liuyi
1740e7efa1
fix(server): check state changes before saving history record ( #5038 )
2023-11-23 07:39:02 +00:00
李华桥
9ded6afb4b
chore: v0.10.3-canary.1
2023-11-23 14:39:55 +08:00
LongYinan
3499dbbb7f
feat: upgrade dependencies and lockfile ( #5016 )
...
- Close https://github.com/toeverything/AFFiNE/security/dependabot/47
2023-11-23 05:18:05 +00:00
liuyi
3710bcdc14
fix(server): use iso date string as history query input ( #5035 )
2023-11-23 01:59:08 +00:00
liuyi
d1476495ae
feat(server): impl doc history ( #5004 )
2023-11-22 07:56:59 +00:00
liuyi
946b7b4004
feat(server): event on snapshot upserted ( #5002 )
2023-11-22 07:23:44 +00:00
liuyi
525b196cae
feat(server): reduce duplidated merge with cache ( #4975 )
2023-11-22 04:09:07 +00:00
liuyi
c69e542b98
feat(server): add cache module ( #4973 )
2023-11-22 04:09:00 +00:00
liuyi
85bee72e6b
chore(server): remove deprecated redis manager ( #4971 )
2023-11-22 03:51:18 +00:00
liuyi
b7d6237c20
feat(server): add doc history support ( #4970 )
2023-11-22 03:31:22 +00:00
李华桥
00c11d40cf
v0.10.3-canary.0
2023-11-21 10:02:46 +08:00
李华桥
0f6b28fd06
c0.11.0-canary.0
2023-11-20 23:53:50 +08:00
liuyi
9baad36e41
fix(server): all viewers can share public link ( #4968 )
2023-11-17 13:48:09 +08:00
JimmFly
ddd7cab414
feat(core): support share edgeless mode ( #4856 )
...
Close #3287
<!--
copilot:all
-->
### <samp>🤖 Generated by Copilot at d3fdf86</samp>
### Summary
📄 🚀 🔗
<!--
1. 📄 - This emoji represents the page and edgeless modes of sharing a page, as well as the GraphQL operations and types related to public pages.
2. 🚀 - This emoji represents the functionality of publishing and revoking public pages, as well as the confirmation modal and the notifications for the user.
3. 🔗 - This emoji represents the sharing URL and the query parameter for the share mode, as well as the hooks and functions that generate and use the URL.
-->
This pull request adds a feature to the frontend component of AFFiNE that allows the user to share a page in either `page` or `edgeless` mode, which affects the appearance and functionality of the page. It also adds the necessary GraphQL operations, types, and schema to support this feature in the backend, and updates the tests and the storybook stories accordingly.
* Modify the `useIsSharedPage` hook to accept an optional `shareMode` argument and use the `getWorkspacePublicPagesQuery`, `publishPageMutation`, and `revokePublicPageMutation` from `@affine/graphql`
2023-11-15 16:02:58 +08:00
DarkSky
8d55e5cdf9
fix: change password token check ( #4934 ) ( #4932 )
2023-11-14 23:03:01 +08:00
liuyi
c44a9a4903
fix(server): wrap updates applying in a transaction ( #4922 )
2023-11-14 14:39:39 +08:00
forehalo
dc8e84df31
fix(server): increase server acceptable websocket payload size
2023-11-12 11:22:00 +08:00
李华桥
5c48c83301
v0.10.0
2023-11-10 11:42:04 +08:00
李华桥
063f5a683e
v0.10.0-canary.16
2023-11-10 10:10:54 +08:00
LongYinan
9d89e4f7f5
fix(server): earlyAccessPreview env override ( #4898 )
2023-11-09 17:20:41 +00:00
LongYinan
927a6489f9
ci: adjust the beta cluster configuration
2023-11-10 00:22:45 +08:00
李华桥
075eead9fa
v0.10.0-canary.15
2023-11-09 23:27:12 +08:00
liuyi
405167854b
perf(server): avoid auto select blob data when upsert ( #4891 )
2023-11-09 10:45:31 +00:00
liuyi
248fb1fa69
fix(server): token set with id instead of email ( #4883 )
2023-11-09 08:23:03 +00:00
Joooye_34
744cd47481
v0.10.0-canary.14
2023-11-08 15:36:54 +08:00
liuyi
7305530d97
fix(server): wrong data migration ( #4855 )
2023-11-07 09:20:42 +00:00