Commit graph

5469 commits

Author SHA1 Message Date
Frank Song
d2eedd85f8 Show extension sidecar runtime status 2026-06-27 05:12:50 +00:00
nesquena-hermes
d38aa51a8c
Merge pull request #5040 from nesquena/release/stage-5036-notif
Release: completion notification previews settled final answer (#5036, fixes #5035)
2026-06-26 22:07:57 -07:00
nesquena-hermes
1035c24fb2 Release: completion notification previews settled final answer (#5036, fixes #5035) 2026-06-27 05:03:17 +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
173eb67715
Merge pull request #5038 from nesquena/release/stage-5031-onboarding
Release: onboarding searchable model picker (#5031, fixes #4706)
2026-06-26 21:47:04 -07:00
nesquena-hermes
cee278391e Release: onboarding searchable model picker (#5031, fixes #4706) 2026-06-27 04:42:14 +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
12b269f94c
Merge pull request #5037 from nesquena/release/stage-4876-fr
Release: complete French localization (#4876, rebased + fixed)
2026-06-26 21:19:55 -07:00
nesquena-hermes
532ac22e77 Release: French localization completion (#4876) 2026-06-27 04:10:26 +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
Pichatu
688fd1f6f1 Fixing grammatical errors 2026-06-27 04:04:12 +00:00
Pichatu
e83f820995 Fix French 2026-06-27 04:04:12 +00:00
Pichatu
7f887a7839 Fix French translation 2026-06-27 04:04:12 +00:00
nesquena-hermes
dc25d0aa64
Merge pull request #5034 from nesquena/release/stage-t1-tier1
Release: tier-1 batch — graphite chip contrast (#4888), memory file paths (#5025), mobile dashboard link hide (#4997)
2026-06-26 20:54:05 -07:00
nesquena-hermes
dee0080951 Release: tier-1 batch (#4888, #5025, #4997) — graphite chip contrast, memory file paths, mobile dashboard link hide 2026-06-27 03:49:53 +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
nesquena-hermes
59f14f05cd Merge PR #4888 into tier-1 batch 2026-06-27 03:39:10 +00:00
nesquena-hermes
600d196efd
Release YV (v0.51.692): bound boot /api/models 401 via shared boot budget (#5026, fixes #5021)
Release YV (v0.51.692): bound boot /api/models 401 via shared boot budget (#5026, fixes #5021)
2026-06-26 20:06:03 -07:00
nesquena-hermes
f95f8c39bb Release YV (v0.51.692): bound boot /api/models 401 via shared boot budget (#5026, fixes #5021)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 03:03:08 +00:00
Rod Boev
1bff768c74 fix(#5021): preserve extra-model label contract 2026-06-27 02:52:33 +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
nesquena-hermes
1e3e61d994
Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
2026-06-26 19:14:33 -07:00
nesquena-hermes
f8e0dcf057 Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 02:11:38 +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
nesquena-hermes
3d30ae75b9
Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
2026-06-26 18:28:37 -07:00
nesquena-hermes
60f0d949bd Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 01:25:46 +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
nesquena-hermes
0585b35739
Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
2026-06-26 15:23:09 -07:00
nesquena-hermes
8eee473a13 Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-26 22:20:10 +00:00
Rod Boev
13879cebe9 docs(workspace): clarify redirect401 401 contract (#5001) 2026-06-26 22:09:09 +00: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