Frank Song
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
nesquena-hermes
42b3ada3f2
Release YE (v0.51.675): bounded state.db tail reads for paginated session loads ( #4920 , fixes #4918 P1)
...
Release YE (v0.51.675): bounded state.db tail reads for paginated session loads (#4920 , fixes #4918 P1)
2026-06-26 03:57:13 -07:00
nesquena-hermes
fdfed7a0d5
Release YE (v0.51.675): bounded state.db tail reads for paginated session loads ( #4920 , fixes #4918 P1)
2026-06-26 10:54:13 +00:00
Frank Song
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 Song
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 Song
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
bb2920180e
Release YD (v0.51.674): process-global request-diagnostics watchdog ( #4973 )
...
Release YD (v0.51.674): process-global request-diagnostics watchdog (#4973 )
2026-06-26 01:07:25 -07:00
nesquena-hermes
b80d1f1a40
Release YD (v0.51.674): process-global request-diagnostics watchdog ( #4973 )
2026-06-26 08:04: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-hermes
6dd1c5e0fa
Release YC (v0.51.673): stale local approval card clears instead of dead-ending ( #4955 , #4948 local variant, #4771 follow-up)
...
Release YC (v0.51.673): stale local approval card clears instead of dead-ending (#4955 )
2026-06-26 00:13:03 -07:00
nesquena-hermes
4331999858
Release YC (v0.51.673): stale local approval card clears instead of dead-ending ( #4955 , #4948 local variant, #4771 follow-up)
2026-06-26 07:09:27 +00:00
Nathan Esquenazi
1ae73b3949
docs(changelog): add [Unreleased] entry for #4948 local stale-approval fix
...
AGENTS.md requires a CHANGELOG entry for user-visible behavior changes, and
this is one (a stale approval card went from a stuck "Approval response not
accepted." dead-end to clearing cleanly). The PR shipped the routes.js +
messages.js fix without a changelog note; this adds the [Unreleased] -> Fixed
entry crediting santastabber / b3nw, noting the #527 guard is preserved.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 23:57:11 -07:00
nesquena-hermes
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
nesquena-hermes
66d0278659
Release YB (v0.51.672): pre-aggregate cron sidebar ordering for missing-index scans ( #4962 )
...
Release YB (v0.51.672): pre-aggregate cron sidebar ordering for missing-index scans (#4962 )
2026-06-25 20:20:04 -07:00
nesquena-hermes
a58e1c8343
Release YB (v0.51.672): pre-aggregate cron sidebar latest-message ordering for missing-index scans ( #4962 )
2026-06-26 03:17:11 +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
nesquena-hermes
a59fb8290e
Release YA (v0.51.671): move CLI sidebar cache rebuild out of the lock ( #4952 , closes #4842 )
...
Release YA (v0.51.671): move CLI sidebar cache rebuild out of the lock (#4952 , closes #4842 )
2026-06-25 19:57:10 -07:00
nesquena-hermes
1c7b0b1abe
Release YA (v0.51.671): move CLI sidebar cache rebuild out of the lock (SWR+singleflight) ( #4952 , closes #4842 )
2026-06-26 02:54:15 +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
nesquena-hermes
443e1063b5
Release XZ (v0.51.670): chronological tool-call rows before final answer incl equal-ts ( #4893 )
...
Release XZ (v0.51.670): chronological tool-call rows before final answer incl equal-ts (#4893 )
2026-06-25 19:40:45 -07:00
nesquena-hermes
1c0a86f556
Release XZ (v0.51.670): chronological tool-call rows before final answer incl equal-ts ( #4893 )
2026-06-26 02:37:08 +00:00
nesquena-hermes
20727e142e
test( #4893 ): close Opus coverage gaps — multi-tool equal-ts tie + tool-result block no-split
2026-06-26 02:25:07 +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
nesquena-hermes
76eb548007
Release XY (v0.51.669): persist OpenAI priority service_tier ( #4543 , fixes #4536 )
...
Release XY (v0.51.669): persist OpenAI priority service_tier in main-model settings (#4543 , fixes #4536 )
2026-06-25 19:12:18 -07:00
nesquena-hermes
b22bb85a6a
Release XY (v0.51.669): persist OpenAI priority service_tier in main-model settings ( #4543 , fixes #4536 )
2026-06-26 02:09:20 +00:00
nesquena-hermes
b2510efcb9
i18n( #4543 ): add service_tier keys to the vi locale (added to master after this PR; strict locale parity)
2026-06-26 01:51:59 +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
cae551f4a6
fix( #4536 ): match service-tier UI gate to backend
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