Skip to content

Keep native Repeater sends responsive and expose Stop - #30

Open
Bikebrainz wants to merge 3 commits into
Nullockfrom
fix/native-repeater-send
Open

Bikebrainz wants to merge 3 commits into
Nullockfrom
fix/native-repeater-send

Conversation

@Bikebrainz

@Bikebrainz Bikebrainz commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

What changes

The native Repeater window called the blocking send method even though the browser, API and CLI already used the background worker. Native Send now calls sendAsync, displays Send/Stop progress and disables Send/Clear while work is active.

The handler copies the visible target fields before starting; Rectangle buttons do not necessarily move focus out of an edited field. Blank hosts and ports outside 1–65535 disable Send. The cancellation property is exposed to QML so Stop shows its pending state.

Stop still waits for the current response or transport timeout and skips subsequent redirects. Immediate socket cancellation and simultaneous requests remain separate work. The website roadmap, changelog, docs and build checklist reflect that distinction.

Validation

  • Windows Release build passed.
  • A QML harness extracts and executes the actual native controls with a test backend. It verifies the asynchronous call, visible target values, invalid ports/blank hosts, disabled busy controls, pending Stop, completion recovery and Clear.
  • Real application: 64 runtime checks with the native window and 20 control responsiveness checks passed, including request-edit preservation, cancellation and shutdown.
  • The QML harness is included in Windows CI.
  • Website links and generated roadmap passed; changelog and roadmap render at desktop/mobile widths without script errors or overflow.
  • Merge requires all eight CI jobs green on the exact head.

Dependencies #28 and #29 are merged. This PR contains the native Send/Stop controls, their QML regression and matching documentation.

Owner: Bikebrainz.

This branch has not been deployed

No deployments
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