<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate, branch backup/multi-mint-support-pre-rebase</title>
<subtitle>[no description]</subtitle>
<id>https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=backup%2Fmulti-mint-support-pre-rebase</id>
<link rel='self' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=backup%2Fmulti-mint-support-pre-rebase'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/'/>
<updated>2026-05-19T07:00:30+00:00</updated>
<entry>
<title>docs: rebase, backup, squash &amp; merge plan with checklist</title>
<updated>2026-05-19T07:00:30+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-19T07:00:30+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=ef2de0f863a0e901825c420d18dd5b596c7b3c25'/>
<id>urn:sha1:ef2de0f863a0e901825c420d18dd5b596c7b3c25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: merge readiness — display_enabled config, real pubkey, probe interval, dedup services</title>
<updated>2026-05-18T22:42:32+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T22:42:32+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=3aa372ccc3e11c837458b00088ffb6cbe99ff6ca'/>
<id>urn:sha1:3aa372ccc3e11c837458b00088ffb6cbe99ff6ca</id>
<content type='text'>
- Add display_enabled config field (default true, parsed from config.json)
- Guard display_init/display_update behind display_enabled check
- Fix discovery pubkey: replace hardcoded all-zeros with identity_get()-&gt;npub_hex
- Revert MINT_HEALTH_PROBE_INTERVAL_S from 30 (testing) to 300 (production)
- Remove duplicate services_start_task call in IP event handler
- Fix UTF-8 arrow in STA auth threshold log message
- Gitignore compiled test binaries (test_mcp_handler, test_mint_health, etc.)
- Remove tracked test binaries from git

Verified on Board B (stable):
- make test-discovery-b: pubkey=d6bfe100..., metric=milliseconds, price_per_step tags
- make test-mints-b: 4 mints listed with reachable field
- Wallet: 40 sats balance with 4 proofs from previous payment
- All API endpoints responding (discovery, mints, wallet, whoami, portal)
- 75/75 unit tests passing
</content>
</entry>
<entry>
<title>docs: update plan with Board B make target test results — all 4 mints reachable</title>
<updated>2026-05-18T22:04:41+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T22:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=d0a99d8a92b762187d3d638c9a705d4b891f6ead'/>
<id>urn:sha1:d0a99d8a92b762187d3d638c9a705d4b891f6ead</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip: disable display for stability testing — board survives 2+ min without it</title>
<updated>2026-05-18T22:04:12+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T22:04:12+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=b38798277ad5d485a49752744e938e4db8032db5'/>
<id>urn:sha1:b38798277ad5d485a49752744e938e4db8032db5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: add per-board mutex locks to flash targets</title>
<updated>2026-05-18T21:40:04+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T21:40:04+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=1232a43f17cd4c1d994b2d652060d4fc9e1053ea'/>
<id>urn:sha1:1232a43f17cd4c1d994b2d652060d4fc9e1053ea</id>
<content type='text'>
flash-a and flash-b now require lock-a/lock-b to be held before
flashing. Prevents cross-session hardware conflicts when multiple
LLM agents share the same ESP32 boards.

Lock infrastructure matches main repo and price-discovery worktrees:
- HARDWARE_LOCK_DIR = physical-router-test-automation/locks
- require_lock_a/require_lock_b macros
- lock-a/lock-b/unlock-a/unlock-b/force-unlock-a/force-unlock-b/lock-status targets
</content>
</entry>
<entry>
<title>docs: update WPA auto-detect plan with hardware verification results</title>
<updated>2026-05-18T21:15:37+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T21:15:37+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=d21fc93c4b7d025d99ecc7c15b3998dbdebf076c'/>
<id>urn:sha1:d21fc93c4b7d025d99ecc7c15b3998dbdebf076c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: WPA auto-detect, STA connectivity fix, lwip crash fix</title>
<updated>2026-05-18T21:14:17+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T21:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=2ad2ed45f3ca82b1244a8b9e3e5efa89502413a9'/>
<id>urn:sha1:2ad2ed45f3ca82b1244a8b9e3e5efa89502413a9</id>
<content type='text'>
- Add wifi_auth_mode config field (WPA2/WPA3) parsed from config.json
- Default to WPA2 (accepts both WPA2 and WPA3 networks)
- Replace hardcoded WIFI_AUTH_WPA3_PSK with runtime threshold mapping
- Reduce MINT_HEALTH_PROBE_INTERVAL_S from 300 to 30 for testing
- Add 3s delay before service start + 5s DNS stabilization for health probes
- Fixes lwip mem_free crash caused by concurrent HTTP at boot

Verified on hardware:
- STA connects to WPA2 home router (Got IP:192.168.2.16)
- All 4 mint health probes complete successfully
- API endpoints return correct data with reachable mint filtering
- 4/4 wallets initialized with real keysets from live mints
</content>
</entry>
<entry>
<title>test: burst-fetch integration test — all endpoints verified passing</title>
<updated>2026-05-18T20:02:53+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T20:02:53+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=a09be62cfab9a1d7f37c697c44c71aed70536e8c'/>
<id>urn:sha1:a09be62cfab9a1d7f37c697c44c71aed70536e8c</id>
<content type='text'>
Burst-fetch approach grabs all data in rapid succession before board reboots.
All 10 previously-failing tests now pass:
- GET /mints: 4 mints with boolean reachable field
- GET /wallet, /usage, /whoami: all respond correctly
- POST bad token: payment-error-invalid
- POST non-accepted mint: payment-error-mint-not-accepted
- Portal: all 4 mints listed, mint-dot indicators, JS fetches :2121/mints
</content>
</entry>
<entry>
<title>test: multi-mint integration test + test report</title>
<updated>2026-05-18T18:04:58+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T18:04:58+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=6ff7b6f381eac9215da8785d7350896e21f53390'/>
<id>urn:sha1:6ff7b6f381eac9215da8785d7350896e21f53390</id>
<content type='text'>
- 247-line integration test covering 8 sections, 32+ assertions
- Tests: config, mint list, health status, payment routing, wallet, sessions
- Fake V3 token generation for payment routing tests
- Retry logic for unstable board connectivity
- Detailed test report with results, bugs found, and untested scenarios
</content>
</entry>
<entry>
<title>fix: divide-by-zero crash when no WiFi networks configured</title>
<updated>2026-05-18T14:25:33+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T14:25:33+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=65b4c9dc8626757f5f7cda279881b059e926916c'/>
<id>urn:sha1:65b4c9dc8626757f5f7cda279881b059e926916c</id>
<content type='text'>
- Guard tollgate_config_get_next_wifi against network_count=0
- Add fallback parsing for wifi_ssid/wifi_password flat fields
- Add heap info to API server failure log for debugging
- All 75 unit tests passing
</content>
</entry>
</feed>
