Commit Graph
100 Commits
Author SHA1 Message Date
Frank SongandPaperclip a83ffae4ac Live Stream: skip stale compression recovery fallback
Treat a cleared session-level compression_recovery payload as authoritative so old message metadata cannot intercept a later generic continuation after a successful new turn.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-05 04:25:22 +08:00
Frank SongandPaperclip 82a5e92524 Merge latest master into compression recovery action
Resolved the session SSE RFC anchor conflict by keeping the latest symbol-based wording from master.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-05 04:04:23 +08:00
Frank SongandPaperclip c8b79bcaa7 Merge latest master into compression recovery action
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-05 03:29:59 +08:00
Frank SongandPaperclip 61b87cd3e2 Merge master into compression recovery action
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-05 03:23:32 +08:00
Frank SongandPaperclip f25571342e Keep recovery metadata after branch parent field
Restore the compact() source-order expectation used by the branch metadata contract test while keeping focused compression recovery markers in the compact payload.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 22:36:19 +08:00
Frank SongandPaperclip 1e9d42c053 Live Stream: harden compression recovery action
Make focused compression-recovery continuation creation idempotent by marking child sessions and reusing the existing child on repeated start requests. Also surface malformed successful recovery responses in the UI instead of silently re-enabling the action.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 22:30:57 +08:00
Frank Song dfc0686dbd Live Stream: add compression recovery action 2026-07-04 21:42:32 +08:00
Frank SongandPaperclip 4643d3520e Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 08:07:51 +08:00
Frank SongandPaperclip af7da472d2 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 07:27:27 +08:00
Frank SongandPaperclip fdeb37bbe2 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 07:02:01 +08:00
Frank SongandPaperclip 52f5d15214 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 06:42:56 +08:00
Frank SongandPaperclip f874f4027c Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 06:22:02 +08:00
Frank SongandPaperclip 36fcd10db7 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 06:01:53 +08:00
Frank SongandPaperclip 4da83ada63 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 05:42:12 +08:00
Frank SongandPaperclip bb95539918 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 05:02:19 +08:00
Frank SongandPaperclip 7f069100cc Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 04:23:09 +08:00
Frank SongandPaperclip ab4844f54a Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 04:02:12 +08:00
Frank SongandPaperclip 54cbc35155 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 03:41:54 +08:00
Frank SongandPaperclip 5db7e7c304 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 03:21:43 +08:00
Frank SongandPaperclip b913dde912 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 02:22:08 +08:00
Frank SongandPaperclip 2ffb8ab470 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 01:42:44 +08:00
Frank SongandPaperclip 63a327f470 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 01:22:13 +08:00
Frank SongandPaperclip 8a556df032 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 01:02:18 +08:00
Frank SongandPaperclip 71a87b5340 Merge origin/master into PR #5271
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-01 00:43:07 +08:00
Frank Song 70b019f710 feat: let extension skins declare base scheme 2026-06-30 18:17:40 +08:00
Frank SongandPaperclip 97992e72ad Merge origin/master into PR 5253
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 14:32:18 +08:00
Frank SongandPaperclip 7e038aaad3 Merge branch 'master' into franksong2702/fix-transparent-live-snapshot
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 13:54:15 +08:00
Frank SongandPaperclip 3d865e4c1f Merge origin/master into PR #5256
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 13:52:36 +08:00
Frank SongandPaperclip e01d9ff46e Merge origin/master into PR #5256
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 13:15:47 +08:00
Frank SongandPaperclip 0369e1e9de Merge branch 'master' of https://github.com/nesquena/hermes-webui into franksong2702/fix-transparent-live-snapshot
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 13:12:39 +08:00
Frank SongandPaperclip 3188fe1445 Merge origin/master into PR 5253
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 13:10:55 +08:00
Frank SongandPaperclip 6ac5b9dbee Fix transparent live anchor scene replay
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 12:27:02 +08:00
Frank SongandPaperclip 2c8f30de35 Merge origin/master into PR 5253
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 12:26:58 +08:00
Frank SongandPaperclip 44d881eede Merge origin/master into PR #5256
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 12:26:28 +08:00
Frank SongandPaperclip 670105b121 test(sidebar): relax menu delete hook assertion
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 11:31:41 +08:00
Frank Song bb6487a70a fix(sidebar): remove menu-deleted sessions optimistically 2026-06-30 10:56:48 +08:00
Frank SongandPaperclip 71a458784a fix(chat): guard live worklog manual scroll intent
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-30 10:52:11 +08:00
Frank Song 448e28f442 fix(chat): preserve manual live worklog scroll snapshots 2026-06-30 10:28:36 +08:00
Frank Song eff01bf322 Gate settled anchor fallbacks by raw index 2026-06-30 08:00:54 +08:00
Frank SongandPaperclip afbb3e5010 Fix session stream resume after live stream end
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-29 19:52:02 +00:00
Frank SongandPaperclip 47d8ac94d3 Harden connection flapping aftercare
Keep sidebar retries boot-scoped, preserve immediate source-change cache rebuilds, and tighten session stream ownership before closing duplicate SSE sockets.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-29 19:52:02 +00:00
Frank Song cbb644da69 Reduce connection lost flapping under large session state 2026-06-29 19:52:02 +00:00
Frank Song 7f98952db0 test: harden anchor fallback harness 2026-06-29 19:37:37 +00:00
Frank Song 7cdcadcbc4 test: lock anchor fallback render ownership 2026-06-29 19:37:37 +00:00
Frank SongandPaperclip fbb1e9567c test: align new chat guard static coverage
Update the older #1432 static regression to assert the extracted reusable-empty helper owns the message-count and in-flight checks, while both New Chat entry points call the helper. This keeps the test aligned with the shared guard introduced in PR #5206.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-29 18:38:25 +00:00
Frank Song 28c2c37c1c Fix new chat empty-session reuse guard 2026-06-29 18:38:25 +00:00
Frank SongandPaperclip 058372c15f Preserve empty anchor tool args in parity helper
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-29 05:35:03 +00:00
Frank SongandPaperclip e670320337 Tighten anchor runtime journal parity test
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-29 05:35:03 +00:00
Frank Song e1bf1122a7 Test anchor runtime journal parity 2026-06-29 05:35:03 +00:00
Frank SongandPaperclip 73ff1cd53b Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 17:13:55 +08:00
Frank SongandPaperclip 2ef838be8c test(anchor): widen JS regex extraction guard
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 17:05:16 +08:00
Frank SongandPaperclip 767285f21f Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 17:02:52 +08:00
Frank SongandPaperclip f786a70887 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 16:41:42 +08:00
Frank SongandPaperclip 5b96da8c1d test(anchor): locate JS body after params
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 16:11:21 +08:00
Frank SongandPaperclip a86d2d2060 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 16:01:58 +08:00
Frank SongandPaperclip 51a0bee188 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 15:40:48 +08:00
Frank SongandPaperclip 770d877467 test(anchor): harden JS helper extraction
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 15:32:45 +08:00
Frank SongandPaperclip 90fd37dbd3 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 15:21:55 +08:00
Frank SongandPaperclip 9c0eecfbe9 test(anchor): include node stderr in behavior guard failures
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 15:03:19 +08:00
Frank SongandPaperclip 0f41d01d0f Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 15:02:02 +08:00
Frank SongandPaperclip 02a8582711 test(anchor): skip node behavior check when node missing
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 14:32:22 +08:00
Frank SongandPaperclip 63d69a0c5e Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 14:22:50 +08:00
Frank SongandPaperclip ce4466bbf2 test(anchor): handle template interpolation in fallback guards
Teach the lightweight JavaScript extractor used by the anchor ownership tests to skip template literals with nested interpolation, so braces inside ${...} expressions cannot truncate the inspected function body.

Add a synthetic regression for nested template literals before the ownership-order assertions exercise static/ui.js.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 13:31:27 +08:00
Frank SongandPaperclip c5727846e0 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 13:30:15 +08:00
Frank SongandPaperclip 3c27c697c1 Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 13:21:35 +08:00
Frank SongandPaperclip ddb8ddd811 Merge current master into extension gallery source permissions
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 13:05:12 +08:00
Frank SongandPaperclip d44c5a2f7b Merge origin/master into anchor fallback audit
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 13:02:12 +08:00
Frank Song 06465bbd91 Improve extension gallery source and permissions display 2026-06-28 12:44:57 +08:00
Frank SongandPaperclip 2587eedb54 test(anchor): harden fallback ownership guards
Defer fixture file reads to test-time helpers so missing assets fail with clear assertion messages instead of import-time collection errors.

Use one Python-side function extractor for both source-structure checks and the Node behavior check, and skip JavaScript strings/comments while matching delimiters so braces inside literals do not truncate the inspected function body.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-28 12:14:18 +08:00
Frank Song 571db9d81e Document anchor fallback ownership 2026-06-28 12:09:12 +08:00
Frank SongandPaperclip 33e95277ca Honor preserved extension diagnostics refresh failures
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-27 05:13:10 +00:00
Frank SongandPaperclip 71dd4a6ab8 Polish extension sidecar diagnostics refresh
Keep the Diagnostics tab content visible while status refreshes on repeat visits, and reject malformed or far-future sidecar runtime timestamps before rendering relative age text.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-27 05:12:50 +00:00
Frank Song d2eedd85f8 Show extension sidecar runtime status 2026-06-27 05:12:50 +00:00
Frank SongandPaperclip d68760b288 Prove continuation index completeness before trusting it
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 16:27:40 +00:00
Frank SongandPaperclip eda4c50cf5 Handle stale compression continuation index fallback
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 16:27:40 +00:00
Frank Song 0f87757a47 Use session index for compression continuations 2026-06-26 16:27:40 +00:00
Frank SongandPaperclip ecf2eda433 Update pending user reattach regression
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 11:12:50 +00:00
Frank SongandPaperclip 2d21eff780 Fix pending user dedupe current-turn scope
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 11:12:50 +00:00
Frank Song 540d36d0b0 Fix inflight tail merge harness dependency 2026-06-26 11:12:50 +00:00
Frank Song 24b6e87aea Scope active user turn dedupe to current turn 2026-06-26 11:12:50 +00:00
Frank Song 035a2609f1 Harden active user turn dedupe tests 2026-06-26 11:12:50 +00:00
Frank Song 709f133d76 Fix active user turn replay dedupe 2026-06-26 11:12:50 +00:00
Frank SongandPaperclip f15f178b5e Guard state db prefix keys with tool calls
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 10:43:28 +00:00
Frank SongandPaperclip 7a38b09af1 Fix lint for state db prefix key guard
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 10:43:28 +00:00
Frank SongandPaperclip fd81b6cb08 Guard state db tail reads by prefix keys
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-26 10:43:28 +00:00
Frank Song dc9d6275cb Address state db tail-window coordinate guards 2026-06-26 10:43:27 +00:00
Frank Song 91f7e7f816 Address state db tail window review 2026-06-26 10:43:27 +00:00
Frank Song 8bd31891e3 Bound state.db reads for paginated session loads 2026-06-26 10:43:27 +00:00
Frank Song 5b0e409d3b Handle equal-timestamp tool-call tail ordering 2026-06-26 02:18:18 +00:00
Frank Song 7e8834d8ca Fix tool-call tail ordering in session merge 2026-06-26 02:18:18 +00:00
Frank Song fda5a241b2 Fix sidebar reconciliation review issues 2026-06-26 00:36:15 +00:00
Frank Song 0e2214b6bd Fix WebUI state.db session reconciliation 2026-06-26 00:34:58 +00:00
Frank Song 6079b7ba24 Address compaction marker and redaction review 2026-06-26 00:12:09 +00:00
Frank Song 9f0864ea82 Fix compaction marker writeback and code redaction 2026-06-26 00:12:09 +00:00
Frank Song 8b1f8fe5ca Add final stream writeback diagnostics 2026-06-25 16:42:53 +00:00
Frank Song 7d69b80012 Avoid repeated session loads in live usage metering 2026-06-25 16:12:18 +00:00
Frank Song 3fd88903b0 Remove contributor changelog entry 2026-06-25 22:55:27 +08:00
Frank Song 3bae596ae8 Reduce session index global lock window 2026-06-25 22:02:34 +08:00
Frank Song 5f17ba55ed Fix gallery-installed extension activation 2026-06-25 07:10:17 +00:00
Frank Song 2aaad7a282 Fix final answer reasoning echo 2026-06-24 15:29:25 +08:00