diff --git a/src/components/app.jsx b/src/components/app.jsx index 38f4e05..8c354f5 100644 --- a/src/components/app.jsx +++ b/src/components/app.jsx @@ -416,7 +416,10 @@ export default class App extends Component { item.jsMode = item.jsMode || this.state.prefs.jsMode || JsModes.JS; } - this.setState({ currentItem: item }, d.resolve); + this.setState({ currentItem: item }, () => { + d.resolve(); + this.saveCode('code'); + }); // Reset auto-saving flag this.isAutoSavingEnabled = false; diff --git a/src/itemService.js b/src/itemService.js index 4bc5562..aa6a807 100644 --- a/src/itemService.js +++ b/src/itemService.js @@ -89,11 +89,14 @@ export const itemService = { async setItem(id, item) { const d = deferred(); - log(`Starting to save item ${id}`); + log(`Starting to save item "${id}"`); // Always persist in `code` key for `preserveLastOpenItem` setting. // This key is used to retrieve content of last open item. db.local.set({ code: item }, () => {}); + if (id === 'code') { + return Promise.resolve(); + } // NOT LOGGED IN if (!window.user) { @@ -106,6 +109,7 @@ export const itemService = { return d.promise; } + // LOGGED IN var remoteDb = await window.db.getDb(); item.createdBy = window.user.uid; remoteDb