Align README, roadmap, web-upgrade, fcm-setup, tester-guide, mobile
README, and deploy-checklist with production :web: injection. Mark N4-3
server SA done; keep W4 accept (browser push-test) open.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Move SW render + flutter build into a stage script so secret values are
not expanded into Dockerfile RUN instructions. Document that APP_ID must
be a Web (:web:) app id and that secrets belong on the deploy host .env.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Wire Firebase Web config and VAPID through build-args/dart-define,
populate firebase-messaging-sw.js at image build, and soft-fallback to
install: tokens when secrets are absent. Live accept still needs Master
.env FIREBASE_* values and a web rebuild.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Land W0–W7 design for the Flutter web preview surface with
acceptance criteria, Master actions, and N4-W tracking. Cross-link
README, roadmap, deploy-checklist, fcm-setup, and mobile README.
Q9 remains out of scope; implementation waits per-Wi approval.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Prefer FCM_SERVICE_ACCOUNT_FILE/JSON over legacy FCM_SERVER_KEY,
mount secrets/ into core-backend, and document Master JSON placement.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>
Add PushTokenService with Firebase Messaging fallback to install
placeholders, conditional google-services Gradle plugin, fcm-setup.md,
and mark Android UI checklist api-done via prod e2e 16/16.
Co-authored-by: okuma <o0kuma@users.noreply.github.com>