Repository navigation
Suggest who to follow in the Log, as the web does on smaller screens - #74
Merged
Merged
Conversation
This was referenced Oct 22, 2026
Closed
Taldres
force-pushed
the
feat/who-to-follow
branch
3 times, most recently
from
October 26, 2026 20:50
8cdd041 to
3ec0409
Compare
Taldres
marked this pull request as ready for review
October 26, 2026 20:55
Taldres
marked this pull request as draft
October 26, 2026 21:51
Three people you might want to follow sit under the fifth commit, each
with why they're suggested, Follow and Not interested. Devnull sends
three spares, so one dismissed gives their place to the next, and the
round is asked again to top the spares up. The refresh moves to the next
page of the day's picks. Don't show again hides it with an Undo, and a
switch in settings brings it back.
Needs GET /api/v1/me/suggested-users and POST /api/v1/users/{username}/dismiss
from dev-null-sh/dev-null.sh#990.
…r the visit devnull picks afresh each day and the screen asks again anyway, so a kept page saved no request and could show yesterday's picks, or an answer that crossed a follow or a dismissal, on the next visit. Coming back to the Log asks again instead, and the response cache is as it was.
The API names each user's handle `handle` since dev-null.sh#1179, and the app reads it so since NativePHP#94. The suggestion fixtures still sent `username`.
Taldres
force-pushed
the
feat/who-to-follow
branch
from
October 26, 2026 22:55
3ec0409 to
4e90f78
Compare
Taldres
marked this pull request as ready for review
October 26, 2026 22:56
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #72, the roadmap's "Who to follow". The Log gets the web's who to follow, as the web shows it in the log on smaller screens.
It uses
GET /api/v1/me/suggested-usersandPOST /api/v1/users/{handle}/dismissfrom dev-null-sh/dev-null.sh#990, which is merged.What changed
$ who --should-i-followwith three people. Each has their avatar, name, handle after a dot in their lane, the first line of their bio as a#comment, and why they're suggested in the web's words ("Followed by 2 you follow", "1.2k followers"). The rail stops above it, so the commit below starts a run of its own, as under a day marker.who_to_follow_roundcookie. The round is kept per user and day, and only moves on once the next people land.> /dev/nullwith an Undo, and the block is gone from then on. A Who to follow switch in settings, next to Pastéis mode and Remotes, brings it back.Worth checking
Inertia::defer(...)->once()), and coming back to the Log asks again. They aren't in the response cache: devnull picks afresh each day and the screen asks again anyway, so a kept page saved no request and could show yesterday's picks first. The first commit cached them; the second takes that out again, soResponseCacheis untouched.TimelineRowkind, soRowWindowplaces and keys it like the markers. Only the log you're on gets it.LogCacheTestnow expects three background refreshes on open instead of two: the log, you, and who to follow.CI
Rebased onto main after #94, which reads each user's
handlenow that the API names it so. The last commit only moves who to follow's test users fromusernametohandleto match.Testing
All 1285 tests pass and Pint is clean. New tests cover where the row goes and how it breaks the rail, the reasons, follow and unfollow and putting them back, dismissing with spares and top-ups, the emptied state, rounds, answers that cross, hiding with Undo, the settings switch, and asking again when you come back to the Log.
I also ran it on an iOS simulator against a local devnull on the #990 branch: signing in, following and unfollowing, dismissing with the spares moving up, refresh, opening a profile, hiding, and bringing it back from settings, in Following and Latest. After the rebase I checked it again on iOS and an Android emulator against a local devnull on production: the block, following and unfollowing from it, opening a profile, and the switch in settings.
Screenshots
log
settings