Skip to content

Release Notes Window & Add ShowMsgWithButton API Function #3671

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Jun 9, 2025

Conversation

Jack251970
Copy link
Member

@Jack251970 Jack251970 commented Jun 7, 2025

Add release notes window

  • When Flow is updated, Flow will show message box with a button which can help you open release notes window.
  • In about page, we can open release window manually.
  • It will fetch three latest release notes and show them in the window.
  • If Flow failed to fetch release notes, it will pop up refresh button and error message.

Test

This comment has been minimized.

@Jack251970 Jack251970 requested a review from Copilot June 7, 2025 08:58
Copilot

This comment was marked as outdated.

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@Jack251970
Copy link
Member Author

Jack251970 commented Jun 9, 2025

Automatically opening a window after an update can often feel inconvenient for users. This approach is only truly useful when the update is optional and the user is given the choice to proceed. However, since our updates are applied automatically, there's little benefit in showing a separate window.

Instead, I believe the following approach would be more appropriate:

  1. In-app popup within the settings page
    If we really want to show something, it can appear as a notification or popup when the user opens the settings page.
  2. Notification banner at the top of the main page after an update (Recommended)
    For example: “The app has been updated. Click here to view the release notes.”
    → Clicking the banner(infobar with button) can either open a webpage or show a popup with the release notes.
  3. Add an “Update Info” item at the top of the tray menu after an update
    This menu item disappears after being clicked once.

Personally, I think option 2 strikes the best balance. It informs the user without being disruptive.

Additionally, if we’re fetching release notes from GitHub, we should consider that some users might be in regions where GitHub access is restricted. If we only show a "Refresh" button, users may simply respond with “Why isn’t it working?” → So we should include a clear message like “Please check your network connection or ensure GitHub is accessible.”

Added release notes fetch error message as required.

And I implemented a new api method which can show a message box with a button. And Flow will show it when it has been updated.

@Jack251970 Jack251970 requested a review from Copilot June 9, 2025 06:45
@Jack251970 Jack251970 added enhancement New feature or request kind/ui related to UI, icons, themes, etc labels Jun 9, 2025
Copilot

This comment was marked as outdated.

This comment has been minimized.

Copy link

gitstream-cm bot commented Jun 9, 2025

🥷 Code experts: onesounds

Jack251970, onesounds have most 👩‍💻 activity in the files.
onesounds, Jack251970 have most 🧠 knowledge in the files.

See details

Flow.Launcher.Infrastructure/Http/Http.cs

Activity based on git-commit:

Jack251970 onesounds
JUN 8 additions & 2 deletions
MAY
APR 17 additions & 16 deletions
MAR
FEB
JAN 42 additions & 8 deletions

Knowledge based on git-blame:
Jack251970: 29%

Flow.Launcher.Infrastructure/UserSettings/Settings.cs

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY 41 additions & 19 deletions 5 additions & 3 deletions
APR 34 additions & 83 deletions 104 additions & 38 deletions
MAR 142 additions & 94 deletions 10 additions & 0 deletions
FEB 10 additions & 4 deletions
JAN 17 additions & 4 deletions

Knowledge based on git-blame:
Jack251970: 26%
onesounds: 21%

Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY 4 additions & 1 deletions 5 additions & 0 deletions
APR 228 additions & 27 deletions
MAR
FEB 38 additions & 28 deletions
JAN 21 additions & 3 deletions

Knowledge based on git-blame:
Jack251970: 47%
onesounds: 1%

Flow.Launcher/App.xaml.cs

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY 13 additions & 4 deletions
APR 73 additions & 40 deletions 3 additions & 0 deletions
MAR 168 additions & 94 deletions
FEB 79 additions & 40 deletions
JAN 86 additions & 66 deletions

Knowledge based on git-blame:
Jack251970: 67%

Flow.Launcher/Flow.Launcher.csproj

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY
APR 3 additions & 1 deletions
MAR 1 additions & 5 deletions
FEB 11 additions & 10 deletions
JAN 4 additions & 2 deletions

Knowledge based on git-blame:
onesounds: 17%
Jack251970: 6%

Flow.Launcher/Languages/en.xaml

Activity based on git-commit:

Jack251970 onesounds
JUN 1 additions & 0 deletions 1 additions & 0 deletions
MAY 12 additions & 3 deletions 15 additions & 2 deletions
APR 22 additions & 21 deletions 45 additions & 23 deletions
MAR 67 additions & 42 deletions 8 additions & 3 deletions
FEB 15 additions & 9 deletions
JAN 1 additions & 0 deletions

Knowledge based on git-blame:
onesounds: 43%
Jack251970: 11%

Flow.Launcher/MainWindow.xaml.cs

Activity based on git-commit:

Jack251970 onesounds
JUN 65 additions & 67 deletions 85 additions & 15 deletions
MAY 140 additions & 43 deletions 5 additions & 1 deletions
APR 69 additions & 45 deletions 5 additions & 1 deletions
MAR 1141 additions & 1076 deletions 327 additions & 141 deletions
FEB 1 additions & 1 deletions 8 additions & 4 deletions
JAN

Knowledge based on git-blame:
Jack251970: 67%
onesounds: 16%

Flow.Launcher/Msg.xaml

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY
APR
MAR
FEB
JAN

Knowledge based on git-blame:

Flow.Launcher/Notification.cs

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY
APR 7 additions & 7 deletions
MAR
FEB
JAN

Knowledge based on git-blame:
Jack251970: 8%

Flow.Launcher/PublicAPIInstance.cs

Activity based on git-commit:

Jack251970 onesounds
JUN 19 additions & 5 deletions
MAY 124 additions & 131 deletions 190 additions & 74 deletions
APR 165 additions & 61 deletions
MAR 21 additions & 19 deletions
FEB 28 additions & 11 deletions
JAN 45 additions & 47 deletions

Knowledge based on git-blame:
Jack251970: 51%
onesounds: 9%

Flow.Launcher/Resources/CustomControlTemplate.xaml

Activity based on git-commit:

Jack251970 onesounds
JUN 73 additions & 0 deletions
MAY
APR 189 additions & 120 deletions
MAR 15 additions & 5 deletions
FEB 31 additions & 14 deletions
JAN

Knowledge based on git-blame:
onesounds: 100%

Flow.Launcher/SettingPages/ViewModels/SettingsPaneAboutViewModel.cs

Activity based on git-commit:

Jack251970 onesounds
JUN
MAY
APR 186 additions & 85 deletions 49 additions & 0 deletions
MAR 27 additions & 2 deletions
FEB 7 additions & 8 deletions
JAN 2 additions & 2 deletions

Knowledge based on git-blame:
Jack251970: 56%
onesounds: 7%

Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml

Activity based on git-commit:

Jack251970 onesounds
JUN 2 additions & 2 deletions
MAY
APR 11 additions & 2 deletions 43 additions & 13 deletions
MAR 9 additions & 1 deletions
FEB
JAN

Knowledge based on git-blame:
onesounds: 61%
Jack251970: 7%

To learn more about /:\ gitStream - Visit our Docs

@Jack251970 Jack251970 requested a review from Copilot June 9, 2025 06:48
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request introduces a Release Notes window that displays the latest release notes when Flow is updated or manually triggered from the about page. Key changes include:

  • Replacing the hyperlink with a button in the About settings pane to open the release notes.
  • Adding a new ReleaseNotesWindow along with its logic to fetch and render release notes using MdXaml.
  • Enhancing the notification system and public API to support error messages with actionable buttons.

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Flow.Launcher/SettingPages/Views/SettingsPaneAbout.xaml Updated release notes trigger from HyperLink to a Button binding
Flow.Launcher/SettingPages/ViewModels/SettingsPaneAboutViewModel.cs Added the command to open the release notes window
Flow.Launcher/Resources/CustomControlTemplate.xaml Added new resources and styles for rendering release notes in a markdown view
Flow.Launcher/ReleaseNotesWindow.xaml.cs Implemented the window for displaying release notes and handling refresh
Flow.Launcher/PublicAPIInstance.cs Extended public API with methods supporting error messages with buttons
Flow.Launcher/Notification.cs Updated notification handling to support actionable notifications via Toast
Flow.Launcher/MainWindow.xaml.cs Added logic to display the release notes window based on version updates
Other files (MsgWithButton, Msg, Languages, Settings, Http, csproj, etc.) Integration and supporting changes for the new release notes feature
Comments suppressed due to low confidence (1)

Flow.Launcher/Notification.cs:110

  • Consider renaming the local variable 'Icon' to 'icon' to conform to standard camelCase naming conventions.
var Icon = !File.Exists(iconPath) ? Path.Combine(Constant.ProgramDirectory, "Images\app.png") : iconPath;

Copy link

github-actions bot commented Jun 9, 2025

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors and Warnings Count
❌ forbidden-pattern 24
⚠️ non-alpha-in-dictionary 13

See ❌ Event descriptions for more information.

Forbidden patterns 🙅 (1)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

s.b. workaround(s)

\bwork[- ]arounds?\b
If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

@Jack251970 Jack251970 merged commit 60770da into dev Jun 9, 2025
11 checks passed
@Jack251970 Jack251970 deleted the release_notes branch June 9, 2025 08:01
@Jack251970 Jack251970 changed the title Release Notes Window Release Notes Window & Add ShowMsgWithButton API Function Jun 9, 2025
@Jack251970 Jack251970 modified the milestones: Future, 1.20.1 Jun 9, 2025
@Jack251970 Jack251970 modified the milestones: 1.20.1, Future Jun 10, 2025
@jjw24 jjw24 modified the milestones: Future, 1.20.1, 2.0.0 Jun 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request kind/ui related to UI, icons, themes, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants