Rod Boev
|
720e4191ad
|
feat(#4812): add resumable session SSE stream
|
2026-07-06 05:16:18 -04:00 |
|
Rod Boev
|
e82cb801de
|
feat(#5665): add shared layout-assertion helpers for browser tests
|
2026-07-06 01:23:21 -04:00 |
|
Rod Boev
|
e19eefbe59
|
ci(#5658): add restore-keys for graceful cache fallback on version bumps
|
2026-07-05 22:59:37 -04:00 |
|
Rod Boev
|
f09e5d0b33
|
ci(#5658): install Playwright in pytest CI so browser tests run
|
2026-07-05 22:54:44 -04:00 |
|
Rod Boev
|
9f9ebc9746
|
fix(#5583): keep mobile nav actions visible
|
2026-07-05 18:40:41 -04:00 |
|
Rod Boev
|
00a6952191
|
test(#5619): carry config path through quota helper state
|
2026-07-05 17:24:41 -04:00 |
|
Rod Boev
|
b7234ee72a
|
test(#5619): pin named custom helper to active config path
|
2026-07-05 17:18:07 -04:00 |
|
Rod Boev
|
05e14b6339
|
test(#5619): pin same-path model helper fixtures
|
2026-07-05 17:13:07 -04:00 |
|
Rod Boev
|
29e9a27299
|
fix(#5619): preserve same-path cfg overrides on reload
|
2026-07-05 17:08:20 -04:00 |
|
Rod Boev
|
17ee8b5edc
|
test(#5619): pin codex helper to the active config path
|
2026-07-05 17:01:39 -04:00 |
|
Rod Boev
|
1124fd882a
|
fix(#5619): reload model payloads on profile switch
|
2026-07-05 16:44:33 -04:00 |
|
Rod Boev
|
c83ccf069a
|
fix(#5641): keep table boundary scoped to spaces
|
2026-07-05 16:39:54 -04:00 |
|
Rod Boev
|
2f815f040c
|
fix(#5619): clear stale cfg overrides on profile switch
|
2026-07-05 16:33:01 -04:00 |
|
Rod Boev
|
1075d6e3a1
|
fix(#5641): tolerate edge whitespace in markdown table parsing
|
2026-07-05 16:25:59 -04:00 |
|
Rod Boev
|
4c3a4e011e
|
fix(#5619): reload config cache on profile switch
|
2026-07-05 16:22:35 -04:00 |
|
Rod Boev
|
f650b1b725
|
fix(#5583): strip mobile nav mirror handlers
|
2026-07-04 23:31:37 -04:00 |
|
Rod Boev
|
2c66f7b65f
|
fix(#5583): keep mobile nav actions visible
|
2026-07-04 21:23:42 -04:00 |
|
Rod Boev
|
f34fd8ed42
|
test(layout): match resize minima constants exactly (#5545)
|
2026-07-04 20:01:25 -04:00 |
|
Rod Boev
|
33d9b9f2a7
|
test(layout): keep css contract failures focused on assertions (#5545)
|
2026-07-04 19:55:37 -04:00 |
|
Rod Boev
|
0fc78da5ff
|
fix(#5545): keep center pane readable in three-panel layout
|
2026-07-04 19:11:05 -04:00 |
|
Rod Boev
|
cc7896cfab
|
test(#5572): prove imported transcript survives clear
|
2026-07-04 18:39:51 -04:00 |
|
Rod Boev
|
b19f447dd7
|
test(#5572): remove unused messaging coverage import
|
2026-07-04 18:34:10 -04:00 |
|
Rod Boev
|
1b65794d1a
|
test(#5572): cover messaging clear watermark semantics
|
2026-07-04 18:07:48 -04:00 |
|
Rod Boev
|
11eed2af54
|
fix(session): harden cron branch source gate (#5477)
|
2026-07-04 16:41:15 -04:00 |
|
Rod Boev
|
cbc164de0c
|
feat(#5477): fork read-only cron sessions
|
2026-07-04 16:38:27 -04:00 |
|
Rod Boev
|
bac619e767
|
fix(i18n): add relative path labels (#5533)
|
2026-07-04 15:47:50 -04:00 |
|
Rod Boev
|
2e27ff64d6
|
fix(cron): harden preset controls after review
|
2026-07-04 15:37:10 -04:00 |
|
Rod Boev
|
71a6259c84
|
Align copied paths with chat references
|
2026-07-04 15:26:25 -04:00 |
|
Rod Boev
|
ea2dc31c09
|
fix(#5532): prevent clear from replaying state.db history
|
2026-07-04 15:08:26 -04:00 |
|
Rod Boev
|
9742fd8e60
|
feat(#5552): add time and day controls to cron presets
|
2026-07-04 14:32:27 -04:00 |
|
Rod Boev
|
670976a280
|
Prevent duplicate preview path copy requests
|
2026-07-04 13:55:28 -04:00 |
|
Rod Boev
|
6cf5706f78
|
test(#5523): align persisted anchor status invariant
|
2026-07-04 13:51:32 -04:00 |
|
Rod Boev
|
0ec29b14ec
|
test(#5269): keep approval docs reads in tests
|
2026-07-04 13:46:59 -04:00 |
|
Rod Boev
|
3d483d3701
|
test(#5523): harden transparent status regression slice
|
2026-07-04 13:46:59 -04:00 |
|
Rod Boev
|
7ebd898c5e
|
feat(#5533): make preview file paths copyable
|
2026-07-04 13:37:39 -04:00 |
|
Rod Boev
|
06764e0924
|
docs(#5269): document gateway approval runs API opt-in
|
2026-07-04 13:37:39 -04:00 |
|
Rod Boev
|
c85db4f3d7
|
fix(#5523): show running tools as running in Transparent Stream
|
2026-07-04 13:37:39 -04:00 |
|
Rod Boev
|
0c1bdce023
|
fix(#5493): honor reduced motion for transparent fade
|
2026-07-04 10:07:34 -04:00 |
|
Rod Boev
|
45a203b36b
|
fix(#5493): preserve anchor prose before body mount
|
2026-07-04 10:04:15 -04:00 |
|
Rod Boev
|
3918dd132e
|
Fade transparent prose without preference gate
|
2026-07-04 10:04:15 -04:00 |
|
Rod Boev
|
662f492b2f
|
Clean up transparent fade spans after animation
|
2026-07-04 10:04:15 -04:00 |
|
Rod Boev
|
86e55c7856
|
Feed transparent fade rows revealed text
|
2026-07-04 10:03:35 -04:00 |
|
Rod Boev
|
854949b07c
|
Keep streamed fade rows stationary
|
2026-07-04 10:03:35 -04:00 |
|
Rod Boev
|
26eda1adbd
|
Make appended token fade perceptible
|
2026-07-04 10:02:39 -04:00 |
|
Rod Boev
|
28d058ad2e
|
Start fade spans when appended
|
2026-07-04 10:02:39 -04:00 |
|
Rod Boev
|
af2f534f21
|
Append fade spans instead of replaying streamed prose
|
2026-07-04 10:02:39 -04:00 |
|
Rod Boev
|
fbebd0bd30
|
Preserve transparent fade DOM during live row refresh
|
2026-07-04 10:02:39 -04:00 |
|
Rod Boev
|
c15cb84867
|
fix(#5493): restore transparent stream prose fade
|
2026-07-04 10:02:39 -04:00 |
|
Rod Boev
|
dcaf5a69aa
|
test(docs): harden heartbeat rfc contract guard (#4812)
|
2026-07-04 01:49:24 -04:00 |
|
Rod Boev
|
55ca782c31
|
docs(#4812): keep session sse rfc citations current
|
2026-07-04 01:21:52 -04:00 |
|
Rod Boev
|
fc21c3f38e
|
fix(#5498): keep tombstoned backups out of repair audit
|
2026-07-04 00:53:03 -04:00 |
|
Rod Boev
|
c17ed6371e
|
fix(#5498): preserve messaging sessions outside WebUI tombstones
|
2026-07-04 00:42:07 -04:00 |
|
Rod Boev
|
308041c269
|
fix(#5498): remove unreachable tombstone recovery branch
|
2026-07-03 23:36:10 -04:00 |
|
Rod Boev
|
433f2a860e
|
fix(#5498): skip durable delete tombstones in recovery audit
|
2026-07-03 23:27:48 -04:00 |
|
Rod Boev
|
f566dc1d01
|
docs(#4812): add session sse contract rfc
|
2026-07-03 23:16:16 -04:00 |
|
Rod Boev
|
9e13ec9e03
|
fix(#5498): prevent deleted WebUI sessions from resurrecting from state.db
|
2026-07-03 23:05:44 -04:00 |
|
Rod Boev
|
087c694c8d
|
feat(#5497): reuse the rich model picker in Preferences
|
2026-07-03 22:32:50 -04:00 |
|
Rod Boev
|
f32938021c
|
fix(#5428): surface stale WebUI client recovery
|
2026-07-03 17:43:46 -04:00 |
|
Rod Boev
|
af3eb88225
|
Drop redundant live-row suppression after removing the animation source
|
2026-07-03 13:48:20 -04:00 |
|
Rod Boev
|
a9eb90a0d0
|
test(#5435): preserve raw speech settings between API cases
|
2026-07-03 09:22:50 -04:00 |
|
Rod Boev
|
8c82ed8f11
|
fix(#5435): read voice silence timeout at use time
|
2026-07-03 08:57:44 -04:00 |
|
Rod Boev
|
7a21825722
|
fix(#5435): keep speech settings payload sparse
|
2026-07-03 00:22:39 -04:00 |
|
Rod Boev
|
904d741ed2
|
fix(#5367): suppress transparent stream live row animation
|
2026-07-02 23:31:57 -04:00 |
|
Rod Boev
|
1127be609c
|
fix(#5413): smooth Mermaid lightbox resize behavior
|
2026-07-02 22:19:13 -04:00 |
|
Rod Boev
|
7bc33eb054
|
test(#5413): scope resize snapshot to dropdown handler
|
2026-07-02 22:10:05 -04:00 |
|
Rod Boev
|
32a127846e
|
test(#5413): prove fullscreen Mermaid resize cleanup
|
2026-07-02 21:47:57 -04:00 |
|
Rod Boev
|
fdacb4b922
|
fix(#5435): stop startup workspace repair from persisting speech defaults
|
2026-07-02 21:28:46 -04:00 |
|
Rod Boev
|
2034d6b51c
|
fix(#5413): fit fullscreen Mermaid diagrams to the lightbox
|
2026-07-02 21:28:40 -04:00 |
|
Rod Boev
|
8f7b9c1d0d
|
fix(#5435): drop dead persisted-key state from config load
|
2026-07-02 19:38:35 -04:00 |
|
Rod Boev
|
3b344b1d9a
|
fix(#5435): preserve local speech prefs until settings.json owns them
|
2026-07-02 19:33:13 -04:00 |
|
Rod Boev
|
ca31bf969b
|
fix(#5435): keep saved default speech prefs authoritative
|
2026-07-02 16:49:45 -04:00 |
|
Rod Boev
|
7ee2757afe
|
fix(#5435): preserve zero TTS pitch in settings
|
2026-07-02 16:09:15 -04:00 |
|
Rod Boev
|
4993eed120
|
refactor(#5430): reuse shared TTS transport scaffolding
|
2026-07-02 15:43:42 -04:00 |
|
Rod Boev
|
91ae1dede9
|
fix(#5435): persist TTS and voice preferences server-side
|
2026-07-02 15:43:24 -04:00 |
|
Rod Boev
|
482b2e4de6
|
fix(#5427): preserve custom preset selection
|
2026-07-02 15:40:58 -04:00 |
|
Rod Boev
|
cc7c3f9586
|
feat(#5427): add preset cron schedule builder
|
2026-07-02 15:31:59 -04:00 |
|
Rod Boev
|
74724b944d
|
test(#5430): keep no-proxy proof off the live network
|
2026-07-02 15:11:05 -04:00 |
|
Rod Boev
|
fc37919952
|
fix(#5430): harden ElevenLabs TTS transport guards
|
2026-07-02 15:10:01 -04:00 |
|
Rod Boev
|
581bd3044b
|
test(cron): isolate legacy mocks from PROJECTS_FILE reads (#5379)
|
2026-07-02 04:36:45 +00:00 |
|
Rod Boev
|
fd4d57b6da
|
test(cron): align the legacy fixture with PROJECTS_FILE (#5379)
|
2026-07-02 04:36:45 +00:00 |
|
Rod Boev
|
8e398cd1b3
|
fix(cron): stop auto-creating the Cron Jobs project without project opt-in (#5379)
|
2026-07-02 04:36:45 +00:00 |
|
Rod Boev
|
feaf9a423e
|
fix(#4737): retry even when the synth fallback is empty
|
2026-07-01 16:30:34 -04:00 |
|
Rod Boev
|
c5378cb96a
|
fix(#4737): skip stale live-model fetch before catalog retry
|
2026-07-01 16:23:36 -04:00 |
|
Rod Boev
|
f3c01812b7
|
fix(#4251): drop dead post-repair ownership writes
|
2026-07-01 16:20:31 -04:00 |
|
Rod Boev
|
481a6680c1
|
fix(#4737): restore source-shape contracts for model refresh retry
|
2026-07-01 16:19:53 -04:00 |
|
Rod Boev
|
a609b99e76
|
fix(#4251): guard provider ownership under the session lock
|
2026-07-01 16:19:53 -04:00 |
|
Rod Boev
|
d0e99e9d84
|
fix(#4737): preserve boot redirect handling on catalog retry
|
2026-07-01 16:03:08 -04:00 |
|
Rod Boev
|
d73bea19cd
|
fix(#4737): retry model catalog fetch once after cold-cache fallback
|
2026-07-01 15:56:04 -04:00 |
|
Rod Boev
|
5c7ff9c70e
|
fix(#4251): preserve raced picker ownership through profile repair
|
2026-07-01 15:42:57 -04:00 |
|
Rod Boev
|
160a397c48
|
fix(#4251): stop in-flight turns from reverting picker model choice
|
2026-07-01 15:35:08 -04:00 |
|
Rod Boev
|
c561cf546b
|
fix(#5340): use local time for pasted-text filenames
|
2026-07-01 15:22:59 -04:00 |
|
Rod Boev
|
2ea5fe06fa
|
fix(#3825): harden oidc endpoint and claim validation
|
2026-06-30 20:59:19 -04:00 |
|
Rod Boev
|
027ad18834
|
test(#5231): harden JS source extraction coverage
|
2026-06-30 16:06:39 -04:00 |
|
Rod Boev
|
e8631b808f
|
fix(#5231): unblock Run dispatcher on the default Kanban board
|
2026-06-30 15:49:09 -04:00 |
|
Rod Boev
|
66fc8722c1
|
fix(#4676): expose quick-create button purpose to screen readers
|
2026-06-30 19:28:28 +00:00 |
|
Rod Boev
|
80dbbc1e93
|
fix(#4676): swallow duplicate quick-create inflight rejections
|
2026-06-30 19:28:27 +00:00 |
|
Rod Boev
|
0ea9e72a9a
|
docs(#4676): clarify quick-create rollback ownership
|
2026-06-30 19:28:27 +00:00 |
|
Rod Boev
|
a109f86946
|
Keep project quick-create filter changes in sync with session creation outcomes
|
2026-06-30 19:28:27 +00:00 |
|
Rod Boev
|
08c4004271
|
Preserve touch quick-create clicks while blocking chip long-press leakage
|
2026-06-30 19:28:27 +00:00 |
|
Rod Boev
|
a9871bbd9f
|
Harden project quick-create against eval-arg drift and touch long-press leakage
|
2026-06-30 19:28:27 +00:00 |
|