From b705ed77153a9025e83ae43e1db534553f38a539 Mon Sep 17 00:00:00 2001 From: archipelago Date: Wed, 22 Jul 2026 17:30:48 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20combined=20test=20plan=20=E2=80=94=20wa?= =?UTF-8?q?llet/explorer/overlay=20additions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- docs/combined-test-plan-2026-07-22.md | 112 ++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 docs/combined-test-plan-2026-07-22.md diff --git a/docs/combined-test-plan-2026-07-22.md b/docs/combined-test-plan-2026-07-22.md new file mode 100644 index 00000000..dd5e4d67 --- /dev/null +++ b/docs/combined-test-plan-2026-07-22.md @@ -0,0 +1,112 @@ +# Combined test session — 2026-07-22 batch (one sitting) + +Staged on **framework-pt** (`100.65.115.109`) AND **archi thinkpad** (this +machine's node) so everything can be tested in one pass. Items marked ✅ were +already verified by the agent on a node; ❑ items need a human. + +**What's in this batch:** mesh message/DM persistence across restarts · +first-message + DM announce fix · 15s announce poll · radio hot-swap modal +(probe / keep-as-is / apply-settings) · whisper beam-1 (release-gated, see §D) · +real-time wallet push (0-conf tx shows in seconds) · calm Lightning +"still starting" notice · external tx-explorer fallback with consent modal + +wallet-settings On-chain tab · apps open ABOVE modals with the launch +animation · mempool installs no longer blocked by a resyncing ElectrumX · +[pending: other agents' two push sets — section F fills in when their code +lands]. + +## H. Wallet & explorer (new — test on the thinkpad node, it's pruned) + +1. ❑ **Real-time tx display:** send a small on-chain amount to this node's + wallet → the balance and the yellow "unconfirmed" transaction appear + within a few seconds of broadcast, no refresh, no wallet action. +2. ❑ **External explorer consent:** with no local Mempool app running, tap a + transaction → amber consent modal explains it opens on another node's + mempool (default tx1138.com, placeholder mempool.guide, editable) → + Open Explorer opens `/tx/` in a new tab. Tick "don't ask + again" and confirm the next tap opens directly. +3. ❑ **Wallet Settings → On-chain tab:** explorer URL editable, warning shown, + "don't warn" toggle; tabs now read Channels / Cashu / Fedi / Ark / On-chain + and fit on one row (check mobile too). +4. ❑ **Modal → app animation:** on a node WITH Mempool running, open + Transactions and tap a tx → the Mempool app animates in ABOVE the modal + (previously loaded invisibly underneath); closing it returns to the modal. +5. ❑ **Lightning "still starting":** right after a node restart, try opening a + channel → either it just works (silent retry) or a calm amber ⏳ notice + appears — never the red "Failed to connect to peer" error. + +--- + +## A. Staged state (agent-verified before you start) + +- ✅ Dev binary (persistence + announce seeder + hot-swap) on + `/usr/local/bin/archipelago`, service healthy, no crash-loop. +- ✅ Frontend bundle with the new device modal at `/opt/archipelago/web-ui`. +- ✅ Seeder re-ran: `automations.yaml` upgraded v1→v2 (first-message announce), + `configuration.yaml` rest block at `scan_interval: 15`, HA restarted clean. +- ✅ `mesh-messages.json` persisting + restored across a service restart. +- ✅ `mesh.probe-device` returns real firmware details for the plugged stick. + +## B. Mesh history survives restarts (the "messages go missing" fix) + +1. ❑ Open Mesh chat — your existing DM/channel history from today is visible. +2. ❑ Send one channel message and one DM (either direction). +3. ❑ Reboot the whole node (not just the service). After it's back: history + still there, including the two new messages, correct timestamps/senders. +4. ❑ Send a NEW message to another node right after the reboot and confirm the + other side receives it (this exercises the send-seq fix — before it, the + first post-reboot sends were silently dropped by peers as replays). + +## C. Speaker announcements + +1. ❑ Have another node send a **public channel** message → speaker announces + sender + text within ~15s (was ~30s). +2. ❑ Have another node send you a **DM** → speaker announces it the same way. +3. ❑ Restart Home Assistant (or the node) → the last old message is NOT + re-announced (no announce storm). +4. ❑ (First-message case — the original bug — only reproducible on a node with + an empty history: optional, covered by agent verification of the guard.) + +## D. Voice (regression + speed) + +1. ❑ "Hey Jarvis, what's the block height" and one fuzzy phrasing — same + correct answers as before (no behavior change is the pass condition). +2. ⓘ The ~45% faster speech-to-text (whisper beam-1) ships via the **signed + catalog in the release** — it is NOT on the node during this test session. + Benchmarked on this exact hardware: identical transcripts, 0.94s → 0.51s. + +## E. Radio hot-swap modal (your Reticulum stick is already plugged in) + +1. ❑ Open the web UI anywhere — within ~30s a "Mesh Radio Detected" modal + appears showing the stick on `/dev/ttyACM0`, with a card of what's on it + (firmware badge: Reticulum RNode / MeshCore / Meshtastic + current + name/region/channels where the firmware exposes them). +2. ❑ Press **Keep As Is** → mesh connects using the radio exactly as flashed + (check Mesh → Device tab: connected, firmware type correct; nothing on the + radio changed). +3. ❑ Unplug the stick, plug the old MeshCore one → the modal appears AGAIN + (every plug re-triggers, same or different /dev path). +4. ❑ This time press **Set Up with Archipelago Settings** → second screen + shows channel `archipelago`, your region, and the node's RF params (the + validated Portugal preset on this fleet) BEFORE anything is written; + confirm → radio provisions and joins the mesh. +5. ❑ Swap sticks once more with no UI interaction except "Keep As Is" — chat + still works end-to-end afterwards (hot-swap without ceremony). + +## F. Mobile onboarding screens (other agent — pending their push) + +- ❑ (placeholder — filled in when their commits land; will be included in the + same staged build.) + +## G. Quick regressions + +1. ❑ Pine launcher page (:10380) still shows the live node card; "Connect + Pine to WiFi" button loads without JS errors. +2. ❑ Mobile Home: wallet card directly under My Apps (G5 from the voice epic). +3. ❑ Mesh RF settings panel (Mesh → Device) still loads and saves. + +--- + +After this passes: fold the batch + other agent's work into the next release +(OTA binary + frontend tarball + catalog regen/sign/publish for pine-whisper +3.4.2), then re-run `tests/lifecycle/run-gate.sh` on .228 (back online as +Tailscale `shorty-s`).