Repository navigation
Add alternate ingress and shared browser HTTP retries with reboop - #57
Merged
Merged
Conversation
added 4 commits
October 25, 2026 20:37
Introduce a dedicated Nginx stream proxy to handle inbound HTTP, HTTPS, and mTLS-HTTP2 relay connections. Configure it to forward traffic to the origin server while preserving TLS, SNI, and client certificates where needed. Add a targeted Ansible playbook to verify origin reachability, deploy the validated TCP-only Nginx configuration, manage UFW firewall rules, and run pre/post-deployment content probes. Include a set of read-only diagnostic scripts to investigate API and dashboard connectivity issues across different network paths, browsers, and TLS implementations. Add tests for the new client-side API retry logic and the `ApiImage` component utilising that transport.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Browser API reads now recover from network and body-stream failures through the published reboop client, while writes remain single-attempt operations. The shared adapter preserves cookies, session ordering, cancellation, response metadata, binary avatars, and the longer GitHub discovery deadline. Browser-relative API configuration resolves against the page URL while an explicitly configured API origin is preserved.
The branch also adds the alternate TCP ingress/proxy playbook and read-only diagnostics. All application HTTP calls, including the Hugo SVG load, use reboop; ESLint and CI prevent new native transport calls. Bootstrap and isolated Hugo builds receive the locked production runtime without a Node toolchain on the VPS.
Validation includes 87 passing unit tests, 80 passing shared-header and 35 brand browser scenarios across all five profiles, contract and real-socket tests, browser deadline/cancellation regressions, standalone Hugo/bootstrap tests, directed mutation challenges, production builds, and a full local interface run. Timing-sensitive animation/selection tests use controlled clocks, and browser proxy fixtures drain intercepted responses before disposing their request contexts. GitHub Actions checks for the PR head are the release gate. DNS remains browser-controlled, so retries do not guarantee selecting another address.