Eric Allam
67d2025f33
feat(webapp): add 60s/60s SWR cache to getEntitlement ( #3388 )
...
Wraps getEntitlement in platform.v3.server.ts with the existing
platformCache (LRU memory + Redis) under a new `entitlement` namespace.
Eliminates a synchronous billing-service HTTP round trip on every
trigger.
Cache config: 60s fresh / 60s stale SWR. Cache key is the
organization id. Errors are caught inside the loader and return the
existing permissive { hasAccess: true } fallback, which is also
cached to prevent thundering-herd on billing outages.
Trade-off: plan upgrade/downgrade is now visible after up to ~120s
worst-case (60s fresh + 60s stale revalidation). Acceptable since
the existing limits and usage namespaces use 5min/10min, and the
defensive hasAccess: true fallback already exists.
2026-04-16 15:37:27 +01:00
..
2026-03-17 18:26:43 +00:00
2026-02-12 08:58:21 +00:00
2024-10-08 17:41:22 +01:00
2025-07-21 23:04:44 +01:00
2025-07-08 14:59:31 +01:00
2026-02-10 12:19:26 +02:00
2026-04-16 15:15:10 +01:00
2026-03-23 06:23:19 +00:00
2026-04-01 15:40:17 +01:00
2024-05-23 16:04:21 +01:00
2025-07-10 16:42:32 +01:00
2026-01-23 16:23:51 +00:00
2025-12-23 09:22:00 +00:00
2025-09-17 14:10:25 +02:00
2025-12-09 09:51:42 +00:00
2026-03-23 06:23:19 +00:00
2026-01-26 22:23:23 +00:00
2022-12-07 11:07:14 +00:00
2025-02-03 13:59:58 +00:00
2026-03-17 18:26:43 +00:00
2026-02-12 17:48:02 +00:00
2025-03-08 14:53:06 +00:00
2025-06-04 17:18:46 +01:00
2025-06-17 06:48:05 +01:00
2025-07-08 14:59:31 +01:00
2025-10-01 12:41:18 -07:00
2025-07-14 15:50:01 +01:00
2025-09-09 13:03:43 +02:00
2025-12-09 09:51:42 +00:00
2025-09-02 16:35:33 +02:00
2025-12-09 09:51:42 +00:00
2026-04-16 15:15:10 +01:00
2025-05-07 19:55:29 +01:00
2025-03-17 13:32:31 +00:00
2026-03-02 16:49:54 +00:00
2025-12-09 09:51:42 +00:00
2026-03-23 06:23:19 +00:00
2026-02-23 13:48:09 +00:00
2025-09-29 17:28:36 +02:00
2023-02-14 15:46:02 +00:00
2026-02-10 10:37:09 +01:00
2025-08-27 13:23:45 +02:00
2026-04-16 13:46:53 +01:00
2026-04-16 15:37:27 +01:00
2026-03-26 14:19:17 +01:00
2026-04-13 12:26:15 +02:00
2026-02-10 10:37:09 +01:00
2026-02-23 13:48:09 +00:00
2025-10-08 16:59:25 +02:00
2026-01-13 11:12:15 +00:00
2026-03-25 16:30:08 +00:00
2025-01-29 16:28:51 +00:00
2026-01-26 22:23:23 +00:00
2025-06-10 12:11:01 +01:00
2023-08-01 10:21:22 +01:00
2026-01-13 11:12:15 +00:00
2026-02-10 10:37:09 +01:00
2023-02-14 16:33:30 +00:00
2026-01-26 22:23:23 +00:00
2025-12-16 14:32:49 +00:00
2024-09-13 11:45:24 +01:00
2025-10-01 12:41:18 -07:00
2025-08-07 12:41:39 +01:00
2025-05-14 20:40:47 +01:00
2026-03-05 11:05:45 +00:00
2026-03-26 10:27:31 +01:00
2025-03-08 14:53:06 +00:00
2026-02-25 16:07:10 +00:00
2022-12-07 14:22:36 +00:00
2025-09-04 09:53:15 +01:00
2025-04-30 14:02:02 +01:00
2026-04-16 15:22:19 +01:00
2026-04-16 15:22:19 +01:00
2026-02-10 10:37:09 +01:00
2023-03-31 16:38:30 +01:00
2026-03-12 14:56:10 +00:00
2026-03-26 11:21:13 +01:00
2025-07-14 15:50:01 +01:00