diff options
| author | Dhravya Shah <[email protected]> | 2025-02-14 14:02:47 -0800 |
|---|---|---|
| committer | Dhravya Shah <[email protected]> | 2025-02-14 14:02:47 -0800 |
| commit | c825043b84b765f85c2cc66b3c2b24e034292439 (patch) | |
| tree | 7b2a53c9cbf7d02d102b7d55f906399adae4526b | |
| parent | Merge branch 'main' of github.com:supermemoryai/supermemory (diff) | |
| download | supermemory-c825043b84b765f85c2cc66b3c2b24e034292439.tar.xz supermemory-c825043b84b765f85c2cc66b3c2b24e034292439.zip | |
twitter import fix
| -rw-r--r-- | apps/extension/manifest.json | 2 | ||||
| -rw-r--r-- | apps/extension/src/twitter.ts | 36 | ||||
| -rw-r--r-- | apps/web/app/components/memories/SharedCard.tsx | 2 | ||||
| -rw-r--r-- | apps/web/app/config/util.ts | 2 |
4 files changed, 38 insertions, 4 deletions
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 }) { )} > <a href={`/content/${data.uuid}`}> - {data.type !== "space" && data.type !== "document" && ( + {data.type !== "space" && ( <DropdownMenu> <DropdownMenuTrigger asChild> <div className="absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded-full bg-white/70 dark:bg-gray-900/70 px-2 py-1 text-xs font-medium text-gray-600 dark:text-gray-300 shadow-sm/50 backdrop-blur-[2px] border border-gray-200/30 dark:border-gray-700/30"> 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"; }; |