Make the document auto-save system initially restore the last-viewed tab before loading the rest (#2194)

* Fixes last tab being opened instead of last active tab

Fixes https://discord.com/channels/731730685944922173/881073965047636018/937518022548131891

* Defers node initialisation to SelectDocument message instead of load_document

* Fix warning regarding attempt to load closed document

* Defer loading resources and running nodes to selection time

* Make last active tab load before others

* Load last active saved document instead of last autosaved doc

* Fix failing tests

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
mTvare
2025-01-25 06:41:47 +00:00
committed by GitHub
co-authored by Keavon Chambers
parent de36d4967d
commit 9954e49530
9 changed files with 153 additions and 32 deletions
@@ -85,13 +85,18 @@ pub enum FrontendMessage {
document: String,
details: FrontendDocumentDetails,
},
TriggerLoadAutoSaveDocuments,
TriggerLoadFirstAutoSaveDocument,
TriggerLoadRestAutoSaveDocuments,
TriggerLoadPreferences,
TriggerOpenDocument,
TriggerPaste,
TriggerSavePreferences {
preferences: PreferencesMessageHandler,
},
TriggerSaveActiveDocument {
#[serde(rename = "documentId")]
document_id: DocumentId,
},
TriggerTextCommit,
TriggerTextCopy {
#[serde(rename = "copyText")]