Commit graph

5483 commits

Author SHA1 Message Date
Rod Boev
f65543f88e fix(#5045): add memory-section hover path titles 2026-06-27 06:05:28 -04:00
nesquena-hermes
8b2d3db2e6
Merge pull request #5044 from nesquena/release/stage-5041-approval
Release: relay mirrored gateway approvals after stream loss (#5041, fixes #5000)
2026-06-26 23:19:25 -07:00
nesquena-hermes
e47c336981 Release: relay mirrored gateway approvals after stream loss (#5041, fixes #5000) 2026-06-27 06:14:26 +00:00
Rod Boev
e621d7360a test(#5000): keep gateway approval regressions CI-portable 2026-06-27 06:03:24 +00:00
Rod Boev
8f0cc7912b fix(#5000): settle mirrored gateway approval cleanup 2026-06-27 06:03:24 +00:00
Rod Boev
5f1e308341 fix(#5000): relay mirrored gateway approvals after stream loss 2026-06-27 06:03:24 +00:00
nesquena-hermes
2d9422adf2
Merge pull request #5043 from nesquena/release/stage-4964-postinstall
Release: extension post-install next steps in gallery (#4964, fixes #4959)
2026-06-26 22:58:33 -07:00
nesquena-hermes
470769454f Release: extension post-install next steps in gallery (#4964, fixes #4959) 2026-06-27 05:53:40 +00:00
nesquena-hermes
11260c8df5 feat(extensions): show post-install next steps in the gallery (#4964)
Renders generic registry post_install guidance + lifecycle requirements in the
Settings extensions gallery card (manifest-driven, no vendor special-casing).
Fixes #4959. Rebased onto current master (squash-applied #4964's net diff so it
coexists with the #4979 sidecar-runtime-status feature that landed in v0.51.697).

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-27 05:44:10 +00:00
nesquena-hermes
1b3b49b33d
Merge pull request #5042 from nesquena/release/stage-4979-extruntime
Release: extension sidecar runtime status in diagnostics panel (#4979)
2026-06-26 22:37:35 -07:00
nesquena-hermes
0825612a59 Release: extension sidecar runtime status in diagnostics panel (#4979) 2026-06-27 05:33:40 +00:00
nesquena-hermes
64e877b432 fix(extensions): don't preserve loading/error placeholder as existing diagnostics
Codex gate finding on #4979: loadExtensionsPanel({preserveExisting:true}) on the
diagnostics tab treated the 'Loading extension diagnostics…' placeholder as real
content, so a failed refresh returned early (preserveExisting && innerHTML.trim())
and left the panel stuck on 'Loading…' instead of rendering the error. Exclude the
.extensions-loading/.extensions-error placeholders from the preserve check + add a
regression assertion.

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-27 05:21:45 +00:00
Frank Song
33e95277ca Honor preserved extension diagnostics refresh failures
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-27 05:13:10 +00:00
Frank Song
71dd4a6ab8 Polish extension sidecar diagnostics refresh
Keep the Diagnostics tab content visible while status refreshes on repeat visits, and reject malformed or far-future sidecar runtime timestamps before rendering relative age text.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-27 05:12:50 +00:00
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