Skip to content
This repository has been archived by the owner on Jan 19, 2025. It is now read-only.

fix: latest tweets retrieval optimization is unpredictable #234

Closed
wants to merge 1 commit into from

Conversation

Frazew
Copy link
Contributor

@Frazew Frazew commented Nov 16, 2024

Summary

getTweets does not always return results in a predictable order, which means that the first tweet in not necessarily the latest one. This breaks the synchronization optimization because it relies on this assumption.

This fix reverses the implementation for this optimization: instead of preventing the sync when the latest tweet if cached, we prevent the sync by default but allow it to run if we find that any of the ${LATEST_TWEETS_COUNT} tweets is not cached.

Notes

  • Sorting the retrieved latestTweets could have been an option too, I didn't do that because reversing the logic felt more future-proof (who knows whatever they might break in the future). However I see no reason why it wouldn't work by sorting on the tweet ID, if you feel this should better be implemented this way, please tell me!
  • I have practically zero experience with Typescript! Please feel free to make suggestions/nitpicks

@Frazew Frazew force-pushed the fix-latest-tweets-ordering branch from 4d2e26f to 689e821 Compare November 16, 2024 23:13
`getTweets` does not always return results in a predictable order, which
means that the first tweet in not necessarily the latest one. This
breaks the synchronization optimization because it relies on this
assumption.

This fix reverses the implementation for this optimization: instead of
preventing the sync when the latest tweet if cached, we prevent the
sync by default but allow it to run if we find that *any* of the
${LATEST_TWEETS_COUNT} tweets is not cached.
@Frazew Frazew force-pushed the fix-latest-tweets-ordering branch from 689e821 to 0df985e Compare December 27, 2024 19:34
@Frazew
Copy link
Contributor Author

Frazew commented Jan 19, 2025

hi! Is there a specific reason behind closing this? If I've missed something obvious or if there's a better alternative implementation then I can make the changes

@louisgrasset
Copy link
Owner

I wanted to personally thank you for your investment in the project. I made the decision to stop the development of this project, considering Twitter/X operations in our societies as not aligned with my values.
https://bsky.app/profile/louisgrasset.fr/post/3lg4o7lhbms2k

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants