diff --git a/apps/extension/manifest.json b/apps/extension/manifest.json index 98d42318..ff4aba05 100644 --- a/apps/extension/manifest.json +++ b/apps/extension/manifest.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/chrome-manifest.json", "manifest_version": 3, - "version": "5.0.135", + "version": "5.0.200", "homepage_url": "https://supermemory.ai", "name": "Supermemory", "description": "An extension for https://supermemory.ai - an AI hub for all your knowledge.", diff --git a/apps/extension/src/twitter.ts b/apps/extension/src/twitter.ts index 5b19c503..09118973 100644 --- a/apps/extension/src/twitter.ts +++ b/apps/extension/src/twitter.ts @@ -214,7 +214,41 @@ const getBookmarks = async (cursor = "", totalImported = 0, allTweets = []) => { return getBookmarks(cursor, totalImported, allTweets); } - const data = (await response.json()) as any; + let data = (await response.json()) as any; + + // Handle 400 error with missing features + if (response.status === 400 && data.errors?.[0]?.message) { + const errorMsg = data.errors[0].message; + const missingFeatures = errorMsg.match( + /following features cannot be null: (.*?)$/ + )?.[1]; + + if (missingFeatures) { + const featuresList = missingFeatures.split(", "); + const updatedFeatures = { ...features }; + + featuresList.forEach((feature: string) => { + updatedFeatures[feature as keyof typeof updatedFeatures] = true; + }); + + // Retry with updated features + const newUrl = `https://x.com/i/api/graphql/${ + sessionResult.bookmarksApiId + }/Bookmarks?features=${encodeURIComponent( + JSON.stringify(updatedFeatures) + )}&variables=${encodeURIComponent(JSON.stringify(variables))}`; + + const retryResponse = await fetch(newUrl, { + method: "GET", + headers: headers, + redirect: "follow", + }); + + const retryData = await retryResponse.json(); + data = retryData; + } + } + const entries = data.data?.bookmark_timeline_v2?.timeline?.instructions?.[0]?.entries || []; diff --git a/apps/web/app/components/memories/SharedCard.tsx b/apps/web/app/components/memories/SharedCard.tsx index 8bf00361..d80b848a 100644 --- a/apps/web/app/components/memories/SharedCard.tsx +++ b/apps/web/app/components/memories/SharedCard.tsx @@ -727,7 +727,7 @@ function SharedCard({ data }: { data: Memory }) { )} > - {data.type !== "space" && data.type !== "document" && ( + {data.type !== "space" && (
diff --git a/apps/web/app/config/util.ts b/apps/web/app/config/util.ts index dface971..8e5e143e 100644 --- a/apps/web/app/config/util.ts +++ b/apps/web/app/config/util.ts @@ -6,6 +6,6 @@ export const getChromeExtensionId = () => { // if (environment === "development") { // return "hepmifhfbiehpdlbeigpapkmjcaphfmn"; // } - // return "hepmifhfbiehpdlbeigpapkmjcaphfmn"; + // return "lcmcmhklcjciegoakjejefbacbgikncb"; return "afpgkkipfdpeaflnpoaffkcankadgjfc"; };