Ivy-Interactive / Ivy-Interactive/Rustino
[Notifications]: Windows native toast notifications are silently dropped without a registered AppUserModelID (AUMID)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 6
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
Description
When using the Rustino native notifications API on Windows, toast notifications are silently swallowed by the operating system if the provided app_id is not tied to a registered AppUserModelID (AUMID) via a Start Menu .lnk shortcut.
The library executes without throwing any errors, giving the false impression that the notification was successfully displayed, but nothing appears in the Windows Action Center. This makes it impossible to use native notifications for standard, unpackaged executable applications (.exe builds) out of the box.
Steps to Reproduce
- Build an application that consumes the Rustino notification API as a standalone
.exe. - Trigger a notification using a custom
app_id(e.g.,"Ivy Tendril"). - Observe that no errors are thrown, but the notification never appears on the screen.
Validation & The PowerShell Hack
To isolate the issue and prove it's entirely tied to AUMID registration, we tested a workaround. We replaced our custom app_id with the built-in Windows PowerShell AUMID:
{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\WindowsPowerShell\v1.0\powershell.exe
As soon as we injected this known, pre-registered AUMID, the Rustino notifications rendered perfectly on the desktop (though naturally displaying the PowerShell name and icon). This confirms that the lack of a registered Start Menu shortcut is the sole blocker.
Expected Behavior
Native notifications should either:
- Work out of the box for unpackaged Win32 applications, OR
- Provide a clear error/warning that the
app_idis unregistered.
Proposed Solution
We suggest one of the following approaches:
- Feature: Add a helper method in
Rustino.Native(perhapsRustino::register_aumid(app_id)) that uses the COMIShellLinkandIPropertyStoreinterfaces to automatically create the required Start Menu shortcut upon application startup. - Documentation: Explicitly document this Windows limitation in the README, warning developers that they must manually create a Start Menu
.lnkvia an installer (MSI/InnoSetup) or a C# COM script before the notifications API will function on Windows 10/11.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Rustino.Native notification entry point and the Windows AUMID behavior described in the issue. Reproduce the standalone .exe case with a custom app_id, then compare it with the PowerShell AUMID workaround. Done means either unpackaged applications work with a registered AUMID or the README clearly documents the limitation and required shortcut setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100