aboutsummaryrefslogtreecommitdiff
path: root/apps/extension/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/extension/src')
-rw-r--r--apps/extension/src/background.ts1
-rw-r--r--apps/extension/src/firefox/content.ts9
-rw-r--r--apps/extension/src/twitter.ts22
3 files changed, 20 insertions, 12 deletions
diff --git a/apps/extension/src/background.ts b/apps/extension/src/background.ts
index b02d027f..74bb0f09 100644
--- a/apps/extension/src/background.ts
+++ b/apps/extension/src/background.ts
@@ -154,7 +154,6 @@ registerMessageHandler<MessageType>(
target: { tabId: currentTab.id },
files: ["scripts/content.js"],
});
-
} catch (error) {
console.error("Error injecting content script:", error);
}
diff --git a/apps/extension/src/firefox/content.ts b/apps/extension/src/firefox/content.ts
new file mode 100644
index 00000000..73e20004
--- /dev/null
+++ b/apps/extension/src/firefox/content.ts
@@ -0,0 +1,9 @@
+const handleWindowMessage = (event: MessageEvent) => {
+ if (event.data.action === "exportBookmarks") {
+ console.log("Received exportBookmarks message via postMessage");
+ chrome.runtime.sendMessage({ action: "exportBookmarks" });
+ }
+};
+
+ window.addEventListener("message", handleWindowMessage);
+
diff --git a/apps/extension/src/twitter.ts b/apps/extension/src/twitter.ts
index 09118973..53af9b4a 100644
--- a/apps/extension/src/twitter.ts
+++ b/apps/extension/src/twitter.ts
@@ -366,6 +366,16 @@ const getBookmarks = async (cursor = "", totalImported = 0, allTweets = []) => {
};
export const setupTwitterHeaderListener = () => {
+ const extraOptions =
+ chrome.runtime.getManifest().manifest_version === 2
+ ? ["blocking", "requestHeaders"]
+ : ["requestHeaders"];
+
+ // Add extraHeaders only if we're on a Chromium-based browser
+ if (!navigator.userAgent.includes("Firefox")) {
+ extraOptions.push("extraHeaders");
+ }
+
chrome.webRequest.onBeforeSendHeaders.addListener(
(details) => {
try {
@@ -426,16 +436,6 @@ export const setupTwitterHeaderListener = () => {
const cookie = getHeaderValue("cookie");
const csrf = getHeaderValue("x-csrf-token");
- // // Validate required headers
- // if (!auth || !cookie || !csrf) {
- // console.warn("Missing required headers", {
- // hasAuth: !!auth,
- // hasCookie: !!cookie,
- // hasCsrf: !!csrf,
- // });
- // return;
- // }
-
// Only update storage if values have changed
if (
result.cookie !== cookie ||
@@ -465,6 +465,6 @@ export const setupTwitterHeaderListener = () => {
}
},
{ urls: ["*://x.com/*", "*://twitter.com/*"] },
- ["requestHeaders", "extraHeaders"]
+ extraOptions
);
};