liuyi
fb3a0e7b8f
refactor(server): auth ( #5895 )
...
Remove `next-auth` and implement our own Authorization/Authentication system from scratch.
## Server
- [x] tokens
- [x] function
- [x] encryption
- [x] AuthController
- [x] /api/auth/sign-in
- [x] /api/auth/sign-out
- [x] /api/auth/session
- [x] /api/auth/session (WE SUPPORT MULTI-ACCOUNT!)
- [x] OAuthPlugin
- [x] OAuthController
- [x] /oauth/login
- [x] /oauth/callback
- [x] Providers
- [x] Google
- [x] GitHub
## Client
- [x] useSession
- [x] cloudSignIn
- [x] cloudSignOut
## NOTE:
Tests will be adding in the future
2024-03-12 10:00:09 +00:00
Peng Xiao
1c5279747b
fix(server): migration script running on windows ( #6077 )
2024-03-12 16:19:48 +08:00
Peng Xiao
83e1217f61
fix(server): server startup on windows ( #6071 )
2024-03-12 06:41:42 +00:00
DarkSky
3432f355b0
feat: backend module awareness & optional request ( #5909 )
2024-02-28 08:29:37 +00:00
liuyi
a38f7ee252
fix(server): sender passed to nextauth is never used ( #5938 )
2024-02-28 05:44:25 +00:00
liuyi
540d079308
ci: fix selfhost ( #5920 )
...
## **Type**
enhancement
___
## **Description**
- 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`.
___
## **Changes walkthrough**
<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> </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> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>register.js</strong><dd><code>Implement Dynamic Loader Script Registration</code> </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> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>self-host-predeploy.js</strong><dd><code>Simplify Predeploy Script Execution</code> </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> </td>
</tr>
<tr>
<td>
<details>
<summary><strong>package.json</strong><dd><code>Update Scripts and Dependencies for ESM Support</code> </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> </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-27 07:22:21 +00:00
LongYinan
ae41c6c544
chore: bump all dependencies ( #5891 )
2024-02-23 09:37:14 +00:00
DarkSky
d9fee81b10
fix(server): handle unexpected error from storage provider ( #5888 )
...

handle unexpected error in workspace usage calc
2024-02-23 08:53:32 +00:00
liuyi
4d421a324f
refactor(server): import prisma from @prisma/client ( #5863 )
2024-02-22 07:46:57 +00:00
LongYinan
18e212b95c
chore: bump up linter to v7 (major) ( #5820 )
...
[](https://renovatebot.com )
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint ) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin )) | [`^6.13.1` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.13.1/7.0.2 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
| [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint ) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser )) | [`^6.13.1` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.13.1/7.0.2 ) | [](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>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary>
### [`v7.0.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#702-2024-02-19 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.1...v7.0.2 )
##### 🩹 Fixes
- fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests
##### ❤️ Thank You
- Brad Zacher
- Gareth Jones
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v7.0.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#701-2024-02-12 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.0...v7.0.1 )
##### 🩹 Fixes
- **eslint-plugin:** update peer dep for parser
##### ❤️ Thank You
- Tim Dorr
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v7.0.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#700-2024-02-12 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.21.0...v7.0.0 )
##### 🚀 Features
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements
- add support for flat configs
##### 🩹 Fixes
- **eslint-plugin:** \[prefer-find] stop throwing type errors when converting symbols to numbers
##### ⚠️ Breaking Changes
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements
##### ❤️ Thank You
- Brad Zacher
- Kirk Waiblinger
- StyleShit
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.21.0 (2024-02-05)
##### 🚀 Features
- export plugin metadata
- allow `parserOptions.project: false`
- **eslint-plugin:** add rule prefer-find
##### 🩹 Fixes
- **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression
- **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values
- **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions
- **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option
- **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists
- **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.20.0 (2024-01-29)
##### 🚀 Features
- **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering
##### 🩹 Fixes
- **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result
- **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable
- **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN
- **eslint-plugin:** \[prefer-readonly] disable checking accessors
##### ❤️ Thank You
- Alex Parloti
- auvred
- James Browning
- StyleShit
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.19.1 (2024-01-22)
##### 🩹 Fixes
- **type-utils:** preventing isUnsafeAssignment infinite recursive calls
- **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable
##### ❤️ Thank You
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.19.0 (2024-01-15)
##### 🚀 Features
- **eslint-plugin:** \[prefer-promise-reject-errors] add rule
- **eslint-plugin:** \[no-array-delete] add new rule
- **eslint-plugin:** \[no-useless-template-literals] add fix suggestions
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression
- **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable
##### ❤️ Thank You
- auvred
- Brad Zacher
- Josh Goldberg ✨
- Joshua Chen
- LJX
- Steven
- StyleShit
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.18.1 (2024-01-08)
##### 🩹 Fixes
- **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line
- **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee
- **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections
- **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option
##### ❤️ Thank You
- auvred
- James
- Josh Goldberg ✨
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.18.0 (2024-01-06)
##### 🚀 Features
- **typescript-estree:** throw on invalid update expressions
- **eslint-plugin:** \[no-var-requires, no-require-imports] allow option
##### ❤️ Thank You
- auvred
- Joshua Chen
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6210-2024-02-05 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0 )
##### 🚀 Features
- export plugin metadata
- allow `parserOptions.project: false`
- **eslint-plugin:** add rule prefer-find
##### 🩹 Fixes
- **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression
- **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values
- **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions
- **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option
- **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists
- **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0 )
##### 🚀 Features
- **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering
##### 🩹 Fixes
- **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result
- **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable
- **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN
- **eslint-plugin:** \[prefer-readonly] disable checking accessors
##### ❤️ Thank You
- Alex Parloti
- auvred
- James Browning
- StyleShit
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1 )
##### 🩹 Fixes
- **type-utils:** preventing isUnsafeAssignment infinite recursive calls
- **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable
##### ❤️ Thank You
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0 )
##### 🚀 Features
- **eslint-plugin:** \[prefer-promise-reject-errors] add rule
- **eslint-plugin:** \[no-array-delete] add new rule
- **eslint-plugin:** \[no-useless-template-literals] add fix suggestions
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression
- **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable
##### ❤️ Thank You
- auvred
- Brad Zacher
- Josh Goldberg ✨
- Joshua Chen
- LJX
- Steven
- StyleShit
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6181-2024-01-08 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1 )
##### 🩹 Fixes
- **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line
- **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee
- **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections
- **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option
##### ❤️ Thank You
- auvred
- James
- Josh Goldberg ✨
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6180-2024-01-06 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0 )
##### 🚀 Features
- **typescript-estree:** throw on invalid update expressions
- **eslint-plugin:** \[no-var-requires, no-require-imports] allow option
##### ❤️ Thank You
- auvred
- Joshua Chen
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6170-2024-01-01 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0 )
##### Bug Fixes
- **eslint-plugin:** \[no-restricted-imports] prevent crash when `patterns` or `paths` in options are empty ([#​8108](https://togithub.com/typescript-eslint/typescript-eslint/issues/8108 )) ([675e987](675e987ca1 ))
##### Features
- **eslint-plugin:** \[no-floating-promises] flag result of .map(async) ([#​7897](https://togithub.com/typescript-eslint/typescript-eslint/issues/7897 )) ([5857356](5857356962 ))
- **eslint-plugin:** \[switch-exhaustiveness-check] add an option to warn against a `default` case on an already exhaustive `switch` ([#​7539](https://togithub.com/typescript-eslint/typescript-eslint/issues/7539 )) ([6a219bd](6a219bdfe6 ))
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6160-2023-12-25 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0 )
##### Bug Fixes
- **eslint-plugin:** \[unbound-method] exempt all non-Promise built-in statics ([#​8096](https://togithub.com/typescript-eslint/typescript-eslint/issues/8096 )) ([3182959](31829591e2 ))
##### Features
- **eslint-plugin:** deprecate formatting (meta.type: layout) rules ([#​8073](https://togithub.com/typescript-eslint/typescript-eslint/issues/8073 )) ([04dea84](04dea84e8e ))
- **eslint-plugin:** deprecate no-extra-semi in favor of ESLint Stylistic equivalent ([#​8123](https://togithub.com/typescript-eslint/typescript-eslint/issues/8123 )) ([9368bf3](9368bf390a ))
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6150-2023-12-18 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0 )
##### Features
- **eslint-plugin:** \[no-useless-template-literals] add new rule ([#​7957](https://togithub.com/typescript-eslint/typescript-eslint/issues/7957 )) ([ff75785](ff75785f4c )), closes [#​2846](https://togithub.com/typescript-eslint/typescript-eslint/issues/2846 )
- require-array-sort-compare + toSorted ([#​8052](https://togithub.com/typescript-eslint/typescript-eslint/issues/8052 )) ([c9661c8](c9661c8bbf ))
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6140-2023-12-11 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0 )
##### Bug Fixes
- **eslint-plugin:** add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked ([#​8038](https://togithub.com/typescript-eslint/typescript-eslint/issues/8038 )) ([431cd15](431cd1559f ))
- **eslint-plugin:** correct message for `no-unsafe-unary-minus` ([#​7998](https://togithub.com/typescript-eslint/typescript-eslint/issues/7998 )) ([705370a](705370ac0d ))
##### Features
- **eslint-plugin:** \[explicit-function-return-type] add support for typed class property definitions ([#​8027](https://togithub.com/typescript-eslint/typescript-eslint/issues/8027 )) ([bff47d7](bff47d7885 ))
- **eslint-plugin:** \[require-await] allow yielding Promise in async generators ([#​8003](https://togithub.com/typescript-eslint/typescript-eslint/issues/8003 )) ([4c3e704](4c3e704b97 ))
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2 ) (2023-12-04)
**Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1 ) (2023-11-28)
**Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6132-2023-12-04 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2 )
**Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
</details>
<details>
<summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary>
### [`v7.0.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#702-2024-02-19 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.1...v7.0.2 )
##### 🩹 Fixes
- fix tsconfig-less check errors, fix `@types/eslint` incompatibilities, add tests
##### ❤️ Thank You
- Brad Zacher
- Gareth Jones
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v7.0.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#701-2024-02-12 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.0.0...v7.0.1 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v7.0.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#700-2024-02-12 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.21.0...v7.0.0 )
##### 🚀 Features
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements
- add support for flat configs
##### ⚠️ Breaking Changes
- ⚠️ bump ESLint, NodeJS, and TS minimum version requirements
##### ❤️ Thank You
- Brad Zacher
- Kirk Waiblinger
- StyleShit
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.21.0 (2024-02-05)
##### 🚀 Features
- allow `parserOptions.project: false`
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.20.0 (2024-01-29)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.19.1 (2024-01-22)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.19.0 (2024-01-15)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.18.1 (2024-01-08)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### 6.18.0 (2024-01-06)
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6210-2024-02-05 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0 )
##### 🚀 Features
- allow `parserOptions.project: false`
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6190-2024-01-15 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6181-2024-01-08 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6180-2024-01-06 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0 )
This was a version bump only for parser to align it with other projects, there were no code changes.
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6170-2024-01-01 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0 )
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6160-2023-12-25 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0 )
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.15.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6150-2023-12-18 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.14.0...v6.15.0 )
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6140-2023-12-11 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.2...v6.14.0 )
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### [6.13.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2 ) (2023-12-04)
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
#### [6.13.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1 ) (2023-11-28)
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
### [`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6132-2023-12-04 )
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2 )
**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser )
You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning ) and [releases](https://main--typescript-eslint.netlify.app/users/releases ) on our website.
</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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-02-20 04:14:37 +00:00
DarkSky
fd18732e6e
feat: use custom verify token policy ( #5836 )
2024-02-20 09:47:27 +08:00
liuyi
df157819dc
feat(server): allow customize mailer server ( #5835 )
2024-02-19 14:37:08 +00:00
DarkSky
d665eaec34
feat: refresh new workspace feature ( #5834 )
2024-02-19 21:58:54 +08:00
liuyi
296d47f102
refactor(server): separate s3 & r2 storage to plugin ( #5805 )
2024-02-05 15:10:09 +00:00
DarkSky
25e8a2a22f
feat: sync client versioning ( #5645 )
...
after this pr, server will only accept client that have some major version
the client version <0.12 will be rejected by the server, >= 0.12 can receive outdated messages and notify users
2024-02-05 08:43:50 +00:00
liuyi
d9c2dc8dfb
fix(server): apply env overrides after all config merged ( #5795 )
2024-02-04 06:38:31 +00:00
liuyi
bef266ae3b
refactor(server): reorganize server configs ( #5753 )
2024-02-02 08:32:07 +00:00
liuyi
2f3c6f104e
fix(server): doc upsert without row lock ( #5765 )
2024-02-01 09:49:02 +00:00
DarkSky
1db8019292
feat: ignore case for email ( #5754 )
...
fix #5738
2024-02-01 05:05:16 +00:00
LongYinan
e26d978b26
fix(server): resolve cherry-pick issue
2024-01-31 22:00:20 +08:00
liuyi
e3b8d0dba4
feat(server): allow pass coupon to checkout session ( #5749 )
2024-01-31 21:34:22 +08:00
liuyi
f1ccc504b5
fix(server): doc upsert race condition ( #5755 )
2024-01-31 21:13:29 +08:00
liuyi
26db1d436d
refactor(server): server errors ( #5741 )
...
standardize the error raising in both GraphQL Resolvers and Controllers.
Now, All user aware errors should be throwed with `HttpException`'s variants, for example `NotFoundException`.
> Directly throwing `GraphQLError` are forbidden.
The GraphQL errorFormatter will handle it automatically and set `code`, `status` in error extensions.
At the same time, the frontend `GraphQLError` should be imported from `@affine/graphql`, which introduce a better error extensions type.
----
controller example:
```js
@Get('/docs/${id}')
doc() {
// ...
// imported from '@nestjs/common'
throw new NotFoundException('Doc is not found.');
// ...
}
```
the above will response as:
```
status: 404 Not Found
{
"message": "Doc is not found.",
"statusCode": 404,
"error": "Not Found"
}
```
resolver example:
```js
@Mutation()
invite() {
// ...
throw new PayloadTooLargeException('Workspace seats is full.')
// ...
}
```
the above will response as:
```
status: 200 Ok
{
"data": null,
"errors": [
{
"message": "Workspace seats is full.",
"extensions": {
"code": 404,
"status": "Not Found"
}
}
]
}
```
for frontend GraphQLError user-friend, a helper function introduced:
```js
import { findGraphQLError } from '@affine/graphql'
fetch(query)
.catch(errOrArr => {
const e = findGraphQLError(errOrArr, e => e.extensions.code === 404)
if (e) {
// handle
}
})
```
2024-01-31 08:43:03 +00:00
liuyi
72d9cc1e5b
chore(storage): bump y-octo ( #5751 )
2024-01-31 06:54:33 +00:00
liuyi
db8e49b046
refactor(server): throw Unauthorized instead if user is not signed in ( #5746 )
2024-01-31 02:12:22 +00: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
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