fix(quick-save): Firefox-importScripts-Guard (Event-Page), Sync-Guard auf reale Overlay/Drag-Klassen, Worker-Serialisierung + interne-URL-Filter + kurzer Fehler-Badge
This commit is contained in:
+6
-6
@@ -241,12 +241,12 @@ function bindStorageSync() {
|
||||
if (area !== 'local' || !changes.boards) return;
|
||||
const next = changes.boards.newValue;
|
||||
if (!Array.isArray(next)) return;
|
||||
// Guard (W-c): nicht mitten in einer offenen Interaktion das boards-Array ersetzen und
|
||||
// neu rendern. Ein offener Dialog (Delete/Edit) haelt evtl. eine board-Referenz per Closure;
|
||||
// ein laufender Board-Drag (Phase 5) wuerde durch renderBoards() (replaceChildren) abgerissen.
|
||||
// In dem Fall den Sync verwerfen — der naechste eigene Save/Render zieht den Stand nach.
|
||||
if (document.querySelector('.dialog-overlay.active') ||
|
||||
document.body.classList.contains('board-dragging')) return;
|
||||
// Guard (W-c, nach Phase-4-Review auf REALE Klassen korrigiert): nicht mitten in einer offenen
|
||||
// Interaktion das boards-Array ersetzen und neu rendern, sonst verwaist eine per-Closure gehaltene
|
||||
// board-Referenz oder ein laufender Drag/Render wird abgerissen. Abgedeckt: Settings (.panel-overlay),
|
||||
// Modals Add-Board/Add-Bookmark/Rename (.modal-overlay), HellionDialog/Onboarding (.dialog-overlay),
|
||||
// Board-Drag (.board.dragging), Bookmark-Drag (.bm-item.dragging-source).
|
||||
if (document.querySelector('.panel-overlay.active, .modal-overlay.active, .dialog-overlay.active, .board.dragging, .bm-item.dragging-source')) return;
|
||||
boards = next;
|
||||
renderBoards();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user