Skip to content

Fix Repeater CLI binary input, response indicators and empty sends - #26

Merged
Bikebrainz merged 6 commits into
Nullockfrom
fix/repeater-cli-request-bytes
Sep 29, 2026
Merged

Bikebrainz merged 6 commits into
Nullockfrom
fix/repeater-cli-request-bytes

Conversation

@Bikebrainz

@Bikebrainz Bikebrainz commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner

repeater set read request files through Bash command substitution, which removed NUL bytes and trailing newlines. It now transports file/stdin bytes as base64 and loads them through the same reversible editor mapping as captured requests.

  • Reject empty drafts and blank targets before accepting a send, preventing old responses from being reported as a successful no-op.
  • Report per-tab response presence correctly and reset stale response metadata when duplicating a request.
  • Preserve binary bodies and readable UTF-8 text; empty input clears the request and omitted input preserves it.
  • Reject unreadable files, malformed base64 and ambiguous encoding fields before changing the target or draft.
  • Preserve the existing text API and normal send settings, including header normalization and automatic Content-Length.
  • Update the public changelog, generated roadmap and CLI/API documentation alongside the fix.

Validation

  • CLI contract tests cover all 256 byte values, file/stdin input, empty input and unreadable files.
  • Real isolated application sends 76,804-byte bodies intact through both file and stdin, plus readable UTF-8 text. Invalid base64 preserves the draft and destination.
  • Fresh, completed and duplicated tab response indicators pass against the real app. Empty drafts and blank targets return errors without making a request or printing old response data. Existing history-ID and asynchronous send regressions pass.
  • The final local runtime regression passes 64 checks, including strict HTTPS, certificate-cache recovery and native-window startup.
  • Local Windows application build, all 102 native suites and all 20 control-responsiveness checks pass; website checks pass (81 Markdown targets, 3 integrity hashes, 117 pages), and the generated roadmap is current.
  • All eight cross-platform CI jobs passed on final head 6173ca36d4e88a3a33669bed379424aeab4763a0 (run 36543583792).

Prerequisites #22 and #25 are merged. This PR adds binary file/stdin loading, correct tab response indicators and explicit rejection of empty sends. Response Hex byte fidelity and immediate socket cancellation remain separate roadmap work.

@Bikebrainz Bikebrainz changed the title Preserve binary request files and stdin in Repeater CLI Fix Repeater CLI binary input and tab response indicators Sep 29, 2026
@Bikebrainz Bikebrainz changed the title Fix Repeater CLI binary input and tab response indicators Fix Repeater CLI binary input, response indicators and empty sends Sep 29, 2026
@Bikebrainz
Bikebrainz marked this pull request as ready for review September 29, 2026 09:08
@Bikebrainz
Bikebrainz merged commit 7e03697 into Nullock Sep 29, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant