mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-04-14 20:58:33 +10:00
- Add closed channel to webSocketSession for push goroutine shutdown on connection close, preventing session leak and Service.Close() hang - Intercept upstream codex.rate_limits events instead of forwarding; push goroutine is now the sole sender of aggregated rate_limits - Emit status updates on reset-only changes (fiveHourResetChanged, weeklyResetChanged) so push goroutine picks up reset advances - Skip expired resets (hours <= 0) in aggregation instead of clamping to now, avoiding unstable reset_at output and spurious status ticks - Delete stale upstream reset headers when aggregated reset is zero - Hardcode "codex" identifier everywhere: handleWebSocketRateLimitsEvent, buildSyntheticRateLimitsEvent, rewriteResponseHeaders - Remove rewriteWebSocketRateLimits, rewriteWebSocketRateLimitWindow, identifier tracking (TypedValue), and unused imports