mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-10-31 04:01:59 +01:00
pushPostToClient sizes the body with strlen(post.text) for the payload and the expected ACK alike. The web API will store "a\0b", and pushing it whole sends text the receiver cannot see -- it stops at the NUL -- while hashing the pending ACK over a span the receiver never reproduces. The push would then never be acknowledged and would retry into the failure backoff. Same defect the core builder had; this is a second, hand-rolled builder. Also proves MC-R4 end to end at last: a genuinely encrypted guest PLAIN through a real registered room identity, watching the injector for an ACK that must not appear. The seam was only covered in three separate halves before -- core honours a veto, _may_ack computes one, a mocked constructor receives one -- none of which would have caught the wiring being dropped.