viettranx
|
90b7396d74
|
fix(bus,cron): panic recovery + deadlock fix + unit tests for 9 packages
Bug fixes:
- bus: add panic recovery in Broadcast() — panicking subscriber no longer
crashes entire event bus goroutine
- cron: fix deadlock in RunJob() — recordRun called while holding mutex,
extracted recordRunLocked for callers already holding lock
- cron: add run log recording to executeJobByID — automatic scheduler
was not populating run log, only manual RunJob did
New tests (~170 cases across 9 packages):
- crypto: roundtrip, key derivation (hex/b64/raw), nonce uniqueness,
backward compat, wrong key, corruption
- permissions: role hierarchy, RoleFromScopes, CanAccess, scope precedence
- bus: pub/sub delivery, buffer full, panic recovery, concurrent safety
- providers/retry: IsRetryableError, backoff, jitter, Retry-After, context
cancellation, hook callback
- sessions: idempotency, concurrent writes, defensive copy, save/load
roundtrip, metadata accumulation
- scheduler: draining, drop policies, adaptive throttle, stale completion,
lane concurrency, debounce, interrupt mode
- config: JSON5 parsing, env overrides, FlexibleStringSlice, owner IDs
- cron: schedule validation, computeNextRun, CRUD, job execution, failure
tracking, persistence roundtrip
- agent: history sanitization edge cases — all-tool history, partial results,
cross-turn dedup, orphaned tools, 1000-msg performance
|
2026-03-28 18:15:46 +07:00 |
|