Commit Graph
13 Commits
Author SHA1 Message Date
Mohamed Boudra 4332eca9ca Shorten agent initialization timeout 2026-05-03 19:12:36 +07:00
Mohamed Boudra 65cfe4bda4 Reduce agent timeline focus catch-up 2026-05-03 13:57:48 +07:00
654439005a fix(app): paginate canonical timeline catch-up to avoid relay 1009 disconnect loop (#657)
@fireblue diagnosed the production failure mode: long canonical timeline catch-up could exceed the relay WebSocket frame cap, close with 1009, and send clients into a reconnect loop. Their seatbelt fix also removed the `limit: 0` footgun that let app callers request an unbounded frame.

This maintainer pass keeps that diagnosis and redirects the UX around bounded projected pages:

- initial agent load fetches the latest canonical tail
- app resume/reconnect re-fetches the latest tail instead of chaining after-cursor pages
- in-stream gaps still use bounded after-cursor catch-up
- older history loads explicitly when the user scrolls to the oldest edge
- shared page size is TIMELINE_FETCH_PAGE_SIZE = 100 projected timeline items, matching the daemon's canonical projection semantics rather than raw delta chunks

Original diagnosis and fix by @fireblue.

Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
2026-05-02 19:53:50 +08:00
Mohamed Boudra 0f7fa55a0f Centralize platform gating and fix iPad/tablet support
Add `packages/app/src/constants/platform.ts` with canonical gates
(isWeb, isNative, getIsElectron) and refactor all ~100 ad-hoc
Platform.OS checks across 69 files to use shared imports.

Fix sidebar hover crash on native (onPointerEnter → onHoverIn),
fix tooltip to use breakpoint instead of platform detection, make
sidebar action buttons always visible on native where hover doesn't
work, and document the platform gating decision matrix in CLAUDE.md.
2026-04-13 13:24:00 +07:00
Mohamed Boudra f6579dbeb4 Switch to double quotes and reformat codebase with Biome 2026-03-21 20:22:15 +07:00
Mohamed Boudra b339c5e61d Fix bottom anchoring and Claude wake routing 2026-03-08 12:54:08 +07:00
Mohamed Boudra 5b270444d5 refactor: replace store-based keyboard action requests with direct dispatcher and simplify agent attention clearing 2026-03-06 14:49:06 +07:00
Mohamed Boudra a060ae1256 test: harden daemon lifecycle and e2e reliability across app/cli/server 2026-02-25 10:21:46 +07:00
Mohamed BoudraandGitHub a134132418 Fix app stream/timeline ordering desync and init lifecycle race (#73)
* fix(app): enforce canonical stream sequencing and init resolution

* refactor: extract timeline and stream reducers to pure functions
2026-02-23 19:30:48 +07:00
Mohamed Boudra d128a32d2f Unify app connection state around host runtime 2026-02-20 10:37:59 +07:00
Mohamed Boudra 8169134ac3 refactor timeline loading to cursor-based fetch API 2026-02-14 01:03:36 +07:00
Mohamed BoudraandGitHub d724988542 Fix agent history catch-up + avoid mobile background stream deltas (#18)
* Update files

* Fix agent history sync + mobile stream gating
2026-02-06 13:18:15 +07:00
Mohamed BoudraandGitHub 469a25c724 feat: add live model and thinking option preferences UI (#8)
* feat: add live model and thinking option preferences UI

* refactor: remove agent variant support and clean up thinking options

* feat: live model + thinking presets (RPC)
2026-02-04 08:18:15 +07:00