Await chrome storage calls

This commit is contained in:
2025-09-24 22:44:57 +02:00
parent 14b114c46f
commit ae0e87c41d
2 changed files with 11 additions and 7 deletions

View File

@@ -2,7 +2,7 @@ import { createBookmarks, removeBookmarks } from "./bookmark.js";
import { saveRevision, getRevision } from "./revision.js"; import { saveRevision, getRevision } from "./revision.js";
const syncBookmarks = async (id, bookmark) => { const syncBookmarks = async (id, bookmark) => {
console.log('Syncing bookmarks!'); console.log('Syncing bookmarks! id: ' + id + ' bookmark: ' + JSON.stringify(bookmark));
await saveRevision(); await saveRevision();
} }
@@ -17,9 +17,12 @@ const loadBookmarks = async () => {
return; return;
} }
console.log('Different revision IDs found! Old: ' + data.revId + ' New:' + savedRev.revId);
removeListeners(); removeListeners();
chrome.storage.sync.set({ revId: data.revId }); await chrome.storage.sync.set({ revId: data.revId });
// TODO GD: "Raw" replacement, make this more efficient to avoid flickering // TODO GD: "Raw" replacement, make this more efficient to avoid flickering
for (var child of data.bookmarks[0].children) { for (var child of data.bookmarks[0].children) {
@@ -35,8 +38,8 @@ function removeListeners() {
chrome.bookmarks.onRemoved.removeListener(syncBookmarks); chrome.bookmarks.onRemoved.removeListener(syncBookmarks);
chrome.bookmarks.onChanged.removeListener(syncBookmarks); chrome.bookmarks.onChanged.removeListener(syncBookmarks);
chrome.bookmarks.onMoved.removeListener(syncBookmarks); chrome.bookmarks.onMoved.removeListener(syncBookmarks);
chrome.bookmarks.onChildrenReordered.removeListener(syncBookmarks); chrome.bookmarks.onChildrenReordered.removeLisstener(syncBookmarks);
chrome.bookmarks.onImportEnded.removeListener(syncBookmarks); //chrome.bookmarks.onImportEnded.removeListener(syncBookmarks);
} }
function addListeners() { function addListeners() {
@@ -45,9 +48,11 @@ function addListeners() {
chrome.bookmarks.onChanged.addListener(syncBookmarks); chrome.bookmarks.onChanged.addListener(syncBookmarks);
chrome.bookmarks.onMoved.addListener(syncBookmarks); chrome.bookmarks.onMoved.addListener(syncBookmarks);
chrome.bookmarks.onChildrenReordered.addListener(syncBookmarks); chrome.bookmarks.onChildrenReordered.addListener(syncBookmarks);
chrome.bookmarks.onImportEnded.addListener(syncBookmarks); //chrome.bookmarks.onImportEnded.addListener(syncBookmarks);
} }
addListeners();
loadBookmarks(); loadBookmarks();
// TODO GD: Make this websocket based // TODO GD: Make this websocket based

View File

@@ -1,5 +1,4 @@
export async function saveRevision() { export async function saveRevision() {
console.log('ASDF');
const tree = await chrome.bookmarks.getTree(); const tree = await chrome.bookmarks.getTree();
const apiUrl = await chrome.storage.sync.get('apiUrl'); const apiUrl = await chrome.storage.sync.get('apiUrl');
const syncToken = await chrome.storage.sync.get("syncToken"); const syncToken = await chrome.storage.sync.get("syncToken");
@@ -28,7 +27,7 @@ export async function saveRevision() {
throw new Error(`HTTP error! Status: ${response.status}`); throw new Error(`HTTP error! Status: ${response.status}`);
} }
const data = await response.json(); // Convert to JSON const data = await response.json(); // Convert to JSON
chrome.storage.sync.set({ revId: data.revId }); await chrome.storage.sync.set({ revId: data.revId });
} catch (e) { } catch (e) {
// TODO GD: Indicate error // TODO GD: Indicate error