lix-2026 eccf399142 fix: limit resource preview watches to active tab
Root cause: every local resource preview tab kept its own /api/local-folder/events EventSource alive. Hidden PDF and Office tabs consumed browser same-origin connection slots, so later preview iframes/file reads stalled and rendered as blank pages.

Changes:
- keep passive resource file watching active-tab only
- close inactive resource-tab EventSources on tab activation and release
- update the bug record with the PDF fifth-open and XLSX fourth-open repro and verification

Verification:
- node --check rust/crates/mnote-web/browser/document-resource-tab-runtime.js
- cargo test -p mnote-web --manifest-path rust/Cargo.toml pdf_preview_page_does_not_render_visible_toolbar
- cargo test -p mnote-web --manifest-path rust/Cargo.toml document_shell_returns_page_aggregate_snapshot
- cargo build -p mnote-web --manifest-path rust/Cargo.toml
- browser smoke: opened 5 XLSX previews; #4 and #5 completed with tableCount=1
- browser smoke: opened 5 DHA PDFs; #5 rendered 8/8 canvases, iframeCount=0, browser errors=0
2026-06-04 21:00:42 +08:00
2026-06-01 09:29:12 +08:00
2026-06-01 09:29:12 +08:00
2026-04-14 13:22:29 +08:00
S
Description
mnote monorepo mirror
277 MiB
Languages
Rust 58.2%
JavaScript 35%
HTML 3.6%
CSS 1.7%
TypeScript 0.9%
Other 0.5%