orca/mobile/app
Neil 54c4959830
perf(mobile): cap the scheduled-notification map + tap-dedup set (#7646)
scheduledNotificationsByHostAndNotificationId (mobile-notifications.ts)
retained one entry per scheduled desktop notification. The key embeds
notificationId, which carries a per-completion timestamp
(buildAgentNotificationId), so every agent-task-complete inserts a new,
never-reused key. Entries are removed only when the desktop sends a
matching dismiss — which a remote mobile user (not sitting at the
desktop) frequently never receives — so the module-level map grew for
the app's whole lifetime. Small per entry, but genuinely unbounded.

Fix: bound the map to the 256 most-recent SETTLED entries (never evict
one mid-schedule). A settled entry only retains a small identifier used
for later programmatic dismissal, which is unnecessary for long-past
completions, so eviction has no user-visible effect.

Also FIFO-cap RootLayout's handledNotificationIdsRef tap-dedup Set
(RootLayout never unmounts, so it otherwise grew one id per tapped
notification forever).

Test (red->green): with the cap at 1, scheduling a second notification
evicts the first, so a later dismiss for the evicted id is a no-op while
the retained one still dismisses; without the cap the old entry survives.
2026-07-06 21:28:09 -07:00
..
h Show all worktrees across all hosts on mobile (#7500) 2026-07-05 23:10:48 -07:00
_layout.tsx perf(mobile): cap the scheduled-notification map + tap-dedup set (#7646) 2026-07-06 21:28:09 -07:00
about.tsx
browser-settings.tsx fix(mobile): add terminal link routing setting 2026-06-16 17:05:12 -07:00
index.tsx fix(mobile): show usage bars for system-default login (#5499) 2026-06-16 13:29:45 -07:00
notifications.tsx
pair-confirm.tsx Mobile: worktree-list sidebar for tablet/foldable layouts (#5505) 2026-06-16 16:50:38 -07:00
pair-scan.tsx
pair.tsx
settings.tsx fix(mobile): add terminal link routing setting 2026-06-16 17:05:12 -07:00
terminal-settings.tsx Redesign mobile driver overlay layout and clarify action copy (#5647) 2026-06-17 19:21:42 -07:00
troubleshoot.tsx
voice-settings.tsx Allow deleting downloaded speech models on desktop and mobile (#5794) 2026-06-19 12:31:11 -07:00