mirror of
https://github.com/Aetherinox/ntfy-desktop.git
synced 2026-04-25 15:05:52 +03:00
[GH-ISSUE #119] No notifications on latest windows build #12
Labels
No labels
Build › MacOS
Status › Need Info
Status › No Action
Status › Released
Type › Bug
Type › Feature
Type › Feature
Type › Roadmap
pull-request
❔ Question
📰 Progress Report
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy-desktop#12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ThinkSalat on GitHub (Jun 26, 2025).
Original GitHub issue: https://github.com/Aetherinox/ntfy-desktop/issues/119
Originally assigned to: @Aetherinox on GitHub.
Hi,
I've downloaded the latest windows build and am testing it out, and no notifications are appearing. If I open the window and send a test notification from my phone, I can see the message show up on the ntfy window, but I don't receive any notifications. Nor have I received any request to display notifications.
@ThinkSalat commented on GitHub (Jun 26, 2025):
If I send a test notification from the ntfy application it does show up, but it's the only one that shows up.
@Aetherinox commented on GitHub (Jun 26, 2025):
So you're getting notifications if you use the Test button, but no notifications if you push a ntfy message to yourself to receive?
@ThinkSalat commented on GitHub (Jun 26, 2025):
Right - from my phone, if I send a test notification, it doesn't show up on windows. If I use this app to send a test notification like in the screenshot, It shows up. If I send a test notification from a channel from this app, it also doesn't show up.
@Aetherinox commented on GitHub (Jun 26, 2025):
Interesting. Let me load my ntfy instance back up and test.
@Aetherinox commented on GitHub (Jun 26, 2025):
Oh, just to be double sure, you have your API token added correct?
@ThinkSalat commented on GitHub (Jun 26, 2025):
I didn't manually add one, but I logged in through the interface
@Aetherinox commented on GitHub (Jun 26, 2025):
Did you ever get notifications doing it this way? My app utilizes the ntfy api access point in order to fetch your pending messages, and in order to access that API, you'd need an API token added in the App -> Settings -> API Token window. Then as you get messages to your interface, you'll get notifications as well.
@ThinkSalat commented on GitHub (Jun 26, 2025):
Well this is my first time trying this application (I saw your post on the ntfy issue). I was using a chrome web app to display notifications and that was working. I also have the mobile app and that also works. For some reason this application does not display notifications, and it's also not asking permission to to display them.
@ThinkSalat commented on GitHub (Jun 26, 2025):
Maybe related? This happens if I right click > show on the tray icon
@Aetherinox commented on GitHub (Jun 26, 2025):
Then you literally caught me right at a major release lol.
Just to eliminate what's a new issue, download install the last version on my releases page. I think it's 2.1.3. And try that out. That one has been stable for a while. I've suspended the v2.2 release until I can confirm that these are issues related to the re-write. When I tried everything it works normal, so I have to track down what's going on.
https://github.com/Aetherinox/ntfy-desktop/releases/tag/2.1.3
That one should be smooth.
@Aetherinox commented on GitHub (Jun 26, 2025):
I figured it out. A single line of code in the wrong spot, made 4 different things break. Go figure.
@Aetherinox commented on GitHub (Jun 26, 2025):
Going to build a new release. Sorry about that. Dumb oversight on my part.
That will at least make everything work. Then I'll test out notifications without an API key. Although I don't think that will work, as it needs the API to communicate with the server.
However, you can get an API key from ntfy's website for free and just pop it in.
Edit: Yeah, I just confirmed, even if you sign in, my app doesn't record your login credentials from the ntfy website, and that would be risky.
Even if you're signed out of the website on the home page, and you add an API token from the website to App -> Settings -> API Token, you'll get notifications.
Without that, you only get them on the site. You can go to the ntfy website signed in, and generate one for free.
Sharing sign in credentials is something I'd have to look into. Because the v2.2.0 release ensures the app is now secure, and I surely wouldn't have done that on older versions without it being modernized first. So I'll take a look at getting notifications when you're just signed in without an API token.
@Aetherinox commented on GitHub (Jun 26, 2025):
You can now download v2.2 again. It should work fine. I applied the fix and released it.
@ThinkSalat commented on GitHub (Jun 26, 2025):
Huh, I'll try the new release! I did try 2.1.3 and it also doesn't display notifications
@Aetherinox commented on GitHub (Jun 26, 2025):
If you don't get notifications for some reason, let me know your setup. Although if the test notification feature works, I see no reason why you shouldn't unless there's some weird witchcraft going on.
I've tested / developed this to work on Windows, Mac, and Linux. And I'm using the Windows version right now (with an API key) and I get notifications.
If it's for Android or iOS I'd have to do some testing, both operating systems have notification functionality, but for those, I'll almost surely need to access permissions.
@ThinkSalat commented on GitHub (Jun 26, 2025):
Hmm. I'm on windows 11 right now. I've added my API key and installed the latest 2.2 release. same behavior as before. Let me know if there are logs or something I can send. I've enabled debug mode from the options. The only time I can get a notification to display is from the
help > test notificationmenu item. Here's what my install folder looks like in case that helps. To install, I'm downloading the zip for windows amd 64, extracting to a folder, then moving that folder to my program files folder. The first time I tested, I just tried it right from my downloads folder.@Aetherinox commented on GitHub (Jun 26, 2025):
Just to ensure you're on the one I just released, does it now crash if you send to tray / restore from tray?
@ThinkSalat commented on GitHub (Jun 26, 2025):
No, no crashing sending/restoring from tray. right click > show app is working without issue as well
@Aetherinox commented on GitHub (Jun 26, 2025):
Ah ok, well at least we've solved that.
Let me go dump some prints. To answer your question about file logs, no. But suddenly I'm realizing that I should. Because unless you run this app directly through node, you get no info.
If you run it through node, the console spams logs because I track just about everything. Well, not track the person, just track the steps to make sure nothing is broke. I'm not the government trying to spy on you.
@ThinkSalat commented on GitHub (Jun 26, 2025):
I believe these logs probably mirror what would show up in node
@Aetherinox commented on GitHub (Jun 26, 2025):
Never seen that error before, that's actually an error coming from their end. That's not an error from me.
While I do this log thing, just double confirm you have your correct topics set, and the API key was copied correctly. It should start with
tk_.My app has a lot of logs, but they are on the app end, which doesn't show in that dev console. The only aspect of my app that shows in the electron dev console is the renderer.
@ThinkSalat commented on GitHub (Jun 26, 2025):
Yes, appears to have been caused by enabling this setting. I've disabled and the errors have gone away. I'll have to try to build the app from source to see whats going on
@Aetherinox commented on GitHub (Jun 26, 2025):
Luckily you don't have to build from source, just need npm install on the packages in the
src/folder and thennpm start run, should get you right up.@ThinkSalat commented on GitHub (Jun 26, 2025):
Can't make out what's happening when it sends the notification. The node server doesn't appear to be sending logs when it triggers a notification - the help > test notification menu item didn't cause any logs to show.
I am seeing this a fair amount
core [messages] : <msg> Polling for new messages returned invalid json; skipping fetch. Change your instance URL to a valid ntfy instance. <func> GetMessages()I went ahead and wiped the url (which was the default that was there when I first installed), and I get the same messages.
Ok wait, I'm just now understanding how this works but it's confusing - I figured if I signed in, the notifications from my subscribed channels would automatically show notifications. I just realized I have to manually enter a list of channels I want notifications for in the file menu. Is there a way around this?
@Aetherinox commented on GitHub (Jun 26, 2025):
You mean topics? If you used 2.1 first before my update, then the list for you may be blank, if you started off with v2.2, it defaults to what ntfy's documentation states, which is
news,announcements, those are the default channels. And according to their docs, an API call requires at least one channel.Is that what you're referring to?
https://docs.ntfy.sh/publish/#public-topics
As far as logs, I've just implemented file logs into the app. So it'll now record everything in a .log file. I just need to finish it up so that it strips the colors. Otherwise the logs will be garble.
edit yeah, if I attempt to pass a query to the API without a topic, it returns
With those two things, the program reaches out to the ntfy api and gets your notifications.
You can see your topics when you sign into the ntfy website:
So for my topics in the app settings, I'd put:
And now it will get all notifications. It allows you to filter out channels you may not want to get popups for. I have a few channels that constantly send notifications, and that could get annoying.
If you sign into the site using the app, it doesn't send that personal information to me so that I can grab your notifications, so the API token is how you get around that. Because cookies are protected when you sign in, and since I'm not the official developers of ntfy, they don't give that type of access.
I'll have to look at a few alternatives, but that'll be something I do in the next build. For now, you have to list your channels you want to get notifications from, and your API token.
The rest of the settings don't matter, they're just there to change things around.
Technically, you can open my app, NOT sign in to the ntfy website, and as long as you have your API token and channels specified, you'll still get desktop push notifications. Signing into the app for the website just allows you to manage ntfy while you receive notifications, so you get both sets of functionalty.
@FaNt4zMa commented on GitHub (Jul 16, 2025):
Sorry to hijack this thread but I'm a bit confused. I'm self-hosting and do not have an ntfy account. How do I go about setting up my API token? I do not have it set right now and toast notifications are working somehow but they are delayed. Should I just drop the polling rate to like 10sec? Also if I could give some feedback about the toast: I'd like to see the Title of the notifications, not the channel and timestamp. In my case, the title usually gives out more information than the actual message... Thanks
@Aetherinox commented on GitHub (Jul 16, 2025):
If you are self-hosting ntfy, then you need to log in to your ntfy instance and in the account settings, there is an API token section which allows you to generate your API token.
I don't recall, but I think the polling rate is like 30s out of box. If you are self-hosting, the polling rate can be set as low as 1s. However, don't do that if you decide to use the official ntfy website, otherwise you'll get blocked with a "too many attempts" error.
@FaNt4zMa commented on GitHub (Jul 16, 2025):
Maybe its different for self-hosted instance but I dont see an "account" section, only a "manage users". I didnt have my instance private before, now I do, but following the docs, it seems like self-hosted user need to generate their tokens using the CLI. Oh and slight correction, the lowest the polling rate will go is 5s :)
@Aetherinox commented on GitHub (Jul 18, 2025):
Are you talking about the actual self-hosted ntfy software? Because generating a token is most definitely in the web interface. I use it almost daily
Top right avatar -> Settings -> Account on left side
@wgetnz commented on GitHub (Sep 23, 2025):
maybe
@spiral6 commented on GitHub (Oct 3, 2025):
Same issue here.
Edition Windows 10 Pro N
Version 22H2
Installed on 2/15/2023
OS Build 19045.6332
ntfy-desktop v2.2.0
Notifications on Windows desktop refuse to show up outside of the test notification from the Electron app. I can hear the notifications coming in from the "Ding" sound effect but no actual notification shows up on the native Windows UI.
@n3m3s7s commented on GitHub (Oct 9, 2025):
Hi guys,
I do not know if it is relevant or not but it could not be a problem of the application or the code, but generally the OS configuration or policy about SSL of the native client;
I'll try to explain better:
I've encountered the same problem of the kind
"Notifications on Windows desktop refuse to show up outside of the test notification from the Electron app. I can hear the notifications coming in from the "Ding" sound effect but no actual notification shows up on the native Windows UI."
but NOT on my desktop, but on other users' devices with different OS versions (Windows 10 and 11);
as far as I have checked the code, "polling" and "receiving" notifications are very different and use different process;
"polling" is the process that will "poll" (no way) the API server configured in the "instance" menu;
so basically it means "do a get request, with the provided auth-token in the header, for the topic(s) inserted in the app menu AND not the for the subscribed topic(s) INSIDE the ntfy-embedded web app";
but, supposing that the "topic" and the "auth-token" are correct, every single client DOES NEED to call the API and to GET the results and this means ALWAYS resolving the SSL hand-shaking with the provided instance URL;
SSL hand-shaking is between client and server, and if they do not "agree" OR the server is too hardened, the client will be blocked BEFORE actually reaching the NTFY server API;
if the polling request is failing no "native notifications" wil be triggered, since no valid payload has been received;
(this could explain why some client have problems and other don't);
I am managing my own NTFY server on a Ubuntu VPS, which uses NGINX as a reverse-proxy with a custom (valid) SSL certificate for my own domain;
as soon I "lowered" and "changed" my NGINX configuration for the server-block that is using NTFY, several clients that experienced the issue have begin to work as expected!
so it could not be a bug from ntfy, ntfy-server or ntfy-desktop, but the impossibility of a client of obtaining a valid payload from the server, which usually is under SSL!
let me know if You need my NGINX configuration for the server block and what I have changed.
@Aetherinox commented on GitHub (Oct 9, 2025):
Interesting. This makes sense as to why I've had a pain replicating it.
So the question becomes, what to do to mitigate the issue.
I am using Traefik on my end, not Nginx, and maybe that played a role in me not getting the issue either.
Drop the nginx config that worked, and I'll see if I can reverse it and make it happen with Traefik.
But I've also tested this with my own self-hosted instance, and with ntfy's official servers. So I assume that this is a self-hosted issue?
@n3m3s7s commented on GitHub (Oct 10, 2025):
Yes, I do not own a ntfy's official server subscription but the clues are pointing to a self-hosted issue;
these are my NGINX server blocks (usually located in /etc/nginx/sites-enabled/ntfy.conf)
IMPORTANT: with NGINX always test the server configuration with the command "nginx -t" or "sudo nginx -t" BEFORE reloading/restarting the NGINX daemon;
sample content of ntfy-nginx.conf
@Aetherinox commented on GitHub (Oct 10, 2025):
Thanks, I'll load up a test server.
Have you happened to try other reverse proxies like Traefik or apache?
It's odd that Traefik for me works. And I wonder if that is something out of box, or if I have a specific setting that I made for something else, and it happened ti silence Ntfy as well. For me, it was worked flawlessly.
I guess first, I'll just load up a very basic config with the minimums and see if I can get any type of issue from there.
@spiral6 commented on GitHub (Oct 10, 2025):
I'm using Caddy, btw, not Traefik or NGINX.
Caddy should be even simpler to replicate, but I can help with debugging if bandwidth needed.
@FaNt4zMa commented on GitHub (Oct 10, 2025):
I'm also using caddy and getting notifications just fine, tho I've noticed a bug. When the client can't reach to the server (timeout, DNS delay, etc) the instance URL will be changed to the default of ntfy.sh.
I was wondering why I wasn't receving notifications for a few weeks, so I when I checked my instance URL this morning it was the default. I then set it to my instance URL, it worked right away, then later I went to test and it had reverted to ntfy.sh again.
It has been a common issue with all my self hosted programs, sometimes I'm unable to reach em from outside for a min or so, not sure if it's DuckDNS's fault or my proxy going into "sleep" mode
@Aetherinox commented on GitHub (Oct 10, 2025):
@FaNt4zMa
I'll take a look at that.
The only time my app runs a check is when you initially enter your self-hosted URL into the GUI. It'll try to check to make sure it can get a valid response from the URL. But after it successfully adds your new URL, it should not switch.
This check is performed by the method
IsValidUrlThe problem is, I made that function extremely.... complicated the more I look at it. It works on a retry attempt, tries to figure out the correct headers to use,
However, there is a way to bypass that checker. In your ntfy-desktop settings, enable Localhost Mode.
That bypasses the checker completely, and it's a straight "Force connection to this specific URL no matter what happens"
So if you get an issue with the app, always try Localhost Mode first by enabling it and see if you get the same behavior. My suspicions are leading there for at least some of this.
In terms of Caddy, someone else may need to test Caddy. I've got about 3 whole days of experience with Caddy from 5 years ago. I wasn't a huge fan of it, so I didn't use it much. Probably because I just didn't give it enough time. But my main choices are either Nginx or Traefik. Those I can test fine.
Someone who actually has experience with Caddy would be better suited to test that specific issue.
@spiral6 commented on GitHub (Oct 22, 2025):
I tried Localhost mode and still same issue, no notifications. I'm still using Caddy.
On ntfy-desktop version 2.2.0.