- New NetworkSettingsScreen (reachable from the stream-list header) lists
members with admin remove, an invite-by-email sheet, and pending
invitations with revoke — backed by new use-member-management hooks.
- Avatars: add avatar_object_id to HumanSchema, uploadAvatar/deleteAvatar/
getAvatarDownloadUrl client methods (raw PUT via expo-file-system), a
use-avatar-url hook, and image rendering in the shared Avatar component.
AccountScreen gains a tap-to-change profile picture via expo-image-picker.
- auth-store gains refreshUser to pick up avatar changes.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01LqGPzXQ1AA9CqYHgCgmbtV
Surface backend capabilities that already existed in the mobile API client
but had no UI:
- NetworkListScreen now lists pending invitations with an Accept action and
a header "+" to create a network; empty state offers creation instead of
pointing users to desktop.
- New CreateNetworkSheet and use-invitations hooks (accept invite, create
network) following the existing react-query patterns.
- SettingsScreen replaces its placeholder with an email-notifications toggle
(optimistic, mirrors desktop), app version, and sign out.
- Wire the previously-unreachable Settings row into the Drawer.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01LqGPzXQ1AA9CqYHgCgmbtV