Skip to content

ESP-NOW RX path lacks fragment reassembly #15

Description

@airadier

Summary

The transmit path fragments oversized ESP-NOW payloads, but the receive path never reassembles them before dispatching to audio_pipe_receive().

Impact

Any fragmented encrypted audio packet will be delivered as individual fragments and fail decryption, so fragmentation is not actually functional end-to-end.

Evidence

  • TX fragments in main/espnow_comm.c:83-103
  • RX dispatches raw frames directly in main/espnow_comm.c:26-40
  • Reassembly helper exists in main/espnow_frag.c but is unused by firmware RX

Expected

recv_cb() should detect fragment headers, buffer fragments per message, reassemble them, and only then pass the reconstructed payload to pairing/audio handlers.

Notes

Right now the codebase has a one-way fragmentation feature: send support without receive support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions