Skip to content

Updated resources for v3 release#428

Open
nefarius wants to merge 8 commits into
masterfrom
v3-stable-release
Open

Updated resources for v3 release#428
nefarius wants to merge 8 commits into
masterfrom
v3-stable-release

Conversation

@nefarius

@nefarius nefarius commented Mar 30, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Documentation

    • Updated in-app and installer links and labels to point to the Version 3 stable documentation and to read “Open documentation.”
    • Adjusted installer messaging to say a web page should open in the default browser.
  • New Features

    • Added an installer dialog that guides users to the online documentation.
    • Installer now checks for the .NET 9 Desktop Runtime (x64) and aborts installation with error 9001 if absent.
  • Chores

    • Renamed release label to “Version 3 (Stable).”
    • Minor file formatting and UI text refinements.

@coderabbitai

coderabbitai Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1b68f9bc-76bc-4588-b4bb-7f485fd49014

📥 Commits

Reviewing files that changed from the base of the PR and between 53b5be2 and e2ba339.

📒 Files selected for processing (1)
  • setup/InstallScript.cs
🚧 Files skipped from review as they are similar to previous changes (1)
  • setup/InstallScript.cs

📝 Walkthrough

Walkthrough

Replaces beta wording and experimental v3 links with stable v3 documentation links, updates the DevicesPage troubleshooting hyperlink and removes a leading BOM, and introduces renamed installer dialog/actions and a .NET 9 runtime prerequisite with associated checks and messaging.

Changes

Documentation & Installer

Layer / File(s) Summary
Release wording
README.md
Changed "Version 3 (Beta)" wording to indicate Version 3 is stable and updated the releases call-to-action and installation link to v3.
Devices page link
ControlApp/Views/Pages/DevicesPage.xaml
Removed leading BOM on root <Page> tag; updated ui:HyperlinkButton NavigateUri to the stable v3 troubleshooting anchor (.../v3/How-to-Install/#troubleshooting).
Installer constants & UI scheduling
setup/InstallScript.cs
Replaced BetaArticleUrl with OnlineDocumentationUrl, removed BOM-only change, changed InstallFinalize scheduling to use OpenOnlineDocumentation, and replaced BetaArticleDialog with OnlineDocumentationDialog in the managed UI chain.
Runtime prerequisite injection
setup/InstallScript.cs
Inserted CustomActions.CheckDotNetRuntime into LaunchConditions (gated on NOT_Installed) and added installer error 9001 for missing .NET 9 Desktop Runtime (x64).
Runtime check implementation
setup/InstallScript.cs
Implemented CheckDotNetRuntime(Session) probing ProgramFiles dotnet shared runtime folders, accepting major versions >= 9, logging failures, recording error 9001, and returning failure when absent.
Open documentation action & logs
setup/InstallScript.cs, setup/Dialogs/OnlineDocumentationDialog.xaml(.cs)
Added OpenOnlineDocumentation(Session) to launch installer docs URL (logs Online documentation launch failed on exceptions), updated dialog XAML/class to OnlineDocumentationDialog, corrected OpenDonationPage exception log text, and adjusted XML doc comments.

Sequence Diagram(s)

sequenceDiagram
    participant InstallScript as InstallScript
    participant MSI_UI as OnlineDocumentationDialog
    participant Model as OnlineDocumentationDialogModel
    participant OS as Browser (Process)

    InstallScript->>MSI_UI: Launch OnlineDocumentationDialog
    MSI_UI->>Model: Init() / set DataContext
    User->>MSI_UI: Click "Open documentation" link
    MSI_UI->>Model: Hyperlink navigation handler
    Model->>OS: Process.Start(InstallScript.OnlineDocumentationUrl)
    OS-->>Model: (browser opens / error)
    User->>MSI_UI: Click Next
    MSI_UI->>Model: GoNext()
    Model->>InstallScript: Shell.GoNext()
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

documentation, enhancement

Poem

🐰 From beta burrows to stable ground,
Links retied and class renamed found.
A dialog hops in, calm and bright,
Opens docs and guides your flight.
Version three now steady—hop delight.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Updated resources for v3 release' accurately captures the main objective of the changeset, which transitions documentation links and UI labels from beta v3 to stable v3 across multiple files.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

@coderabbitai

coderabbitai Bot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor

Note

Docstrings generation - SUCCESS
Generated docstrings and committed to branch v3-stable-release (commit: 7b4cbf2ea5e0888bd8acf5bac25214fc760e5e5e)

Docstrings generation was requested by @nefarius.

The following files were modified:

* `setup/Dialogs/OnlineDocumentationDialog.xaml.cs`
* `setup/InstallScript.cs`

These file types are not supported:
* `ControlApp/Views/Pages/DevicesPage.xaml`
* `README.md`
* `setup/Dialogs/OnlineDocumentationDialog.xaml`

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
setup/Dialogs/OnlineDocumentationDialog.xaml.cs (1)

28-33: Consider declaring the field before its usage.

The _model field is declared on line 33 after being used in Init() on line 30. While this is valid C#, conventional ordering places field declarations before methods for better readability.

♻️ Optional reordering
 public partial class OnlineDocumentationDialog : WpfDialog, IWpfDialog
 {
+    private OnlineDocumentationDialogModel _model;
+
     /// <summary>
     /// Initializes a new instance of OnlineDocumentationDialog and initializes its WPF UI components.
     /// </summary>
     public OnlineDocumentationDialog()
     {
         InitializeComponent();
     }

     /// ...
     public void Init()
     {
         DataContext = _model = new OnlineDocumentationDialogModel { Host = ManagedFormHost };
     }

-    private OnlineDocumentationDialogModel _model;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@setup/Dialogs/OnlineDocumentationDialog.xaml.cs` around lines 28 - 33, The
_model field is declared after it’s used in Init(), which hurts readability;
move the field declaration for _model (type OnlineDocumentationDialogModel)
above the Init() method (so it's declared before DataContext/_model assignment)
or alternatively initialize it inline at declaration to ensure the field appears
before methods like Init() that reference it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@setup/InstallScript.cs`:
- Around line 374-380: The XML documentation for the donation page opener
contains a malformed/unclosed <summary> tag; locate the docblock immediately
above the method that opens the donations page (the comment starting "Open
donations page in default browser." / "Opens the donation web page..." in
InstallScript.cs) and fix the XML by removing the extra opening <summary> or
closing it properly so there is exactly one well-formed <summary> ... </summary>
element, ensure the <param> and <returns> tags remain intact and valid, and run
the compiler or XML doc check to verify the warning is gone.
- Around line 351-357: The XML doc for the method that opens the product's
online documentation has a malformed/unclosed <summary> tag; edit the
documentation above that method (the comment block describing "Open online
documentation in default browser" / "Opens the product's online documentation
URL in the user's default browser") to remove the stray duplicate <summary>
start tag and ensure there is a single properly opened and closed <summary>
section (i.e., one <summary> ... </summary>) and keep the <param> and <returns>
tags unchanged so the XML documentation is well-formed for the method that
launches the docs.
- Around line 301-307: The XML doc for the method that downloads and installs
BthPS3 contains an unclosed <summary> tag (the first summary before the one
describing downloading metadata); close the initial <summary> properly (or
remove the duplicate) so there is a single well-formed <summary> section for the
method that references the session parameter and return information; update the
XML comment surrounding the "Download and install BthPS3" description to be one
coherent <summary> block and ensure all XML tags are properly closed.

---

Nitpick comments:
In `@setup/Dialogs/OnlineDocumentationDialog.xaml.cs`:
- Around line 28-33: The _model field is declared after it’s used in Init(),
which hurts readability; move the field declaration for _model (type
OnlineDocumentationDialogModel) above the Init() method (so it's declared before
DataContext/_model assignment) or alternatively initialize it inline at
declaration to ensure the field appears before methods like Init() that
reference it.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 47dff494-d170-4802-a124-3f99bf74c764

📥 Commits

Reviewing files that changed from the base of the PR and between 40f5f9b and 7b4cbf2.

📒 Files selected for processing (2)
  • setup/Dialogs/OnlineDocumentationDialog.xaml.cs
  • setup/InstallScript.cs

Comment thread setup/InstallScript.cs
Comment thread setup/InstallScript.cs
Comment thread setup/InstallScript.cs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@setup/InstallScript.cs`:
- Around line 246-260: The runtime directory name parsing fails for preview
names like "9.0.0-preview..."; update the check in the block that iterates
Directory.GetDirectories(runtimeDir) (using Path.GetFileName(versionDir)) to
normalize dirName before Version.TryParse: strip any "-" and everything after
(or extract the leading numeric semver token) to get a numeric version string,
then call Version.TryParse on that normalized string and evaluate
installedVersion.Major >= 9; ensure you still handle parse failures gracefully
(skip non-parseable names) and keep the existing session.Log and return
ActionResult.Success behavior when a qualifying runtime is found.
🪄 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: CHILL

Plan: Pro Plus

Run ID: 27707b10-ecd6-4124-a056-2267a96718b8

📥 Commits

Reviewing files that changed from the base of the PR and between dcfade0 and 53b5be2.

📒 Files selected for processing (1)
  • setup/InstallScript.cs

Comment thread setup/InstallScript.cs
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