Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save cmj/455dffee7fe63a98f8c61bede70f75ca to your computer and use it in GitHub Desktop.

Select an option

Save cmj/455dffee7fe63a98f8c61bede70f75ca to your computer and use it in GitHub Desktop.
Nitter empty card patch
From 5f6aef3a02ff2a3ea5e263691c1d010868993b4d Mon Sep 17 00:00:00 2001
From: cmj <129799+cmj@users.noreply.github.com>
Date: Mon, 11 May 2026 04:48:04 -0700
Subject: [PATCH] Fix for empty cards
---
src/parser.nim | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/parser.nim b/src/parser.nim
index d55c5465a..009ab62c5 100644
--- a/src/parser.nim
+++ b/src/parser.nim
@@ -438,7 +438,7 @@ proc parseTweet(js: JsonNode; jsCard: JsonNode = newJNull();
result.retweet = some parseGraphTweet(rt)
return
- if jsCard.kind != JNull:
+ if jsCard.kind != JNull and jsCard{"rest_id"}.getStr.allCharsInSet({'0'..'9'}):
let name = jsCard{"name"}.getStr
if "poll" in name:
if "image" in name:
@@ -498,13 +498,17 @@ proc parseGraphTweet(js: JsonNode): Tweet =
if bindingArray.kind == JArray:
var bindingObj: seq[(string, JsonNode)]
for item in bindingArray:
+ if item{"key"}.getStr == "_omit_link_":
+ jsCard = newJNull()
+ break
bindingObj.add((item{"key"}.getStr, item{"value"}))
- # Create a new card object with flattened structure
- jsCard = %*{
- "name": legacyCard{"name"},
- "url": legacyCard{"url"},
- "binding_values": %bindingObj
- }
+ if jsCard.kind != JNull:
+ # Create a new card object with flattened structure
+ jsCard = %*{
+ "name": legacyCard{"name"},
+ "url": legacyCard{"url"},
+ "binding_values": %bindingObj
+ }
var replyId = 0
with restId, js{"reply_to_results", "rest_id"}:
@@ -526,7 +530,7 @@ proc parseGraphTweet(js: JsonNode): Tweet =
)
)
- if jsCard.kind != JNull:
+ if jsCard.kind != JNull and jsCard{"rest_id"}.getStr.allCharsInSet({'0'..'9'}):
let name = jsCard{"name"}.getStr
if "poll" in name:
if "image" in name:
@cmj
Copy link
Copy Markdown
Author

cmj commented May 11, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment