Skip to content
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

Notifications do not work on Windows (because we can't pay microsoft) #41

Open
BitiTiger opened this issue Nov 28, 2018 · 8 comments
Open
Labels
bug Something isn't working wontfix This will not be worked on

Comments

@BitiTiger
Copy link
Contributor

Muscadine notifications do not show on Windows systems. I will work on this feature, but I'm opening an issue for our reference.

@BitiTiger
Copy link
Contributor Author

BitiTiger commented Nov 30, 2018

I traced the issue back to Toast, a dependency of the Beeep package I used.

  • here is why Windows 10 doesn't get notifications
  • here is why Windows 7 just uses temporary message boxes

TL : DR

  • Windows 10 requires a valid AppID in order to show notifications as of the "Fall Creators" Update
  • Windows 7 was never supported. The temporary message boxes are probably from Toast trying to run on older Windows APIs.

@whereswaldon
Copy link
Member

@Caton101 Thanks for getting to the bottom of things!

You mentioned on Arbor that you need a way to check the OS at runtime and execute different logic. Go can do that (see the runtime package).

However, this would be more elegantly solved by compiling a different version of the notification logic for each operating system. Go can do this quite nicely. See the documentation here.

A possible implementation with build constraints would be:

  • Move your existing notification code to its own file called notify.go
  • Add a build constraint to the top of the file like: // +build !windows
  • Create a separate file that defines notificationEngine with the same function signature, but a windows-specific implementation. Call that file notify_windows.go.

The above steps would have the compile use the definition of notificationEngine from notify.go on macOS, Linux, BSD, etc..., but the one from notify_windows.go when compiling for Windows.

Does that make sense?

@whereswaldon whereswaldon added the bug Something isn't working label Dec 8, 2018
@whereswaldon whereswaldon changed the title Notifications do not work on Windows Notifications do not work on Windows (because we can't pay microsoft) Dec 8, 2018
@whereswaldon whereswaldon added the wontfix This will not be worked on label Dec 8, 2018
@BitiTiger
Copy link
Contributor Author

Notifications work on the Windows 10 April Creator's Update (build 1803). I have not tested the latest Windows 10 build. It is worth noting that I have developer mode enabled in my system settings.

@michael-doubez
Copy link

It doesn't work on my Windows 10.
I've had more luck using AppId "Microsoft.Windows.Shell.RunDialog".

Looking at the output of Get-StartApps, my id for powershell is different.

@whereswaldon
Copy link
Member

Unfortunate, but not unsurprising. @michael-doubez, how did you find out about this project? What do you think of it? You're the first person to stumble across it (so far as we know). We'd love to hear your perspective on things.

@michael-doubez
Copy link

Sorry, I am not using this project but I have had the same issue on the same techno. While looking for a solution, I found this issue pointing to the relevant links. Thank you, this ticket gave me the key to my problem.

@whereswaldon
Copy link
Member

whereswaldon commented Jan 18, 2019 via email

@BitiTiger
Copy link
Contributor Author

Glad I could help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants