Skip to content

Release 7.0.9-beta - #1035

Merged
justcoding121 merged 32 commits into
betafrom
develop
Sep 15, 2026
Merged

justcoding121 merged 32 commits into
betafrom
develop

Conversation

@justcoding121

Copy link
Copy Markdown
Owner

Summary

  • Bump VersionPrefix to 7.0.9 for product cut v7.0.9-beta / NuGet 7.0.9-beta.
  • HTTP/2: defer client WINDOW_UPDATE until origin SETTINGS is on the wire (no frame-loop deadlock); HasBody for H2 request bodies without Content-Length.
  • Inspector trust/rotate/decrypt UX hardening; opt-in cleartext destination Host; Capture toggle and CLI e2e work from develop.
  • Chocolatey held (CHOCOLATEY_API_KEY unset). No winget for this cut.

Test plan

  • PR gates green (build, ui-portable all OS, RPS spot all OS, path guard)
  • After merge: rps-publish-gate + rps-peer-gate green, then v7.0.9-beta + NuGet 7.0.9-beta
  • Download Beta = v7.0.9-beta; Stable stays v7.0.6
  • publish-chocolatey skipped; no new winget PRs

justcoding121 and others added 27 commits September 11, 2026 14:26
Move Root-store, WinINET, and listener start off the Avalonia UI thread so Decrypt HTTPS, System proxy, and Start no longer freeze the window for seconds before the control updates.
…angs.

Keep Root-store CryptUI on a pumping thread, serialize system-proxy WinINET with generation cancel on Stop, and skip live Firefox pref writes under TITANIUM_SKIP_ROOT_STORE_UI so unit tests cannot wedge waiting on OS dialogs.
Skip buffering SSE/WS and huge Content-Length, tee a 2 MiB preview, and surface Save/Pretty/image with push-layout tool icons so Composer stays usable while the session grid scrolls.
Serialize Firefox/store background work, skip hot Root Finds and Program Files policies I/O, snap Decrypt/System proxy via OneWay+Command, and add always-on ux-trace timing for hang diagnosis.
…coverage.

Stop Windows Trust Firefox falling through to NSS certutil, skip the second Clear+Install confirm before CryptUI, bound process timeouts, and add CI decision/stress plus Headless Confirm coverage.
…er.js growth.

Consent dialogs no longer share StatusCancelToken (5s toast revert was cancelling ConfirmRotate). Pref rewrites use SplitPrefFileLines so Windows CRLF no longer balloon Firefox user.js.
Cover the command tree through Plus control-plane and feature leaves in CI via a new cli-e2e matrix so local CliQaProbe QA is no longer required for day-to-day coverage.
Add a Features catalog and homepage cards so potential users see Inspector tools, login-safe decrypt, and the reverse-proxy engine without digging into how-tos.
Refresh learned exclusions, breakpoint hits, filters, and inspect tabs while capturing; apply retention without restart. Add titanium reload (Windows event + Unix SIGHUP), --watch, systemd ExecReload, and document live route/cluster apply as a reverse-proxy edge.
Also surface CLI live reload in the Features catalog and highlight bullets.
Close the pane on Clear/remove, stop breakpoint and Composer Send from forcing it open, and suppress open-on-select for right-click context prep.
…e tools pane.

The Scripts watermark looked like grammar, and GraphQL operationName sat with response fields instead of URL match.
Idle QUIC dropped the warm flag, so a second visit to an Alt-Svc origin stayed on HTTP/2. Cache hits now select H3 immediately; mid-connection H2 to H3 upgrades stay off.
Chrome and Edge aborted the handshake (ERR_HTTP2_PROTOCOL_ERROR) while we awaited origin ALPN. Cap that wait at 200ms, speculate client h2, and apply the probe after TLS without an extra origin connection.
Hold Chocolatey publish until earlier packages clear moderation.
Preserve client Host by default; only rewrite on the wire when UseDestinationHost or RequestHostUseDestination is set, and fix E2E races plus CLI Debug/Release selection so local and CI run the intended build.
…tests.

Stop OneWay toggle bounce from re-enabling MITM mid-rotate/remove, and align headless/unit waits with async trust and context-menu visibility.
Set Busy immediately after trust confirms so dialog-call waiters cannot finish early while _trustCommandBusy is held, and allow Sonar begin/end to fail without skipping the build Test job.
…ts are turned off.

Cancel was falling back to the open folder, and a paused request stayed hung until timeout after disable or Stop.
The rotate finally block forced MITM off even after ConfirmCancel. Snap OneWay toggles via SetCurrentValue only, including Capture local traffic.
…est body without Content-Length.

HttpClient PROTOCOL_ERROR when receive-credit WINDOW_UPDATE raced ahead of origin SETTINGS after large gzip body transforms. Also align Request.HasBody with Response for omitted Content-Length on H2/H3.
…2 GET as a body.

Snapshot OriginalHasBody from HEADERS END_STREAM (H2) or a positive Content-Length (H3) so gzip recompress can drop Content-Length. Omitted-CL GET stays bodiless so H2 to H1 cannot hang on a request-body channel that never completes.
…g the frame loop.

Awaiting ServerSettingsRelayed inside receive-credit grants deadlocked H2→H1 NullOrigin bridges; keep credit pending and flush once via continuation so HttpClient still sees SETTINGS first.
SetOutcomeStatus cleared IsStatusBusy while _trustCommandBusy was still held, so the next Install/Rotate/Untrust was rejected mid stress loop. Publish outcomes after EndTrustCommand; stop coupling rotate waits to transient status text.
RemoveRoot_ForcesDecryptOff raced Install against an unfinished Untrust and Assert.IsTrue after 50ms; wait on trusted/busy instead.
macOS AutoResponder_Crud_AndInject hit EADDRNOTAVAIL on 127.0.0.1:0 because StartCapture set IsRunning before the VM copied BoundPort.
…e quality gate.

Pass CancellationTokens explicitly, fix always-true Length and Reload/RunCommand dead branches, and add Inspector/CLI/CertificateManager unit coverage toward the 80% new_coverage bar.
Remove dead ReloadCommand null check; initialize watch debounce on the main flow; exclude OS Firefox trust + dual-stack bridge handlers from coverage like other platform seams; add CertificateManager/Interception/Trust unit coverage.
Exclude OS-dialog Trust ViewModel from coverage (same seam class as FirefoxCertificateTrust) and add targeted tests for the remaining uncovered new-code arms.
@sonarqubecloud

Copy link
Copy Markdown

@justcoding121
justcoding121 merged commit 8c77658 into beta Sep 15, 2026
37 checks passed

This branch was successfully deployed

1 active deployment
github-pages — 38e0043d Deployed Sep 15, 2026 by github-actions[bot] via deploy #422
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