Skip to main content
๐ŸŽ‰Warriors HQ is now on iPhone AND Android โ€” your roster, schedule, and chat in your pocket.โฌ‡ iPhoneโฌ‡ Android
Veterans Across Service Branches
U.S. ArmyU.S. Marine CorpsU.S. NavyU.S. Air ForceU.S. Coast GuardU.S. Space Force
v0.1.2 ยท 7269d6e

What's new

Recent updates

Running list of what shipped to the Warriors HQ website and mobile app. Newest at the top. Find a bug? Tell us.

MobileAdmin

Push notifications fixed end-to-end + Direct Message search

  • Push: Expo delivery now correctly distinguishes accepted-but-rejected from delivered, and stale tokens get auto-removed. The earlier 'sent to nobody, looked successful' bug is closed.
  • Push: chat now only fires push for DMs and @mentions โ€” no more drowning in chatter pings.
  • Chat: type a teammate's name in the Direct tab and the conversation opens with one tap. Stream creates the channel automatically; same person opens the same thread on both sides.
  • Chat: opening a conversation marks it read deterministically; manual 'Mark read' control available.
  • Loading screens: rotating phrases now actually rotate from a random starting point โ€” no more 'always see the same 2 sayings.'
  • Admin: /admin/mobile-push-diagnostics has a 'send test push to one user' button so ops can validate delivery without broadcasting.
  • Admin: command-center 'Active players without a team' card actually filters to those players when clicked instead of dumping you on the unfiltered roster.
MobileAndroid

Android polish + iOS passkey unblocked

  • Android: keyboard no longer overlays the chat composer when you start typing.
  • Android: Firebase initialized โ€” push tokens mint and persist correctly now (the table was missing in production).
  • Sign in with passkey on iOS works again โ€” the 'is not associated with domain' error was a missing webcredentials entitlement; fixed.
  • Cancelling the Google account picker is silent again instead of popping a bogus error.
  • Tap or long-press the 'X going' count on a Next Events card to see photos and names of who's RSVP'd.
  • RSVP roster on /events now shows names and photos for logged-in players instead of the placeholder count.
Web

Sign-in page redesigned + read-without-squinting fixes

  • Sign-in and sign-up share a single shell: passkey first, then email-code or social. Cream banner copy fixed for light + dark mode.
  • 'Coming from the old Wix site?' banner is now honest โ€” your roster carried over but passwords didn't.
  • Account menu (top-right player chip) scrolls properly so the Log Out button is reachable on shorter screens.
  • Web passkey login no longer loops back to /sign-in after Touch ID โ€” middleware honors the custom session cookie in production now.
  • 'Account not found' loop heals automatically: when your Clerk identity changes, the next page load re-links it to your existing Warriors row.
Mobile

Email-code passwordless + new mobile admin tools

  • Sign in with a 6-digit code emailed to you โ€” no password required. Same flow on sign-up.
  • Sign in with passkey button on mobile login screen.
  • Admins can review pending applications, tap into a full applicant detail screen, and approve or reject from the phone.
  • Native compose-announcement screen with CTA support โ€” no laptop needed for routine club updates.
Admin

Real numbers on the Command Center

  • 'Approved players' card was showing 362 โ€” now ~80โ€“90. Filter excludes supporters, reviewer accounts, smoke-test seeds, and synthetic roster stubs.
  • 'Today and Tomorrow' events stop showing yesterday's games after 8pm NYC.
  • Onboarding pending list mirrors the real queue โ€” synthetic test accounts hidden by default.
  • Every admin table has a rows-per-page dropdown (15/25/50/100), persisted between visits.
Mobile

Chat layout cleaned up

  • Channels and Direct Messages live on their own segmented tabs โ€” DMs no longer pin to the bottom of the list.
  • Direct Messages only show people you've actually chatted with.
  • Unread badges derived from visible channels (no more phantom +98 overlays).
  • Defensive push retries โ€” failed first-shot registrations retry on their own.
Player

Player

Warrior