Repository navigation
Conversation
This was referenced Oct 18, 2026
Member
Author
|
Closing: superseded by #212, merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Do not merge yet. Richard reviews the look first.
What changes
The phone decision page becomes one calm card per decision. Top to bottom: what is at stake (only when it is real), the question in plain words, why OpenAdapt stopped, the kept screen ("Kept 14 minutes ago · not live", tap to zoom, pinch and pan), what happens next, then the answers, then Details.
EMPHASIS_ENABLED.no-preference.no-storeare unchanged.Fail-closed rules: unchanged
The page posts only signed
allowed_actionsthat are valid for the task. The signed digest goes back with every answer. Continuing always re-checks the live app. Expired tasks can't be answered. Nothing is queued offline. Notification templates are untouched. The request payload keys are unchanged. No contract changes.Screens
scripts/capture_portal_scenarios.pynow renders every state in light and dark mode with a fixed clock and the public OpenEMR frame.--docsrefreshesdocs/assets/mobile-decision/(11 screens × 2 schemes) and its provenance. Business-decision and save-approval are labelled previews of the same card components (kind: preview); this portal does not serve them.Tests
src/portalShell.test.ts: 40 tests (frame and zoom, stakes order, emphasis rules, expiry, superseded, offline, receipt, locking, navigation)tests/test_portal/test_shell.py: dark mode, reduced motion, focus, no fixed bar, target size, emphasis rule, offline never unpairstests/test_portal/test_phone_captures.py(new): every receipt the shell can show is captured, and the docs assets match their provenancepytest tests/1391 passed, 1 skipped ·npm run test:ui359 passed ·npm run buildok ·tokens:checkok ·ruff checkclean