Rod Boev
fcaab02e93
fix(autocomplete): support slash commands after non-ASCII prefix and multiple slashes ( #3924 )
2026-06-14 19:57:17 +00:00
Rod Boev
8c105bd31d
fix(sessions): guard external refresh poll to skip non-external sessions ( #3916 )
2026-06-14 15:05:10 -04:00
Rod Boev
84990f4a69
fix(sidebar): preserve GitHub issue numbers in session titles ( #4154 )
2026-06-14 14:59:54 -04:00
Rod Boev
43ec609772
Fix misleading error message in regenerate-title endpoint
2026-06-14 13:50:38 -04:00
Rod Boev
521d4434c9
fix(approval): extract _webui_mirror_token literal into named constant
2026-06-14 17:48:37 +00:00
Rod Boev
bd216432b3
fix(approval): stable mirror token via entry.data, guard stale explicit id fallthrough
2026-06-14 17:48:37 +00:00
Rod Boev
c789504a0f
Avoid CI-only approval mirror regressions
2026-06-14 17:48:37 +00:00
Rod Boev
6cef9d7055
fix(approval): keep mirrored pending state aligned with gateway lifecycle ( #4107 )
2026-06-14 17:48:37 +00:00
Rod Boev
2db3e046d8
fix(approval): log empty gateway queue entries for diagnostics
2026-06-14 17:48:37 +00:00
Rod Boev
5abe6e9128
fix(tests): align regression test with has_blocking_approval rename
2026-06-14 17:48:37 +00:00
Rod Boev
92e3aac1c5
fix(approval): restore pending fallback reliability ( #4107 )
2026-06-14 17:48:37 +00:00
Rod Boev
1114fb77ef
Update existing test to match materialize-based read-only guard
2026-06-14 13:27:11 -04:00
Rod Boev
e0dbbaec82
Materialize CLI/TUI sessions before regenerating title ( #4183 )
2026-06-14 13:21:32 -04:00
Rod Boev
769fd11f22
fix( #4146 ): read reasoning_content gateway chunks
2026-06-14 10:22:43 -04:00
Rod Boev
11f50350f0
fix(recovery): prevent duplicate offline soft recovery
2026-06-14 10:20:21 -04:00
Rod Boev
3377aae9f2
test(recovery): align offline banner assertions with probe flow
2026-06-14 10:04:22 -04:00
Rod Boev
85e26705da
fix(recovery): verify offline browser state before banner ( #4170 )
2026-06-14 09:55:43 -04:00
Rod Boev
bc5fceb88a
fix(streaming): provider-gate title-gen reasoning extra_body ( #4161 , #2083 )
...
Consolidates #4162 + #3944 . Aux path: skip the reasoning-disable inject for
routes that 400 on it via _route_rejects_reasoning_extra — hostname-matched
OpenAI / Azure OpenAI / Azure AI Foundry (+ provider aliases openai*/azure*/
azure-foundry/azure-ai*) and OpenRouter Anthropic mandatory-reasoning; keep it
for local/OpenRouter-non-anthropic/other reasoning routes (#4161 ). Agent path:
rely on the existing agent.reasoning_config={enabled:False} + _build_api_kwargs()
(route-correct per provider profile) rather than re-injecting a generic disable
on top of it; only MiniMax reasoning_split is added (unchanged from master).
Co-authored-by: Rod Boev <rod.boev@gmail.com >
2026-06-14 05:22:47 +00:00
Rod Boev
c98f3c3abf
feat(sidebar): nest forked sessions under their parent ( #3224 )
...
Re-pushed by rodboev fixing both bounce findings (parent streaming-state
isolation + nested-fork batch-select) plus a select-handler selector fix.
On current master (0 behind); sessions.js byte-identical to PR head.
Co-authored-by: Rod Boev <rod.boev@gmail.com >
2026-06-14 04:21:54 +00:00
Rod Boev
8677a11012
fix(sidebar): restore source_filter passthrough in cache builder ( #3791 )
2026-06-13 23:27:48 -04:00
Rod Boev
9f86bfee40
fix(sidebar): preserve expired cache entries for stale follower fallback
2026-06-13 22:36:25 -04:00
Rod Boev
43972652e7
fix(sidebar): collapse cache reads so stale-while-rebuilding path is reachable
2026-06-13 22:36:25 -04:00
Rod Boev
3fcb831a68
Restore stale follower reuse during cache rebuilds
2026-06-13 22:36:25 -04:00
Rod Boev
52a030503b
Exercise real cache diagnostics instead of source-text checks
2026-06-13 22:36:25 -04:00
Rod Boev
07641dc987
Keep session list singleflight stable for WebUI-only views
2026-06-13 22:36:25 -04:00
Rod Boev
f7dbf7df6a
Invalidate cached session lists when backing stores change
2026-06-13 22:36:25 -04:00
Rod Boev
c3750fe361
perf(sidebar): cache and single-flight /api/sessions payloads ( #3791 )
2026-06-13 22:36:25 -04:00
Rod Boev
42e85813a3
fix( #4146 ): preserve gateway reasoning previews on reload
2026-06-13 21:18:43 -04:00
Rod Boev
79cefa736c
fix( #4146 ): accept text-only gateway thinking previews
2026-06-13 19:29:02 -04:00
Rod Boev
b9a997ff58
fix(gateway): surface reasoning previews in WebUI ( #4146 )
2026-06-13 19:07:05 -04:00
Rod Boev
d7e8f70423
fix(commands): block transient bundle shadowing
2026-06-13 18:53:46 -04:00
Rod Boev
6a27b414c6
Preserve imported title rework without breaking route invariants
2026-06-13 17:34:22 -04:00
Rod Boev
e1ec41b32c
fix(session): reload latest imported session before title save ( #3987 )
2026-06-13 16:47:57 -04:00
Rod Boev
bb8d5e9587
fix(providers): claim probe workers under the pool lock ( #3787 )
2026-06-13 16:42:43 -04:00
Rod Boev
e5640a42b9
Keep prompt-attention title badges from breaking title ownership
2026-06-13 15:05:03 -04:00
Rod Boev
4329768288
feat(topbar): badge pending prompts in document title ( #4121 )
2026-06-13 15:04:20 -04:00
Rod Boev
95bb9ebe66
Keep stale max configs on the supported path
2026-06-13 14:33:26 -04:00
Rod Boev
c7c313672c
fix(reasoning): hide unsupported max effort ( #4119 )
2026-06-13 14:33:26 -04:00
Rod Boev
707a19e34c
Keep busy-slash regressions aligned with /yolo support
2026-06-13 14:15:35 -04:00
Rod Boev
6c7d551b41
fix(commands): keep slash command ownership ahead of bundles ( #4087 )
2026-06-13 14:06:35 -04:00
Rod Boev
840f12a74e
fix(commands): keep bundle profile scoping strict ( #4087 )
2026-06-13 14:06:35 -04:00
Rod Boev
5a3c6c6f05
fix(commands): surface skill bundles in WebUI slash commands ( #4087 )
2026-06-13 14:06:35 -04:00
Rod Boev
61ddf4d21e
fix(commands): run /yolo from busy slash intercept ( #4117 )
2026-06-13 13:59:04 -04:00
Rod Boev
59562e416a
fix( #4071 ): wire /credits through WebUI command dispatch
2026-06-13 07:50:16 -04:00
Rod Boev
db2d6eb97a
test(pytest): suppress shard nodeid floods in verbose CI
2026-06-12 16:53:03 -04:00
Rod Boev
ea05c6f3e8
test(mobile): harden worklog overflow regression parser ( #4064 )
2026-06-12 13:57:37 -04:00
Rod Boev
028be2fe22
fix(mobile): constrain Worklog summary overflow on narrow viewports ( #4064 )
2026-06-12 13:33:26 -04:00
Rod Boev
010127d0c0
docs(onboarding): place AIML setup with custom-provider guidance ( #4045 )
2026-06-12 12:41:43 -04:00
Rod Boev
b426067e6f
docs(onboarding): document AIML API custom-provider setup ( #4045 )
2026-06-12 12:35:59 -04:00
Rod Boev
6a1109475b
fix(sidebar): count inactive rows through the render path
2026-06-12 12:03:04 -04:00
Rod Boev
65c0864e34
fix(approval): clear stale approval cards while busy
2026-06-12 11:55:43 -04:00
Rod Boev
4d8fa0245e
fix( #3928 ): stabilize the static fallback contract
2026-06-12 11:55:43 -04:00
Rod Boev
0ed902bd05
fix(sidebar): drop the dead WebUI count path
2026-06-12 11:55:43 -04:00
Rod Boev
66a2d577df
Keep CLI sidebar regression aligned with bucketed partitioning
2026-06-12 10:05:33 -04:00
Rod Boev
dde9f06b03
test(sidebar): avoid shard churn from static regressions
2026-06-12 09:52:49 -04:00
Rod Boev
ddce08fd70
docs(skills): pin the local-first search-dir contract
2026-06-12 09:36:10 -04:00
Rod Boev
19448c3267
fix(sidebar): keep rendered source counts on one path
2026-06-12 09:36:10 -04:00
Rod Boev
1f42f3190f
fix(skills): categorize flat external skill dirs ( #4053 )
2026-06-12 09:21:47 -04:00
Rod Boev
c507684b10
fix(sidebar): align session source counts with rendered rows ( #3966 )
2026-06-12 09:14:23 -04:00
Rod Boev
5f8ab6c452
Avoid redundant skill_view calls during forced skill sends
2026-06-12 08:49:56 -04:00
Rod Boev
76f3083223
fix( #3928 ): keep fallback badge helper out of source-marker tests
2026-06-12 08:43:06 -04:00
Rod Boev
87183b9517
fix( #3928 ): return a real static catalog when /api/models times out
2026-06-12 08:35:22 -04:00
Rod Boev
80dab6f3eb
fix(commands): inject forced skill content for /use ( #4044 )
2026-06-12 08:34:27 -04:00
Rod Boev
1529dd0841
fix(commands): route /reload-skills through the WebUI allowlists ( #4043 )
2026-06-12 08:31:11 -04:00
Rod Boev
e73cf3d610
test(csp): pin ipc localhost across enforcing coverage ( #4040 )
2026-06-12 08:18:04 -04:00
Rod Boev
7795f29946
fix(composer): preserve send-button sync under scheduled resize ( #4042 )
2026-06-12 08:18:04 -04:00
Rod Boev
aab43cdaff
fix(approval): keep approval polling alive across busy dips ( #4041 )
2026-06-12 08:12:57 -04:00
Rod Boev
768ea5ee87
fix(composer): coalesce composer auto-resize reflows ( #4042 )
2026-06-12 07:54:48 -04:00
Rod Boev
bad4ec393a
fix(titlebar): sync document.title on panel switches ( #4039 )
2026-06-12 07:52:57 -04:00
Rod Boev
5bffddd9ca
fix( #3914 ): track bootstrap launcher as executable
2026-06-12 07:50:43 -04:00
Rod Boev
ddcaf6091c
fix( #4040 ): allow Tauri IPC host in connect-src
2026-06-12 07:50:43 -04:00
Rod Boev
891f392922
test( #3895 ): drop stale import after review cleanup
2026-06-11 21:17:50 -04:00
Rod Boev
819346304c
test( #3895 ): replace brittle wiring assertions
2026-06-11 21:13:11 -04:00
Rod Boev
6e50e94649
test( #3895 ): cover credential self-heal runtime resolution
2026-06-11 21:10:48 -04:00
Rod Boev
6e133a4f44
fix( #3895 ): carry target model through credential self-heal
2026-06-11 21:08:24 -04:00
Rod Boev
e62a31e463
fix( #3895 ): preserve configured base-url fallback through self-heal
2026-06-11 21:06:16 -04:00
Rod Boev
1753cc0c60
fix(commands): hide CLI-only slash collisions from autocomplete ( #3969 )
2026-06-11 20:58:51 -04:00
Rod Boev
a692314acf
fix( #3895 ): honor runtime target model and base_url in WebUI streaming
2026-06-11 20:56:22 -04:00
Rod Boev
220d255d5c
fix( #4005 ): preserve expanded lineage segments during streaming refresh
2026-06-11 20:55:35 -04:00
Rod Boev
9d1e3910ee
Scope shutdown i18n assertions to the relevant DOM
2026-06-11 20:45:54 -04:00
Rod Boev
f6ed8f7302
Make browser TTS watchdog checks brace-aware
2026-06-11 20:42:51 -04:00
Rod Boev
a8137ff21c
Guard watchdog recovery from duplicate voice-mode resume
2026-06-11 19:24:57 -04:00
Rod Boev
22f9e5c973
Keep link-label rendering compatible with the autolink source guard
2026-06-11 19:08:28 -04:00
Rod Boev
4ba4f77343
Keep the Edge-branch guard test aligned with branch scope
2026-06-11 19:04:26 -04:00
Rod Boev
12e13d4680
Initialize markdown link-label sanitizing before use
2026-06-11 19:04:26 -04:00
Rod Boev
09f19d1233
Prevent duplicate voice-mode rearm after watchdog recovery
2026-06-11 18:58:12 -04:00
Rod Boev
be75d41857
Keep the renderer fixture import lint-clean
2026-06-11 18:58:12 -04:00
Rod Boev
0ff3860186
fix( #4002 ): split shutdown i18n text from static code spans
2026-06-11 18:53:39 -04:00
Rod Boev
e3765a389c
fix( #4001 ): preserve inline code inside markdown link labels
2026-06-11 18:50:54 -04:00
Rod Boev
f4a6544121
fix( #3983 ): re-arm browser voice mode when speechSynthesis drops onend
2026-06-11 18:48:58 -04:00
Rod Boev
a82eb1622f
fix( #3958 ): keep reasoning effort status on the active session model
2026-06-11 18:46:17 -04:00
Rod Boev
d7133fe4a6
fix( #3930 ): push source filters into agent session scans
2026-06-11 16:59:18 -04:00
Rod Boev
7d925a324a
fix( #3968 ): autocomplete skill names for /use
2026-06-11 16:55:14 -04:00
Rod Boev
4dc4786aae
fix( #3979 ): treat malformed providers config as unconfigured
2026-06-11 16:55:14 -04:00
Rod Boev
749f97144b
fix( #4003 ): open clicked lineage segments without sid rewrite
2026-06-11 16:28:33 -04:00
Rod Boev
2278867c88
fix( #3987 ): generate titles for imported sessions
2026-06-11 14:09:14 -04:00
Rod Boev
60570f1fa6
Distinguish closed workers from idle ones in cleanup
2026-06-11 12:19:17 -04:00
Rod Boev
0652cf9b16
fix(providers): treat proc=None as idle, not dead, in cleanup
2026-06-11 12:19:17 -04:00
Rod Boev
b5f1965b3c
fix(providers): replenish pool after partial cleanup removes stale workers
2026-06-11 12:19:17 -04:00
Rod Boev
40abc0f701
fix(providers): hold probe-worker lock across selector handoff
2026-06-11 12:19:17 -04:00