diff --git a/frontend/src/io-managers/persistence.ts b/frontend/src/io-managers/persistence.ts index 1981e76d..2cdb3829 100644 --- a/frontend/src/io-managers/persistence.ts +++ b/frontend/src/io-managers/persistence.ts @@ -53,17 +53,27 @@ export function createPersistenceManager(editor: Editor, portfolio: PortfolioSta graphiteStore, ); + await update( + "documents_tab_order", + (old) => { + const order = old || []; + return order.filter((docId) => docId !== id); + }, + graphiteStore, + ); + const documentCount = getFromStore(portfolio).documents.length; if (documentCount > 0) { const documentIndex = getFromStore(portfolio).activeDocumentIndex; - const documentId = getFromStore(portfolio).documents[documentIndex].id; + const documentId = String(getFromStore(portfolio).documents[documentIndex].id); - await storeCurrentDocumentId(String(documentId)); + const tabOrder = (await get("documents_tab_order", graphiteStore)) || []; + if (tabOrder.includes(documentId)) { + await storeCurrentDocumentId(documentId); + } } else { await del("current_document_id", graphiteStore); } - - await storeDocumentOrder(); } async function loadFirstDocument() {