thermograph/static
Emi Griffith ee12ae38e4 Add Android TWA build config and Digital Asset Links (#203)
The Android app is a Trusted Web Activity — a thin native shell that opens the
live PWA full-screen in the user's Chrome engine, so it is literally the web app
and the existing VAPID web push keeps working inside it via Android notification
delegation (no Firebase, no backend change).

Adds the build config and the domain-verification file so the app can be built
and sideloaded:

- deploy/twa/twa-manifest.json — Bubblewrap config; packageId org.thermograph.twa,
  enableNotifications true (web-push delegation + Android 13 POST_NOTIFICATIONS),
  colors/icons from manifest.webmanifest.
- frontend/.well-known/assetlinks.json — Digital Asset Links, served at the domain
  root as application/json (verified via the static mount). The signing-key
  fingerprint is a placeholder until the keystore is generated.
- deploy/twa/README.md — build/sideload/verify runbook.

Building the signed APK, generating the keystore, filling the fingerprint, and
sideloading are local manual steps (documented). Play Store submission is deferred.
No backend/ changes.

Claude-Session: https://claude.ai/code/session_013dRZmX9D3JEntfMKWMTWZ8
2026-07-20 00:43:56 +00:00
..
.well-known Add Android TWA build config and Digital Asset Links (#203) 2026-07-20 00:43:56 +00:00
account.js Give climate/city/record pages full header parity + working °F/°C (#124) 2026-07-16 17:48:30 +00:00
app.js Report rain in whole millimetres; lift tier spans out of the bars (#192) 2026-07-19 19:28:58 +00:00
apple-touch-icon.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
cache.js Add a climate-score page from recent-vs-baseline percentile divergence (#196) 2026-07-19 23:02:33 +00:00
calendar.html Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
calendar.js Show a metric's unit once atop its distribution strip (#195) 2026-07-19 22:30:31 +00:00
chart.js Follow the unit system for precipitation and wind too (#190) 2026-07-19 19:03:41 +00:00
climate.js Follow the unit system for precipitation and wind too (#190) 2026-07-19 19:03:41 +00:00
compare.html Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
compare.js Account system with weather-notification subscriptions (#89) 2026-07-15 18:46:46 +00:00
day.html Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
day.js Render every percentile through one rule (#186) 2026-07-18 09:08:28 +00:00
digest.js Rebuild the homepage as a distribution landing; add an SMTP seam (#178) 2026-07-18 07:39:47 +00:00
favicon-16.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
favicon-32.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
favicon-48.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
favicon.svg Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
filtersheet.js Compare basis inline; synced inline + sheet metric selector (both pages) (#82) 2026-07-12 07:45:12 +00:00
google03ab95daa090e8d9.html Add Google Search Console site-verification file (#128) 2026-07-16 18:56:42 +00:00
ios-install.js Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
legend.html Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
logo-192.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
logo-maskable-192.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
logo-maskable-512.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
logo.png Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
manifest.webmanifest Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
mappicker.js Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
nav.js Add PWA + Web Push delivery for weather alerts (#95) 2026-07-15 23:21:06 +00:00
package.json Convert the frontend to ES modules; split nav.js by concern (#48) 2026-07-11 20:28:33 +00:00
push-client.js Add PWA + Web Push delivery for weather alerts (#95) 2026-07-15 23:21:06 +00:00
score.html Add a climate-score page from recent-vs-baseline percentile divergence (#196) 2026-07-19 23:02:33 +00:00
score.js Stack score-card tier labels; clarify the wet-bulb explainer (#201) 2026-07-20 00:22:38 +00:00
shared.js Show a metric's unit once atop its distribution strip (#195) 2026-07-19 22:30:31 +00:00
style.css Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
subscriptions.html Make the PWA installable as a standalone iOS home-screen app (#202) 2026-07-20 00:40:04 +00:00
subscriptions.js Push: surface delivery failures (no longer a silent success) (#157) 2026-07-17 00:12:14 +00:00
sw.js Replace the brand mark with the grid-cell logo everywhere (#199) 2026-07-19 23:45:12 +00:00
units.js Report rain in whole millimetres; lift tier spans out of the bars (#192) 2026-07-19 19:28:58 +00:00