forehalo
94de6f5853
fix(server): always return created timestamp of chat messages ( #6658 )
2024-04-22 08:39:42 +00:00
forehalo
098e717688
chore(server): remove useless free subscription enum ( #6634 )
2024-04-19 13:34:59 +00:00
darkskygit
657a5250ad
feat: update chat prompt ( #6639 )
...
fix AFF-878
fix AFF-852 (maybe)
2024-04-19 12:34:02 +00:00
darkskygit
97669acb40
chore: enable ai feature in dev ( #6618 )
2024-04-19 08:12:53 +00:00
darkskygit
3cc3af8d5d
feat: remove message query ( #6622 )
...
related #6620
2024-04-18 16:30:10 +00:00
darkskygit
28f2ff24b9
fix: copilot blob process ( #6612 )
2024-04-18 15:36:30 +00:00
forehalo
d9e6561762
feat(server): add created timestamp to history ( #6607 )
2024-04-18 07:06:47 +00:00
pengx17
5fc56a20ac
feat: adopt createMessage upload api ( #6596 )
2024-04-18 06:55:29 +00:00
DarkSky
ccb3bed91e
feat: add blob upload support for copilot ( #6584 )
2024-04-17 14:05:38 +00:00
forehalo
651a99a48e
fix(server): avoid store unpaid subscriptions
2024-04-17 16:25:03 +08:00
liuyi
5b315bfc81
fix(server): only returns active subscriptions ( #6590 )
2024-04-17 16:19:34 +08:00
forehalo
e1c292b8b5
feat(server): support registering ai early access users ( #6565 )
2024-04-16 13:54:08 +00:00
darkskygit
677c4711df
feat: unsplash api proxy ( #6572 )
2024-04-16 13:33:07 +00:00
darkskygit
1b0864eb60
feat: check quota correctly ( #6561 )
2024-04-16 09:41:48 +00:00
darkskygit
2336638996
fix: cannot query chat history ( #6539 )
2024-04-12 12:16:43 +00:00
darkskygit
fc51b68674
fix: pick copilot provider depend on model ( #6540 )
2024-04-12 12:01:39 +00:00
darkskygit
e77475aca5
feat: detailed copilot histories ( #6523 )
2024-04-12 08:39:32 +00:00
fundon
13b39fc5f3
feat(core): ai images ( #6506 )
2024-04-12 03:58:33 +00:00
DarkSky
db1206dbd5
fix: re-create session should skip rewrite messages ( #6513 )
2024-04-11 12:22:45 +08:00
darkskygit
9f349a2300
feat: text to image impl ( #6437 )
...
fix CLOUD-18
fix CLOUD-28
fix CLOUD-29
2024-04-10 12:13:39 +00:00
darkskygit
7c38a54f81
feat: copilot controller ( #6272 )
...
fix CLOUD-27
2024-04-10 11:58:40 +00:00
darkskygit
e6a576551a
feat: add copilot impl ( #6230 )
...
fix CLOUD-22
fix CLOUD-24
2024-04-10 11:15:32 +00:00
darkskygit
46a368d7f1
feat: add session impl ( #6254 )
2024-04-10 11:15:25 +00:00
forehalo
b01a8bb2ab
fix(server): give s3 client a default request timeout ( #6483 )
2024-04-08 08:41:55 +00:00
liuyi
edef9b2735
fix(server): only auto apply coupon in pro subscription ( #6452 )
2024-04-03 17:13:18 +08:00
darkskygit
3c01d944fb
feat: add prompt service ( #6241 )
...
fix CLOUD-19
2024-04-02 07:04:54 +00:00
darkskygit
593161dccb
feat: basic copilot plugin implement ( #6229 )
...
fix CLOUD-25
2024-04-02 07:04:49 +00:00
forehalo
1a1af83375
test(server): auth tests ( #6135 )
2024-03-26 02:24:17 +00:00
EYHN
f2adbdaba4
style: enable import-x/no-duplicates ( #6279 )
2024-03-25 03:55:33 +00:00
Brooooooklyn
10af0ab48d
feat(server): support ai plan ( #6216 )
2024-03-22 08:39:18 +00:00
Brooooooklyn
aecc523663
fix(server): avoid error when other prices added but logic is not released ( #6191 )
2024-03-22 08:39:12 +00:00
liuyi
06a5b2e5a5
fix(server): wrong google oauth param ( #6227 )
2024-03-20 17:45:22 +08:00
DarkSky
da32682afb
fix(server): handle expired lock re-release & external locker injection ( #6145 )
2024-03-19 02:16:47 +00:00
liuyi
4702c1a9ca
fix(server): inject correct locker to request scope mutex ( #6140 )
2024-03-19 02:16:35 +00:00
DarkSky
f18133af82
fix(server): wrap read-modify-write apis with distributed lock ( #6142 )
2024-03-19 02:16:24 +00:00
liuyi
e94be8968b
fix(server): hotfix ( #6161 )
2024-03-18 10:41:11 +08:00
LongYinan
bc465f9704
Revert "fix(server): wrap read-modify-write apis with distributed lock ( #5979 )"
...
This reverts commit 34f892b05b .
2024-03-15 16:55:48 +08:00
DarkSky
34f892b05b
fix(server): wrap read-modify-write apis with distributed lock ( #5979 )
2024-03-15 13:31:11 +08:00
liuyi
f2ec81b2d0
feat(server): user connected accounts migration ( #6103 )
2024-03-13 09:28:52 +00:00
liuyi
573528be41
fix(server): user can not signup through oauth if ever invited ( #6101 )
2024-03-13 07:50:11 +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
3432f355b0
feat: backend module awareness & optional request ( #5909 )
2024-02-28 08:29:37 +00:00
liuyi
4d421a324f
refactor(server): import prisma from @prisma/client ( #5863 )
2024-02-22 07:46:57 +00:00
liuyi
296d47f102
refactor(server): separate s3 & r2 storage to plugin ( #5805 )
2024-02-05 15:10:09 +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
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
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
151a53c575
fix(server): disable payment module requirements temporarily ( #5683 )
2024-01-24 03:17:21 +00:00