1. 20 Apr, 2026 28 commits
  2. 18 Apr, 2026 4 commits
  3. 17 Apr, 2026 6 commits
  4. 16 Apr, 2026 2 commits
    • Elysia's avatar
      fix: create fresh context per watermark write retry attempt · 697c41a3
      Elysia authored
      
      
      Each retry in the SetOutboxWatermark loop now gets its own 5s context.
      Previously a shared context could already be expired when the second or
      third attempt ran, making the retries pointless.
      Co-Authored-By: default avatarClaude Sonnet 4.6 (1M context) <noreply@anthropic.com>
      697c41a3
    • Elysia's avatar
      fix: fix outbox watermark context expiry and add in-batch group rebuild dedup · e44baa10
      Elysia authored
      
      
      Fixes #1691
      
      - pollOutbox() reused a 10s context for SetOutboxWatermark after event
        processing could take much longer, causing "outbox watermark write
        failed: context deadline exceeded". The watermark never advanced so
        the same 200 events were reprocessed every poll cycle, spiking CPU.
        Now uses an independent 5s context with up to 3 retries (200ms apart).
      
      - When multiple Codex accounts sharing the same 21-22 groups are all
        rate-limited in quick succession, each account_changed event triggered
        redundant bucket rebuild attempts for the same groups. Introduce
        batchSeenKey{groupID, platform} and thread a seen map through the
        handler chain; rebuildBucketsForPlatform skips (group, platform) pairs
        already rebuilt within the same poll batch (~80% fewer rebuild calls in
        the 5-accounts-same-groups scenario).
      Co-Authored-By: default avatarClaude Sonnet 4.6 (1M context) <noreply@anthropic.com>
      e44baa10