245 Commits

Author SHA1 Message Date
Alessio
97419c483e BUGFIX: fix re-fetching of conflicting users having a crash if the user in question was banned instead of deleted 2025-02-18 21:55:36 -08:00
Alessio
43566b4613 Add integration test for no-clobbering banned users 2025-02-17 18:39:01 -08:00
Alessio
1e09477a5e If a scraped tweet has tombstone type 'suspended', then the user should be marked as banned during reply-joining 2025-02-17 18:05:49 -08:00
Alessio
acf903d16a Fix lint error 2025-02-15 19:50:39 -08:00
Alessio
3defa56a37 Move to 'pkg' instead of 'internal' 2025-02-15 19:46:10 -08:00
Alessio
ba81556f06 Fix lint error 2025-02-15 14:33:56 -08:00
Alessio
c0e4c85028 BUGFIX: ensure the ActionTweetID and ActionRetweetIDs are updated correctly when adding new Tweets/Retweets to a notification's lists 2025-02-15 14:31:26 -08:00
Alessio
1af7fa3817 Notification feed should load tweet and retweet IDs in order to display 'liked N of your tweets', etc 2025-02-15 13:57:00 -08:00
Alessio
5be812e96e Include current user "likes" information when building notifications feed 2025-02-15 12:51:07 -08:00
Alessio
041af0f91d Move common type definitions (Tweet, User, etc) from 'scraper' package to 'persistence' 2025-02-14 16:02:40 -08:00
Alessio
c03e1f6317 REFACTOR: Not sure why this was missed in previous commit 2025-02-10 13:38:26 -08:00
Alessio
bbe098d6df REFACTOR: replace imports of the 'persistence' package in 'persistence_test' with dot-imports 2025-02-10 13:30:01 -08:00
Alessio
4132eb4bca REFACTOR: SaveTweetTrove no longer calls scraper.GetUserByID, removing another scraper dependency from persistence package
- it was calling it to handle conflicting user handles
- now user handle conflicts are handled by the callee
- Add a utility function in `main` and `webserver` packages to rescrape the conflicting users
2025-02-10 12:53:31 -08:00
Alessio
b2f697a8a6 REFACTOR: make Session file storage functions more generic (not hardcoded for scraper.API) 2025-02-04 14:46:13 -08:00
Alessio
cb0b478c08 REFACTOR: apply dependency injection change (whole API object -> just the downloader function) to 'SaveTweetTrove' method 2025-02-03 21:58:53 -08:00
Alessio
0c1d853f55 REFACTOR: change media downloader dependency injection to take just the download function rather than a whole API object 2025-02-03 21:24:53 -08:00
Alessio
ac763a97a6 REFACTOR: in persistence package, import scraper as '.' 2025-02-03 16:25:34 -08:00
Alessio
95a52906ba Tidy up logging in API do_http methods 2025-02-03 10:58:41 -08:00
Alessio
e0ce1f205a REFACTOR: convert tweet trove methods that make API calls to API methods instead that take a TweetTrove 2025-02-03 08:03:13 -08:00
Alessio
368209a1cc Add handling for 'Twitterversary' account anniversary notification 2025-02-02 20:50:35 -08:00
Alessio
cd02110021 BUGFIX: fix a scraping error on encountering a 'composer' entry in a tweet thread 2025-02-02 17:28:18 -08:00
Alessio
d7a8ee6013 I forgot to include this in the previous commit 2024-12-23 19:40:32 -08:00
Alessio
37993af341 Fix more lint errors of the same kind 2024-12-23 19:38:25 -08:00
Alessio
f9fdfe04df Fix new lint error activated by updating Go version (remove 'rand.Seed(time.Now)' calls, as they are redundant; as of 1.20, the generator is seeded randomly at startup) 2024-12-23 19:35:00 -08:00
Alessio
bd0e353771 REFACTOR: move a bunch of stuff around in the scraper to consolidate
- delete type-specific test files and put them in api_types_test
- remove an unneeded test file
2024-12-23 19:06:29 -08:00
Alessio
32531a3bd9 Move User Detail query, structures, parsing and tests to new 'api_types_user' file 2024-12-23 18:43:45 -08:00
Alessio
14024f550d REFACTOR: Get rid of SortableXYZ types, use slices.SortFunc instead 2024-12-23 12:53:58 -08:00
Alessio
81e6dc50be REFACTOR: rename some stuff in scraper apiv1
- rename TweetResponse -> APIv1Response
- rename Entry -> APIv1Entry
- rename APIv1Response.GetCursor -> GetCursorBottom
2024-12-23 12:37:28 -08:00
Alessio
5c79decd7b Remove unused (apparently redundant?) BottomTimestamp function from the Feed object 2024-12-22 08:05:23 -08:00
Alessio
e27cd12cdc REFACTOR: change 'fetch_tweet_only' to use the regular fetch-tweet scraper function, and extract the main tweet in the 'main' package instead of having a scraper function for it 2024-12-21 09:21:23 -08:00
Alessio
850662c3cb REFACTOR: move as much API code out of the types files and into api_types_... files as possible
- also remove a few useless functions
2024-12-21 09:15:02 -08:00
Alessio
1f44fb0961 REFACTOR: SQL should use single-quotes; octal literals should start with '0o' 2024-12-21 07:53:31 -08:00
Alessio
5b7713bb05 Handle 'X Premium' native ads in notifications 2024-12-09 14:56:17 -08:00
Alessio
97888e2b23 BUGFIX: fix reaccs panicking if the reacc'd message isn't the latest one in the chat 2024-11-09 18:13:05 -08:00
Alessio
fe3b2b311c Fix another lint error 2024-11-06 22:04:26 -08:00
Alessio
4a1147c7ea Fix another typo 2024-11-06 22:03:01 -08:00
Alessio
a0ae810cd6 Fix lint error 2024-11-06 21:58:44 -08:00
Alessio
faac7e9b16 Add marking notifications as read 2024-11-06 21:54:21 -08:00
Alessio
c7a6b5b321 Add back in the GetUserByID unauthenticated operation since apparently it does actually work 2024-11-06 18:58:18 -08:00
Alessio
2b7a636720 Remove the unauthenticated GetUser requests as they no longer work 2024-11-06 18:36:06 -08:00
Alessio
a4285c2db1 Add test file for previous commit 2024-11-03 20:11:41 -08:00
Alessio
640ac531e5 Fix a new bug type where blocked users' tweets can be empty-but-not-tombstoned, or something (not totally sure what this is) 2024-11-03 20:08:57 -08:00
Alessio
b0cf2076e2 Make notifications paginated 2024-11-01 23:23:03 -07:00
Alessio
90f453c207 Fix crashing on non-timeline-module composer button entries 2024-10-26 22:11:23 -07:00
Alessio
e319dc1988 Fix 'user followed you' notifications sometimes parsing as 'new recommended post' notifications 2024-10-23 22:40:43 -07:00
Alessio
859431f012 Initialize database version number in schema.sql, instead of Go code 2024-10-23 22:00:38 -07:00
Alessio
74db0f5797 Remove sqlx mapper function; just map all fields manually 2024-10-23 21:50:54 -07:00
Alessio
3539d9418d SaveTweetTrove now re-fetches users with conflicting handles as well 2024-09-23 00:23:07 -07:00
Alessio
f7cbe17deb Fix lint errors 2024-09-22 22:24:56 -07:00
Alessio
381e9e0706 'fetch_user' and 'fetch_user_by_id' subcommands now check for conflicting user handle errors and rescrape if needed 2024-09-22 22:11:08 -07:00