Skip to content

Scope selection/report localStorage by file fingerprint#790

Merged
thinkingfish merged 1 commit intomainfrom
fix/scoped-selection-storage
Apr 13, 2026
Merged

Scope selection/report localStorage by file fingerprint#790
thinkingfish merged 1 commit intomainfrom
fix/scoped-selection-storage

Conversation

@thinkingfish
Copy link
Copy Markdown
Member

Summary

  • Selection and report stores were persisted with fixed localStorage keys (rezolus_selection, rezolus_report), causing stale data to appear when switching between parquet files
  • Add setStorageScope() to selection.js that re-keys localStorage by a content fingerprint (hash of filename + time range + metric count for site viewer, file checksum for binary viewer)
  • Called after every file load (demo, file upload, binary bootstrap, binary upload)
  • Each unique parquet file gets its own isolated selection/report state

Test plan

  • Load demo.parquet, select a chart, reload — selection persists
  • Switch to vllm.parquet — selection is clean (no stale charts)
  • Switch back to demo.parquet — previous selection is restored
  • Replace a demo file with different content but same name — old selection does not leak

🤖 Generated with Claude Code

Selection and report stores were persisted with fixed localStorage keys,
causing stale data to leak across different parquet files. Now each file
gets its own storage scope based on a hash of filename, time range, and
metric count (site viewer) or file checksum (binary viewer).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@thinkingfish thinkingfish merged commit 599942f into main Apr 13, 2026
22 checks passed
@thinkingfish thinkingfish deleted the fix/scoped-selection-storage branch April 13, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant