v5.12.3

Wed Mar 11 2026

New Features

UI

  • upgrade short namer Closes #2300
  • styling and fix build
  • prefill from another job use url search and proper comb cascader input Closes #2289, #2311

Bug Fixes

UI

  • remove unnecessary prep data Closes #2307
  • replace unnecessary data prep and shortName cleanup Closes #2308
  • nicer error show Closes #2287
  • nicer error show Closes #2287
  • fetch using s3 approach endpoint
  • handle startsWith on empty variable
  • add saving_results and centralize status grouping Closes #2310
  • preprocess variable spec from api to remove singles Closes #2309
  • resolve broken e2e test
  • proper status on non drun job and ignore some deps check
  • fallback to nan on missing price profit and proper effect roi Closes #2315, #2314
  • remove world map Closes #2313
  • proper tooltip on uncert mode
  • add empty data logic Closes #2312
  • hoist useMemo out of JSX to prevent conditional hook call Closes #2318
  • proper tooltip with math parser on all components Closes #2264
  • better performance
  • add proximity connect toggle in settings Closes #2258
  • scroll to pan and ctrl for zoom Closes #2260
  • fft season period default and proper reset button Closes #2188, #2320
  • hide 'dates' from edge arguments Closes #2181
  • minimap Closes #2169
  • proper cleanup echartRef on unmount Closes #2321
  • stale while revalidate
  • search by node id, type, and key keys Closes #2168
  • collapsible left sidebar and auto collapse when narrow Closes #1868
  • upgrade sass for security
  • build fix
  • navigate to previous focused node Closes #2020
  • add multiple swtich on edge argument selection Closes #1876
  • proper metadata_filter input on conversion node Closes #1773
  • replace will not reset user-set id Closes #1701
  • propper behavior for rfk caching when switching projects
  • replace deprecated function and better get closest connection
  • Reset rfk cache on logout

Unknown commit type

UI

  • upgrade short namer Closes #2300 See merge request desupervised/platform/commercial-navigator/ui!2337
  • better query caching This branch introduces a comprehensive caching overhaul for the application, replacing the previous aggressive cache invalidation approach with a stale-while-revalidate strategy backed by IndexedDB persistence and cross-tab synchronization. All RTK Query base APIs now retain cached data indefinitely (keepUnusedDataFor: Infinity) and cache keys are scoped per team/project to prevent data leakage when switching contexts. A new crossTabSync service uses BroadcastChannel to share fulfilled query results across browser tabs — when one tab fetches data, all other tabs receive it instantly — and batches writes to IndexedDB every 2 seconds so cache survives page reloads and browser restarts (with a configurable 48-hour TTL, infinite for static data like currencies). All list/table pages (Models, Attributions, Predictions, Optimizations, Simulations, Response Curves, Datasets, Uploads, Attribution Sets) have been migrated from fixed 5-second polling to a new useAdaptivePolling hook that polls fast (5s) only when items are actively processing and slows to 60s when idle. This is combined with a useStaleWhileRevalidate hook that immediately renders previously-cached data while fresh data loads in the background, eliminating loading spinners on repeated visits. Together these changes significantly reduce API load, improve perceived page-load performance, and provide a smoother navigation experience. The changes include ~960 lines of new unit tests covering the cross-tab middleware, IndexedDB storage layer, rehydration logic, cache scoping, and both new hooks. A hasProcessingItems() status helper was added, and the VITE_CACHE_TTL environment variable allows operators to tune cache expiration per deployment.
  • better query caching See merge request desupervised/platform/commercial-navigator/ui!2327
  • remove unnecessary prep data Closes #2307 See merge request desupervised/platform/commercial-navigator/ui!2341
  • replace unnecessary data prep and shortName cleanup Closes #2308 See merge request desupervised/platform/commercial-navigator/ui!2342
  • nicer error show Closes #2287 See merge request desupervised/platform/commercial-navigator/ui!2343
  • nicer error show Closes #2287 See merge request desupervised/platform/commercial-navigator/ui!2344
  • fetch using s3 approach endpoint See merge request desupervised/platform/commercial-navigator/ui!2247
  • add saving_results and centralize status grouping Closes #2310 See merge request desupervised/platform/commercial-navigator/ui!2338
  • rework e2e (squach commit)
  • rework e2e (squach commit) See merge request desupervised/platform/commercial-navigator/ui!2322
  • preprocess variable spec from api to remove singles Closes #2309 See merge request desupervised/platform/commercial-navigator/ui!2347
  • resolve broken e2e test See merge request desupervised/platform/commercial-navigator/ui!2351
  • proper status on non drun job and ignore some deps check See merge request desupervised/platform/commercial-navigator/ui!2350
  • fallback to nan on missing price profit and proper effect roi Closes #2315 and #2314 See merge request desupervised/platform/commercial-navigator/ui!2354
  • handle startsWith on empty variable See merge request desupervised/platform/commercial-navigator/ui!2345
  • helpers for local setup and remove auth for browser-auth
  • helpers for local setup and remove auth for browser-auth See merge request desupervised/platform/commercial-navigator/ui!2357
  • add manifest checking on review app before deploy
  • remove world map Closes #2313 See merge request desupervised/platform/commercial-navigator/ui!2353
  • Styling
  • Merge branch 'wt/styling' into 'main' Styling See merge request desupervised/platform/commercial-navigator/ui!2355
  • styling and fix build See merge request desupervised/platform/commercial-navigator/ui!2363
  • proper tooltip on uncert mode See merge request desupervised/platform/commercial-navigator/ui!2361
  • prefill from another job use url search and proper comb cascader input Closes #2289 and #2311 See merge request desupervised/platform/commercial-navigator/ui!2352
  • add empty data logic Closes #2312 See merge request desupervised/platform/commercial-navigator/ui!2364
  • hoist useMemo out of JSX to prevent conditional hook call Closes #2318 See merge request desupervised/platform/commercial-navigator/ui!2366
  • proper tooltip with math parser on all components Closes #2264 See merge request desupervised/platform/commercial-navigator/ui!2365
  • better performance See merge request desupervised/platform/commercial-navigator/ui!2372
  • add proximity connect toggle in settings Closes #2258 See merge request desupervised/platform/commercial-navigator/ui!2374
  • scroll to pan and ctrl for zoom Closes #2260 See merge request desupervised/platform/commercial-navigator/ui!2373
  • fft season period default and proper reset button Closes #2188 and #2320 See merge request desupervised/platform/commercial-navigator/ui!2375
  • hide 'dates' from edge arguments Closes #2181 See merge request desupervised/platform/commercial-navigator/ui!2377
  • minimap Closes #2169 See merge request desupervised/platform/commercial-navigator/ui!2376
  • proper cleanup echartRef on unmount Closes #2321 See merge request desupervised/platform/commercial-navigator/ui!2381
  • stale while revalidate See merge request desupervised/platform/commercial-navigator/ui!2369
  • search by node id, type, and key keys Closes #2168 See merge request desupervised/platform/commercial-navigator/ui!2379
  • collapsible left sidebar and auto collapse when narrow Closes #1868 See merge request desupervised/platform/commercial-navigator/ui!2378
  • upgrade sass for security See merge request desupervised/platform/commercial-navigator/ui!2383
  • navigate to previous focused node Closes #2020 See merge request desupervised/platform/commercial-navigator/ui!2382
  • add multiple swtich on edge argument selection Closes #1876 See merge request desupervised/platform/commercial-navigator/ui!2384
  • proper metadata_filter input on conversion node Closes #1773 See merge request desupervised/platform/commercial-navigator/ui!2385
  • replace will not reset user-set id Closes #1701 See merge request desupervised/platform/commercial-navigator/ui!2386
  • propper behavior for rfk caching when switching projects See merge request desupervised/platform/commercial-navigator/ui!2368
  • replace deprecated function and better get closest connection See merge request desupervised/platform/commercial-navigator/ui!2388
  • add Agents file symlinked to claude file I used calude init to create a CLAUDE.md, renamed it to AGENTS.md then created a relative symlink back to CLUADE.md to have support for different LLM setups. I think this is the setup we should use in our repos
  • add Agents file symlinked to claude file See merge request desupervised/platform/commercial-navigator/ui!2389
  • Reset rfk cache on logout See merge request desupervised/platform/commercial-navigator/ui!2387