added toggle in settings and a launch option to start retro rewind right away#247
added toggle in settings and a launch option to start retro rewind right away#247Neo11Neo wants to merge 3 commits intoTeamWheelWizard:mainfrom
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe App initialization logic has been extended to parse command-line arguments for launch protocol URLs ( Changes
Sequence DiagramsequenceDiagram
participant App
participant DI as DI Container
participant Manager as UrlProtocolManager
participant Launcher as RrLauncher
App->>App: Parse arguments
App->>App: GetLaunchProtocolArgument()<br/>(detect wheelwizard://)
alt Protocol URL present
App->>Manager: ShowPopupForLaunchUrlAsync(url)
end
App->>App: Initialize (updates, badges, managers)
App->>App: GetStartupLaunchTarget()<br/>(detect --launch/rr)
alt Launch Target is RetroRewind
App->>DI: Resolve RrLauncher
App->>Launcher: Launch()
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@WheelWizard/Views/App.axaml.cs`:
- Around line 67-68: The argument is detected case-insensitively in App.axaml.cs
using argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase)
but returned with original casing, which breaks the case-sensitive strip in
UrlProtocolManager.cs; modify the return so the protocol scheme is normalized to
the lowercase "wheelwizard://" prefix (e.g., build and return "wheelwizard://" +
the remainder of the original argument after the prefix) so downstream
UrlProtocolManager parsing (case-sensitive Replace) will succeed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: deb4168c-1ea2-44d6-8779-7b637d77c600
📒 Files selected for processing (1)
WheelWizard/Views/App.axaml.cs
| if (argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase)) | ||
| return argument; |
There was a problem hiding this comment.
Normalize protocol scheme before returning to avoid mixed-case launch failures.
At Line 67, detection is case-insensitive, but the returned value keeps original casing. WheelWizard/Services/UrlProtocol/UrlProtocolManager.cs strips prefix with a case-sensitive replace, so WheelWizard://... will be detected here but fail parsing downstream.
Proposed fix
- if (argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase))
- return argument;
+ if (argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase))
+ return $"wheelwizard://{argument["wheelwizard://".Length..]}";📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| if (argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase)) | |
| return argument; | |
| if (argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase)) | |
| return $"wheelwizard://{argument["wheelwizard://".Length..]}"; |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@WheelWizard/Views/App.axaml.cs` around lines 67 - 68, The argument is
detected case-insensitively in App.axaml.cs using
argument.StartsWith("wheelwizard://", StringComparison.OrdinalIgnoreCase) but
returned with original casing, which breaks the case-sensitive strip in
UrlProtocolManager.cs; modify the return so the protocol scheme is normalized to
the lowercase "wheelwizard://" prefix (e.g., build and return "wheelwizard://" +
the remainder of the original argument after the prefix) so downstream
UrlProtocolManager parsing (case-sensitive Replace) will succeed.
|
nice idea! Anyways, it all works. I will merge it if that is changed! |
…nching wheel wizard through gamebanana
|
@DirkDoes Sure i was not familiar with game banana but i created a fix for it. Hope it works for you and we can merge! |
|
awsome!, will check it later today and if everything is good, I will merge it! |
Purpose of this PR:
Adds command-line launch support and settings toggle so WheelWizard can automatically start Retro Rewind at app startup, without needing to click Play in the UI.
How to Test:
What Has Been Changed:
I hope you like the change. Now we can start playing rr even faster than before :)
Summary by CodeRabbit