📡 2026-07-06 16:47 UTC
📝 Commits to main (41 new)
⚠️ Relevant to our work
- ⚠️
5af7ba92 refactor: consolidate byte-size formatting (#99768) (#99768)
- ⚠️
b29d472e refactor(qa): add canonical live channel adapters (#99707) (#99707)
- ⚠️
30e5dfcf feat(gateway): read-only agents.workspace list/get browsing RPCs (#100738) (#100738)
- ⚠️
7a9f43db fix(gateway): dedupe MCP schema conflict warnings (#98821) (#98821)
Other commits (37)
84f21bd9 feat(ui): clickable file links in chat with a workspace file viewer sidebar (#100679) (#100679)
c437f4af feat(doctor): warn when cron delivery targets inactive channel (#98184) (#98184)
edbf2045 fix(memory-wiki): fail with a readable error when the shared memory manager violates the contract (#100902) (#100902)
0a488bd3 fix: device pairing floods stacked approval alerts for a retrying device and stale approvals no-op (#100976) (#100976)
5e22787b fix(sessions): clean stale atomic-write temps on startup (#90503) (#90503)
7853aa35 feat(ios): per-gateway custom headers for gateways behind authenticating proxies (#100768) (#100768)
161e66f7 fix(ui): move Worktrees page from the sidebar into Settings navigation (#100995) (#100995)
61a29a78 feat(android): read-only workspace Files browser with preview and share (#100776) (#100776)
ddddb3de fix(memory-wiki): drop malformed public artifacts and honor readMemoryArtifacts in status (#100900) (#100900)
f36d170b fix(agents): retry transient filesystem races when reading workspace bootstrap files (#100910) (#100910)
e580ed2f fix(sessions): exclude done sessions from transcript freshness rollover guard (#99985) (#99985)
de1bac6b fix(discord): bound gateway websocket payloads (#99998) (#99998)
1021784c fix(telegram): stop local listener and bot on retry loop non-recoverable error (#100863) (#100863)
5d3044f8 fix(auto-reply): handle stderr stream errors in sandbox media scpFile (#100861) (#100861)
f28e0d6e fix(openai): strip status from replayed input items for custom openai-responses endpoints (#100831) (#100831)
58610700 fix(runtime): throw typed ExitError instead of generic Error for simulated exit (#97796) (#97803) (#97796)
dbb70549 fix(telegram): pass proxy and apiRoot config when resolving runtime target usernames (#100868) (#100868)
255b7631 fix(android): keep chat model selection synchronized (#100985) (#100985)
ec8129ef fix(node-host): handle stdout/stderr stream errors in runCommand (#100849) (#100849)
f1fb1935 fix(cron): do not set delivery mode to announce when disabling best-effort on payload edits (#100846) (#100846)
32cc9b08 fix(ssh-tunnel): ignore stderr stream errors during teardown (#100855) (#100855)
d9bce26f feat(crestodian): AI-only conversation with model-judged approvals (#100656) (#100656)
8fc88be2 refactor(workboard): localize private store types (#100989) (#100989)
dc600d4a feat(diffs): changed-files summary nav for multi-file patch diffs (#100753) (#100753)
8547682d fix(discord): keep default account online when adding named accounts (#96401) (#96401)
9375f7f0 fix: keep /steer working for active runs (#100803) (#100803)
67ec5448 fix: keep new sidebar sessions visible (#100981) (#100981)
1de014bc fix(acp): catch unhandled rejection from handleGatewayEvent in event callback (#100558) (#100558)
b82e3c14 fix(gateway): hot-reload browser profile config (#93827) (#93827)
add5c513 feat(ui): stable session order, palette-only search, and macOS titlebar brand for the sidebar (#100648) (#100648)
e3119437 refactor(telegram): localize private implementation types (#100975) (#100975)
063eeb69 feat(android): support opt-in background location (#100967) (#100967)
9606fe43 fix(cli): handle stdout/stderr stream errors in execFileUtf8Tail (#100850) (#100850)
a327cec1 fix(discord): surface failed bulk reaction removals instead of false success (#90038) (#90038)
919811cf fix(cli): exit bounded hooks commands (#76922) (#76922)
bacb33a9 fix: keep Bedrock live smoke on Bedrock runtime (#99607) (#99607)
8582895c fix(android): finish onboarding after permission reapproval (#100959) (#100959)
📁 Areas touched
- src/ (88 files)
- extensions/ (86 files)
- apps/ (68 files)
- ui/ (68 files)
- docs/ (16 files)
- packages/ (11 files)
- scripts/ (3 files)
- CHANGELOG.md/ (1 files)
⚠️ Capped at 50 commits (total: 77)
📡 2026-07-06 16:47 UTC
📝 Commits to main (41 new)
5af7ba92refactor: consolidate byte-size formatting (#99768) (#99768)b29d472erefactor(qa): add canonical live channel adapters (#99707) (#99707)30e5dfcffeat(gateway): read-only agents.workspace list/get browsing RPCs (#100738) (#100738)7a9f43dbfix(gateway): dedupe MCP schema conflict warnings (#98821) (#98821)Other commits (37)
84f21bd9feat(ui): clickable file links in chat with a workspace file viewer sidebar (#100679) (#100679)c437f4affeat(doctor): warn when cron delivery targets inactive channel (#98184) (#98184)edbf2045fix(memory-wiki): fail with a readable error when the shared memory manager violates the contract (#100902) (#100902)0a488bd3fix: device pairing floods stacked approval alerts for a retrying device and stale approvals no-op (#100976) (#100976)5e22787bfix(sessions): clean stale atomic-write temps on startup (#90503) (#90503)7853aa35feat(ios): per-gateway custom headers for gateways behind authenticating proxies (#100768) (#100768)161e66f7fix(ui): move Worktrees page from the sidebar into Settings navigation (#100995) (#100995)61a29a78feat(android): read-only workspace Files browser with preview and share (#100776) (#100776)ddddb3defix(memory-wiki): drop malformed public artifacts and honor readMemoryArtifacts in status (#100900) (#100900)f36d170bfix(agents): retry transient filesystem races when reading workspace bootstrap files (#100910) (#100910)e580ed2ffix(sessions): exclude done sessions from transcript freshness rollover guard (#99985) (#99985)de1bac6bfix(discord): bound gateway websocket payloads (#99998) (#99998)1021784cfix(telegram): stop local listener and bot on retry loop non-recoverable error (#100863) (#100863)5d3044f8fix(auto-reply): handle stderr stream errors in sandbox media scpFile (#100861) (#100861)f28e0d6efix(openai): strip status from replayed input items for custom openai-responses endpoints (#100831) (#100831)58610700fix(runtime): throw typed ExitError instead of generic Error for simulated exit (#97796) (#97803) (#97796)dbb70549fix(telegram): pass proxy and apiRoot config when resolving runtime target usernames (#100868) (#100868)255b7631fix(android): keep chat model selection synchronized (#100985) (#100985)ec8129effix(node-host): handle stdout/stderr stream errors in runCommand (#100849) (#100849)f1fb1935fix(cron): do not set delivery mode to announce when disabling best-effort on payload edits (#100846) (#100846)32cc9b08fix(ssh-tunnel): ignore stderr stream errors during teardown (#100855) (#100855)d9bce26ffeat(crestodian): AI-only conversation with model-judged approvals (#100656) (#100656)8fc88be2refactor(workboard): localize private store types (#100989) (#100989)dc600d4afeat(diffs): changed-files summary nav for multi-file patch diffs (#100753) (#100753)8547682dfix(discord): keep default account online when adding named accounts (#96401) (#96401)9375f7f0fix: keep /steer working for active runs (#100803) (#100803)67ec5448fix: keep new sidebar sessions visible (#100981) (#100981)1de014bcfix(acp): catch unhandled rejection from handleGatewayEvent in event callback (#100558) (#100558)b82e3c14fix(gateway): hot-reload browser profile config (#93827) (#93827)add5c513feat(ui): stable session order, palette-only search, and macOS titlebar brand for the sidebar (#100648) (#100648)e3119437refactor(telegram): localize private implementation types (#100975) (#100975)063eeb69feat(android): support opt-in background location (#100967) (#100967)9606fe43fix(cli): handle stdout/stderr stream errors in execFileUtf8Tail (#100850) (#100850)a327cec1fix(discord): surface failed bulk reaction removals instead of false success (#90038) (#90038)919811cffix(cli): exit bounded hooks commands (#76922) (#76922)bacb33a9fix: keep Bedrock live smoke on Bedrock runtime (#99607) (#99607)8582895cfix(android): finish onboarding after permission reapproval (#100959) (#100959)📁 Areas touched