-
-
Notifications
You must be signed in to change notification settings - Fork 552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a home timeline for followed accounts #363
base: master
Are you sure you want to change the base?
Conversation
Hey there, I tested this PR last night and it works flawlessly. There are a couple suggestions to improve the UX of your work:
Other than that, it looks good to me. I haven't checked if the RSS feature works with this, but it would be useless for feed readers that don't support using cookies while fetching feeds anyway. I really hope that this PR gets merged soon, given that Nitter hasn't had any new shiny features in a long time. |
Just a quick update: the home feed suddenly stopped showing tweets when I'm following at least 20 accounts. This is caused by the 500-character limit for search queries, which was explained in #310, and there is no way to work around that at this time. |
A lot of merge conflicts because of the recent spat of commits in the master branch, enough of them that I can't really fumble my way through dealing with them. |
I'm working on bringing this up to date with |
Before this feature can be added to Nitter, I need to finish rewriting all the parser code to be more efficient, and add support for multi-user timelines with more than the ~20 users limit. Work has already begun on this, see 111927a and cdf49dc. For the 20 user limit problem I already implemented a prototype solution a while back, distributing usernames into buckets efficiently to minimize amount of requests, but the main problem was how to merge results and support pagination efficiently. |
Rebase successful! |
Mind rebasing this again since commits seem to be more cosmetic changes to themes after the Feb 11th breakage? |
The timeline section currently has one preference, following, which is a comma-separated field of people to display on the home timeline.
Currently just a copy of timeline.nim that takes names from the following cookie rather than the url.
The buttons currently send a post request to two new routes, /follow and /unfollow, which immediately redirect back to the referrer. They do not modify the list of followers, but do accurately change based on whether or not the viewed profile is currently in the list of followers.
The router_utils savePref function didn't work in my testing, so I am setting the cookie directly through Jester's setCookie procedure.
Seems to be throwing an error when building. |
Thought I caught all the uses of |
Poke! @acarasimon96 @Salastil @zedeus – what's the outlook on merging? |
@PAI5REECHO: I just rebuilt the image from the same commit with Docker, not experiencing any timeout issues with profiles. I believe this is ready to continue. |
Hello, |
I've checked out this branch for my own instance, and everything seems to be working well. The only limitation is that the feed ceases to work if you have >20 accounts followed, as noted. |
@FIGBERT Going to need a rebase again since the graphql changes break it from compiling. |
Hi, I'm very new to doing things on Github and interacting with other people's work so I apologize if this is against the norm or I did it in a weird way. I wanted to have this feature on Nitter so instead of waiting around I decided I'd take a crack at making it work myself: https://github.com/ButteredCats/nitter/tree/graphql_follows I'm no expert coder so hopefully I merged everything correctly but it's currently up and running on my instance: https://nitter.catsarch.com |
Awesome! |
What list of people are you using? I'm up to a list of 39 trying to test this and everything works for me, including trying it as a multifeed on other instances. This is the list I'm using: |
Unless the behavior has changed recently, Twitter silently cuts off the search query at 500 characters so it may seem like it works but it doesn't include all of the accounts. |
Ah, my understanding of the problem was that the feed stopped showing up entirely. My bad. I don't think I have anywhere near the skills or familiarity with the code to do anything about that myself but if any changes get made I'd be happy to help test them out. Regardless, for the forseable future I plan to have this feature on my instance despite the limitations. |
That's true, before it was showing nothing when your list exceeded the limit, I don't know the hiding was happening in nitter or twitter side though. |
Twitter side, the new GraphQL endpoint trims it while the old ones returned nothing. |
This PR introduces a cookie-based system for following Twitter users via Nitter. Followed accounts are stored in a cookie (à la Teddit), and displayed at the base path.
home.nim
/
)lists.nim
view).follow.nim
/follow/@name
and/unfollow/@name
/enablehls
route, navigating to these pages modifies a cookie and then redirects the user back to the referrer./follow/@name
route adds a user to thefollowing
cookie and/unfollow/@name
removes them.following
following
cookie, in the new "Timeline" section, is a comma-separated list of usernames to follow./settings
route enables users to quickly and easily transfer instances while keeping their list of followers.