~ 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's sign-in screen is the tilde over a handle and a button

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:ios/sign-in

What changes

The iOS app's sign-in screen, on Home, Inbox and Profile, is now the tilde in the middle with a handle field and a Sign in button below it, then a line saying signing in accepts the terms of use and privacy policy, each a link. It replaces a settings-style form.

Make an account is gone from the app. /oauth/app-login still takes create, as builds already installed send it.

The screen has no title, so Home and Profile drop theirs while signed out, and Inbox its own.

Why

The owner asked for it, after GitHub's app: the form looked like a settings page. Someone with no account now has to make one elsewhere first.

How it was checked

just ios-look home --signed-out in light and dark, empty and with a handle typed and the keyboard up, where everything still fits. The look tool can't answer a 401, so the signed-out inbox was drawn once with a temporary patch, not committed.

Shortcomings

Signing in through the browser from this screen, and the two links, weren't tried, as the look tool answers without a server. The call behind the button changed only by losing create. A failed sign-in's message takes the place of the line under the button, which wasn't drawn.

🤖 Generated with Claude Code

in.png

typed.png

Approved

This replaces the iOS sign-in form with a centred tilde mark, a handle field, a Sign in button and a terms/privacy line. It removes "Make an account" from the app and drops the navigation titles while signed out. I read every changed file. signIn has no other callers, and /terms and /privacy exist on the web side. The code looks correct.

Two small things to check by hand, since the look tool didn't cover them:

  • The .onTapGesture { typing = false } on the full-screen container could swallow taps meant for the terms links. Try tapping them on a device.
  • Text(failure) replaces the why line, so a long error pushes the layout down. This is the case the body says wasn't drawn.

Neither blocks the merge.

Merged as 0e0bb0f