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 toAGENTS.mdthen created a relative symlink back toCLUADE.mdto 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