Commit Graph
100 Commits
Author SHA1 Message Date
f60805de01 fix(#6867): refresh artifacts after settled-session recovery (#7067)
* fix(#6867): preserve artifact ownership across compression rotation

* docs(changelog): note the #6867 artifacts-panel ownership-guard fix

---------

Co-authored-by: nesquena-hermes <nesquena+hermes@gmail.com>
Co-authored-by: n <a@n>
2026-08-17 00:53:49 +00:00
f1115355a6 fix(#6906): keep kanban actions reachable in short windows (#7065)
* fix(#6906): tighten Kanban modal viewport regression

* fix(#6906): preserve modal centering fallbacks

* docs(changelog): note the #6906 Kanban modal height-cap fix

---------

Co-authored-by: nesquena-hermes <nesquena+hermes@gmail.com>
Co-authored-by: n <a@n>
2026-08-16 23:45:51 +00:00
Rod Boevandrodboev 2260a393f0 fix(#6612): isolate update_channel writes from generic Preferences autosave (#6666)
Removes update_channel from the generic preferences autosave payload and gives the channel selector a dedicated sequenced write path with FIFO settings-POST serialization and revert-on-failure, so a stale tab cannot silently flip the release channel.

Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-08-08 20:36:47 +00:00
Rod Boev 0f15416cb9 test(#5932): stabilize narrow modal scroll proof 2026-08-08 15:54:47 -04:00
Rod Boev 94aaac1e32 fix(#5932): contain narrow board modal 2026-08-08 15:45:09 -04:00
Rod Boev ea3163e234 fix(#5932): harden board workspace modal proof 2026-08-08 15:44:56 -04:00
Rod Boev eb9298ba91 fix(#5932): omit unchanged board workdir on settings edits 2026-08-08 15:44:55 -04:00
Rod Boev 2b0614ce35 feat(#5932): add per-board default workdir 2026-08-08 15:44:55 -04:00
Rod Boev c91fb55064 fix(#4085): restore legacy dirty contract for non-status-1 exits 2026-08-04 10:58:24 -04:00
Rod Boev 1c64e52f6e test(workspace): cover escape-link partition metadata (#6066) 2026-08-01 19:36:02 -04:00
Rod Boev d01cd8e51a fix(workspace): disable created sort after session teardown (#6066) 2026-08-01 19:25:32 -04:00
Rod Boev 7b384d4b70 fix(workspace): close workspace sort rework edge cases (#6066) 2026-08-01 19:11:19 -04:00
Rod Boev 88c4b9a6b8 fix(workspace): transport server partition rank for workspace sorts (#6066)
The frontend re-derived partition rank from the serialized type, so FIFO,
socket, and device entries moved into the regular-file partition on non-default
sorts. Emit workspace_sort_rank from list_dir, consume it in the rank helper,
and keep it out of dir_signature.
2026-08-01 18:46:37 -04:00
Rod Boev f6903c4f34 test(#4085): preserve version badge dirtiness 2026-08-01 11:55:30 -04:00
Rod Boev 678a1ee926 fix(#4085): align dirty display probes 2026-08-01 11:16:57 -04:00
Rod Boev 5f8fd9d85a test(#4085): preserve checker dirty-state compatibility 2026-08-01 08:08:24 -04:00
Rod Boev a261e46e7e test(#4085): prove stable force no-op preservation 2026-08-01 07:48:19 -04:00
Rod Boev 95a5bc37e8 fix(#4085): classify dirty probe failures safely 2026-08-01 07:23:35 -04:00
Rod Boev 83c4013774 fix(#4085): harden dirty stable recovery 2026-08-01 06:41:01 -04:00
Rod Boev d0cceea54a fix(#4085): recover dirty stable checkout 2026-08-01 06:13:09 -04:00
Rod Boev 737ba90440 fix(auth): align OIDC startup checks with runtime normalization (#6603) 2026-08-01 05:53:07 -04:00
Rod Boev 28428d3753 fix(auth): name both config forms in the allowlist warning (#6603) 2026-07-31 20:27:32 -04:00
Rod Boev 042804fd5a fix(auth): surface ambiguous OIDC allowlist scalars at startup (#6603) 2026-07-31 20:16:57 -04:00
Rod Boev a4ea848f38 fix(auth): detect all Unicode whitespace in ambiguous allowlist scalars (#6603) 2026-07-31 19:51:57 -04:00
Rod Boev ab11795aa4 fix(auth): warn on ambiguous legacy OIDC allowlist scalars (#6603) 2026-07-31 19:14:44 -04:00
Rod Boev 1e591aef13 fix(#6467): show final assistant report with tool-limit status card 2026-07-29 20:54:45 +00:00
Rod Boev 4a7b851c8c fix(#6481): materialize pending turns without borrowed display indexes 2026-07-29 18:36:24 +00:00
Rod Boev 9b0506d31d fix(#6481): keep display ownership out of context indexes 2026-07-29 18:36:24 +00:00
Rod Boev 525edef5f7 Fix silent-result ownership for repeated prompts 2026-07-29 18:36:24 +00:00
Rod Boev 66438f07bc Settle verification turns from exact turn ownership 2026-07-29 18:36:24 +00:00
Rod Boev 920b48d709 fix(#6481): preserve repeated pending turns through verification cleanup 2026-07-29 18:36:24 +00:00
Rod Boev 5e447683f8 fix(#6481): keep verification cleanup from duplicating the current turn 2026-07-29 18:36:24 +00:00
Rod Boev ad3770fd6e fix(#6481): restore marker-only verification cleanup 2026-07-29 18:36:24 +00:00
Rod Boev 663aec682e fix(#6481): prevent verification follow-up context contamination 2026-07-29 18:36:24 +00:00
Rod Boev 8119d91dc3 fix(#6008): serialize identity-less approval relays 2026-07-22 15:06:33 -04:00
Rod Boev 6d9e4ac4c5 fix(#6008): keep stop failure toasts actionable across locales 2026-07-22 12:33:57 -04:00
Rod Boev dc4078426a fix(#6008): retire failed gateway startup lifecycle 2026-07-22 12:33:57 -04:00
Rod Boev 5a954c79d3 fix(#6008): keep gateway cancel authority stable across startup teardown 2026-07-22 12:33:26 -04:00
Rod Boev 2c6ce96596 fix(#6008): wait for gateway stop acknowledgement 2026-07-22 12:33:26 -04:00
Rod Boev 4a71e407b1 fix(gateway): keep retained no-run approvals visible 2026-07-22 12:31:12 -04:00
Rod Boev 0a3a630856 fix(gateway): keep approval and stop acknowledgements honest 2026-07-22 12:31:12 -04:00
Rod Boev ecdd0af573 test(gateway): cover capability-gated approval IDs 2026-07-22 12:31:12 -04:00
Rod Boev 918b9ddb63 test(gateway): align approval lifecycle regressions 2026-07-22 12:31:12 -04:00
Rod Boev fb88095530 fix(gateway): require agent-issued approval identities 2026-07-22 12:31:12 -04:00
Rod Boev a91bd88c70 fix(gateway): preserve approval identity provenance 2026-07-22 12:31:12 -04:00
Rod Boev f30178e18a fix(gateway): fall back safely without approval identities 2026-07-22 12:31:12 -04:00
Rod Boev b481dfea13 fix(#6008): keep retained approvals visible in session attention 2026-07-22 12:31:12 -04:00
Rod Boev 5826d76da0 fix(#6008): publish the authoritative approval head 2026-07-22 12:31:12 -04:00
Rod Boev 6460c48ce6 fix(#6008): keep gateway approvals attached to the right run 2026-07-22 12:31:12 -04:00
Rod Boev b907630f8f fix(#6008): keep gateway approvals attached to the right run 2026-07-22 12:31:11 -04:00
Rod Boev 489728d71f fix(gateway): scope approval mirror cleanup to live heads (#6008) 2026-07-22 12:19:33 -04:00
Rod Boev 39fc169834 fix(#6008): route gateway approvals by run ID 2026-07-22 12:19:33 -04:00
Rod Boev 5771a511e7 fix(#6099): make transparent stream activity timestamps optional (#6130)
Add an opt-in setting to hide Transparent Stream's per-event timestamp chips while keeping the response footer time visible, for users who found the per-event chips noisy. Thanks @rodboev. Closes #6099.
2026-07-18 20:56:44 -07:00
Rod Boev 704e19adfe fix(#6240): fall back when test skills symlink is unavailable (#6276)
Fall back to a copytree (with read-only handling) when the test-server fixture can't create the skills symlink on native Windows without SeCreateSymbolicLinkPrivilege (WinError 1314). Test-infra only. Thanks @rodboev. Closes #6240.
2026-07-18 19:56:06 -07:00
Rod Boev 573ac33182 fix(workspace): align sort menu state with effective ordering (#6066) 2026-07-17 22:21:28 -04:00
Rod Boev 73305706c6 fix(#6108): bound SessionDB retries to transient sqlite contention 2026-07-17 05:42:00 -04:00
Rod Boev 2e1867c6e5 fix(#6108): keep session_search alive through transient state.db lock races 2026-07-17 03:55:22 -04:00
Rod Boev f43f5bcdc7 test(workspace): keep the sort regression ruff-clean (#6066) 2026-07-15 08:07:19 -04:00
Rod Boev 1e17f912ec feat(workspace): emit birthtime_ns from list_dir for created sort (#6066) 2026-07-15 07:47:26 -04:00
Rod Boev 1df8ef42cf feat(workspace): sort selector in file-tree kebab menu (#6066) 2026-07-15 07:47:26 -04:00
Rod Boev ab48096de1 feat(#6033): show delegated goal titles for child sessions 2026-07-14 04:01:06 -04:00
Rod Boev acc63090dd test(#2147): honor english fallback-owned profile concept copy 2026-07-14 03:33:00 +00:00
Rod Boev d2843d94e7 fix(#2147): restore i18n fallback for profile concept copy 2026-07-14 03:33:00 +00:00
Rod Boev 2f95ae7dbb fix(#2147): use stable label keys instead of splitting translated prose 2026-07-14 03:33:00 +00:00
Rod Boev 453b9696e3 fix(#2147): add profile_concept keys to all locale blocks and update existing test 2026-07-14 03:33:00 +00:00
Rod Boev e9b17b1a52 feat(#2147): localize profile concept help and add usage examples 2026-07-14 03:33:00 +00:00
Rod Boev 9bd96fb75d fix(#2422): support packaged Hermes Agent discovery 2026-07-14 01:06:49 +00:00
Rod Boev 53348df68d fix(#2422): allow Nix package version generation 2026-07-14 01:06:49 +00:00
Rod Boev b7f523c3a1 fix(#2422): tighten Nix module polish 2026-07-14 01:06:49 +00:00
Rod Boev 243f27e7ed fix(#2422): keep NixOS state private 2026-07-14 01:06:49 +00:00
Rod Boev 72b51a6b78 fix(#2422): avoid hardcoded agent site packages 2026-07-14 01:06:49 +00:00
Rod Boev 70514549c4 fix(#2422): harden NixOS packaged runtime 2026-07-14 01:06:49 +00:00
Rod Boev 1f505aad88 fix(#2422): pin the flake input for reproducible builds 2026-07-14 01:06:49 +00:00
Rod Boev 654a691155 fix(#2422): keep the Nix launch path declarative 2026-07-14 01:06:48 +00:00
Rod Boev 5bd940a49b fix(#2422): honor the service-mode host default 2026-07-14 01:06:48 +00:00
Rod Boev d77d956380 fix(#2422): validate env files before user drop 2026-07-14 01:06:48 +00:00
Rod Boev 09003b5e92 feat(#2422): add Nix flake package and NixOS module 2026-07-14 01:06:48 +00:00
Rod Boev 37b51803e6 Keep composer focus shortcut easy to reach 2026-07-14 01:06:46 +00:00
Rod Boev ca5f02bbff feat(#5759): add composer focus shortcut 2026-07-14 01:06:46 +00:00
Rod Boev 001d7985bc feat(#6006): instrument send-to-first-token latency 2026-07-13 17:56:44 -04:00
Rod Boev 3ada146d48 fix(#5989): keep colon-suffixed proxy models distinct 2026-07-13 18:57:15 +00:00
Rod Boev ff89f2ebd6 fix(#5989): keep cross-provider live rows selectable 2026-07-13 18:57:15 +00:00
Rod Boev 58725d5de9 fix(#5989): separate picker dedup from restore matching 2026-07-13 18:57:15 +00:00
Rod Boev 052effcfc4 fix(#5989): deduplicate proxy and catalog model rows in the picker 2026-07-13 18:57:15 +00:00
Rod Boev 064ad82ee6 fix(#5940): key pending-turn recovery to exact checkpoints 2026-07-13 03:41:39 +00:00
Rod Boev 0c8f647e9c fix(#5940): drop unused gateway error adapter 2026-07-13 03:41:39 +00:00
Rod Boev a87977da33 fix(#5940): settle gateway terminal errors before emitting apperror 2026-07-13 03:41:39 +00:00
Rod Boev e6dea2a32e fix(#5940): attach session identity to gateway apperrors 2026-07-13 03:41:39 +00:00
Rod Boev 60ec437393 fix(#5940): preserve gateway terminal errors after stream failures 2026-07-13 03:41:39 +00:00
Rod Boev bc692cc8ac fix(#5940): classify gateway terminal provider errors instead of generic empty turns 2026-07-13 03:41:39 +00:00
Rod Boev 2e39bb8418 fix(#5884): focus composer after URL prefill 2026-07-10 11:04:44 -04:00
Rod Boev 4cbc70c778 fix(#4812): satisfy replay boundary lint gate 2026-07-10 10:51:34 -04:00
Rod Boev 956c276362 fix(#4812): close session SSE replay recovery gaps 2026-07-10 10:46:47 -04:00
Rod Boev da885659bd fix(streaming): satisfy session SSE lint gate 2026-07-10 07:37:16 -04:00
Rod Boev b2a9ca28ad fix(streaming): harden session SSE replay (#4812) 2026-07-10 07:31:00 -04:00
Rod Boev e592498664 fix(chat): keep live reasoning on one renderer path (#5720) 2026-07-09 03:12:37 +00:00
Rod Boev 837a552746 fix(chat): contain streaming code block layout (#5760) 2026-07-09 03:08:19 +00:00
Rod Boev 745e0be0df fix(#5699): keep child streams from moving parent sidebar buckets 2026-07-09 02:35:52 +00:00
Rod Boev f4172f73b0 fix(mcp): preserve config overrides for profile reads (#5619) 2026-07-08 16:18:52 +00:00
Rod Boev 3c8d9f851e fix(mcp): scope list config reads to active profile (#5619) 2026-07-08 16:18:52 +00:00