Created
May 11, 2026 11:51
-
-
Save cmj/455dffee7fe63a98f8c61bede70f75ca to your computer and use it in GitHub Desktop.
Nitter empty card patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: |
Author
cmj
commented
May 11, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
