Skip to content

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_workspace commands.

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-api passed with artifact EMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\rest-api-smoke\20260509-152213-eMule-main-release. The run had 0 failed REST contract routes and covered 9 server routes, 6 Kad routes, and 5 search routes with zero failures in each family.
  • The live run refreshed both release seed imports: server_met and nodes_dat returned HTTP 200. The server list contained 5 servers, selected eMule 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, and files=25380.
  • Search replay ran 12 live cycles: 6 server searches and 6 Kad searches. All 12 starts succeeded, all 12 stops 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 checked 12 search ids and confirmed they were cleared.
  • python -m emule_workspace test all --config Release --platform x64 passed with native coverage artifact EMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\native-coverage\20260509-152156-eMulebb-workspace-v0.72a-eMule-main-x64-Release. The Release parity suite passed 501/501 cases and the web API suite passed 72/72 cases.
  • Native coverage includes server packet failure policy, server.met candidate 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.

Relationship To Other Items