gsxdsm
6cff782308
FN-7710: refresh model caches so Grok/Cursor CLI models appear without reopening Settings
Adds a shared single-flight cache refresh so newly enabled Grok/Cursor CLI providers show their models in pickers immediately, instead of requiring a Settings reopen.
- useModelsCache now exposes a shared refreshModelsCache() that clears the SWR MODELS cache key and notifies subscribers
- AuthenticationSection calls refreshModelsCache() after toggling cursor-cli/grok-cli/claude-cli/llama-cpp providers
- Server-side cursor/grok model-cache lookups use a short negative-TTL so transient cold-start empty results self-heal instead of sticking
- Adds regression tests covering the cache refresh flow, hook behavior, and cursor/grok cache TTL self-healing
- Adds changeset (patch) documenting the fix
Files changed:
.../fn-7710-cli-provider-model-cache-refresh.md | 7 +
...thenticationSection.modelsCacheRefresh.test.tsx | 137 ++++++++++++++++++
.../settings/sections/AuthenticationSection.tsx | 32 +++--
.../app/hooks/__tests__/useModelsCache.test.ts | 159 ++++++++++++++++++++-
packages/dashboard/app/hooks/useModelsCache.ts | 72 +++++++++-
.../src/__tests__/cursor-model-cache.test.ts | 34 +++++
.../src/__tests__/grok-model-cache.test.ts | 33 +++++
packages/dashboard/src/cursor-model-cache.ts | 23 ++-
packages/dashboard/src/grok-model-cache.ts | 23 ++-
9 files changed, 500 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-7710
Fusion-Task-Lineage: ebac46ba-5b3e-41f2-acc4-26f9139c0f71
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-09 19:58:03 -07:00
..
2026-07-08 00:23:32 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-09 19:58:03 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-06-11 20:21:30 -07:00
2026-07-04 13:09:29 -07:00
2026-07-05 11:31:47 -07:00
2026-07-04 21:28:19 -07:00
2026-06-26 02:30:34 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 21:28:19 -07:00
2026-07-08 09:19:42 -07:00
2026-07-04 13:09:29 -07:00
2026-07-07 07:34:16 -07:00
2026-07-04 21:28:19 -07:00
2026-06-26 01:04:03 -07:00
2026-06-26 01:04:03 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-06-20 08:57:45 -07:00
2026-06-26 02:30:34 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-07-04 13:09:29 -07:00
2026-06-20 08:57:45 -07:00
2026-07-04 13:09:29 -07:00
2026-07-08 00:23:32 -07:00
2026-07-05 18:56:24 -07:00
2026-07-04 13:09:29 -07:00