4d03578192
fix( #6611 ): make regeneration start atomic ( #6677 )
...
* fix(#6611 ): make regeneration transaction canonical
* fix(#6611 ): close cross-provider regeneration blockers
* fix(#6611 ): harden regeneration transaction boundaries
* fix(#6611 ): bind canonical context and fork lineage
* fix(#6611 ): restore active turn token stamping
* test(#6611 ): make regeneration regressions CI portable
* test(#6611 ): preserve the tracked regeneration error fixture
* fix(#6611 ): preserve extracted session harness contracts
* fix(regeneration): preserve concurrent and imported turn ownership (#6611 )
* fix(regeneration): honor imported turn ownership safely (#6611 )
* test(regeneration): cover both session lock outcomes (#6611 )
* test(regeneration): clear unused transaction fixtures (#6611 )
* fix(#6611 ): consume public active-turn marker
* ci: re-trigger (Playwright install hung ~2.5h on GH runners, warm-cache retry)
---------
Co-authored-by: nesquena-hermes <nesquena+hermes@gmail.com >
Co-authored-by: n <a@n>
2026-08-19 11:11:53 +00:00
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 Boev and rodboev
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