polish leftovers: preview wraps + a11y motion + smoke-test doc#55
Draft
epicexcelsior wants to merge 4 commits into
Draft
polish leftovers: preview wraps + a11y motion + smoke-test doc#55epicexcelsior wants to merge 4 commits into
epicexcelsior wants to merge 4 commits into
Conversation
…Actions These three wallet panels are not exported from `components/wallet/index.ts` today (per PR anonmesh#47) but the source still ships in the bundle and contains live Pressables that look real. Wrap the dead CTAs in <PreviewedActions> and add a <PreviewBadge label="…coming soon"> above each panel so that if anything ever does render them, the affordance reads as preview-only. - YieldPanel: deposit/withdraw vault buttons wrapped (the expand/collapse Pressable is purely local UI state, left alone). - SwapPanel: SWAP + "new order" CTAs wrapped (flip-asset Pressable left). - SendPanel: "send privately" + "new transfer" CTAs wrapped (asset picker and MAX shortcut left — local state only). Per AUDIT A6 / ROADMAP § 0.A.8.
Two of the largest infinite Animated.loop / withRepeat(-1) sites that were deferred from PR anonmesh#52. Adds `useReducedMotion()` guards using the same pattern as PulseDot / Skeleton / NetworkStatusBadge / PigeonLoader. - MeshMap: the "me" node pulse halo + ghost skeleton breathe both honor reduce-motion. Pinned to mid-frame opacity so the indicators still read but don't loop. No structural changes. - RadarScan: rotation sweep pinned at 0deg + center dot held at resting scale under reduce-motion. Static ring guides still convey state. Both visual-only — happy path unchanged. Per ROADMAP Tier 4.1 (a11y motion audit).
Adds `docs/SMOKE_TEST.md` — the 5-minute manual gate that runs before every tester APK release. Seven numbered steps with explicit pass/fail criteria, each linked to an AUDIT / ROADMAP ID for traceability. Steps: 1. Cold install + onboarding 2. Local wallet generation 3. DEVNET banner visible (Tier 0.5 / B1) 4. Send 0.001 SOL to self (PR anonmesh#45 confirmation) 5. Nodes screen honesty (no fixture data) 6. Seed reveal biometric gate 7. Airplane-mode toggle Adapted from § 10 of LOCAL_NOTES/REVIEW-2026-05-13/raw-tracks/ OFFGRID_FALLBACK_AUDIT.md ("Off-grid testing playbook") for the team's actual release workflow. Includes a sign-off table.
Replaces five empty `catch {}` blocks with `console.warn` calls so
operators can diagnose previously-invisible failure modes. Conservative
scope — no behavior change, no UI surface, just diagnostics.
- S-1 MeshRpcAdapter: malformed beacon response now logged. Pending
request still times out on its own clock.
- S-2 TxDetailModal: clipboard write failure logged.
- S-3 ReceivePanel: clipboard write failure logged.
- S-4 LxmfContext.loadOrMigrateIdentity: identity-blob parse failure
logged — previously this silently destroyed recoverable history by
letting autostart regenerate a fresh identity.
- S-5 LxmfContext group registry load: malformed groups blob logged —
previously the user appeared to have left all groups with no signal.
Per AUDIT § 3 (silent failure inventory). 5 of 21 sites; the rest are
either intentional fallbacks (S-15, S-16) or require UI work (S-10
partial-failure rendering, S-11 dead error state).
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.
Summary
Mop-up wave on top of the four in-flight substantive PRs (#50-#53). Four small, low-conflict commits.
<PreviewedActions>+ add<PreviewBadge>headers. Panels are not exported fromcomponents/wallet/index.tstoday but their source still ships — if anything ever does render them, the affordance now reads as preview-only.useReducedMotion()onMeshMap(me-node pulse + ghost skeleton breathe) andRadarScan(rotation sweep + center pulse). Same pattern PR feat(network): NetworkBanner + a11y motion guards + empty-state copy #52 used for PulseDot / Skeleton / sonar. Pinned mid-frame so indicators still read.docs/SMOKE_TEST.md— 7-step, 5-minute manual gate for tester APK releases. Each step links an AUDIT / ROADMAP ID. Includes sign-off table. Adapted from § 10 ofOFFGRID_FALLBACK_AUDIT.md.catch {}blocks withconsole.warnso operators can spot beacon malformed responses, clipboard failures, and identity/group registry corruption. No UI changes.What did not ship
components/ui/Pill.tsxvscomponents/primitives/Pill.tsx) — different APIs (variant+dotvstone). Eight call sites would need migration and theui/Pillvariant carries adotprop the primitives version lacks. Too much churn for a polish PR; deferred.screens/MessagesScreen.tsx— would conflict directly with PR feat(network): NetworkBanner + a11y motion guards + empty-state copy #52's reduce-motion guard on the same component.Test plan
docs/SMOKE_TEST.mdagainst the next tester APK