feat/presence-default-fix
Summary
Small but impactful correctness fixes addressing two misleading placeholder defaults.
Changes
user_model.dart — isOnline defaults to false
Previously isOnline => true (always online). This caused:
- Chat tile to show a green “Online” dot for every user
- Chat screen header to show “Online” as subtitle for every DM
Real-time presence tracking (last_seen_at column + Supabase Realtime updates) would be needed to show accurate status. Until then, defaulting to false is correct — no misleading indicators.
Affected UI:
chat_tile.dart— online indicator dotchat_screen.dart— “Online”/“Offline” subtitle in DM header
minimal_event_card.dart — Facepile uses local colors
Previously used NetworkImage('https://i.pravatar.cc/100') — a hardcoded third-party URL loaded for every event card, with no relationship to actual attendees.
Replaced with colored placeholder circles:
- Count clamped to
event.stats.attendeeCount(1–3) - Three distinct brand-adjacent colors (coral, teal, sky blue)
- No network requests, no privacy implications
When the data layer exposes attendee profile pictures (e.g., via event.attendees list), replace with real NetworkImage avatars.