You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix Linux window headers and delay update notifications - #528
Linux's drawn window decorations can offset caption buttons from Wheel Wizard's custom header. Update notifications can also arrive before Linux packages have caught up with a GitHub release. Align the Linux header and give every Linux installation a 24-hour grace period before announcing updates.
How to Test:
Automated checks passed:
33 updater and service registration tests in the normal build configuration.
30 updater tests with LINUX defined.
26 headless window and application composition tests.
On Linux, check header alignment on X11 and Wayland. Confirm that a release younger than 24 hours shows neither an update badge nor a popup, and that an eligible release can be announced after the cutoff. Native Linux visual verification remains outstanding; the delay does not guarantee package availability.
What Has Been Changed:
Remove the build-target OS label from settings.
Remove Linux decoration frame and shadow insets so caption buttons align with the custom header.
Apply the 24-hour delay using the runtime OS, including official Linux downloads and packaged installations.
Skip malformed release versions and withhold Linux notifications when the publication date is missing.
Keep Flatpak on manual updates and direct manual Linux updates through the package manager.
Related Issue Link:
N/A
Checklist before merging
You have created relevant tests
Summary by CodeRabbit
New Features
Linux update checks now offer releases only after they have been available for at least 24 hours.
Linux manual-update guidance directs users to their package manager and provides a link to release details.
Bug Fixes
Improved Linux title-bar spacing and caption-button fit.
Invalid release versions no longer interrupt update checks.
Style
Settings now identify the app version as “Dev” or “Release,” without displaying the build platform.
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
Walkthrough
The changes enable Linux update-platform selection, filter Linux releases by publication time, and provide package-manager guidance for manual updates. They also adjust Linux window decorations and simplify the settings version label.
Changes
Linux update behavior
Layer / File(s)
Summary
Release metadata and eligibility WheelWizard/Features/GitHub/Domain/GithubRelease.cs, WheelWizard/Features/AutoUpdating/AutoUpdaterSingletonService.cs, WheelWizard.Test/Features/AutoUpdating/AutoUpdaterTests.cs, WheelWizard.Test/Features/AutoUpdating/UpdateRegistrationTests.cs
GitHub releases now include a publication timestamp. The updater skips invalid tags and Linux releases without a timestamp or published less than one day earlier. Tests cover release selection and timing boundaries.
Linux window decorations change frame, shadow, and margin settings, and no longer override the maximized restore-button path. Tests check caption-button placement and dimensions.
Version label
Layer / File(s)
Summary
Settings release text WheelWizard/Features/Settings/Views/SettingsVersionInfo.axaml.cs, WheelWizard.UI.Test/ApplicationCompositionTests.cs
The settings version label now shows only Dev or Release. The composition test checks the control and label text.
The change adjusts Linux window headers and delays Linux update notifications by 24 hours. No concrete merge-blocking risk was found. Visual checks on X11 and Wayland are still outstanding.
Pre-merge checks | 4 | 1
❌ Failed checks (1 warning)
Check name
Status
Explanation
Resolution
Docstring Coverage
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 21 functions across 9 files. (1 skipped: 1…
Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name
Status
Explanation
Title check
The title clearly summarizes the two main changes: Linux window header alignment and delayed update notifications.
Description check
The description includes all required template sections, explains the purpose and changes, documents testing, identifies outstanding Linux visual verification, and completes the checklist.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 21 functions across 9 files. (1 skipped: 1 unsupported.)
Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
Commit to this branch
Create a new PR
🧪 Generate unit tests (beta)
Commit to this branch
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.
A rabbit checks the release date, Then waits one day beside the gate. The Linux buttons settle right, The version text stays short and bright. I twitch my ears: the tests all pass!
Comment @coderabbitai help to get the list of available commands.
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
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.
Purpose of this PR:
Linux's drawn window decorations can offset caption buttons from Wheel Wizard's custom header. Update notifications can also arrive before Linux packages have caught up with a GitHub release. Align the Linux header and give every Linux installation a 24-hour grace period before announcing updates.
How to Test:
Automated checks passed:
LINUXdefined.On Linux, check header alignment on X11 and Wayland. Confirm that a release younger than 24 hours shows neither an update badge nor a popup, and that an eligible release can be announced after the cutoff. Native Linux visual verification remains outstanding; the delay does not guarantee package availability.
What Has Been Changed:
Related Issue Link:
N/A
Checklist before merging
Summary by CodeRabbit