Fix topic derivation: crypto.hash to match git-remote-punch
Server used crypto.data, client uses crypto.hash. Different domain-
separation prefix → different topics → server announces on topic A,
client joins topic B, never find each other on the per-repo swarm.
Clients silently fall onto the daemon's identity-level topic via
pre-existing connections, receive non-git bytes from the daemon's
other handlers, and crash with 'bad line length character' + double-
free during cleanup. Symptom: pgh app resync reports gitAdded but
the bare repos stay empty.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0a0232bf99110fc4d3d956879fbbcb04455fe7b9
by plankatron <noreply@anthropic.com> · 2026-04-21T02:08:09.000Z