feat(core): improve mobile perf (#15317)

#### PR Dependency Tree


* **PR #15317** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Virtualized mobile navigation with shell navigation and interactive
swipe menus; coordinated mobile back handling with interactive
phases/state restoration.
* Added shared auth request proxy and message-port based token handling
across mobile and worker flows.
* **Bug Fixes**
  * Hydrated remote worker error stacks for calls and observable errors.
* Improved SQLite FTS/indexer and nbstore optional text handling;
refined docs-search ref parsing and notification loading/retry.
* **Refactor / UX**
* Modal focus-preservation and pointer behavior updates; improved mobile
menu controls and back gesture plugins.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
DarkSky
2026-07-23 00:23:21 +08:00
committed by GitHub
parent 02e75862cc
commit 1d36e2e4b2
160 changed files with 6660 additions and 1890 deletions
@@ -32,9 +32,8 @@ test('Create new workspace, then delete it', async ({ page, workspace }) => {
.getByTestId('delete-workspace-input')
.pressSequentially(currentWorkspaceName);
const promise = page
.locator('.affine-notification-center')
.first()
.waitFor({ state: 'attached' });
.getByText('Successfully deleted', { exact: true })
.waitFor({ state: 'visible' });
await page.getByTestId('delete-workspace-confirm-button').click();
await promise;
await page.reload();
@@ -61,7 +60,11 @@ test('Delete last workspace', async ({ page }) => {
await page
.getByTestId('delete-workspace-input')
.pressSequentially(currentWorkspaceName as string);
const deleted = page
.getByText('Successfully deleted', { exact: true })
.waitFor({ state: 'visible' });
await page.getByTestId('delete-workspace-confirm-button').click();
await deleted;
await openHomePage(page);
await expect(page.getByTestId('new-workspace')).toBeVisible();
await createLocalWorkspace({ name: 'Test Workspace' }, page, true);