Skip to content

fix: probe the retro wfc payload at its current https endpoint - #529

Open
wiillownet wants to merge 1 commit into
TeamWheelWizard:mainfrom
wiillownet:fix/wfc-payload-probe-uri
Open

wiillownet wants to merge 1 commit into
TeamWheelWizard:mainfrom
wiillownet:fix/wfc-payload-probe-uri

Conversation

@wiillownet

@wiillownet wiillownet commented Oct 13, 2026 •

Copy link
Copy Markdown

Purpose of this PR:

RecompRetroWfcPayloadProbe and the WiiCompiled setup host check two different servers, so Wheel Wizard can report Retro WFC as down while the real payload download would work.

  • The probe checks http://nas.play.rwfc.net/payload?g=RMCPD00.
  • Since https payload patchzyy/Wiicompiled#198, the setup host downloads from https://rwfc.net/api/wfc/payload?g=RMCPD00 (RetroWfcPayload.CurrentRetroWfcPayloadUri, the same in v0.2.34 and main).
  • The probe's doc comment says the two must stay identical, because probing anything else says nothing about whether the host's download will succeed.

The two currently serve the same payload, byte for byte. They are separate servers, though (an nginx host vs. Cloudflare), and can go down independently. During my test, the old host timed out (no response in 20 s) while the new one answered 200. Install then showed "Retro WFC is unreachable" and offered only an offline-only build.

How to Test:

  1. Compare RecompRetroWfcPayloadProbe.PayloadUri with CurrentRetroWfcPayloadUri in RetroWfcPayload.cs. They now match.
  2. With WiiCompiled (beta) enabled, click Install on Home. The install should go through without the offline-only prompt.
  3. dotnet test WheelWizard.Test

I ran this change on macOS (M2, macOS 26.5.1) with the #520 branch, and the install completed with the Retro WFC payload. I can't say that this change is what made the prompt go away: the old host may have recovered around the same time, and the probe's failure didn't show up in the log. dotnet test WheelWizard.Test passes (606/606).

What Has Been Changed:

  • RecompRetroWfcPayloadProbe.PayloadUri now points at https://rwfc.net/api/wfc/payload?g=RMCPD00.
  • Removed the doc comment's line about plain HTTP being what the service offers and what the host pins, since the host now pins HTTPS.

Related Issue Link:

None filed; found while testing #520. Happy to open one if you'd rather track it.

Checklist before merging

  • You have created relevant tests

No test added: the change is a single constant. A test that pins the same string again wouldn't catch the real failure mode, which is the URL in the WiiCompiled repo changing again.

Summary by CodeRabbit

  • Bug Fixes
    • Updated the Retro WFC payload address to use a secure HTTPS endpoint.

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 30a12ac8-6bee-4f71-987c-941cbb447b92
📥 Commits

Reviewing files that changed from the base of the PR and between 14c0c7c and 4556d38.

📒 Files selected for processing (1)
  • WheelWizard/Features/Recomp/RecompRetroWfcPayloadProbe.cs

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

📝 Walkthrough

The payload probe now uses the HTTPS rwfc.net API endpoint. Its documentation states that the host verifies the payload’s RSA signature and rejects untrusted downloads.

Changes: Payload probe endpoint

Layer / File(s) Summary
Update payload endpoint
WheelWizard/Features/Recomp/RecompRetroWfcPayloadProbe.cs
PayloadUri now uses the HTTPS API URL. The comment describes host-side RSA signature verification and rejection of untrusted downloads.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 4556d

The probe now targets the payload endpoint accepted by the setup host. No material risk introduced by this URL change remains established.

Pre-merge checks · Passed 5
Passed Passed checks (5 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: updating the Retro WFC payload probe to the current HTTPS endpoint.
Description check Passed The description includes all template sections, explains the endpoint mismatch, documents testing, reports test results, and explains why no test was added. The unchecked test checklist item is consis…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checked the payload trail,
Then hopped to HTTPS without fail.
The host checks signatures at the gate,
And turns away downloads it won’t validate.
I nibble greens and thump my feet,
A safer endpoint, crisp and neat!

Comment @coderabbitai help to get the list of available commands.

@wiillownet wiillownet mentioned this pull request Oct 13, 2026
1 task done

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