Commit Graph

248 Commits

Author SHA1 Message Date
LongYinan
e5f8a58330
ci: refactor workflow (#5139)
Merge tests job into single one, reuse job as much as possible
2023-12-06 08:03:05 +00:00
LongYinan
e4c6db2d02
chore: bump up ava version to v6 (#5195)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ava/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ava/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ava/5.3.1/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ava/5.3.1/6.0.0?slim=true)](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. [#&#8203;3251](https://togithub.com/avajs/ava/issues/3251) [#&#8203;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. [#&#8203;3260](https://togithub.com/avajs/ava/issues/3260)

-   Changes to watch mode [#&#8203;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. [#&#8203;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\)). [#&#8203;3229](https://togithub.com/avajs/ava/issues/3229)

-   Changes to modules loaded through the `require` configuration [#&#8203;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 [#&#8203;3218](https://togithub.com/avajs/ava/issues/3218) and [#&#8203;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 [#&#8203;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 [#&#8203;3245](https://togithub.com/avajs/ava/issues/3245) by [@&#8203;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 [#&#8203;3184](https://togithub.com/avajs/ava/issues/3184) by [@&#8203;sculpt0r](https://togithub.com/sculpt0r).

##### Other changes worth noting

-   Internal events can now be observed (experimentally). See [#&#8203;3247](https://togithub.com/avajs/ava/issues/3247) by [@&#8203;codetheweb](https://togithub.com/codetheweb). It’s experimental and undocumented.
-   You can now use `t.timeout.clear()` to restore a previous `t.timeout()`. [#&#8203;3221](https://togithub.com/avajs/ava/issues/3221)
-   Code coverage is flushed to disk at opportune moments. [#&#8203;3220](https://togithub.com/avajs/ava/issues/3220)

#### New Contributors

-   [@&#8203;sculpt0r](https://togithub.com/sculpt0r) made their first contribution in [https://github.com/avajs/ava/pull/3184](https://togithub.com/avajs/ava/pull/3184)
-   [@&#8203;ZachHaber](https://togithub.com/ZachHaber) made their first contribution in [https://github.com/avajs/ava/pull/3233](https://togithub.com/avajs/ava/pull/3233)
-   [@&#8203;adiSuper94](https://togithub.com/adiSuper94) made their first contribution in [https://github.com/avajs/ava/pull/3245](https://togithub.com/avajs/ava/pull/3245)
-   [@&#8203;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)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.35.3/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.35.3/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-js-contrib (@&#8203;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
liuyi
7698a6ac8e
chore(server): bump octobase versions (#4893)
Co-authored-by: DarkSky <darksky2048@gmail.com>
2023-11-10 02:25:28 +00: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
liuyi
b99ac51624
chore(server): decrease amount of batch updates merging (#4860) 2023-11-07 09:18:02 +00:00
liuyi
01d7fe4597
fix(server): avoid saving invalid data (#4859) 2023-11-07 08:27:17 +00:00
Joooye_34
f50b8002b3
v0.10.0-canary.13 2023-11-07 09:55:30 +08:00
Joooye_34
8554d5d791
v0.10.0-canary.12 2023-11-07 00:13:51 +08:00
liuyi
cb6974f263
fix(server): avoid server overloading by too many updates (#4846) 2023-11-06 10:21:19 +00:00
liuyi
f75684d6f6
fix(server): failed to share again if disable once (#4844) 2023-11-06 10:19:21 +00:00
Joooye_34
3b74ff2b92
v0.10.0-canary.11 2023-11-06 18:10:28 +08:00
liuyi
f491ff94cc
refactor(server): separate page visibility from workspace permission (#4836) 2023-11-06 03:49:39 +00:00
liuyi
f6cfe7c8a1
fix(server): only treat active subscription as existing (#4826) 2023-11-03 04:00:58 +00:00
Joooye_34
fb0aaabe53
v0.10.0-canary.10 2023-11-02 23:40:34 +08:00
liuyi
a3906bf92b
fix(server): do not return subscription if not active (#4820) 2023-11-02 14:17:26 +00:00
forehalo
5e9efbffa3
fix(server): page variant may exist 2023-11-02 18:25:30 +08:00
liuyi
6a93203d68
feat(server): sync data with ack (#4791) 2023-11-02 09:05:28 +00:00
Joooye_34
75c8dd75e3
v0.10.0-canary.9 2023-11-01 22:03:47 +08:00
Joooye_34
0273ea8b00
v0.10.0-canary.8 2023-11-01 00:03:04 +08:00
Cats Juice
93e286177f
feat(core): billing history pagination (#4787) 2023-10-31 09:47:59 +00:00
Joooye_34
563863005f
v0.10.0-canary.6 2023-10-31 14:40:47 +08:00
DarkSky
57d71ad6cf
fix: idempotencyKey used (#4774) 2023-10-31 05:26:42 +00:00
Joooye_34
37ec552f74
v0.10.0-canary.5 2023-10-31 11:54:25 +08:00
Joooye_34
17afe218fe v0.10.0-canary.4 2023-10-31 01:49:15 +08:00
LongYinan
581635f40b
Merge pull request #4709 from toeverything/61/doc-perf
perf(server): opmitize updates table
2023-10-30 09:27:19 +00:00
forehalo
26b953ce57
fix(server): wrong prod data migration scripts filter 2023-10-30 16:50:39 +08:00
DarkSky
95c1a44a0d
Merge branch 'master' into payment-system 2023-10-30 01:55:51 -05:00
LongYinan
fc3516acfb
Merge pull request #4746 from toeverything/data-migrations-system
feat(server): add data migration system
2023-10-30 06:36:18 +00:00
DarkSky
de9e7f97a4
feat: add idempotent request support for payment apis (#4753) 2023-10-30 05:54:09 +00:00
forehalo
98d0ac3c90
feat(server): add data migration system 2023-10-30 11:12:09 +08:00
DarkSky
3798293d3e
fix: error handle in payment resolver (#4754) 2023-10-30 00:33:21 +08:00
DarkSky
1775138228
feat: bump up blob size limit temporarily (#4747) 2023-10-28 07:51:02 +00:00
DarkSky
588f63505d
fix: password reset token (#4743) 2023-10-27 09:52:29 +00:00
Joooye_34
385de7d33b Merge remote-tracking branch 'origin/master' into payment-system 2023-10-27 16:04:48 +08:00
JimmFly
af24334264
feat(core): add upgrade success page (#4738) 2023-10-27 15:49:32 +08:00
liuyi
50563dcb6e
feat(server): auto attach early access coupon (#4728) 2023-10-27 10:28:22 +08:00
liuyi
9334a363c7
chore(server): upgrade stripe sdk (#4733) 2023-10-26 12:37:52 +00:00
joooye34
559ec3956f v0.10.0-canary.3 2023-10-24 20:18:21 +08:00
liuyi
97d06432f0
fix(server): wrong invoice recurring value saved (#4712) 2023-10-24 18:32:52 +08:00
forehalo
ef1228dcb4
perf(server): opmitize updates table 2023-10-24 17:54:59 +08:00
forehalo
7ecee01d20
fix(server): respond stripe webhook immediately 2023-10-24 12:09:14 +08:00
forehalo
2e4f6ef2ed
feat(server): combine plan and recurring as stripe lookup key 2023-10-24 12:09:14 +08:00
forehalo
9b43380b05
fix(server): cancel scheduled subscription 2023-10-24 12:09:14 +08:00
liuyi
303dade2ef
fix cancel subscription edge cases (#4691) 2023-10-24 11:40:46 +08:00
liuyi
858a1da35f
feat(core): impl billing settings (#4652) 2023-10-24 11:40:46 +08:00
forehalo
df054ac7f6
feat(core): payment backend 2023-10-24 11:40:44 +08:00
dependabot[bot]
9d6b335829
chore: bump @aws-sdk/client-s3 from 3.428.0 to 3.433.0 (#4682)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 06:38:37 +00:00
DarkSky
779ac39b36
fix(server): captcha guard (#4673) 2023-10-20 08:54:08 +00:00
LongYinan
37c6560dd6
v0.10.0-canary.2 2023-10-19 17:18:18 +08:00
LongYinan
352420b881
build: fix native module in aarch64 docker image (#4656) 2023-10-19 08:59:02 +00:00
liuyi
7275d417b2
fix(server): avoid workspace subdoc guid conflict (#4664) 2023-10-19 08:12:57 +00:00
Joooye_34
d835be90cb
chore: prettier ignore file generated by napi-rs (#4661) 2023-10-19 07:17:04 +00:00
Joooye_34
bed9310519
refactor(infra): directory structure (#4615) 2023-10-18 15:30:08 +00:00