commits
Store the ?next= param through the OAuth round-trip via the session
so collaborators land on their invite URL after signing in.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Drop email, password, name, avatar_url, oauth columns from User;
users table now has only id and did
- Remove email/password login and registration routes and handlers
- Remove GetUserByEmail, GetUserByOAuth, UpdateUserPassword from db
- Simplify CreateUser / scanUser to match the new schema
- Update ATProto callback to create minimal User{DID: sub}
- Fix nav to use UserHandle (resolved from DID doc) instead of User.Name
- Point login buttons to /auth/atproto instead of /auth/login
- Add migration 007 for the simplified users table
- About page content and style tweaks
- Landing page gap tweak
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix handle display in navbar: resolve handle from DID document
(alsoKnownAs field) instead of calling app.bsky.actor.getProfile
against the PDS, which doesn't serve AppView queries
- Fix avatar fetch: call public.api.bsky.app AppView instead of the
user's PDS for app.bsky.actor.getProfile
- Pass handle and avatar to collaboration presence: shown as tooltip
and avatar image on presence dots, falling back to colored circle
when no avatar is available
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Drop email, password, name, avatar_url, oauth columns from User;
users table now has only id and did
- Remove email/password login and registration routes and handlers
- Remove GetUserByEmail, GetUserByOAuth, UpdateUserPassword from db
- Simplify CreateUser / scanUser to match the new schema
- Update ATProto callback to create minimal User{DID: sub}
- Fix nav to use UserHandle (resolved from DID doc) instead of User.Name
- Point login buttons to /auth/atproto instead of /auth/login
- Add migration 007 for the simplified users table
- About page content and style tweaks
- Landing page gap tweak
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix handle display in navbar: resolve handle from DID document
(alsoKnownAs field) instead of calling app.bsky.actor.getProfile
against the PDS, which doesn't serve AppView queries
- Fix avatar fetch: call public.api.bsky.app AppView instead of the
user's PDS for app.bsky.actor.getProfile
- Pass handle and avatar to collaboration presence: shown as tooltip
and avatar image on presence dots, falling back to colored circle
when no avatar is available
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>