kshitijk4poor
e583d68c14
perf(models): stop revalidating a fresh provider cache just because it lists Astra
...
``gated_cache`` bypassed both the fresh-hit and the stale-while-revalidate branches of
``cached_provider_model_ids`` whenever the disk entry contained Astra. For an entitled
account that is every entry: live discovery rewrites the entry with Astra → next call is gated
again → a blocking /models round-trip on every picker open, for exactly the providers the user
is most likely on. The parallel prefetch's staleness check didn't know about the gate either, so
it skipped the slug and the blocking call landed in the serial picker loop the prefetch exists to
avoid.
Gate on provenance, not contents: only live discovery ever writes Astra into a same-credential
entry (the static/offline paths filter it out), so a fresh entry IS the entitlement record. The
one filter that matters stays — a stale entry served because the refresh failed drops Astra, and
the entry itself is left intact so the next successful fetch restores it.
The regression test now pins both halves: fresh entry served with Astra and zero live calls;
failed refresh past the fresh window serves the entry minus Astra.
2026-09-07 21:43:54 +05:30
..
2026-09-07 04:46:04 -07:00
2026-09-03 15:50:55 -07:00
2026-09-07 21:43:54 +05:30
2026-09-06 07:19:21 -07:00
2026-09-07 08:27:07 -07:00
2026-09-03 13:22:51 -07:00
2026-09-07 08:27:50 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 17:28:02 -07:00
2026-09-06 09:03:59 -07:00
2026-09-03 23:55:56 -07:00
2026-08-31 01:04:11 -07:00
2026-09-07 07:12:06 -07:00
2026-09-07 21:43:54 +05:30
2026-09-07 04:54:49 -07:00
2026-09-07 08:12:23 -07:00
2026-09-04 00:53:42 -07:00
2026-09-03 13:38:36 -07:00
2026-09-03 13:29:35 -07:00
2026-09-01 14:11:55 +05:30
2026-08-28 11:54:33 +05:30
2026-09-07 05:57:26 -07:00
2026-09-07 06:06:46 -07:00
2026-09-03 13:38:36 -07:00
2026-09-07 08:14:14 -07:00
2026-09-06 13:27:48 -07:00
2026-09-02 10:33:43 -07:00
2026-09-05 14:01:34 -07:00
2026-09-03 16:35:01 -07:00
2026-09-07 08:25:33 -07:00
2026-09-07 08:08:41 -07:00
2026-09-06 20:50:02 +05:30
2026-09-04 07:17:00 -07:00
2026-09-01 09:28:01 -07:00
2026-09-03 13:28:22 -07:00
2026-08-31 09:56:43 -07:00
2026-08-31 12:36:33 -07:00
2026-09-02 18:41:26 -07:00
2026-09-02 19:20:44 -07:00
2026-09-03 14:21:52 -07:00
2026-09-02 13:29:46 -07:00
2026-09-06 22:45:31 +05:30
2026-09-03 13:29:55 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:28:22 -07:00
2026-09-02 19:53:29 -07:00
2026-09-07 06:09:56 -07:00
2026-09-01 08:36:03 -07:00
2026-09-02 00:44:19 -07:00
2026-08-31 10:05:13 -07:00
2026-09-06 07:19:21 -07:00
2026-08-28 05:45:00 -07:00
2026-09-05 02:31:06 -07:00
2026-08-28 12:20:40 -07:00
2026-09-02 06:19:03 -07:00
2026-09-03 13:12:50 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 05:03:04 +05:30
2026-08-31 09:56:43 -07:00
2026-09-02 15:03:42 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 02:06:56 +05:30
2026-09-02 15:03:42 -07:00
2026-09-03 16:35:01 -07:00
2026-08-31 09:56:04 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:16:47 -07:00
2026-08-31 10:00:38 -07:00
2026-09-02 17:26:25 -04:00
2026-09-01 09:28:01 -07:00
2026-09-01 09:28:01 -07:00
2026-09-01 09:28:01 -07:00
2026-08-31 10:00:55 -07:00
2026-08-31 10:53:18 -07:00
2026-08-31 10:53:18 -07:00
2026-09-01 11:25:10 -07:00
2026-08-28 12:36:15 -07:00
2026-09-03 13:48:14 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 15:07:39 -07:00
2026-09-02 17:07:24 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:48:49 -07:00
2026-09-05 12:21:21 +05:30
2026-09-03 13:28:22 -07:00
2026-08-31 10:03:34 -07:00
2026-09-03 17:45:53 -07:00
2026-09-04 04:56:11 -07:00
2026-09-04 01:28:31 -07:00
2026-09-04 20:24:24 -04:00
2026-09-04 20:24:24 -04:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:21:52 -07:00
2026-08-31 05:56:18 -07:00
2026-09-03 13:46:50 -07:00
2026-08-31 09:56:04 -07:00
2026-09-03 14:21:52 -07:00
2026-09-07 06:04:23 -07:00
2026-09-03 13:46:50 -07:00
2026-09-02 07:26:52 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:10:52 -07:00
2026-09-03 16:35:01 -07:00
2026-09-03 13:46:50 -07:00
2026-08-31 09:58:40 -07:00
2026-09-05 12:21:21 +05:30
2026-09-05 17:00:18 -07:00
2026-09-07 08:27:07 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-07 08:23:08 -07:00
2026-09-03 13:12:50 -07:00
2026-09-03 13:12:50 -07:00
2026-09-03 13:12:50 -07:00
2026-08-31 09:56:43 -07:00