~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

The iOS app lists followers and following, and a follow updates the counts

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:ios/follows

What changes

Counts after a follow. Following or unfollowing someone reads every profile again, so their followers count changes, and so does your own following count on your profile tab.

Who follows whom. A profile's followers and following counts each open a list of those accounts, read in pages from getFollowers and getFollows. A row opens that account's profile. just ios-look followers and following draw them.

Why

The profile read its counts once, and the follow button only changed its own label. The server indexes a follow as it answers, so the profile read straight after has the new count, which is what the app's other writes do too, rather than adding one to a number on screen. The lists are what the web's profile tabs show.

How it was checked

just ios-look: a profile's counts, the list after tapping "1 following" in dark, and the empty list in light. The picture has these, and the button after a tap. ios.yml compiles the new model.

Shortcomings

A count changing was not seen: ios-look writes nothing and answers the same, and a debug build's tokens only read. The server's side was read in crates/knotless-serve/src/web/follows.rs, not run, so a signed-in follow is the check left to do. The count takes a moment to change, as it waits for the read. Rows show the handle alone, as actorView has no display name. The counts are links with no underline or chevron.

🤖 Generated with Claude Code

follows.png

Approved

This adds followers and following lists to the iOS profile and bumps account.follows after a follow or unfollow, so every profile reads again. I read the whole diff against PagedList, Loading's refresh parameter and how other screens pass cursor. The new code matches them, including the [String: String?] query shape and .task(id: refresh). I found nothing that must change. I haven't run it, and neither did you: the PR says a count changing was never seen. One small point: an already-open followers or following list isn't reloaded when follows changes, so it can show stale rows until it is reopened. That's an edge case and fine for now.

Merged as 9fae1bd