Skip to content

stage-batch37: v0.51.155 / Release EA — 3-PR very low-risk cleanup#3089

Merged
nesquena-hermes merged 7 commits into
masterfrom
release/stage-batch37
May 28, 2026
Merged

stage-batch37: v0.51.155 / Release EA — 3-PR very low-risk cleanup#3089
nesquena-hermes merged 7 commits into
masterfrom
release/stage-batch37

Conversation

@nesquena-hermes
Copy link
Copy Markdown
Collaborator

stage-batch37 — v0.51.155 — Release EA

3-PR very low-risk cleanup. All contributor PRs, all CI-green on origin, all surgical bug fixes.

Included

  • fix: suppress timeout toasts for passive pollers #3039 (dso2ng) fix: suppress timeout toasts for passive pollers — adds timeoutToast:false opt-in to the api() helper; applied to sidebar/projects polling, agent/system health pollers, cron-status watches, dashboard status, active-session external-refresh poll. Explicit user actions still surface timeout errors.
  • fix(session): preserve sidecar order in display merges #3085 (ai-ag2026) fix(session): preserve sidecar order in display merges — when the messaging sidecar already has at least as many rows as the mirrored state store, route through merge_session_messages_append_only instead of role/content fallback sorting. Fixes the case where subsecond timestamps collapse and assistant rows get grouped before user rows.
  • fix(session): preserve subsecond message timestamp order #3086 (ai-ag2026) fix(session): preserve subsecond message timestamp order — gateway-backed turns now write assistant_ts = now + 0.000001 instead of int(now); compacted/reconciled batches use new helper _stamp_missing_message_timestamps that walks in order assigning base + (i * 0.000001).

The three fixes are tightly correlated: #3085 prevents the wrong fallback path; #3086 prevents the upstream collapse that triggers it. Both #3085 and #3086 are from the same author (ai-ag2026) and address the timestamp-collapse failure mode from different angles.

Verification

  • ast.parse: api/streaming.py, api/routes.py, api/gateway_chat.py — OK
  • node -c: static/sessions.js, static/ui.js, static/panels.js, static/workspace.js — OK
  • Conflict markers: none
  • Full pytest suite: running (target: zero failures sequential, no:xdist)

New PRs landed this session (Tier B / Tier hold)

Held back from this batch — will route to a separate Tier B batch with Opus advisor:

Drafts that need contributor "ready" signal:

dso2ng and others added 7 commits May 28, 2026 11:13
# Conflicts:
#	CHANGELOG.md
# Conflicts:
#	CHANGELOG.md
# Conflicts:
#	CHANGELOG.md
3-PR very low-risk cleanup:
- #3039 api(): timeoutToast:false opt-in for passive pollers
- #3085 _merged_session_messages_for_display: preserve sidecar order when longer
- #3086 subsecond timestamps for gateway turns + compaction batches
@nesquena-hermes nesquena-hermes merged commit 20f8c7c into master May 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants