Commit Graph
100 Commits
Author SHA1 Message Date
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