Beta 0.7.3 search, server, and Kad parity replay gate
Summary¶
Replay stock-compatible search, server, Kad, bootstrap, and source-exchange behavior after Broadband changes. This area has a large diff surface and is where accidental protocol or lifecycle drift is most likely to hide.
Acceptance Criteria¶
- [x] Server list import, save, retry, obfuscated login, and plain fallback behavior are replayed.
- [x] Kad bootstrap and nodes.dat import behavior are replayed.
- [x] Server search and Kad search start, return rows or accepted live-network inconclusive results, and stop cleanly.
- [x] Closing search tabs cancels active searches and clears UI rows safely.
- [x] Source exchange and published-state behavior remain community-compatible.
- [x] UDP/Kad malformed packet probes do not overread, crash, or wedge state.
- [x] Search result ceilings and category behavior remain consistent with documented Broadband policy.
Validation¶
python -m emule_workspace test live-e2e --config Release --platform x64 --suite rest-api- Focused server/Kad/search tests through supported
python -m emule_workspacecommands.
Completion Evidence¶
Closed on 2026-05-09 with the following Beta 0.7.3 replay evidence:
python -m emule_workspace test live-e2e --config Release --platform x64 --suite rest-apipassed with artifactEMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\rest-api-smoke\20260509-152213-eMule-main-release. The run had0failed REST contract routes and covered9server routes,6Kad routes, and5search routes with zero failures in each family.- The live run refreshed both release seed imports:
server_metandnodes_datreturned HTTP 200. The server list contained5servers, selectedeMule Security, connected with High ID, and disconnected cleanly with HTTP - Kad connect and disconnect both returned HTTP 200; the connected Kad
observation showed
running=true,connected=true,users=235, andfiles=25380. - Search replay ran
12live cycles:6server searches and6Kad searches. All12starts succeeded, all12stops returned HTTP 200, server searches reached complete accepted-live-network state, and Kad searches remained running long enough to return live rows; the run found a safe Kad download candidate and completed the configured live download trigger. - Search cleanup was replayed by
DELETE /api/v1/searches; post-delete probes checked12search ids and confirmed they were cleared. python -m emule_workspace test all --config Release --platform x64passed with native coverage artifactEMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\native-coverage\20260509-152156-eMulebb-workspace-v0.72a-eMule-main-x64-Release. The Release parity suite passed501/501cases and the web API suite passed72/72cases.- Native coverage includes server packet failure policy,
server.metcandidate inspection and promotion failure preservation, nodes.dat inspection and replacement, Kad preference promotion failure preservation, FastKad bootstrap ranking and sidecar persistence, search method/type parsing and cleanup routes, search list owner-data teardown/refresh behavior, source-exchange replay, UDP/Kad obfuscation framing, malformed UDP diagnostic bounds, and client UDP crypt-preference gating.