diff options
| author | MohamedBassem <me@mbassem.com> | 2024-08-18 23:07:02 +0300 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-08-18 23:07:02 +0300 |
| commit | 485276e46caf51b6671a13cdd55f95342f12864b (patch) | |
| tree | 5a95a5d65f0fcf4d7c234dade71e5ec963af2c08 /apps/browser-extension | |
| parent | 99b24bcb8a0ce97fdbadef561359ceb089ae5e77 (diff) | |
| download | karakeep-485276e46caf51b6671a13cdd55f95342f12864b.tar.zst | |
fix(extension): Upgrade crxjs to 2.0 to add support for firefox
Diffstat (limited to 'apps/browser-extension')
| -rw-r--r-- | apps/browser-extension/manifest.json | 3 | ||||
| -rw-r--r-- | apps/browser-extension/package.json | 2 | ||||
| -rw-r--r-- | apps/browser-extension/src/background/background.ts | 4 | ||||
| -rw-r--r-- | apps/browser-extension/vite.config.ts | 8 |
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", + }), + ], }); |
