Await chrome storage calls
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user