diff options
| author | Your Name <you@example.com> | 2026-05-16 11:56:43 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-16 11:56:43 +0530 |
| commit | 38aa9ec3801f5895e09866fe92cb8e44fb987cee (patch) | |
| tree | c702c27cd59fa0e73bc3e8665e1582e6b9509cf6 /CHECKLIST.md | |
| parent | ee4e13680f522253f94e8ebdea5df80332afc495 (diff) | |
Unique SSID/IP per board + captive detection fix + mint list in portal
- Derive unique SSID (TollGate-{MAC4}{MAC5}) and AP IP (10.{b5}.{subnet}.1)
from factory MAC — boards no longer conflict
- Board A: TollGate-377C @ 10.55.85.1, Board B: TollGate-5050 @ 10.80.10.1
- Captive portal detection URIs return 200 with portal HTML (matching
esp32-mesh working approach) instead of 302 redirect
- Dynamic AP IP in portal HTML via __AP_IP__ template substitution
- Supported mints section in portal page (shows mint URL, tap to copy)
- Fixed mint URL to testnut.cashu.space (was stale in SPIFFS)
- DoT reject server on port 853 for DNS-over-TLS fallback
- DNS hijack: NXDOMAIN for all non-A queries, no forwarding for unauthed
- Playwright tests updated for 200 response on detection URIs
- Phase 2 test suite: 20/21 pass (test 22 expiry ping route issue)
- Tests 25-27 deferred to Phase 3 (Board B as second client)
Diffstat (limited to 'CHECKLIST.md')
| -rw-r--r-- | CHECKLIST.md | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/CHECKLIST.md b/CHECKLIST.md index 2ac593c..d5711b4 100644 --- a/CHECKLIST.md +++ b/CHECKLIST.md | |||
| @@ -63,9 +63,8 @@ | |||
| 63 | - [x] Test: /whoami returns ip=X.X.X.X mac=XX:XX:XX:XX:XX:XX — PASSING | 63 | - [x] Test: /whoami returns ip=X.X.X.X mac=XX:XX:XX:XX:XX:XX — PASSING |
| 64 | - [x] Test: Portal has payment form (Cashu token input + Pay button) — PASSING | 64 | - [x] Test: Portal has payment form (Cashu token input + Pay button) — PASSING |
| 65 | 65 | ||
| 66 | ### Tests Not Yet Run (need Playwright) | 66 | ### Tests Not Yet Run (deferred to Phase 3 — will use Board B as second client) |
| 67 | - [ ] Test 24: Portal payment form visible in browser (Playwright) | 67 | - [ ] Test 25: Two clients pay independently (laptop + Board B) |
| 68 | - [ ] Test 25: Two clients pay independently | ||
| 69 | - [ ] Test 26: Client isolation (only payer gets internet) | 68 | - [ ] Test 26: Client isolation (only payer gets internet) |
| 70 | - [ ] Test 27: Full e2e: portal → pay → browse | 69 | - [ ] Test 27: Full e2e: portal → pay → browse |
| 71 | 70 | ||