From eec7fd9f70d317a70049d5758929b984d8d1812f Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sun, 27 Jul 2025 14:21:54 +1000 Subject: Fix new api xitter updated their api so that the 0th "instruction" in TweetDetails is not necessarily the one containing the thread. --- exitter.el | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'exitter.el') diff --git a/exitter.el b/exitter.el index 13c7091..037ffc1 100644 --- a/exitter.el +++ b/exitter.el @@ -453,7 +453,10 @@ ONEPLUS A3010 Build/PKQ1.181203.001)") (alist-get 'entries (let-alist resp - (elt .data.threaded_conversation_with_injections_v2.instructions 0)))))) + (seq-find + (lambda (ins) + (equal (alist-get 'type ins) "TimelineAddEntries")) + .data.threaded_conversation_with_injections_v2.instructions)))))) ;;; .content.entryType == "TimelineTimelineItem": @@ -487,6 +490,8 @@ ONEPLUS A3010 Build/PKQ1.181203.001)") (exitter-filter-tweet-result .item.itemContent.tweet_results.result)) ((equal .item.itemContent.itemType "TimelineTimelineCursor") (message "TimelineTimelineCursor encountered. More tweets available")) + ((equal .content.entryType "TimelineTimelineCursor") + (message "TimelineTimelineCursor encountered. More tweets available")) (t (error "Entry with unknown entryType or itemType: %s" (pp entry)))))) (defun exitter-filter-tweet-result (result) @@ -524,6 +529,8 @@ ONEPLUS A3010 Build/PKQ1.181203.001)") ret)) ("TweetWithVisibilityResults" (message "Aaaaaaads")) + ("TweetTombstone" + (message (let-alist result .tombstone.text.text))) (_ (error "result with unknown __typename: %s" result)))) @@ -558,9 +565,11 @@ Including ancestors and descendants, if any." (defun exitter-save-posts (filtered-details id) ;; (pp filtered-details) - (exitter-save-text-and-switch-to-buffer - (exitter-format-posts filtered-details) - (format (file-name-concat exitter-dir (format "%s.org" id))))) + (if (length= filtered-details 0) + (message "Empty filtered-details - will not save.") + (exitter-save-text-and-switch-to-buffer + (exitter-format-posts filtered-details) + (format (file-name-concat exitter-dir (format "%s.org" id)))))) (defun exitter-post-url (user post-id) (format "https://x.com/%s/status/%s" user post-id)) -- cgit v1.2.3