@tracelog/lib 2.7.2 → 2.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -821,10 +821,15 @@ TraceLog implements intelligent error handling with automatic retries for transi
821
821
  - **Independent retries** per integration (SaaS and Custom retry separately)
822
822
  - **Persistence after exhaustion**: Events saved to localStorage for next-page recovery
823
823
 
824
+ **Rate Limit** (429):
825
+ - **No in-session retries** (deferred to EventManager periodic backoff)
826
+ - **Events persisted immediately** to localStorage for next-cycle recovery
827
+ - TraceLog SaaS deduplicates retries server-side; custom backends should implement idempotency
828
+
824
829
  **Permanent Errors** (4xx except 408, 429):
825
830
  - **No retries** (immediate failure)
826
831
  - **Events discarded** (not persisted)
827
- - **Exceptions**: 408 Request Timeout and 429 Too Many Requests are treated as transient
832
+ - **Exception**: 408 Request Timeout is treated as transient
828
833
 
829
834
  ```typescript
830
835
  // Multi-backend example with automatic retries
@@ -851,7 +856,7 @@ await tracelog.init({
851
856
  | **2xx** | Success | None | Cleared |
852
857
  | **4xx** (except 408, 429) | Permanent | ❌ None | ❌ Discarded |
853
858
  | **408** Request Timeout | Transient | ✅ Up to 2 | ✅ After exhaustion |
854
- | **429** Too Many Requests | Transient | Up to 2 | ✅ After exhaustion |
859
+ | **429** Too Many Requests | Rate Limited | None | ✅ Immediate |
855
860
  | **5xx** | Transient | ✅ Up to 2 | ✅ After exhaustion |
856
861
  | **Network Error** | Transient | ✅ Up to 2 | ✅ After exhaustion |
857
862
  | **Timeout** | Transient | ✅ Up to 2 | ✅ After exhaustion |