aboutsummaryrefslogtreecommitdiffstats
path: root/apps/browser-extension
diff options
context:
space:
mode:
Diffstat (limited to 'apps/browser-extension')
-rw-r--r--apps/browser-extension/manifest.json3
-rw-r--r--apps/browser-extension/package.json2
-rw-r--r--apps/browser-extension/src/background/background.ts4
-rw-r--r--apps/browser-extension/vite.config.ts8
4 files changed, 13 insertions, 4 deletions
diff --git a/apps/browser-extension/manifest.json b/apps/browser-extension/manifest.json
index 4a21c424..fa82f3fa 100644
--- a/apps/browser-extension/manifest.json
+++ b/apps/browser-extension/manifest.json
@@ -12,7 +12,8 @@
"default_popup": "index.html"
},
"background": {
- "service_worker": "src/background/background.ts"
+ "service_worker": "src/background/background.ts",
+ "scripts": ["src/background/background.ts"]
},
"options_ui": {
"page": "index.html#options",
diff --git a/apps/browser-extension/package.json b/apps/browser-extension/package.json
index 7ede2c05..0e5d8166 100644
--- a/apps/browser-extension/package.json
+++ b/apps/browser-extension/package.json
@@ -39,7 +39,7 @@
"zod": "^3.22.4"
},
"devDependencies": {
- "@crxjs/vite-plugin": "^1.0.14",
+ "@crxjs/vite-plugin": "2.0.0-beta.25",
"@hoarder/eslint-config": "workspace:^0.2.0",
"@hoarder/prettier-config": "workspace:^0.1.0",
"@hoarder/tailwind-config": "workspace:^0.1.0",
diff --git a/apps/browser-extension/src/background/background.ts b/apps/browser-extension/src/background/background.ts
index cab58aa9..7622c07e 100644
--- a/apps/browser-extension/src/background/background.ts
+++ b/apps/browser-extension/src/background/background.ts
@@ -69,9 +69,11 @@ async function handleContextMenuClick(info: chrome.contextMenus.OnClickData) {
};
}
if (newBookmark) {
- await chrome.storage.session.set({
+ chrome.storage.session.set({
[NEW_BOOKMARK_REQUEST_KEY_NAME]: newBookmark,
});
+ // NOTE: Firefox only allows opening context menus if it's triggered by a user action.
+ // awaiting on any promise before calling this function will lose the "user action" context.
await chrome.action.openPopup();
}
}
diff --git a/apps/browser-extension/vite.config.ts b/apps/browser-extension/vite.config.ts
index 42ecc28d..37b92349 100644
--- a/apps/browser-extension/vite.config.ts
+++ b/apps/browser-extension/vite.config.ts
@@ -6,5 +6,11 @@ import manifest from "./manifest.json";
// https://vitejs.dev/config/
export default defineConfig({
- plugins: [react(), crx({ manifest })],
+ plugins: [
+ react(),
+ crx({
+ manifest,
+ browser: process.env.VITE_BUILD_FIREFOX ? "firefox" : "chrome",
+ }),
+ ],
});