Fix: Ensure tab context works after moving a tab to different workspace.

Calling to _workspaces() always gets the fresh data from db, moved caching responsibility to db for getWorkspaces().
This commit is contained in:
Kristijan Ribarić 2024-10-09 18:14:09 +02:00
parent 7b518c9243
commit 24d7af3da0
2 changed files with 14 additions and 15 deletions

View file

@ -72,7 +72,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
}
async _workspaces() {
if (!this._workspaceCache) {
this._workspaceCache = { workspaces: await ZenWorkspacesStorage.getWorkspaces() };
// Get the active workspace ID from preferences
const activeWorkspaceId = Services.prefs.getStringPref('zen.workspaces.active', '');
@ -89,7 +88,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
}
// sort by position
this._workspaceCache.workspaces.sort((a, b) => (a.position ?? Infinity) - (b.position ?? Infinity));
}
return this._workspaceCache;
}

View file

@ -150,7 +150,7 @@ var ZenWorkspacesStorage = {
async getWorkspaces() {
const db = await PlacesUtils.promiseDBConnection();
const rows = await db.execute(`
const rows = await db.executeCached(`
SELECT * FROM zen_workspaces ORDER BY created_at ASC
`);
return rows.map((row) => ({