Skip to content

Make the web app an installable PWA with a polished mobile shell - #16

Merged
Hef50 merged 1 commit into
mainfrom
claude/project-state-oml8d3
Aug 12, 2026
Merged

Make the web app an installable PWA with a polished mobile shell#16
Hef50 merged 1 commit into
mainfrom
claude/project-state-oml8d3

Conversation

@Hef50

@Hef50 Hef50 commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Turns the web app into a proper Progressive Web App:

  • Web app manifest — standalone display, brand icon set (192/512 + maskable), theme/background colors, and app shortcuts (Calendar, Find events, Freshman Guide) on long-press.
  • Service worker — cache-first for immutable hashed bundles, network-first navigations with an offline shell fallback, stale-while-revalidate for other same-origin assets. At install time it parses the shell HTML and precaches the referenced /_expo bundles, so the app opens offline after a single visit (first-load requests otherwise never pass through the worker).
  • Custom +html.tsx shell — real <title> (was "client"), theme-color for light and dark schemes, iOS standalone meta + apple-touch-icon, viewport-fit=cover, and mobile polish CSS: no tap-highlight flash, no rubber-band overscroll, no iOS landscape text inflation, antialiased text, scheme-matched root background.
  • Brand icons — generated crimson "C." monogram set + new favicon replacing the Expo defaults.
  • SafeAreaProvider at the root so the tab bar clears the home indicator when installed; splash colors matched to the theme backgrounds.

Verified headlessly: worker activates, manifest parses with 3 icons, and an offline reload renders the full app.

🤖 Generated with Claude Code

https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ


Generated by Claude Code

- Web app manifest (standalone display, brand icons incl. maskable,
  app shortcuts for Calendar / Find / Freshman Guide)
- Service worker: cache-first for hashed bundles, network-first
  navigations with offline shell fallback, stale-while-revalidate for the
  rest; parses the shell HTML at install time to precache bundles so the
  app works offline after a single visit
- Custom expo-router +html shell: proper <title>, theme-color for both
  color schemes, iOS standalone meta + apple-touch-icon, safe-area-aware
  viewport, and mobile polish CSS (no tap highlight, no overscroll
  bounce, no iOS text inflation)
- Generated brand icon set (crimson 'C.' monogram) + new favicon
- SafeAreaProvider at the root so the tab bar respects the home indicator
  when installed; app name fixed from 'client' to 'CMUnify'; splash
  colors matched to the theme backgrounds

Verified: service worker activates, manifest valid, offline reload
renders the full app.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011nrgpkJbvZ9JCf2VA2kKvJ
@Hef50
Hef50 merged commit dfcd5e5 into main Aug 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants