Commit Graph

2 Commits

Author SHA1 Message Date
Vojtěch Maršál 9e2dd40af0 Live updates over WebSocket + clickable links
- Connect to the server's /ws multiplexed socket (chat/notifications/board) for
  the whole authenticated session. Auth rides the existing cookie jar; no server
  changes needed (the server allows clients that send no Origin header).
- Chat now updates live: ConversationViewModel merges messages pushed over the
  socket for the open conversation (no more leaving/re-entering to see replies).
- Notifications are now real-time in-app (bell updates instantly); when the app is
  backgrounded, incoming alerts and messages raise a system notification via the
  same socket. The 15-min WorkManager poll remains as a catch-up safety net.
- Links are now clickable in chat messages, task comments, and descriptions via a
  new RichText component (handles <a> anchors and bare http/www URLs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 14:50:24 +02:00
Vojtěch Maršál d0b1529c3f Initial commit: BountyBoard Android client
Native Kotlin + Jetpack Compose (Material 3) client for the BountyBoard
platform. Cookie-session + CSRF auth with a configurable base URL, the full
role-based feature set (admin / consultant / developer), local + OIDC SSO
sign-in, and background push notifications (WorkManager poll) for alerts and
messages. Bundles the app's editorial "ledger" design system and the original
Fraunces / Schibsted Grotesk / Spline Sans Mono typefaces.

Includes a prebuilt debug APK (BountyBoard-debug.apk) for side-loading.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 14:31:31 +02:00