Commit Graph

29 Commits

Author SHA1 Message Date
forehalo
3db3db0bbc chore(server): revert doc write restriction (#10807) 2025-03-13 05:51:19 +00:00
fengmk2
43ded6aa38 feat(server): add blocked state to workspace docs (#10585)
close CLOUD-162
2025-03-05 12:49:33 +00:00
liuyi
61162c59fc refactor(server): permission (#10449) 2025-03-05 15:57:00 +08:00
forehalo
d50860eee2 fix(server): use updowncounter by default (#10482) 2025-02-27 10:15:13 +00:00
forehalo
f02b57d58b fix(server): too much redundant updates events (#10383) 2025-02-24 04:44:43 +00:00
liuyi
7d68aa5b2f chore(server): ignore erorr when join joint room (#10354) 2025-02-21 10:48:53 +00:00
forehalo
da67c78152 feat(server): use job system (#10218) 2025-02-18 05:41:57 +00:00
forehalo
3dde47dd08 fix(server): event handler bindings (#10165) 2025-02-14 11:29:03 +00:00
fengmk2
db8557eafb fix(server): get doc diff from doc service (#10067)
close CLOUD-121

avoid sync server to merge doc updates

before

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/hTwOityLamd4hitrae7M/054bf532-845d-427b-8cc4-f29e56f65720.png)

after

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/hTwOityLamd4hitrae7M/fafe9244-c521-4af0-b131-5a6092eb5a16.png)
2025-02-12 10:20:23 +00:00
Brooooooklyn
abeff8bb1a feat(server): doc level permission (#9760)
close CLOUD-89 CLOUD-90 CLOUD-91 CLOUD-92
2025-02-05 07:06:57 +00:00
fengmk2
8021b89944 fix(server): use ClsInterceptor on websocket (#9859)
https://papooch.github.io/nestjs-cls/considerations/compatibility#websockets
2025-01-23 06:54:23 +00:00
forehalo
81c68032e1 refactor(server): standalone runtime module (#9120) 2024-12-13 06:27:14 +00:00
forehalo
4c23991047 chore: rename fundamentals to base (#9119) 2024-12-13 06:27:13 +00:00
forehalo
2f80b4f822 feat(nbstore): add cloud implementation (#8810) 2024-12-10 10:48:27 +00:00
darkskygit
fa554b1054 feat: add copilot metrics (#8455)
fix CLOUD-73
2024-10-18 03:30:02 +00:00
forehalo
8b0afd6eeb refactor(server): auth (#7994) 2024-09-03 09:03:39 +00:00
darkskygit
d93d39e29d feat: add editor record (#7938)
fix CLOUD-58, CLOUD-61, CLOUD-62, PD-1607, PD-1608
2024-09-02 09:37:39 +00:00
forehalo
14066965fa fix(server): wrong table used for userspace data (#7969) 2024-08-26 06:11:22 +00:00
forehalo
e20bdbf925 feat(server): make server storage adapters (#7902) 2024-08-21 05:30:26 +00:00
forehalo
624f3514fc feat(server): make permission a standalone module (#7880) 2024-08-15 10:01:52 +00:00
forehalo
f2eafc374c feat(server): authenticate user before ws connected (#7777) 2024-08-08 08:30:56 +00:00
liuyi
54fc1197ad feat(server): introduce user friendly server errors (#7111) 2024-06-17 11:30:58 +08:00
forehalo
638fc62601 feat(server): runtime setting support (#5602)
---

<details open="true"><summary>Generated summary (powered by <a href="https://app.graphite.dev">Graphite</a>)</summary>

> ## TL;DR
> This pull request adds a new migration file, a new model, and new modules related to runtime settings. It also introduces a new `Runtime` service that allows getting, setting, and updating runtime configurations.
>
> ## What changed
> - Added a new migration file `migration.sql` that creates a table called `application_settings` with columns `key` and `value`.
> - Added a new model `ApplicationSetting` with properties `key` and `value`.
> - Added a new module `RuntimeSettingModule` that exports the `Runtime` service.
> - Added a new service `Runtime` that provides methods for getting, setting, and updating runtime configurations.
> - Modified the `app.module.ts` file to import the `RuntimeSettingModule`.
> - Modified the `index.ts` file in the `fundamentals` directory to export the `Runtime` service.
> - Added a new file `def.ts` in the `runtime` directory that defines the runtime configurations and provides a default implementation.
> - Added a new file `service.ts` in the `runtime` directory that implements the `Runtime` service.
>
> ## How to test
> 1. Run the migration script to create the `application_settings` table.
> 2. Use the `Runtime` service to get, set, and update runtime configurations.
> 3. Verify that the runtime configurations are stored correctly in the database and can be retrieved and modified using the `Runtime` service.
>
> ## Why make this change
> This change introduces a new feature related to runtime settings. The `Runtime` service allows the application to dynamically manage and modify runtime configurations without requiring a restart. This provides flexibility and allows for easier customization and configuration of the application.
</details>
2024-05-28 06:43:53 +00:00
EYHN
34703a3b7d feat(infra): new doc sync engine (#6205)
https://github.com/toeverything/AFFiNE/blob/eyhn/feat/new-sync/packages/common/infra/src/workspace/engine/doc/README.md
2024-03-22 16:43:26 +00:00
liuyi
533c181640 feat(server): cleanup gateway code (#6118) 2024-03-15 02:00:40 +00:00
liuyi
79ffca314d feat(server): allow prefetch doc stats before sync (#6115) 2024-03-14 17:34:33 +00:00
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
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
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