Dashboard › opencode › OpenCode session timeline, loading, and…
01a086aa-bae2-7c0c-8e01-7f30f9119198| Project | Hits | Last recalled |
|---|---|---|
| opencode-lore | 6 | 2d ago |
| Code | 1 | 2026-06-14 |
Session title and inline rename live in message-timeline.tsx; scoped hooks use sync() and sdk(). Do not read an unused createResource in JSX: it triggers the nearest Suspense fallback even though its fetcher already runs reactively. persisted().ready is synchronous on web/localStorage but asynchronous on desktop storage; bootstrap API calls do not block GlobalSyncProvider. During reconnect and data catch-up, keep visible status in the timeline, home list, and sidebar. Deduplicate connection toasts with a shared Kobalte toast ID and reconnecting/catchingUp state. Archive/delete handlers optimistically remove sessions from sync().data.session, navigate away, and roll back failures with Binary.search; delete also removes descendants via byParent.