Commit graph

3053 commits

Author SHA1 Message Date
Frank Song
d2eedd85f8 Show extension sidecar runtime status 2026-06-27 05:12:50 +00:00
b3nw
121ac7f253 fix: coerce msgContent to string in completion notification preview
Greptile P1 on #5036: block-array content can make msgContent return a
non-string; normalize before .replace() in preview helper.
2026-06-27 04:50:08 +00:00
b3nw
a84fc8e5c2 Fix completion notification preview to use settled final answer
The SSE done handler previously used assistantText.slice(0, 100), which
captures the start of the live-stream accumulator (early tokens and interim
updates) rather than the final answer shown after tools settle.

Add _completionNotificationPreviewText() using anchor final-answer projection
and settled message content, with a cleaned live-stream fallback. Hoist
lastAsst so background completions on non-active panes still get preview text.

Update PWA notification regression tests.

Closes #5035
2026-06-27 04:50:08 +00:00
nesquena-hermes
0a32fb899f fix(onboarding): rehydrate plain-select fallback so saved model isn't reset to option[0]
Codex gate finding on #5031: when _mountSearchableModelSelect is absent the
fallback returns the old plain <select>, but the post-render rehydration
(modelSel.value = ONBOARDING.form.model) was removed — so a saved/default model
that isn't the first option would be silently replaced by option[0] on render.
Restore the rehydration in an else branch + add a regression test.

Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 04:33:02 +00:00
Rod Boev
88911448ff fix(#4706): keep onboarding picker state aligned after custom clear 2026-06-27 04:25:45 +00:00
Rod Boev
d0eb9b57df fix(#4706): reuse the searchable model picker in onboarding 2026-06-27 04:25:45 +00:00
nesquena-hermes
1463aedd69 fix(i18n): rebase French translation onto master — union-merge new keys, restore theme_usage nbsp, bump open_in_vscode locale count 13->14 (fr gap closed)
Co-authored-by: Pichatu <4161398+Pichatu@users.noreply.github.com>
2026-06-27 04:09:36 +00:00
nesquena-hermes
1ff3f2f3ac Merge PR #4997 into tier-1 batch 2026-06-27 03:39:10 +00:00
nesquena-hermes
298f7af562 Merge PR #5025 into tier-1 batch 2026-06-27 03:39:10 +00:00
Rod Boev
288cbb55bc fix(#5021): keep boot model budget across restore paths 2026-06-27 02:52:33 +00:00
Rod Boev
a18ddae930 fix(#5021): retry generic model auth after boot 401 2026-06-27 02:52:33 +00:00
Rod Boev
7b5941dff9 test(#5021): harden boot redirect proof 2026-06-27 02:52:33 +00:00
Rod Boev
576834a195 fix(#5021): keep restored-session boot inside the shared 401 budget 2026-06-27 02:52:33 +00:00
Rod Boev
df1cb13cd5 fix(#5021): keep boot 401 budget out of later dropdown refreshes 2026-06-27 02:52:33 +00:00
Rod Boev
0b9235c646 test(#5021): keep active-profile recovery harness aligned 2026-06-27 02:52:33 +00:00
Rod Boev
79a92f0e3b fix(#5021): bound boot model 401 recovery 2026-06-27 02:52:33 +00:00
Rod Boev
e22ad662b7 fix(#5022): keep corrupt auth state from bricking startup 2026-06-27 01:58:40 +00:00
Rod Boev
64db24c753 fix(#5022): keep malformed session loads fail-open 2026-06-27 01:58:40 +00:00
Rod Boev
da3b6666b2 test(#5022): cover wrong-type auth warning path 2026-06-27 01:58:40 +00:00
Rod Boev
3c4ef72a51 fix(#5022): surface auth persistence failures 2026-06-27 01:58:40 +00:00
Rod Boev
0aa4f6f8cd fix(#4877): bind ephemeral blank boot workspace 2026-06-27 01:15:53 +00:00
Rod Boev
4ebe2980ca fix(#4877): bind default workspace on fresh blank boot 2026-06-27 01:15:53 +00:00
Rod Boev
19b3ad0893 test(#4999): cover every memory path branch 2026-06-26 19:42:03 -04:00
Rod Boev
c4f87f24fb test(#4999): decode node harness output as utf-8 2026-06-26 19:26:46 -04:00
Rod Boev
2b2452ba3d test(#4999): skip node harness explicitly when node is unavailable 2026-06-26 19:17:25 -04:00
Rod Boev
e2e2182bc0 fix(#4999): show on-disk memory file paths 2026-06-26 19:14:36 -04:00
Rod Boev
3722c37eb6 fix(boot): preserve api timeouts while deferring 401 redirect (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
4d727c2e24 fix(boot): keep active-profile recovery on one redirect path (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
44dacc5cf5 test(boot): drive the real recovery redirect guard (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
8c9335c916 test(boot): prove recovery redirects abort bootstrap continuation (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
c978bf5ad3 test(boot): cover recovery fallback guard branches (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
045bfc8636 fix(boot): restore boot-time profile sync after recovery guard (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
47d24524a1 fix(boot): recover boundedly from post-upgrade active-profile 401s (#5001) 2026-06-26 22:09:09 +00:00
jkobject
19d1f435b8 fix: keep psutil optional for system health 2026-06-26 20:49:13 +00:00
jkobject
0905adcf43 fix: narrow system health psutil fallback 2026-06-26 20:49:12 +00:00
jkobject
9f5aa98621 fix: support macOS system health metrics 2026-06-26 20:49:12 +00:00
nesquena-hermes
d42147a73e test(#5013): cover table-element-anchored + cell-to-prose enhanced-table copy fallthrough
Adds the two remaining enhanced-table-copy boundary cases flagged as optional
coverage when #4994 (fixes #4945) shipped: a selection anchored on the <table>
node itself, and a selection that starts in a cell and ends in surrounding prose,
both must fall through to native copy. Test-only; the shipped guard already
handles both correctly (no production change needed).
2026-06-26 19:55:10 +00:00
Rod Boev
6cb55b5df8 Keep session cache invalidation signals live across the routes extraction 2026-06-26 18:36:07 +00:00
Rod Boev
1bffabbfec refactor(routes): extract session-list cache helpers from api/routes.py (#1907) 2026-06-26 18:36:07 +00:00
Rod Boev
846e4f7495 test(#4945): exercise the full-table clipboard fallback 2026-06-26 17:51:31 +00:00
Rod Boev
285f6a2408 fix(#4945): keep prose and partial table copies native 2026-06-26 17:51:31 +00:00
Rod Boev
8c09c8dfde fix(#4945): keep native copy for cell sub-selections 2026-06-26 17:51:31 +00:00
Rod Boev
0256b98a3e fix(#4945): sanitize mixed table selections during native copy 2026-06-26 17:51:31 +00:00
Rod Boev
c74b135b99 fix(#4945): preserve native copy fallback when clipboard data is missing 2026-06-26 17:51:31 +00:00
Rod Boev
63435e0523 fix(#4945): sanitize enhanced markdown table copy 2026-06-26 17:51:31 +00:00
Rod Boev
781223fa18 fix(agent): keep real checkouts ahead of pip-style lookalikes (#4700) 2026-06-26 17:15:03 +00:00
Rod Boev
998c88a7e1 test(#4700): tighten agent discovery regression wording 2026-06-26 17:15:03 +00:00
Rod Boev
b4dadc9939 fix(#4700): recognize nested pip-style agent roots 2026-06-26 17:15:03 +00:00
Rod Boev
b5d462812c fix(#4700): recognize pip-style agent roots for cron imports 2026-06-26 17:15:02 +00:00
Frank Song
d68760b288 Prove continuation index completeness before trusting it
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 16:27:40 +00:00