Skip to content

Fix/toast navigation and source add feedback - #5377

Merged
Gabriel Dufresne (GabrielDuf) merged 4 commits into
mainfrom
fix/toast-navigation-and-source-add-feedback
Sep 14, 2026
Merged

Gabriel Dufresne (GabrielDuf) merged 4 commits into
mainfrom
fix/toast-navigation-and-source-add-feedback

Conversation

@GabrielDuf

@GabrielDuf Gabriel Dufresne (GabrielDuf) commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Two defects found while testing the release.

The "updates available" toast never opened Software Updates. It activates with a unigetui://<action> launch URI, and the shell appends a trailing separator before handing it to the handler, so the parsed action was openUniGetUIOnUpdatesTab/ and matched no notification argument. The window still came forward because the secondary-instance handler foregrounds unconditionally, which is why it looked like the toast only raised the window. The action is now trimmed and matched case-insensitively. Verified by activating through the registered handler and reading the resulting page back over the IPC API.

Adding a custom source did nothing, silently. The form returned early on a blank name or a URL that is not an absolute Uri — no message, no log entry, no operation. A URL typed without its scheme is the usual way to hit it. The reason is now shown under the fields and cleared on the next edit.

Both new strings are translated into all 58 active locales; Uzbek is skipped, as it is not in LanguagesReference.json and an earlier review already removed new translations from that file. TranslatedPercentages.json is deliberately left out of this PR: its stored values are already stale on main, where 21 languages compute at 99% with no missing keys at all, so refreshing it belongs in its own change rather than mixed in here.

Not addressed: a toast clicked after UniGetUI has exited still will not navigate (the cold-start path never parses the deep link), and macOS routes no notification action at all.

Copilot AI 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.

🟡 Changes recommended

Translation metadata remains stale, and the new validation feedback is not announced to screen readers.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Fixes warm-start toast navigation and adds visible validation feedback when creating custom sources.

Changes:

  • Normalizes toast actions and compares them case-insensitively.
  • Adds source name/URL validation feedback that clears on edits.
  • Localizes validation messages across all 59 registered locale files.
File summaries
File Description
src/UniGetUI.Avalonia/Infrastructure/WindowsAppNotificationBridge.cs Trims trailing separators from toast actions.
src/UniGetUI.Avalonia/ViewModels/MainWindowViewModel.cs Matches notification actions case-insensitively.
src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SourceManagerCardViewModel.cs Adds and clears source validation errors.
src/UniGetUI.Avalonia/Views/Pages/SettingsPages/SourceManagerCard.axaml Displays source validation errors.
src/Languages/lang_af.json Adds localized validation strings.
src/Languages/lang_ar.json Adds localized validation strings.
src/Languages/lang_be.json Adds localized validation strings.
src/Languages/lang_bg.json Adds localized validation strings.
src/Languages/lang_bn.json Adds localized validation strings.
src/Languages/lang_ca.json Adds localized validation strings.
src/Languages/lang_cs.json Adds localized validation strings.
src/Languages/lang_da.json Adds localized validation strings.
src/Languages/lang_de.json Adds localized validation strings.
src/Languages/lang_el.json Adds localized validation strings.
src/Languages/lang_en.json Defines the validation source strings.
src/Languages/lang_eo.json Adds localized validation strings.
src/Languages/lang_es-MX.json Adds localized validation strings.
src/Languages/lang_es.json Adds localized validation strings.
src/Languages/lang_et.json Adds localized validation strings.
src/Languages/lang_fa.json Adds localized validation strings.
src/Languages/lang_fi.json Adds localized validation strings.
src/Languages/lang_fil.json Adds localized validation strings.
src/Languages/lang_fr.json Adds localized validation strings.
src/Languages/lang_gl.json Adds localized validation strings.
src/Languages/lang_gu.json Adds localized validation strings.
src/Languages/lang_he.json Adds localized validation strings.
src/Languages/lang_hi.json Adds localized validation strings.
src/Languages/lang_hr.json Adds localized validation strings.
src/Languages/lang_hu.json Adds localized validation strings.
src/Languages/lang_id.json Adds localized validation strings.
src/Languages/lang_it.json Adds localized validation strings.
src/Languages/lang_ja.json Adds localized validation strings.
src/Languages/lang_ka.json Adds localized validation strings.
src/Languages/lang_kn.json Adds localized validation strings.
src/Languages/lang_ko.json Adds localized validation strings.
src/Languages/lang_ku.json Adds localized validation strings.
src/Languages/lang_lt.json Adds localized validation strings.
src/Languages/lang_mk.json Adds localized validation strings.
src/Languages/lang_mr.json Adds localized validation strings.
src/Languages/lang_nb.json Adds localized validation strings.
src/Languages/lang_nl.json Adds localized validation strings.
src/Languages/lang_nn.json Adds localized validation strings.
src/Languages/lang_pl.json Adds localized validation strings.
src/Languages/lang_pt_BR.json Adds localized validation strings.
src/Languages/lang_pt_PT.json Adds localized validation strings.
src/Languages/lang_ro.json Adds localized validation strings.
src/Languages/lang_ru.json Adds localized validation strings.
src/Languages/lang_sa.json Adds localized validation strings.
src/Languages/lang_si.json Adds localized validation strings.
src/Languages/lang_sk.json Adds localized validation strings.
src/Languages/lang_sl.json Adds localized validation strings.
src/Languages/lang_sq.json Adds localized validation strings.
src/Languages/lang_sr.json Adds localized validation strings.
src/Languages/lang_sv.json Adds localized validation strings.
src/Languages/lang_ta.json Adds localized validation strings.
src/Languages/lang_th.json Adds localized validation strings.
src/Languages/lang_tl.json Adds localized validation strings.
src/Languages/lang_tr.json Adds localized validation strings.
src/Languages/lang_uk.json Adds localized validation strings.
src/Languages/lang_ur.json Adds localized validation strings.
src/Languages/lang_vi.json Adds localized validation strings.
src/Languages/lang_zh_CN.json Adds localized validation strings.
src/Languages/lang_zh_TW.json Adds localized validation strings.
Review details
  • Files reviewed: 63/63 changed files
  • Comments generated: 2
  • Review effort level: Balanced (auto)

Note

Copilot is running an experiment and ran this review at Balanced.


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/Languages/lang_en.json

Copilot AI 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.

🟢 Approval recommended

The fixes match the reported defects, preserve accessibility behavior, and all registered locale files contain valid nonempty entries.

Review details
  • Files reviewed: 63/63 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced (auto)

Note

Copilot is running an experiment and ran this review at Balanced.

@randy-but-a-ro randy-but-a-ro Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🤖 Pull request was approved automatically: the AI review is complete and all its review threads are resolved. 🎉

Integration Details
{
	"deliveryId": "311cdd70-b07a-11f1-9e5e-c434b32b37b5",
	"headSha": "9ef875d79700d2f09c0624315dacd2aa792099f1",
	"reviewer": "copilot-pull-request-reviewer[bot]"
}

@GabrielDuf
Gabriel Dufresne (GabrielDuf) merged commit 4c7b6d0 into main Sep 14, 2026
7 checks passed
@GabrielDuf
Gabriel Dufresne (GabrielDuf) deleted the fix/toast-navigation-and-source-add-feedback branch September 14, 2026 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants