Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core): support fuzzy highlighting #4765

Merged
merged 5 commits into from Oct 31, 2023
Merged

Conversation

JimmFly
Copy link
Member

@JimmFly JimmFly commented Oct 30, 2023

fix #4734
add new fuzzy highlighting
image

@codesandbox
Copy link

codesandbox bot commented Oct 30, 2023

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@vercel
Copy link

vercel bot commented Oct 30, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
affine-prod-temp ⬜️ Ignored (Inspect) Visit Preview Oct 31, 2023 2:41am

@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:50 — with GitHub Actions Inactive
@nx-cloud
Copy link

nx-cloud bot commented Oct 30, 2023

☁️ Nx Cloud Report

CI is running/has finished running commands for commit e8e8fa1. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 2 targets

Sent with 💌 from NxCloud.

@cloudflare-pages
Copy link

cloudflare-pages bot commented Oct 30, 2023

Deploying with  Cloudflare Pages  Cloudflare Pages

Latest commit: e8e8fa1
Status: ✅  Deploy successful!
Preview URL: https://66206d0f.affine-dev.pages.dev
Branch Preview URL: https://jimmfly-1030-fix-cmdk.affine-dev.pages.dev

View logs

@codecov
Copy link

codecov bot commented Oct 30, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (17afe21) 68.11% compared to head (e8e8fa1) 68.15%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4765      +/-   ##
==========================================
+ Coverage   68.11%   68.15%   +0.04%     
==========================================
  Files         456      457       +1     
  Lines       18069    18085      +16     
  Branches     1703     1707       +4     
==========================================
+ Hits        12307    12326      +19     
+ Misses       5357     5355       -2     
+ Partials      405      404       -1     
Flag Coverage Δ
e2e-plugin-test 32.80% <0.00%> (-0.12%) ⬇️
e2etest 56.67% <100.00%> (+0.15%) ⬆️
e2etest-macos-latest-x64 ∅ <ø> (∅)
e2etest-ubuntu-latest-x64 42.09% <0.00%> (-0.09%) ⬇️
e2etest-windows-latest-x64 ∅ <ø> (∅)
server-e2etest 52.26% <0.00%> (-0.11%) ⬇️
server-test 70.88% <ø> (ø)
unittest 50.74% <75.00%> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...ontend/core/src/components/pure/cmdk/highlight.tsx 100.00% <100.00%> (ø)
...es/frontend/core/src/hooks/affine/use-highlight.ts 100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:55 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:55 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:55 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:57 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 07:57 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 14:44 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 30, 2023 14:44 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:41 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:46 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:46 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:46 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:46 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:46 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:48 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:48 — with GitHub Actions Inactive
@JimmFly JimmFly temporarily deployed to development October 31, 2023 02:48 — with GitHub Actions Inactive
@joooye34 joooye34 added this pull request to the merge queue Oct 31, 2023
Merged via the queue into master with commit a015dc4 Oct 31, 2023
24 checks passed
@joooye34 joooye34 deleted the jimmfly/1030/fix-cmdk branch October 31, 2023 03:22
adeelahmad added a commit to adeelahmad/AFFiNE that referenced this pull request Nov 30, 2023
* fix: prettier issue

* feat(core): confirm before cancel in billing page (#4749)

* feat: bump up blob size limit temporarily (#4747)

* ci: bump cloudflare/wrangler-action from 3.3.1 to 3.3.2 (#4717)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: upgrade to yarn@4.0.1

* fix: error handle in payment resolver (#4754)

* fix: remove awareness state before window unload (#4752)

* feat(server): add data migration system

* chore: bump the all-cargo-dependencies group with 1 update

Bumps the all-cargo-dependencies group with 1 update: [serde](https://github.com/serde-rs/serde).

- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.189...v1.0.190)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-cargo-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: add idempotent request support for payment apis (#4753)

* fix(server): wrong prod data migration scripts filter

* feat(collections): completion i18n

* feat(i18n): add new key for billing

* fix(core): description field in html template

* ci: reduce deployment events on pull requests

* chore(server): add stripe env

* v0.10.0-canary.4

* feat(core): support fuzzy highlighting (#4765)

* fix(core): selectAtom crash on isEqual (#4780)

* v0.10.0-canary.5

* fix: idempotencyKey used (#4774)

* v0.10.0-canary.6

* fix(core): adjust setting-modal layout to center tip (#4776)

* fix(core): possible crash issues (#4783)

* feat(core): payment billing loading (#4763)

* fix(electron): update app icons (#4789)

Co-authored-by: Joooye_34 <Joooye1991@gmail.com>

* feat(core): billing history pagination (#4787)

* fix: request prevented when re-downgrade subscribe (#4786)

* feat(core): support subscribe plan after login (#4788)

* fix(component): adjust autofill style (#4773)

* v0.10.0-canary.8

* ci: dynamic setup server deploy environment by release tag (#4790)

* ci: fix wrangler deploy (#4803)

* fix(core): text color of search input, style for the multi-select tag, date-picker autofocus issue (#4799)

* fix(core): billing cancel confirm dialog (#4795)

* v0.10.0-canary.9

* docs: change yarn version in BUILDING.md (#4811)

* fix(core): fix block suite edit mode switch shortcut (#4813)

* fix(core): currentUser undefined when all workspaces deleted (#4812)

* fix(core): adjust payment related text (#4797)

* feat(server): sync data with ack (#4791)

* chore: bump blocksuite (#4801)

* fix(workspace): remove awareness states cache

* fix(server): page variant may exist

* feat(core): remove `mode` and `pages` field from Collection (#4817)

* feat(core): add jump to block for cmdk (#4802)

* fix(server): do not return subscription if not active (#4820)

* refactor(component): virtual rendering page list (#4775)

Co-authored-by: Joooye_34 <Joooye1991@gmail.com>

* fix(component): flex setting-modal header & footer (#4818)

* v0.10.0-canary.10

* fix(server): only treat active subscription as existing (#4826)

* fix(core): remove responsive editor width (#4821)

* chore(i18n): add new key for empty trash page (#4829)

* fix(core): implement pricing plans scroll area with radix (#4824)

* perf(core): load all pages after 10s (#4834)

* fix(core): payment UI fix (#4839)

* feat(core): payment plans error boundary (#4744)

* chore: bump the all-cargo-dependencies group with 1 update (#4841)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor(server): separate page visibility from workspace permission (#4836)

* chore(i18n): adjust text (#4832)

* feat(core): temporary expansion files are limited to 100M (#4833)

* feat(core): adjust filter logic (#4831)

* v0.10.0-canary.11

* fix(core): adapt blob in sqlite for svg type (#4845)

* fix(core): adjust discount display (#4847)

* fix(server): failed to share again if disable once (#4844)

* fix(server): avoid server overloading by too many updates (#4846)

* fix(electron): add search to proxied url (#4852)

* v0.10.0-canary.12

* feat(core): implement parts of workspace upgrade design (#4850)

* v0.10.0-canary.13

* docs: update behind-the-code.md (#4849)

* docs: update CONTRIBUTING.md (#4848)

* fix(server): avoid saving invalid data (#4859)

* chore(server): decrease amount of batch updates merging (#4860)

* fix(server): wrong data migration (#4855)

* fix(core): improve the UX for edit collection (#4827)

Co-authored-by: Peng Xiao <pengxiao@outlook.com>

* fix(core): duplicate registration in edgeless (#4864)

* chore: fix code style issues (#4857)

* chore: bump blocksuite version (#4862)

* v0.10.0-canary.14

* ci: add oxlint (#4867)

* chore: update changelog url (#4868)

* fix(core): collections data migration without blocking data reads (#4866)

* ci: use resolutions to resolve building error in mac-os (#4878)

* chore: update delete icon (#4871)

* chore(component): bump bs (#4880)

* fix(component): dragged component disappear when dragging (#4870)

* fix(core): visit /signin pay when already logged and subscribed (#4882)

Co-authored-by: Peng Xiao <pengxiao@outlook.com>

* fix(server): token set with id instead of email (#4883)

* fix(hooks): missing page preview and references (#4863)

* feat(core): unify all new created page IDs to nanoid (#4884)

* perf(server): avoid auto select blob data when upsert (#4891)

* feat(core): support signup set password before goto stripe payment url (#4892)

* ci: disable postinstall on macOS build (#4885)

* fix(core): select all in page list group header does not need to enable selection (#4869)

* chore: disable outline, copilot and hello world plugin (#4894)

* v0.10.0-canary.15

* ci: adjust the beta cluster configuration

* chore: add performance logger

* fix(server): earlyAccessPreview env override (#4898)

* fix(core): disable sync doc/blob on start (#4897)

* v0.10.0-canary.16

* chore(server): bump octobase versions (#4893)

Co-authored-by: DarkSky <darksky2048@gmail.com>

* fix(hooks): push success toast after save (#4830)

* feat(core): auto select block when jump to block (#4858)

Co-authored-by: Peng Xiao <pengxiao@outlook.com>

* feat(core): add global loading state (#4840)

* v0.10.0

* chore: bump blocksuite (#4901)

* fix(core): svg blob syncing issue (#4886)

* chore: bump theme (#4904)

Co-authored-by: 李华桥 <joooye1991@gmail.com>

* fix(core): change server url of stable to insider (#4902)

* ci(core): eslint errors for core (#4662)

* fix(core): change server url of stable to insider

* fix(electron): dev reload (#4911)

* fix(server): increase server acceptable websocket payload size

* chore: cleanup deployment

* fix: get page preview based on block order (#4888)

Co-authored-by: Peng Xiao <pengxiao@outlook.com>

* chore: bump the all-cargo-dependencies group with 5 updates (#4918)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(storybook): page tags display (#4924)

* fix(server): wrap updates applying in a transaction (#4922)

* fix(infra): compatibility fix for space prefix (#4912)

It seems there are some cases that [this upstream PR](https://github.com/toeverything/blocksuite/pull/4747) will cause data loss.

Because of some historical reasons, the page id could be different with its doc id.
It might be caused by subdoc migration in the following (not 100% sure if all white screen issue is caused by it) https://github.com/toeverything/AFFiNE/blob/0714c12703ff8840acc180633e5489c755ddfba3/packages/common/infra/src/blocksuite/index.ts#L538-L540

In version 0.10, page id in spaces no longer has prefix "space:"
The data flow for fetching a doc's updates is:
- page id in `meta.pages` -> find `${page-id}` in `doc.spaces` -> `doc` -> `doc.guid`
if `doc` is not found in `doc.spaces`, a new doc will be created and its `doc.guid` is the same with its pageId
- because of guid logic change, the doc that previously prefixed with `space:` will not be found in `doc.spaces`
- when fetching the rows of this doc using the doc id === page id,
  it will return EMPTY since there is no updates associated with the page id

The provided fix in the PR will patch the `spaces` field of the root doc so that after 0.10 the page doc can still be found in the `spaces` map. It shall apply to both of the idb & sqlite datasources.

Special thanks to @lawvs 's db file for investigation!

* test(e2e): add subdoc migration test (#4921)

test(e2e): add subdoc migration test

fix: remove .only

* fix(core): change server url of stable to insider (#4902) (#4926)

* ci: disable postinstall in nightly desktop build (#4930)

Should be part of https://github.com/toeverything/AFFiNE/pull/4885

* fix: change password token check (#4934) (#4932)

* perf(component): use png instead of svg for rendering noise svg (#4935)

* fix(infra): workspace migration without blockVersions (#4936)

* ci: only disable postinstall on macOS in nightly desktop build (#4938)

* chore: change default branch to canary (#4948)

* feat(core): support share edgeless mode (#4856)

Close #3287

<!--
copilot:all
-->
### <samp>🤖 Generated by Copilot at d3fdf86</samp>

### Summary
📄🚀🔗

<!--
1.  📄 - This emoji represents the page and edgeless modes of sharing a page, as well as the GraphQL operations and types related to public pages.
2.  🚀 - This emoji represents the functionality of publishing and revoking public pages, as well as the confirmation modal and the notifications for the user.
3.  🔗 - This emoji represents the sharing URL and the query parameter for the share mode, as well as the hooks and functions that generate and use the URL.
-->
This pull request adds a feature to the frontend component of AFFiNE that allows the user to share a page in either `page` or `edgeless` mode, which affects the appearance and functionality of the page. It also adds the necessary GraphQL operations, types, and schema to support this feature in the backend, and updates the tests and the storybook stories accordingly.

*  Modify the `useIsSharedPage` hook to accept an optional `shareMode` argument and use the `getWorkspacePublicPagesQuery`, `publishPageMutation`, and `revokePublicPageMutation` from `@affine/graphql`

* fix(infra): page id compat fix for page ids in workspace.meta (#4950)

since we strip `page:` in keys of workspacedoc.spaces, we should also strip the prefix in meta.pages as well.

* ci: prevent error if rust build is cached by nx (#4951)

If Rust build was cached by nx, only the output file will be presented. The chmod command will be failed in this case like: https://github.com/toeverything/AFFiNE/actions/runs/6874496337/job/18697360212

* chore: bump blocksuite (#4958)

* fix(server): all viewers can share public link (#4968)

* refactor: new provider (#4900)

* feat(i18n): update translation (#4923)

* chore: add devcontainer config (#4974)

Co-authored-by: Reese <3253971+figadore@users.noreply.github.com>

* fix(component): stack notification cards expand animation (#4962)

* style(core): update pro plan card style (#4960)

* fix(core): adjust cmdk list scroll padding block (#4972)

* feat(core): keep the latest toast showing when multiple call (#4961)

* fix(core): escape cmdk value (#4947)

Co-authored-by: LongYinan <lynweklm@gmail.com>

* refactor(core): remove all MUI related components and utilities (#4941)

* fix(core): handle the getSession network error properly (#4909)

If network offline or API error happens, the `session` returned by the `useSession` hook will be null, so we can't assume it is not null.

There should be following changes:
1. create a page in ErrorBoundary to let the user refetch the session.
2. The `SessionProvider` stop to pull the new session once the session is null, we need to figure out a way to pull the new session when the network is back or the user click the refetch button.

* build: remove useless source-map-loader to speedup webpack (#4910)

* fix(core): blob key issue for cloud blob provider (#4907)

There are some resources that only exists on `/static`. Current prefix check is incorrect since it could start with `/static`

* chore: bump the all-cargo-dependencies group with 1 update (#4997)

Bumps the all-cargo-dependencies group with 1 update: [uuid](https://github.com/uuid-rs/uuid).

<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>doc: fix links in v6 module by <a href="https://github.com/metalalive"><code>@​metalalive</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/714">uuid-rs/uuid#714</a></li>
<li>Stabilize UUIDv6-v8 support by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/718">uuid-rs/uuid#718</a></li>
<li>Prepare for 1.6.0 release by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/719">uuid-rs/uuid#719</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/metalalive"><code>@​metalalive</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/714">uuid-rs/uuid#714</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0">https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/uuid-rs/uuid/commit/4609e617941e320211f582f0d4749f37b30a262f"><code>4609e61</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/719">#719</a> from uuid-rs/cargo/1.6.0</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/24330666ec7d4f2199818d6fc5635f5ab57dcc73"><code>2433066</code></a> prepare for 1.6.0 release</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/9787ea1d0b3175a70d4f09cce3da12e28689c6cc"><code>9787ea1</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/718">#718</a> from uuid-rs/feat/stabilize-v6-plus</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/90b0bc0a1c46b7d6970e1d3f89636a47eefeda24"><code>90b0bc0</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/714">#714</a> from metalalive/doc/fix-v6-links</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/1eebe7d29938d5f1bfb970e0d46046becf7c91f2"><code>1eebe7d</code></a> bump msrv to 1.60.0</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/6bade3ae597ae18b53b7e480d9a0d510799cab0f"><code>6bade3a</code></a> just test lib with miri</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/3df0aaa80dabbf0ded541557d69b3d4b9e652425"><code>3df0aaa</code></a> stabilize UUIDv6-v8 support</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/003dc57994d03dfbd275eaafa87e2624237944bd"><code>003dc57</code></a> doc: fix links to timestamp module</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.5.0...1.6.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uuid&package-manager=cargo&previous-version=1.5.0&new-version=1.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>

* fix(core): rerender (#4988)

* fix(core): make e2e more stable (#4987)

* feat(workspace): more status for SyncPeer (#4983)

* feat(workspace): more status for SyncEngine (#4984)

* fix(core): merge updates before push to storage (#4986)

* c0.11.0-canary.0

* v0.10.3-canary.0

* fix(core): cmdk crash when entering double quotes (#5008)

Due to a bug in the upstream repository, a temporary fix was implemented until the issue in the upstream repository is resolved.
https://github.com/pacocoursey/cmdk/issues/189

* chore: faster lint-staged (#5013)

Co-authored-by: EYHN <13579374+EYHN@users.noreply.github.com>

* fix: invisible button should not be interactive (#5017)

* fix(core): hmr issue on dev (#5006)

I suspect HMR does not working properly on dev because we have multiple entries.
One relative issue: https://github.com/webpack/webpack-dev-server/issues/2792/

I think we do not need multiple entries for polyfills & plugins after all. They could be in the same chunk, and could be later optimized through splitChunks option.

`ses.ts` is changed to `ses-lockdown.ts` because `ses.ts` does not pass circular dependency check by madge. I haven't looked through the real root cause though. See https://github.com/pahen/madge/issues/355

* build(electron): asar (#4965)

Due to restrictions on how Electron package works, the `node_modules` should not be hoisted and not to use s/h-links at all. This is why we need to have two separate installs for electron and non-electron packages in the build.

Tested via the following script

```bash
#!/bin/bash

echo "step 1: clean up"
find . -name "node_modules" -prune -exec rm -rf '{}' +
# git clean -dfX
build_type=canary

echo "step 2: install web dependencies"
# firstly, build web static
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 SENTRYCLI_SKIP_DOWNLOAD=1 PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 HUSKY=1 yarn

echo "step 3: generate assets"
BUILD_TYPE="$build_type" yarn workspace @affine/electron generate-assets

# cleanup node_modules
find . -name "node_modules" -prune -exec rm -rf '{}' +

echo "step 4: install electron dependencies"
# install electron deps
yarn config set nmHoistingLimits workspaces
yarn config set enableScripts false
yarn config set nmMode classic
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 HUSKY=0 yarn workspaces focus @affine/electron @affine/monorepo

echo "step 5: build native"
# build native
yarn workspace @affine/native build
yarn workspace @affine/storage build

echo "step 6: build electron"
# build electron
yarn workspace @affine/electron build

echo "step 7: package electron"
# package
SKIP_GENERATE_ASSETS=1 BUILD_TYPE="$build_type" HOIST_NODE_MODULES=1 yarn workspace @affine/electron package
```

* fix(core): add error boundary for workspace layout (#5014)

https://github.com/toeverything/AFFiNE/assets/3468483/d478bf4f-2be3-4d7d-8d94-aa95c1f74c8e

* feat(server): add doc history support (#4970)

* chore(server): remove deprecated redis manager (#4971)

* feat(server): add cache module (#4973)

* feat(server): reduce duplidated merge with cache (#4975)

* feat(server): event on snapshot upserted (#5002)

* feat(server): impl doc history (#5004)

* chore: bump blocksuite (#5026)

* chore: bump blocksuite (#5030)

* fix(core): fix page loading shimmer (#5027)

* fix(workspace): fast check svg buffer (#5032)

* fix(core): should not reset page preset on rerender (#5034)

Should not reset editor preset when re-render.

See https://github.com/toeverything/blocksuite/blob/ce7ac88fc750fb465a6b4227b8f93eafe8e894fc/packages/editor/src/components/editor-container.ts#L197. If these props changes, it will trigger some unexpected side effects.

* fix(server): use iso date string as history query input (#5035)

* refactor(core): use manual upgrade to replace auto migration when web setup (#5022)

1. Split logic in `packages/common/infra/src/blocksuite/index.ts` to multiple single files
2. Move migration logic from setup to upgrade module, to prevent auto migration problems and loading problem

* feat: upgrade dependencies and lockfile (#5016)

- Close https://github.com/toeverything/AFFiNE/security/dependabot/47

* feat(core): add download app button to web (#5023)

* chore: v0.10.3-canary.1

* fix(electron): clone db file when enable cloud for desktop (#5028)

At the moment on desktop the user's local blob data will be lost after enable cloud.
This is because blob data is only synced from old idb to new idb, but not sync into sqlitedb.

This pr will simply clone the db file for desktop app. It should also speed up the time when enabling cloud for a large local workspace.

* fix(server): check state changes before saving history record (#5038)

* refactor(workspace): blob sync (#5037)

This pr implements a blob engine.
It exposes a single `BlobStorage` to the `blocksuite`, and in it we sync blobs between multiple storages.

The implement still have few issues, but we can merge this pr first and fix them in future.

* BlobEngine currently **do nothing when delete**, because synchronization logic conflicts with deletion logic.
* BlobEngine sync between storages by querying the blob list at regular intervals. This will **cause many queries**, we can avoid this in the future by subscribing to remote changes.

* v0.10.3-canary.2

* chore(core): update react-resizable-panels (#5041)

`react-resizable-panels` will throw some errors sometime when showing history modal dialog.
I haven't checked the root cause, but upgrade it to the latest will get rid of the error.

* fix(electron): appimage forge builder (#5043)

* chore: bump icons version (#5042)

* ci: fix storybook publish problem (#5047)

* chore: adjust the request memory size and replica count (#5046)

* fix(server): never throw in websocket gateways (#5050)

* refactor(server): standarderlize metrics and trace with OTEL (#5054)

you can now export span to Zipkin and metrics to Prometheus when developing locally
follow the docs of OTEL: https://opentelemetry.io/docs/instrumentation/js/exporters/

<img width="2357" alt="image" src="https://github.com/toeverything/AFFiNE/assets/8281226/ec615e1f-3e91-43f7-9111-d7d2629e9679">

* fix(server): add guid compatibility of :space:page variant (#5062)

* feat: optional payment for server (#5055)

* feat: optional payment for frontend (#5056)

* feat(core): simple recovery history ui poc (#5033)

Simple recovery history UI poc.
What's missing
- [x] e2e

All biz logic should be done, excluding complete ui details.
- [ ] offline prompt
- [ ] history timeline
- [ ] page ui

https://github.com/toeverything/AFFiNE/assets/584378/fc3f6a48-ff7f-4265-b9f5-9c0087cb2635

* chore: bump blocksuite (#5051)

https://github.com/toeverything/blocksuite/pull/5337

* test(core): simple recovery ui e2e (#5059)

* feat(server): add soft deleted flag to optimized blob table (#5058)

requires https://github.com/toeverything/OctoBase/pull/561

* chore: bump the all-cargo-dependencies group with 5 updates (#5068)

[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps the all-cargo-dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [napi](https://github.com/napi-rs/napi-rs) | `2.14.0` | `2.14.1` |
| [napi-derive](https://github.com/napi-rs/napi-rs) | `2.14.1` | `2.14.2` |
| [serde](https://github.com/serde-rs/serde) | `1.0.192` | `1.0.193` |
| [sqlx](https://github.com/launchbadge/sqlx) | `0.7.2` | `0.7.3` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.6.0` | `1.6.1` |

Updates `napi` from 2.14.0 to 2.14.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/napi-rs/napi-rs/releases">napi's releases</a>.</em></p>
<blockquote>
<h2><code>@​napi-rs/cli</code><a href="https://github.com/2"><code>@​2</code></a>.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>[Fix] Quote toml path by <a href="https://github.com/TheBrenny"><code>@​TheBrenny</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1410">napi-rs/napi-rs#1410</a></li>
<li>chore(cli): update CI template by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1416">napi-rs/napi-rs#1416</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/TheBrenny"><code>@​TheBrenny</code></a> made their first contribution in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1410">napi-rs/napi-rs#1410</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/napi-rs/napi-rs/compare/napi@2.10.4...@napi-rs/cli@2.14.1">https://github.com/napi-rs/napi-rs/compare/napi@2.10.4...<code>@​napi-rs/cli</code><code>@​2.14.1</code></a></p>
<h2>napi-derive@2.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(napi-derive): async task void output type by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1795">napi-rs/napi-rs#1795</a></li>
<li>fix(napi-derive): async task optional output type by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1796">napi-rs/napi-rs#1796</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/napi-rs/napi-rs/compare/napi-sys@2.3.0...napi-derive@2.14.1">https://github.com/napi-rs/napi-rs/compare/napi-sys@2.3.0...napi-derive@2.14.1</a></p>
<h2>napi@2.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>style(napi): clippy fix by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1815">napi-rs/napi-rs#1815</a></li>
<li>fix(napi): cargo doc build by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1819">napi-rs/napi-rs#1819</a></li>
<li>fix(napi): compile error for wasm32-unknown-unknown target by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1822">napi-rs/napi-rs#1822</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/napi-rs/napi-rs/compare/napi@2.14.0...napi@2.14.1">https://github.com/napi-rs/napi-rs/compare/napi@2.14.0...napi@2.14.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/napi-rs/napi-rs/commit/6a4f4f173db28cf6bab15f193927fe99d3505da8"><code>6a4f4f1</code></a> chore(release): publish</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/e4ac44e5602dcb46fba092edfbfc3f8124e600d3"><code>e4ac44e</code></a> Release independent packages</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/8a9c42a9859f0730719c1d526752b25821305e30"><code>8a9c42a</code></a> fix(napi): compile error for wasm32-unknown-unknown target</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/7dced934a71797bd9159c3c91f8a3964cb4abd27"><code>7dced93</code></a> fix(napi): cargo doc build</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/751312cec9481ef9c60d079ceef6e41aa83d503f"><code>751312c</code></a> test: add test file name into error message (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1821">#1821</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/7c3f8b514ef1f15e1e38489b77ae34858b9b85fd"><code>7c3f8b5</code></a> fix(napi-derive): compile warning (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1820">#1820</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/8c911b5d34018a4dff985b7db41f558b22370bcf"><code>8c911b5</code></a> chore: upgrade emnapi dependencies (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1817">#1817</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/76dcf833dabb38892357748a7f69fb9a96b67009"><code>76dcf83</code></a> chore(deps): update dependency emnapi to v0.44.0 (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1805">#1805</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/6df0ca112e41cb1ed0ee76a446fa7e5f358dfaeb"><code>6df0ca1</code></a> chore: 🤖 align wasi template to nodejs demo (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1814">#1814</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/c321071c8902005f7d5295c2995ad03fa25fc395"><code>c321071</code></a> chore(deps): update dependency <code>@​emnapi/runtime</code> to v0.44.0 (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1804">#1804</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/napi-rs/napi-rs/compare/napi@2.14.0...napi@2.14.1">compare view</a></li>
</ul>
</details>
<br />

Updates `napi-derive` from 2.14.1 to 2.14.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/napi-rs/napi-rs/releases">napi-derive's releases</a>.</em></p>
<blockquote>
<h2>napi-derive@2.14.2</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(napi-derive): compile warning by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1820">napi-rs/napi-rs#1820</a></li>
<li>fix(napi): compile error for wasm32-unknown-unknown target by <a href="https://github.com/Brooooooklyn"><code>@​Brooooooklyn</code></a> in <a href="https://redirect.github.com/napi-rs/napi-rs/pull/1822">napi-rs/napi-rs#1822</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2">https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/napi-rs/napi-rs/commit/6a4f4f173db28cf6bab15f193927fe99d3505da8"><code>6a4f4f1</code></a> chore(release): publish</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/e4ac44e5602dcb46fba092edfbfc3f8124e600d3"><code>e4ac44e</code></a> Release independent packages</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/8a9c42a9859f0730719c1d526752b25821305e30"><code>8a9c42a</code></a> fix(napi): compile error for wasm32-unknown-unknown target</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/7dced934a71797bd9159c3c91f8a3964cb4abd27"><code>7dced93</code></a> fix(napi): cargo doc build</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/751312cec9481ef9c60d079ceef6e41aa83d503f"><code>751312c</code></a> test: add test file name into error message (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1821">#1821</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/7c3f8b514ef1f15e1e38489b77ae34858b9b85fd"><code>7c3f8b5</code></a> fix(napi-derive): compile warning (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1820">#1820</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/8c911b5d34018a4dff985b7db41f558b22370bcf"><code>8c911b5</code></a> chore: upgrade emnapi dependencies (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1817">#1817</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/76dcf833dabb38892357748a7f69fb9a96b67009"><code>76dcf83</code></a> chore(deps): update dependency emnapi to v0.44.0 (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1805">#1805</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/6df0ca112e41cb1ed0ee76a446fa7e5f358dfaeb"><code>6df0ca1</code></a> chore: 🤖 align wasi template to nodejs demo (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1814">#1814</a>)</li>
<li><a href="https://github.com/napi-rs/napi-rs/commit/c321071c8902005f7d5295c2995ad03fa25fc395"><code>c321071</code></a> chore(deps): update dependency <code>@​emnapi/runtime</code> to v0.44.0 (<a href="https://redirect.github.com/napi-rs/napi-rs/issues/1804">#1804</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/napi-rs/napi-rs/compare/napi-derive@2.14.1...napi-derive@2.14.2">compare view</a></li>
</ul>
</details>
<br />

Updates `serde` from 1.0.192 to 1.0.193
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.193</h2>
<ul>
<li>Fix field names used for the deserialization of <code>RangeFrom</code> and <code>RangeTo</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2653">#2653</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2654">#2654</a>, <a href="https://redirect.github.com/serde-rs/serde/issues/2655">#2655</a>, thanks <a href="https://github.com/emilbonnek"><code>@​emilbonnek</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/serde-rs/serde/commit/44613c7d0190dbb5ecd2d5ec19c636f45b7488cc"><code>44613c7</code></a> Release 1.0.193</li>
<li><a href="https://github.com/serde-rs/serde/commit/c706281df3c8d50dba1763f19c856df2746eba6c"><code>c706281</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2655">#2655</a> from dtolnay/rangestartend</li>
<li><a href="https://github.com/serde-rs/serde/commit/65d75b8fe3105f00ab2e01537d568d4587167582"><code>65d75b8</code></a> Add RangeFrom and RangeTo tests</li>
<li><a href="https://github.com/serde-rs/serde/commit/332b0cba40bcbcc7a6b23a9706277c54791a9856"><code>332b0cb</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2654">#2654</a> from dtolnay/rangestartend</li>
<li><a href="https://github.com/serde-rs/serde/commit/8c4af412969086bc8f54fdc2a079d373632e0a03"><code>8c4af41</code></a> Fix more RangeFrom / RangeEnd mixups</li>
<li><a href="https://github.com/serde-rs/serde/commit/24a78f071b22ae491eec4127be696ac255b9b5d3"><code>24a78f0</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2653">#2653</a> from emilbonnek/fix/range-to-from-de-mixup</li>
<li><a href="https://github.com/serde-rs/serde/commit/c91c33436d7aaef7472ebc18b734ddc9b5bd11fa"><code>c91c334</code></a> Fix Range{From,To} deserialize mixup</li>
<li><a href="https://github.com/serde-rs/serde/commit/2083f43a287cac8302009fda5bbe41518dd83209"><code>2083f43</code></a> Update ui test suite to nightly-2023-11-19</li>
<li>See full diff in <a href="https://github.com/serde-rs/serde/compare/v1.0.192...v1.0.193">compare view</a></li>
</ul>
</details>
<br />

Updates `sqlx` from 0.7.2 to 0.7.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md">sqlx's changelog</a>.</em></p>
<blockquote>
<h2>0.7.3 - 2023-11-22</h2>
<p>38 pull requests were merged this release cycle.</p>
<h3>Added</h3>
<ul>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2478">#2478</a>]: feat(citext): support postgres citext [[<a href="https://github.com/hgranthorner"><code>@​hgranthorner</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2545">#2545</a>]: Add <code>fixtures_path</code> in sqlx::test args [[<a href="https://github.com/ripa1995"><code>@​ripa1995</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2665">#2665</a>]: feat(mysql): support packet splitting [[<a href="https://github.com/tk2217"><code>@​tk2217</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2752">#2752</a>]: Enhancement <a href="https://redirect.github.com/launchbadge/sqlx/issues/2747">#2747</a> Provide <code>fn PgConnectOptions::get_host(&amp;self)</code> [[<a href="https://github.com/boris-lok"><code>@​boris-lok</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2769">#2769</a>]: Customize the macro error message based on the metadata [[<a href="https://github.com/Nemo157"><code>@​Nemo157</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2793">#2793</a>]: derived Hash trait for PgInterval [[<a href="https://github.com/yasamoka"><code>@​yasamoka</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2801">#2801</a>]: derive FromRow: sqlx(default) for all fields [[<a href="https://github.com/grgi"><code>@​grgi</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2827">#2827</a>]: Add impl <code>FromRow</code> for the unit type [[<a href="https://github.com/nanoqsh"><code>@​nanoqsh</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2871">#2871</a>]: Add <code>MySqlConnectOptions::get_database()</code>  [[<a href="https://github.com/shiftrightonce"><code>@​shiftrightonce</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2873">#2873</a>]: Sqlx Cli: Added force flag to drop database for postgres [[<a href="https://github.com/Vrajs16"><code>@​Vrajs16</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2894">#2894</a>]: feat: <code>Text</code> adapter [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
</ul>
<h3>Changed</h3>
<ul>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2701">#2701</a>]: Remove documentation on offline feature [[<a href="https://github.com/Baptistemontan"><code>@​Baptistemontan</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2713">#2713</a>]: Add additional info regarding using Transaction and PoolConnection as… [[<a href="https://github.com/satwanjyu"><code>@​satwanjyu</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2770">#2770</a>]: Update README.md [[<a href="https://github.com/snspinn"><code>@​snspinn</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2797">#2797</a>]: doc(mysql): document behavior regarding <code>BOOLEAN</code> and the query macros [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2803">#2803</a>]: Don't use separate temp dir for query jsons (2)  [[<a href="https://github.com/mattfbacon"><code>@​mattfbacon</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2819">#2819</a>]: postgres begin cancel safe [[<a href="https://github.com/conradludgate"><code>@​conradludgate</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2832">#2832</a>]: Update extra_float_digits default to 2 instead of 3 [[<a href="https://github.com/brianheineman"><code>@​brianheineman</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2865">#2865</a>]: Update Faq - Bulk upsert with optional fields  [[<a href="https://github.com/Vrajs16"><code>@​Vrajs16</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2880">#2880</a>]: feat: use specific message for slow query logs [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2882">#2882</a>]: Do not require db url for prepare [[<a href="https://github.com/tamasfe"><code>@​tamasfe</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2890">#2890</a>]: doc(sqlite): cover lack of <code>NUMERIC</code> support [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[No PR]: Upgraded <code>libsqlite3-sys</code> to 0.27.0
<ul>
<li>Note: linkage to <code>libsqlite3-sys</code> is considered semver-exempt;
see the release notes for 0.7.0 below for details.</li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2640">#2640</a>]: fix: sqlx::macro db cleanup race condition by adding a margin to current timestamp [[<a href="https://github.com/fhsgoncalves"><code>@​fhsgoncalves</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2655">#2655</a>]: [fix] Urlencode when passing filenames to sqlite3 [[<a href="https://github.com/uttarayan21"><code>@​uttarayan21</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2684">#2684</a>]: Make PgListener recover from UnexpectedEof [[<a href="https://github.com/hamiltop"><code>@​hamiltop</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2688">#2688</a>]: fix: Make rust_decimal and bigdecimal decoding more lenient [[<a href="https://github.com/cameronbraid"><code>@​cameronbraid</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2754">#2754</a>]: Is tests/x.py maintained? And I tried fix it. [[<a href="https://github.com/qwerty2501"><code>@​qwerty2501</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2784">#2784</a>]: fix: decode postgres time without subsecond [[<a href="https://github.com/granddaifuku"><code>@​granddaifuku</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2806">#2806</a>]: Depend on version of async-std with non-private spawn-blocking [[<a href="https://github.com/A248"><code>@​A248</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2820">#2820</a>]: fix: correct decoding of <code>rust_decimal::Decimal</code> for high-precision values [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2822">#2822</a>]: issue <a href="https://redirect.github.com/launchbadge/sqlx/issues/2821">#2821</a> Update error handling logic when opening a TCP connection [[<a href="https://github.com/anupj"><code>@​anupj</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2826">#2826</a>]: chore: bump some sqlx-core dependencies [[<a href="https://github.com/djc"><code>@​djc</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2838">#2838</a>]: Fixes rust_decimal scale for Postgres [[<a href="https://github.com/jkleinknox"><code>@​jkleinknox</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2847">#2847</a>]: Fix comment in <code>sqlx migrate add</code> help text [[<a href="https://github.com/cryeprecision"><code>@​cryeprecision</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2850">#2850</a>]: fix(core): avoid unncessary wakeups in <code>try_stream!()</code> [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2856">#2856</a>]: Prevent warnings running <code>cargo build</code> [[<a href="https://github.com/nyurik"><code>@​nyurik</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2864">#2864</a>]: fix(sqlite): use <code>AtomicUsize</code> for thread IDs [[<a href="https://github.com/abonander"><code>@​abonander</code></a>]]</li>
<li>[<a href="https://redirect.github.com/launchbadge/sqlx/issues/2892">#2892</a>]: Fixed force dropping bug [[<a href="https://github.com/Vrajs16"><code>@​Vrajs16</code></a>]]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/launchbadge/sqlx/commits/v0.7.3">compare view</a></li>
</ul>
</details>
<br />

Updates `uuid` from 1.6.0 to 1.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p>
<blockquote>
<h2>1.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix uuid macro in consts by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/721">uuid-rs/uuid#721</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1">https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/uuid-rs/uuid/commit/c8891073248ddc7faa8c53ac9ceb629a341c7b9b"><code>c889107</code></a> Merge pull request <a href="https://redirect.github.com/uuid-rs/uuid/issues/721">#721</a> from uuid-rs/fix/uuid-macro</li>
<li><a href="https://github.com/uuid-rs/uuid/commit/f3f74961c4a8628eb4247c56f93645bb42ee0d31"><code>f3f7496</code></a> fix uuid macro in consts</li>
<li>See full diff in <a href="https://github.com/uuid-rs/uuid/compare/1.6.0...1.6.1">compare view</a></li>
</ul>
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions

</details>

* docs: issue triaging document (#5071)

I would like to sort out our process for handling github issues. When we receive a issue, we should first triage it.

This PR contains the document about issue triaging.

reference:
[YouTrack issue states used in .NET tools team and their description](https://rider-support.jetbrains.com/hc/en-us/articles/360021572199-YouTrack-issue-states-used-in-NET-tools-team-and-their-description)
[vscode Issues Triaging](https://github.com/microsoft/vscode/wiki/Issues-Triaging)

* fix(electron): electron dev startup on win (#5031)

* fix(component): rework tags list collapsing (#5072)

Before:

![CleanShot 2023-11-27 at 16.39.55@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/2ac2b8e3-6c30-41f7-a9b2-7a9c81b250fa.png)

After:
![CleanShot 2023-11-27 at 16.38.50@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/12eac806-e641-45be-9215-d166f8733db9.png)

* fix(server): wrong OTEL config (#5084)

* fix(core): nx cache configuration (#5065)

* ci: always perform fresh build in deployment job (#5066)

* fix(core): should not refetch avatar when url does not change (#5070)

blob resources are in fact immutable. We do not need to refetch it by swr policies (mount/visibilitychange/etc)

* style: add no-self-compare rule (#5092)

* feat(component): default collapse and float sidebar on mobile (#5077)

work for #4843

https://github.com/toeverything/AFFiNE/assets/102217452/c658dbab-4db8-4065-a3a6-3e20274b6cb9

* feat(core): show searched result with results group and add duplicate commands (#5073)

[TOV-65](https://linear.app/affine-design/issue/TOV-65/should-show-searched-result-without-categories)

https://github.com/toeverything/AFFiNE/assets/102217452/50fba70b-7efa-4e47-ba8a-de21e400166c

* chore: upgrade typescript-eslint (#5110)

* fix: resolve cycle imports and prevent it by oxlint (#5103)

* fix: add eqeqeq lint rule (#5106)

* fix: add prefer-dom-node-dataset rule (#5107)

* fix: add prefer-dom-node-append rule (#5108)

* fix: add prefer-array-some rule (#5109)

* fix: add no-useless-promise-resolve-reject rule (#5111)

* fix: add prefer-dom-node-remove rule (#5112)

* fix: add prefer-date-now rule (#5113)

* fix: add no-typeof-undefined rule (#5114)

* fix: add new-for-builtins rule (#5116)

* fix: add no-new-array rule (#5117)

* fix: add prefer-blob-reading-methods rule (#5118)

* fix: add require-array-sort-compare rule (#5119)

* fix: add unified-signatures rule (#5120)

* fix: add prefer-for-of rule (#5121)

* fix: add prefer-readonly rule (#5122)

* refactor(server): simplify metrics creation and usage (#5115)

* ci: pr title lint job does not need to install all dependencies (#5124)

* ci: upgrade setup-node action (#5125)

* chore: add lint-staged command to pre-commit file (#5126)

* chore: remove useless circular command (#5127)

* chore: add rust-toolchain file (#5129)

* chore(native): fix useless import (#5130)

* feat(core): add manual check for updates (#4957)

work for #4523

add `appBuildType` to `runtimeConfig`
add `useAppUpdater` to manage client updates

<!--
copilot:summary
-->
### <samp>🤖[[deprecated]](https://githubnext.com/copilot-for-prs-sunset) Generated by Copilot at cdd012c</samp>

This pull request refactors and enhances the update functionality for the frontend. It introduces a new custom hook `useAppUpdater` that simplifies the update logic and state management, and uses it in various components and commands. It also adds more options and feedback for the user to control and monitor the update process, such as manual download, auto-check, and auto-download toggles, and update status and progress indicators. It also updates the `AboutAffine` component to show the app icon, version, and build type. It also adds new translations, dependencies, types, and schemas related to the update functionality.

<img width="1073" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/16ae7a6a-0035-4e57-902b-6b8f63169501">

* fix(core): language display names (#5123)

* fix(core): adjust ui styles (#5094)

* ci: remove publish job (#5135)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: fourdim <59462000+fourdim@users.noreply.github.com>
Co-authored-by: Cats Juice <wp1298554944@hotmail.com>
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com>
Co-authored-by: Flrande <50035259+Flrande@users.noreply.github.com>
Co-authored-by: forehalo <forehalo@gmail.com>
Co-authored-by: zzj3720 <zuozijian1994@gmail.com>
Co-authored-by: JimmFly <447268514@qq.com>
Co-authored-by: Joooye_34 <joooye1991@gmail.com>
Co-authored-by: JimmFly <yangjinfei001@gmail.com>
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
Co-authored-by: EYHN <cneyhn@gmail.com>
Co-authored-by: Hongtao Lye <hongtao.lye@toeverything.info>
Co-authored-by: singhjatin297 <78216862+singhjatin297@users.noreply.github.com>
Co-authored-by: DarkSky <darksky2048@gmail.com>
Co-authored-by: Yifeng Wang <doodlewind@toeverything.info>
Co-authored-by: Whitewater <me@waterwater.moe>
Co-authored-by: Reese <3253971+figadore@users.noreply.github.com>
Co-authored-by: EYHN <13579374+EYHN@users.noreply.github.com>
Co-authored-by: Peng Xiao <584378+pengx17@users.noreply.github.com>
Co-authored-by: LongYinan <3468483+Brooooooklyn@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app:core test Related to test cases
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Error UI display in search results of quick search
3 participants