Commit Graph
1961 Commits
Author SHA1 Message Date
Rod Boev e22ad662b7 fix(#5022): keep corrupt auth state from bricking startup 2026-06-27 01:58:40 +00:00
Rod Boev 64db24c753 fix(#5022): keep malformed session loads fail-open 2026-06-27 01:58:40 +00:00
Rod Boev 3c4ef72a51 fix(#5022): surface auth persistence failures 2026-06-27 01:58:40 +00:00
jkobject 19d1f435b8 fix: keep psutil optional for system health 2026-06-26 20:49:13 +00:00
jkobject 0905adcf43 fix: narrow system health psutil fallback 2026-06-26 20:49:12 +00:00
jkobject 9f5aa98621 fix: support macOS system health metrics 2026-06-26 20:49:12 +00:00
Rod Boev 6cb55b5df8 Keep session cache invalidation signals live across the routes extraction 2026-06-26 18:36:07 +00:00
Rod Boev 47485b3a82 Preserve route-level cache overrides after helper extraction 2026-06-26 18:36:07 +00:00
Rod Boev 1bffabbfec refactor(routes): extract session-list cache helpers from api/routes.py (#1907) 2026-06-26 18:36:07 +00:00
Rod Boev 781223fa18 fix(agent): keep real checkouts ahead of pip-style lookalikes (#4700) 2026-06-26 17:15:03 +00:00
Rod Boev b4dadc9939 fix(#4700): recognize nested pip-style agent roots 2026-06-26 17:15:03 +00:00
Rod Boev b5d462812c fix(#4700): recognize pip-style agent roots for cron imports 2026-06-26 17:15:02 +00:00
nesquena-hermesandfranksong2702 f8c4d50950 harden(#4991): session_id max() tiebreaker + membership-completeness doc (Opus gate findings)
Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-26 16:40:27 +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
nesquena-hermes 903dabd29b fix(providers): strip Anthropic env values so whitespace-only OAuth tokens don't false-positive (#4995 gate finding) 2026-06-26 15:44:15 +00:00
Rod Boev 06902d8038 fix(providers): detect Anthropic OAuth credentials in WebUI parity paths (#4770) 2026-06-26 15:34:59 +00:00
Rod Boev f36a427872 fix(models): make session-index rebuild thread ownership explicit (#3894) 2026-06-26 15:13:41 +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
nesquena-hermes 2f7c5f01ee fix(#4973): replace per-request diagnostics Timer with a process-global watchdog thread
A threading.Timer per RequestDiagnostics spawns one OS thread per request, held
alive until finish() cancels it. Under sustained /api/sessions poll load this
exhausts the per-process thread cap (RuntimeError: can't start new thread) and
the server stops accepting connections. Replace with a single lazy-init
watchdog daemon thread that scans pending diags every ~1s; public API
unchanged. Caps timeout-tracking at 1 thread/process regardless of request rate.
2026-06-26 07:58:13 +00:00
nesquena-hermesandb3nw 74cee77738 fix(approval): stale local approval card clears instead of dead-ending (#4948 local variant, #4771 follow-up)
On the default local in-process backend, an approval card whose stream
ended while still pending (cancel/fork/provider-error/completion) left the
agent queue entry dropped and the _pending mirror reconciled away. Clicking
Approve/Deny then sent an approval_id that matched nothing, so the handler
returned a bare {ok:false}; since #4771 the frontend surfaces that as
'Approval response not accepted.' with a stuck card (reported by
@santastabber on v0.51.666 and b3nw).

Distinguish a genuinely stale card (no pending approval for the session ->
benign {ok:true, stale_cleared:true} so the UI clears the orphan) from a
stale-id click made while a DIFFERENT approval is live (still ok:false so it
can never resolve the wrong command -- #527 guard preserved). Frontend
clears the orphan card on stale_cleared even if the displayed id drifted.

Co-authored-by: b3nw <b3nw@users.noreply.github.com>
2026-06-26 06:46:22 +00:00
Rod Boev 3979ea6023 fix(sidebar): restrict cron pre-aggregation to missing-index scans 2026-06-26 03:06:40 +00:00
Rod Boev 810707d47a fix(sidebar): gate cron pre-aggregation to large scans 2026-06-26 03:06:40 +00:00
Rod Boev eb10cecf0b fix(sidebar): keep cron candidate ordering scoped 2026-06-26 03:06:40 +00:00
Rod Boev 709086a29b docs(sidebar): update the index-prime rationale 2026-06-26 03:06:40 +00:00
Rod Boev 814fe56150 perf(#4842): pre-aggregate latest-message ordering for cold CLI scans 2026-06-26 03:06:40 +00:00
Rod Boev 97b551c528 fix(cli): restore all-profiles session scans after the cache rework (#4842) 2026-06-26 02:43:11 +00:00
Rod Boev 0301c8f8d2 fix(cli): keep CLI cache followers from hanging or dropping rows (#4842) 2026-06-26 02:43:11 +00:00
Rod Boev 8f0ede0e8b Make cache invalidation atomic across rebuild stores 2026-06-26 02:43:11 +00:00
Rod Boev 5b29b97993 Keep the retry path valid under ruff 2026-06-26 02:43:11 +00:00
Rod Boev 9130edbc31 Keep CLI cache rebuilds singleflight across invalidation 2026-06-26 02:43:11 +00:00
Rod Boev 6a5a514e8c Keep the review branch publishable 2026-06-26 02:43:11 +00:00
Rod Boev c1bb1a42e9 fix(#4842): stop lock-held CLI cache rebuild stalls during streaming 2026-06-26 02:43:10 +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
Rod Boev 61ea7360a0 fix(#4536): reject openai-codex provider before empty-model early return 2026-06-26 01:46:57 +00:00
Rod Boev 2f2d36d4eb fix(#4536): gate service tier on effective send model, not saved default 2026-06-26 01:46:57 +00:00
Rod Boev 4d64c18832 fix(#4536): block Codex models from priority service tier 2026-06-26 01:46:57 +00:00
Rod Boev 6f9d23eb48 fix(#4536): gate service tier to real OpenAI model ids 2026-06-26 01:46:57 +00:00
Rod Boev a340c69b08 fix(#4536): clear stale service tier on model switch 2026-06-26 01:46:57 +00:00
Rod Boev 24cf7069a6 fix(#4536): persist OpenAI priority tier in main model settings 2026-06-26 01:46:57 +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