Repository navigation
TEST PWAINSTALL 137 UI Case
Codex edited this page Nov 1, 2026
·
4 revisions
Linked specification for the matching authoritative QBrain TEST record. Persistence is reported by receipt.json; this documentation run executed no application tests.
| Field | Specification |
|---|---|
| Objective | Verify Manifest, icons and phone installation contracts. |
| QBrain reference/scope |
TEST-PWAINSTALL-137; Word Pairs / PROD-WORDPAIRS; workspace <home>/github/WordGame/.mcpServer/wordpairs; layer layer-1
|
| Source revision | Original designs at 435be05abac5310172cfb9a9290c9d7ea0d1cbde; exact dirty prose/decision hashes in sources.json. New UI-DEC decisions derive from the operator instruction to fill gaps. |
| Source links | pwa_design.md |
| Frame/element identifiers | SCREEN-INSTALL, STATE-INSTALL-01, STATE-INSTALL-02, STATE-INSTALL-03, STATE-INSTALL-04, STATE-INSTALL-05, STATE-INSTALL-06; exact SVG anchors are listed in coverage.md |
| FR/TR → specific AC references |
FR-PHONEINSTALL-026#PWA-01; FR-PHONEINSTALL-026#PWA-02; FR-PHONEINSTALL-026#PWA-03; FR-PHONEINSTALL-026#PWA-04; FR-PHONEINSTALL-026#PWA-05; TR-PWA-INSTALLATION-036#PWA-01; TR-PWA-INSTALLATION-036#PWA-02; TR-PWA-INSTALLATION-036#PWA-03; TR-PWA-INSTALLATION-036#PWA-04; TR-PWA-INSTALLATION-036#PWA-05
|
| Priority | high |
| Platform/viewport | Phone Chromium/Android and Safari/iPhone where applicable; project matrix320x568,390x844,844x390;1280px at400%zoom and200%text enlargement. OS-native installation is a separate physical-device dependency. |
| Preconditions/roles | Phone browser opens a secure Wordpairs origin; separate native-event and unsupported-browser fixtures exist. |
| Test data | Android Chromium; iPhone Safari guidance; 390x844; dismissed/accepted/rejected native prompt fixtures. |
| Synchronization | Await the explicit observable conditions and source-defined deadlines below; no fixed sleeps. Harness timeouts do not create a product response-time SLA. |
| Cleanup | Close case-owned contexts and reset only isolated fixture accounts, rooms or content, including after failure. Preserve shared catalog and real profile data. |
| Automation readiness | Partial: synthetic browser prompt lifecycle is automatable; real OS installation requires an HTTPS origin and physical devices. |
| Basis | Specified by cited designs/QBrain; new gap behavior is specified by UI-DEC-01..08. Synthetic fixture identities/data are test configurations. |
| Execution | Not run here. Existing historical status/evidence remains unchanged; new obligations remain pending/unsatisfied. |
| Step | Action / condition | Observable expected result |
|---|---|---|
| 1 | Open install help without a native prompt event, then on an insecure origin in a separate run. | Android menu/iPhone Share guidance is usable; insecure origin explains HTTPS instead of presenting a nonfunctional native prompt. |
| 2 | Provide an install event, click Install once, dismiss/reject, then supply a fresh event. | One event prompts at most once; cancellation retains manual guidance; only a fresh event enables another prompt. |
| 3 | Enter standalone/appinstalled state and simulate registration failure separately. | Install controls hide in installed mode; registration failure does not break gameplay. |
| 4 | Inspect the browser-reported install manifest, linked icon resources and Apple metadata. | Manifest has stable root identity/scope, /play standalone launch, names/colors, same-origin192/512icons and separate maskable icon; actual opaque icon dimensions/safe zone and Apple touch metadata match their declarations. |
Feature: Manifest, icons and phone installation contracts
Scenario: TEST-PWAINSTALL-137 design verification
Given Phone browser opens a secure Wordpairs origin; separate native-event and unsupported-browser fixtures exist.
And the fixture data is Android Chromium; iPhone Safari guidance; 390x844; dismissed/accepted/rejected native prompt fixtures.
When Open install help without a native prompt event, then on an insecure origin in a separate run.
Then Android menu/iPhone Share guidance is usable; insecure origin explains HTTPS instead of presenting a nonfunctional native prompt.
When Provide an install event, click Install once, dismiss/reject, then supply a fresh event.
Then One event prompts at most once; cancellation retains manual guidance; only a fresh event enables another prompt.
When Enter standalone/appinstalled state and simulate registration failure separately.
Then Install controls hide in installed mode; registration failure does not break gameplay.
When Inspect the browser-reported install manifest, linked icon resources and Apple metadata.
Then Manifest has stable root identity/scope, /play standalone launch, names/colors, same-origin192/512icons and separate maskable icon; actual opaque icon dimensions/safe zone and Apple touch metadata match their declarations.Physical Android/iPhone home-screen installation and manifest/icon metadata are separate verification obligations, not proven by emulation.
Criterion references identify intended verification. Non-UI transaction, distribution, release/deployment and native OS guarantees retain separate technical/operational tests; this document is not a claim that a compound criterion passed.
Generated from MCP requirements wiki export.
- Home
- Guest Game and GitHub Admin PWA
- Functional Requirements
- Technical Requirements
- Testing Requirements
- TR per FR Mapping
- Requirements Matrix
- Wordpairs
- Local Development
- Testing and Evidence
- Administration and Access Control
- Requirements Baseline v2.8
- Architecture Decision Record
- Architecture Design
- Architecture Patterns
- Content Moderation
- Deployment and Release Plan
- Acceptance Criteria Gap Analysis
- Acceptance Criteria Test Inventory
- Implementation Plan
- Phase 0 Execution
- Phase 0 Interface and Data Contracts
- Phase 1A Execution
- Phase 1 Execution
- Phase 2 Execution
- Phase 3 Execution
- Phase 4 Execution
- Phase 5 Execution
- Phase 6 Execution
- Optional Phase 6 Human Feedback
- Historical Chromium Crash Diagnosis
- Completed Coding Goal and Review Agreement
- Third Party Attributions
- Software Bill of Materials Contract
- Phone Installation and PWA
- Live Multiplayer Runtime and UI Integration
- UI Test Case Index
- UI Design Coverage
- UI Criterion Gaps
- UI Design Questions
- UI Test Persistence
- TEST-ACCESSIBLEGAMECONTROLS-044 UI Case
- TEST-ACLAUTHORIZATION-132 UI Case
- TEST-ADMINUI-136 UI Case
- TEST-AUTHORITATIVEANSWERHANDLING-045 UI Case
- TEST-BROWSEOPENLOBBIES-022 UI Case
- TEST-CATALOGVERSIONING-133 UI Case
- TEST-CATEGORYART-005 UI Case
- TEST-CATEGORYCHOICE-011 UI Case
- TEST-CATEGORYSUGGESTIONUNLOCK-019 UI Case
- TEST-CONFIGUREDCAPACITY-024 UI Case
- TEST-CONNECTIONRECOVERY-109 UI Case
- TEST-CONTENTVALIDATION-016 UI Case
- TEST-DEEPLINKJOINANDFULLROOM-026 UI Case
- TEST-FINALSTANDINGS-013 UI Case
- TEST-FIRSTCATEGORY-004 UI Case
- TEST-FREETIERQUOTAHANDLING-037 UI Case
- TEST-FULLROOMOBSERVER-027 UI Case
- TEST-GUESTPLAY-021 UI Case
- TEST-HINTPROGRESSION-009 UI Case
- TEST-HINTSCORING-007 UI Case
- TEST-HOLDOUTWARNINGANDREMOVAL-032 UI Case
- TEST-IDLELOBBYREADINESSPROMPT-033 UI Case
- TEST-INROUNDEMOJIREACTION-029 UI Case
- TEST-LANDINGPAGEPUBLICDATA-050 UI Case
- TEST-LIVESCORECARD-010 UI Case
- TEST-MODERATIONANDCATALOGBOUNDARY-047 UI Case
- TEST-NOHINTSOLVE-006 UI Case
- TEST-NOMINATIONELIGIBILITY-017 UI Case
- TEST-NOMINATIONMODERATION-114 UI Case
- TEST-NOMINATIONTHRESHOLDANDMODERATION-018 UI Case
- TEST-OBSERVERPERSPECTIVEANDPERMISSIONS-028 UI Case
- TEST-OIDCTOKENVALIDATION-046 UI Case
- TEST-OPENAIOIDCPROFILE-020 UI Case
- TEST-ORIENTATION-015 UI Case
- TEST-PLAYERLIMIT-002 UI Case
- TEST-PRECOUNTDOWNOBSERVERPROMOTION-030 UI Case
- TEST-PROFILEICON-003 UI Case
- TEST-PUBLICGAMELANDINGPAGE-043 UI Case
- TEST-PWAINSTALL-137 UI Case
- TEST-PWAPRIVACY-138 UI Case
- TEST-QUICKMATCH-023 UI Case
- TEST-READYCOUNTDOWNANDROSTERLOCK-031 UI Case
- TEST-ROOMINVITATIONS-025 UI Case
- TEST-ROOMJOINING-001 UI Case
- TEST-ROOMSYNC-139 UI Case
- TEST-ROUNDSUMMARY-012 UI Case
- TEST-SUGGESTIONREVIEW-115 UI Case
- TEST-TIMETIEBREAK-014 UI Case
- TEST-UNSOLVEDRESULT-008 UI Case
- UI Gap Decisions and Synchronization
- TEST-ACCESSIBILITYDETAILS-144 UI Case
- TEST-CANDIDATEHOLD-141 UI Case
- TEST-LOBBYMATCHING-117 UI Case
- TEST-NAVIGATIONDRAFTS-142 UI Case
- TEST-NOSOLVERFALLBACK-146 UI Case
- TEST-REQUESTFEEDBACK-143 UI Case
- TEST-RESPONSIVEMATRIX-145 UI Case
- TEST-REVIEWCHANGES-140 UI Case
- TEST-ROOMCODES-110 UI Case
- UI Gap Implementation Plan
- UI Gap Implementation and Evidence
- Contest Readiness
- Hostile Validation Evidence
- Category Artwork
- 10-Player Release Completion Plan
- Deadline Report and Token Accounting
- Deadline Report Supporting Evidence
- Deadline Timeline and Review Finding Analysis
- Stopped Wordpairs Release Handoff