veza/apps/web/src/stores
senke 3a6f4ffb32 security: parse rate limit headers and create rate limit store
- Created rate limit store (apps/web/src/stores/rateLimit.ts) to store parsed headers
- Added header parsing in success response interceptor:
  - X-RateLimit-Limit: Maximum requests allowed
  - X-RateLimit-Remaining: Requests remaining
  - X-RateLimit-Reset: Unix timestamp when limit resets
- Added header parsing in error response interceptor:
  - Includes Retry-After header for 429 errors
  - All rate limit headers parsed from both lowercase and uppercase variants
- Store automatically updated on every API response
- Store includes isLimited flag calculated from remaining/retryAfter
- Uses Zustand with persistence for cross-tab state
- Actions 5.4.1.1 and 5.4.1.6 complete
2026-01-15 19:54:49 +01:00
..
docs state-ownership: audit all files using useAuthStore().user 2026-01-14 01:40:42 +01:00
auth.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
cartStore.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
cartStore.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
index.ts state-utilities: remove unused undoRedo and stateNormalization utilities 2026-01-15 19:35:37 +01:00
library.ts state-ownership: remove domain data from library store 2026-01-14 01:39:23 +01:00
rateLimit.ts security: parse rate limit headers and create rate limit store 2026-01-15 19:54:49 +01:00
types.ts state-utilities: remove unused undoRedo and stateNormalization utilities 2026-01-15 19:35:37 +01:00
ui.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
ui.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00