@@ -1062,6 +1062,13 @@ impl Editor {
1062 DocumentId(unsafe { NonZeroUsize::new_unchecked(self.next_document_id.0.get() + 1) });
1062 DocumentId(unsafe { NonZeroUsize::new_unchecked(self.next_document_id.0.get() + 1) });
1063 doc.id = id;
1063 doc.id = id;
1064 self.documents.insert(id, doc);
1064 self.documents.insert(id, doc);
1066+ let (save_sender, save_receiver) = tokio::sync::mpsc::unbounded_channel();
1067+ self.saves.insert(id, save_sender);
1069+ let stream = UnboundedReceiverStream::new(save_receiver).flatten();
1070+ self.save_queue.push(stream);
@@ -1095,12 +1102,6 @@ impl Editor {
1095 self.new_document(doc)
1102 self.new_document(doc)
1098− let (save_sender, save_receiver) = tokio::sync::mpsc::unbounded_channel();
1099− self.saves.insert(id, save_sender);
1101− let stream = UnboundedReceiverStream::new(save_receiver).flatten();
1102− self.save_queue.push(stream);
1104 self.switch(id, action);
1105 self.switch(id, action);