Skip to content

fix: stop other-symbol tabs from restoring deleted drawings - #307

Merged
jackhai9 merged 1 commit into
mainfrom
fix/chart-drawing-symbol-ownership
Oct 7, 2026
Merged

jackhai9 merged 1 commit into
mainfrom
fix/chart-drawing-symbol-ownership

Conversation

@jackhai9

@jackhai9 jackhai9 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Deleting all MUBARAKUSDT drawings could appear successful and still restore the same 20 drawings after reload. A different-symbol tab retained those drawings as hidden sources; Binance's native save wrote every retained symbol group back. This reproduces without the mirror optimizer.

Orderbook v2.7.219 restricts native save extraction to each chart's current MainSeries symbols before drawing-ID deduplication. Indicator panes inherit their chart's symbols, current-symbol deletion still writes an explicit empty array, and unrelated symbols' current database records remain untouched. The complete pinned 76535 factory changes only that extraction input. One bootstrap observer captures it and the existing 70940 mirror independently; stopping the optional mirror optimizer retains drawing protection.

Validation:

  • 2,167 Node/DOM tests and 143 chart-storage browser scenarios passed, including 48 startup/runtime and 11 deletion scenarios; full test lint, build, syntax and diff checks passed.
  • Real IndexedDB with exact native callbacks reproduces 20 → 0 → 20 for native and the prior optimizer, and 20 → 0 → 0 with this fix. Multi-chart ownership, shared owners, indicator-pane drawings, empty groups, latest unrelated-symbol records and pre-write invalid-state rejection are covered.
  • Independent read-only review verified the public source hash, full factory pin, sole replacement, fixture provenance and lifecycle behavior.
  • The complete artifact passed anonymous Chrome inspection: chart ready, zero page errors, five optimized commits, then four native commits after stop with drawing protection still active.
  • Local Tampermonkey v2.7.219 was synchronized and read back exactly (SHA-256 53a5c0f1dbcb2e8e2162810103108115f6a72e77900753ed3b40a40f36df03e1). All old trading tabs were closed; the remaining US tab was verified against the complete v2.7.219 loaded source in MAIN_WORLD. With explicit user authorization, the same 20 MUBARAK drawings were removed through the native button. Both chart databases became empty for that symbol; refresh and close/reopen each retained zero drawings with chart readiness and drawingScope active. The inspected result page was left open, and temporary test request blocks were removed.

All old trading tabs must load the new version because an old tab can still write hidden copies. This change does not arbitrate simultaneous editors of the same symbol, repair prior records, or solve source-only cross-database interruption. No trading action is required for acceptance. Detailed evidence and boundaries are in docs/binance-futures-blank-page-diagnosis.md and docs/binance-chart-storage-development.md.

@jackhai9
jackhai9 merged commit b000f61 into main Oct 7, 2026
2 checks passed
@jackhai9
jackhai9 deleted the fix/chart-drawing-symbol-ownership branch October 7, 2026 06:37
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