Skip to content

v1.7.0: installable offline app, Android/iOS, faster first paint

Choose a tag to compare

@dominikpeter dominikpeter released this 25 Sep 20:55
· 46 commits to dev since this release

Live at https://whoislying.ch.

New

  • Installable app (PWA): Settings → Install app (Android, computers), or Share → Add to Home Screen on iPhone (Settings shows the steps). It opens full-screen with the mask icon.
  • Works offline: after the first visit, the one-phone game loads and plays without a connection. Rooms and AI need one.
  • Android and iOS apps with Capacitor that load the live site, so every web release updates them too. just app-android builds an APK; just app-ios opens Xcode.

Faster

  • First paint is ~3× sooner: the start screen's top is in the server HTML (2.0 s → 0.7 s on a mid-range phone over 4G), and the cards deal in once the app is live.
  • Profiling showed the server functions must sit next to the database (US east). Pinned to iad1 and measured; each room request now reads the room and its players in parallel.

Fixes (code review)

  • The service worker never caches Next's route data (it must match the deployed build) or /admin, keeps only the start page for offline use, and starts a fresh cache with every release.
  • The iOS app declares its app-bound domain, which iOS requires before it runs the offline worker.

Quality

  • Offline tests run against a real production build; 73 e2e + 54 unit tests.

🤖 Generated with Claude Code