mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-30 00:29:46 +08:00
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:
@@ -0,0 +1,14 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { normalizeNativeOptional } from './optional';
|
||||
|
||||
describe('normalizeNativeOptional', () => {
|
||||
it.each([
|
||||
['string', 'summary', 'summary'],
|
||||
['null', null, null],
|
||||
['missing key', undefined, null],
|
||||
['wrong type', 42, 42],
|
||||
])('normalizes %s', (_, input, expected) => {
|
||||
expect(normalizeNativeOptional(input)).toBe(expected);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
export function normalizeNativeOptional<T>(value: T | null | undefined) {
|
||||
return value ?? null;
|
||||
}
|
||||
Reference in New Issue
Block a user