Commit Graph

255 Commits

Author SHA1 Message Date
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
CatsJuice
3e9e2ce93b feat(core): pricing plans ai subscription ui (#6449) 2024-04-03 08:04:30 +00:00
forehalo
2dc628eca5 fix(server): doc cache makes publish mode updating failed (#6444) 2024-04-03 03:34:01 +00: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
EYHN
366e0a4b60 feat(server): adjust telemetry config (#6424) 2024-04-02 03:44:48 +00:00
forehalo
54c06777a6 fix(server): always set new session cookie (#6323) 2024-03-26 09:56:39 +00:00
forehalo
5637676222 fix(server): wrong import path (#6317) 2024-03-26 09:26:56 +00:00
fundon
8ee9f6ec05 chore: improve password error message (#6255)
chore: improve error message

chore: add password minlength & maxlength i18n

chore: check max length

fix: i18n variables

feat: add CredentialsRequirementType
2024-03-26 07:15:06 +00:00
liuyi
b8e6d7d6cb chore(server): cache blob list result (#6297) 2024-03-26 14:23:47 +08: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
EYHN
2b42a75e5a style: enable rxjs/finnish (#6276)
chore(infra): use finnish notation for observables

do rename
2024-03-24 17:04:51 +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
Brooooooklyn
150c22936d chore(core): add mixpanel track (#6202) 2024-03-22 09:24:41 +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
forehalo
540e456704 ci: set private key from env (#6239) 2024-03-21 10:09:26 +00:00
liuyi
4f5907766f fix(server): decode uri component before verify token (#6231) 2024-03-20 18:17:11 +08:00
liuyi
06a5b2e5a5 fix(server): wrong google oauth param (#6227) 2024-03-20 17:45:22 +08:00
LongYinan
332cd3b380 refactor(core): split web entry from core (#6082)
This pr is trying to split `web` and `electron` entries from `core`. It allows more platform-related optimization to be addressed in each entry.
We should remove all browser/electron only codes from `core` eventually, this is the very first step for that.
2024-03-19 07:48:56 +00:00
liuyi
797e3c5b35 fix(server): do not force sign in password length (#6188)
hotfix
2024-03-19 10:58:34 +08:00
liuyi
bba1a95f9c chore: bump base version to 0.14.0 (#6170) 2024-03-19 02:34:18 +00: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
a4cd8d6ca3 chore(server): organize server configs (#6169) 2024-03-19 02:05:56 +00:00
liuyi
a721b3887b fix(server): hotfix auth & doc push (#6168) 2024-03-18 16:32:35 +08:00
liuyi
268ca03f62 fix(server): ensure selfhost admin created after all data migrated (#6163)
fix #6154 

cp to canary
2024-03-18 11:43:12 +08:00
LongYinan
58c81dd1ac chore: bump up get-stream version to v9 (#6139)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>sindresorhus/get-stream (get-stream)</summary>

### [`v9.0.0`](https://togithub.com/sindresorhus/get-stream/releases/tag/v9.0.0)

[Compare Source](https://togithub.com/sindresorhus/get-stream/compare/v8.0.1...v9.0.0)

##### Breaking

-   Require Node.js 18 ([#&#8203;111](https://togithub.com/sindresorhus/get-stream/issues/111))  [`7ccab70`](https://togithub.com/sindresorhus/get-stream/commit/7ccab70)

##### Improvements

-   Fix browser support ([#&#8203;122](https://togithub.com/sindresorhus/get-stream/issues/122))  [`4d233d3`](https://togithub.com/sindresorhus/get-stream/commit/4d233d3)
-   Allow multiple readers at once ([#&#8203;121](https://togithub.com/sindresorhus/get-stream/issues/121))  [`a51d085`](https://togithub.com/sindresorhus/get-stream/commit/a51d085)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-18 03:08:03 +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
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
Peng Xiao
dd9a253772 feat(core): add split view to experimental features settings (#6093) 2024-03-14 05:13:04 +00:00
liuyi
c5d8c6cc8c fix(server): blob api should be public (#6109) 2024-03-14 02:36:13 +00:00
DarkSky
282b788258 fix: allow empty mailer password (#6066)
fix #6046
smtp relay may allow empty password, although this is usually not safe
2024-03-13 10:07:18 +00: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
495855cc07 fix(server): server info api should be public (#6098) 2024-03-13 03:59:26 +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
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
LongYinan
d81c017224 chore: bump up all non-major dependencies (#6037)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.525.0` -> `3.529.1`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.525.0/3.529.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.0.7` -> `18.0.8`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.0.7/18.0.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.0.7/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.0.7/18.0.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-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.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.34.0` -> `^0.35.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.34.0/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.36.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.36.0/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.529.1`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35291-2024-03-08)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.529.0...v3.529.1)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.529.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35290-2024-03-07)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.525.0...v3.529.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v18.0.8`](https://togithub.com/nrwl/nx/releases/tag/18.0.8)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.0.7...18.0.8)

##### 18.0.8 (2024-03-08)

##### 🩹 Fixes

-   **angular:** log message about unsupported ng cache command ([#&#8203;22154](https://togithub.com/nrwl/nx/pull/22154))
-   **angular:** fix message logged for unsupported ng cache ([#&#8203;22211](https://togithub.com/nrwl/nx/pull/22211))
-   **angular:** Module federation with Crystal enabled. ([#&#8203;22224](https://togithub.com/nrwl/nx/pull/22224))
-   **angular:** install jsonc-eslint-parser only when [@&#8203;nx/dependency-checks](https://togithub.com/nx/dependency-checks) is used ([#&#8203;22231](https://togithub.com/nrwl/nx/pull/22231))
-   **core:** setting up .nx inside gradle shouldn't throw ([#&#8203;21957](https://togithub.com/nrwl/nx/pull/21957))
-   **core:** add outputs to nx.json for nx init in monorepo ([#&#8203;22061](https://togithub.com/nrwl/nx/pull/22061))
-   **core:** fix no such file or directory, open 'package-lock.json' ([#&#8203;21835](https://togithub.com/nrwl/nx/pull/21835))
-   **core:** fix terminal message alignment on errors ([#&#8203;22189](https://togithub.com/nrwl/nx/pull/22189))
-   **graph:** show command property as monospace ([#&#8203;21997](https://togithub.com/nrwl/nx/pull/21997))
-   **linter:** add v7 of typescript-eslint to peerDeps ([#&#8203;21853](https://togithub.com/nrwl/nx/pull/21853))
-   **misc:** improve package.json scripts handling when running "nx init" and "nx add" ([#&#8203;22168](https://togithub.com/nrwl/nx/pull/22168))
-   **misc:** do not add includedScripts unless really needed when running nx add ([#&#8203;22180](https://togithub.com/nrwl/nx/pull/22180))
-   **nextjs:** avoid path error on dev  server creation ([#&#8203;21998](https://togithub.com/nrwl/nx/pull/21998))
-   **nextjs:** Surface error codes when build is interrupted by signals SIGINT, SIGTERM etc... ([#&#8203;22190](https://togithub.com/nrwl/nx/pull/22190))
-   **nx-plugin:** do not print duplicated warning about derived format when generating plugin ([#&#8203;22230](https://togithub.com/nrwl/nx/pull/22230))
-   **react:** pass correct argument to rspack configuration generator ([#&#8203;22241](https://togithub.com/nrwl/nx/pull/22241))
-   **release:** store rawVersionSpec on versionData ([#&#8203;22071](https://togithub.com/nrwl/nx/pull/22071))
-   **testing:** close cypress web server correctly on windows ([#&#8203;22125](https://togithub.com/nrwl/nx/pull/22125))
-   **testing:** resolve cypress config glob pattern correctly to handle root projects ([#&#8203;22165](https://togithub.com/nrwl/nx/pull/22165))
-   **testing:** fix project config might not be defined ([#&#8203;22174](https://togithub.com/nrwl/nx/pull/22174))
-   **vue:** small typo in CNW description ([#&#8203;21888](https://togithub.com/nrwl/nx/pull/21888))

##### ❤️  Thank You

-   Alon Valadji [@&#8203;alonronin](https://togithub.com/alonronin)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   James Henry [@&#8203;JamesHenry](https://togithub.com/JamesHenry)
-   Javier Abia [@&#8203;weberjavi](https://togithub.com/weberjavi)
-   Juri Strumpflohner [@&#8203;juristr](https://togithub.com/juristr)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)
-   Victor Login [@&#8203;batazor](https://togithub.com/batazor)

</details>

<details>
<summary>open-telemetry/opentelemetry-js-contrib (@&#8203;opentelemetry/instrumentation-graphql)</summary>

### [`v0.38.0`](efdfc727a4...f81f8a76a8)

[Compare Source](32204a362d...fcea8ca0c8)

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMjcuMiIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-03-11 03:53:00 +00:00