Commit Graph

186 Commits

Author SHA1 Message Date
liuyi 6ed5ec36bb fix(server): sender passed to nextauth is never used (#5938) 2024-02-28 14:57:23 +08:00
liuyi 0fa917aabb ci: fix selfhost (#5920)
enhancement

___

- Introduced a new ESM module resolution setup using `ts-node` to enhance the development and deployment process.
- Implemented a dynamic loader script registration mechanism to facilitate ESM module loading.
- Simplified the predeploy script execution by refining environment variable handling and stdout configuration.
- Updated `package.json` to reflect changes in script commands for better ESM support and added necessary dependencies for `ts-node` and `typescript`.

___

<table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
      <summary><strong>loader.js</strong><dd><code>Introduce ESM Module Resolution via ts-node</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/loader.js

<li>Introduced <code>ts-node</code> configuration for ESM module resolution.<br> <li> Exported a <code>resolve</code> function for module resolution.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-9ed793897a493633028d510db0742ff38d2d86471c54b17513d4354c51597ef8">+11/-0</a>&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>register.js</strong><dd><code>Implement Dynamic Loader Script Registration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/register.js

<li>Implemented dynamic registration of the loader script.<br> <li> Utilized <code>node:module</code> and <code>node:url</code> for script registration.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-64831012a09f2bc4bc5a611ddb8e0871b0e83588de6c5d4f2f5cb1dae8fff244">+4/-0</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>self-host-predeploy.js</strong><dd><code>Simplify Predeploy Script Execution</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/scripts/self-host-predeploy.js

<li>Simplified environment variable passing to <code>execSync</code>.<br> <li> Changed stdout handling to inherit from the parent process.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-bd7b0be14c198018c21dadda6945a779c57d13e4c8584ee62da4baa99d370664">+3/-5</a>&nbsp; &nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
      <summary><strong>package.json</strong><dd><code>Update Scripts and Dependencies for ESM Support</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

packages/backend/server/package.json

<li>Updated script commands for ESM compatibility.<br> <li> Added <code>ts-node</code> and <code>typescript</code> dependencies.<br> <li> Removed redundant <code>--es-module-specifier-resolution=node</code> flags.<br>

</details>

  </td>
  <td><a href="https:/toeverything/AFFiNE/pull/5920/files#diff-a6530c6fe539aaa49ff0a7a80bc4362c1d95c419fdd19125415dcc869b31a443">+6/-6</a>&nbsp; &nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

>  **PR-Agent usage**:
>Comment `/help` on the PR to get a list of all available PR-Agent tools and their descriptions
2024-02-28 14:56:37 +08:00
liuyi cf52a43773 feat(server): allow customize mailer server (#5835) 2024-02-28 12:12:06 +08:00
liuyi d34eb2cbe5 fix(server): apply env overrides after all config merged (#5795) 2024-02-27 21:46:08 +08:00
liuyi 7f3f993ce4 refactor(server): reorganize server configs (#5753) 2024-02-27 21:45:26 +08:00
LongYinan 769398591b fix: resolve deps and types issues after cherry-pick 2024-02-21 14:51:29 +08:00
DarkSky 6cfe5d4566 feat: use custom verify token policy (#5836) 2024-02-21 14:20:08 +08:00
DarkSky 90de90403a feat: refresh new workspace feature (#5834) 2024-02-20 16:12:35 +08:00
liuyi 31faa93c71 chore(storage): bump y-octo (#5751) 2024-02-16 19:36:26 +08:00
liuyi def60f4c61 fix(server): doc upsert without row lock (#5765) 2024-02-05 16:39:48 +08:00
liuyi 79a8be7799 feat(server): allow pass coupon to checkout session (#5749) 2024-02-01 17:03:16 +08:00
liuyi 1a643cc70c fix(server): doc upsert race condition (#5755) 2024-01-31 21:36:35 +08:00
DarkSky fc8a48fb43 feat: add business blob limit (#5734) 2024-01-29 08:32:35 +00:00
DarkSky 070d5ca471 feat: impl unlimited features (#5659) 2024-01-26 08:28:54 +00:00
DarkSky fdffe90892 fix: consume blob stream correctly (#5706)
- use correctly endpoint in r2
- consume blob stream correctly
2024-01-25 10:59:53 +00:00
Joooye_34 bd8c7751db chore: update base version to 0.12.0 (#5695) 2024-01-25 05:17:35 +00:00
liuyi 0f67c683c9 fix(server): add metrics missing attributes (#5682) 2024-01-24 08:06:34 +00:00
JimmFly 25897dc404 feat(workspace): add blob and storage limit (#5535)
close TOV-343 AFF-508 TOV-461 TOV-460 TOV-419

Add `isOverCapacity ` status to detect if blob usage exceeds limits.
Add `onCapacityChange` and `onBlobSet` to monitor if the storage or blob exceeds the capacity limit.
Global modals `LocalQuotaModal` and `CloudQuotaModal` have been added, with the upload size of the blob being limited within the modal components.
The notification component has been adjusted, now you can pass in `action` click events and `actionLabel` .
2024-01-24 07:34:51 +00:00
liuyi 151a53c575 fix(server): disable payment module requirements temporarily (#5683) 2024-01-24 03:17:21 +00:00
liuyi 62169c59c8 fix(server): del staled update count cache if unmatch (#5674) 2024-01-23 08:19:29 +00:00
liuyi e516e0db23 refactor(server): plugin modules (#5630)
- [x] separates modules into `fundamental`, `core`, `plugins`
- [x] optional modules with `@OptionalModule` decorator to install modules with requirements met(`requires`, `if`)
- [x] `module.contributesTo` defines optional features that will be enabled if module registered
- [x] `AFFiNE.plugins.use('payment', {})` to enable a optional/plugin module
- [x] `PaymentModule` is the first plugin module
- [x] GraphQLSchema will not be generated for non-included modules
- [x] Frontend can use `ServerConfigType` query to detect which features are enabled
- [x] override existing provider globally
2024-01-22 07:40:28 +00:00
DarkSky ae8401b6f4 feat: skip update quota if same as latest activated quota (#5631) 2024-01-22 06:50:05 +00:00
LongYinan fa8655e43e style: apply prefer-node-protocol lint rule (#5627)
it makes it perfectly clear that the package is a Node.js builtin module.
2024-01-19 03:47:08 +00:00
LongYinan c5ea6fd2c3 fix(server): selfhost issues (#5623)
- env name in helm chart
- omit health check controller in selfhost env
2024-01-18 05:55:54 +00:00
liuyi 9fdbb3ac3d fix(server): should not listen on user defined host (#5622) 2024-01-18 04:59:53 +00:00
liuyi f419867437 chore(server): remove useless log (#5620) 2024-01-18 03:19:20 +00:00
liuyi d9324286d4 chore(server): add port to host if it is 0.0.0.0 (#5619) 2024-01-18 03:04:36 +00:00
DarkSky ee8ec47a4f feat: use SafeInt replace Float (#5613) 2024-01-17 12:36:21 +00:00
liuyi bf88b6edaa chore(server): remove too verbose logs (#5555)
chore(server): remove too verbose logs

chore(server): make logs less verbose
2024-01-17 10:37:22 +00:00
liuyi 00acc49342 chore(server): remove octobase storage usage (#5594)
since all blobs have been successfully migrated to r2, the octobase blob functions are no longer necessary.
2024-01-17 10:22:35 +00:00
DarkSky 8f80bdb7af feat: new free plan (#5604) 2024-01-17 07:20:18 +00:00
DarkSky ee2520ec18 feat: add query quota of workspace (#5603) 2024-01-16 09:45:55 +00:00
liuyi 75fb0a9f1a fix(server): standalone early access users detection (#5601) 2024-01-16 03:27:44 +00:00
liuyi 24e18dd475 fix: improve self-host convenience (#5582) 2024-01-15 09:24:53 +00:00
DarkSky 2f9b4fd0cf fix: add field polyfill for old feature (#5586) 2024-01-15 08:33:06 +00:00
liuyi 4c49b62ab7 fix(server): node imports order (#5583) 2024-01-14 05:47:56 +00:00
DarkSky 18907ebe57 fix: return empty resp if user not exists in login preflight (#5588) 2024-01-13 15:26:55 +00:00
liuyi 89b5c96d25 refactor(server): folder structure (#5573) 2024-01-12 04:18:39 +00:00
DarkSky d6f65ea414 feat: blob size limit with quota (#5524)
fix AFF-506 TOV-342
2024-01-11 10:21:40 +00:00
liuyi 12fdb18a80 test(server): make server testing utils (#5544) 2024-01-11 06:40:55 +00:00
liuyi 9253e522aa test(server): avoid progress get hold after tests finished (#5522) 2024-01-11 06:40:53 +00:00
LongYinan 237722f7f9 feat: support self-host docker build (#5506)
Test command: `docker compose -f ./.github/deployment/self-host/compose.yaml up`
2024-01-10 08:35:21 +00:00
DarkSky 0d7ffb0511 feat: add unlimited workspace support (#5523)
fix AFF-505
2024-01-10 07:28:53 +00:00
DarkSky a59fe1b49e feat: adapted user quota for member api (#5521)
fix AFF-494 TOV-337
2024-01-10 07:28:46 +00:00
liuyi ddbb5e1121 fix(server): better error handling and logging for storage (#5553) 2024-01-09 10:37:24 +00:00
LongYinan aaab159a53 chore: bump up @napi-rs/cli version to v3.0.0-alpha.33 (#5542)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.31` -> `3.0.0-alpha.33`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.31/3.0.0-alpha.33) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.31/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.31/3.0.0-alpha.33?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.33`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.33)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.32...@napi-rs/cli@3.0.0-alpha.33)

##### What's Changed

-   fix(cli): artifacts wasi worker name by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1895](https://togithub.com/napi-rs/napi-rs/pull/1895)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.32...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.33

### [`v3.0.0-alpha.32`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.32)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.31...@napi-rs/cli@3.0.0-alpha.32)

#### What's Changed

-   fix(cli): missing files in created wasi package by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1894](https://togithub.com/napi-rs/napi-rs/pull/1894)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.31...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.32

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-09 03:07:28 +00:00
LongYinan af0243d1a9 chore: bump up @napi-rs/cli version to v3.0.0-alpha.31 (#5539)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.30` -> `3.0.0-alpha.31`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.30/3.0.0-alpha.31) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.30/3.0.0-alpha.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.30/3.0.0-alpha.31?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.31`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.31)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.30...@napi-rs/cli@3.0.0-alpha.31)

##### What's Changed

-   chore(deps): update dependency c8 to v9 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1889](https://togithub.com/napi-rs/napi-rs/pull/1889)
-   fix(deps): update dependency [@&#8203;tybys/wasm-util](https://togithub.com/tybys/wasm-util) to v0.8.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1892](https://togithub.com/napi-rs/napi-rs/pull/1892)
-   feat(cli): support generate browser compatible codes by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1891](https://togithub.com/napi-rs/napi-rs/pull/1891)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.30...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.31

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-08 16:35:08 +00:00
DarkSky b9fa002e67 fix: only return activated features (#5536) 2024-01-08 15:58:59 +08:00
liuyi d7b9462d1c fix(server): backward compatibility for beta+stable envs (#5510) 2024-01-08 05:15:32 +00:00
LongYinan b23c092953 chore: bump up file-type version to v19 (#5533)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [file-type](https://togithub.com/sindresorhus/file-type) | [`^18.7.0` -> `^19.0.0`](https://renovatebot.com/diffs/npm/file-type/18.7.0/19.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/18.7.0/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/18.7.0/19.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>sindresorhus/file-type (file-type)</summary>

### [`v19.0.0`](https://togithub.com/sindresorhus/file-type/releases/tag/v19.0.0)

[Compare Source](https://togithub.com/sindresorhus/file-type/compare/v18.7.0...v19.0.0)

##### Breaking

-   Require Node.js 18  [`7f4b30b`](https://togithub.com/sindresorhus/file-type/commit/7f4b30b)
-   Use mime type `audio/wav` instead of `audio/vnd.wave` for .wav files ([#&#8203;620](https://togithub.com/sindresorhus/file-type/issues/620))  [`c7c923c`](https://togithub.com/sindresorhus/file-type/commit/c7c923c)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-01-08 03:06:25 +00:00