[GH-ISSUE #267] iOS: UI not updating properly #206

Closed
opened 2026-05-07 00:21:26 +02:00 by BreizhHardware · 46 comments

Originally created by @binwiederhier on GitHub (May 21, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/267

iOS 15.4.1
iPhone SE (2nd generation)

"As far as I can see - most things work as expected, but when the app is already open and is foreground - I can see push notification appear, but app not updates most of the time. Also when I open app from notification it sometime does not update and show latest messages. The screenshot is depicting such situation - the push notification on the top of the screen is actually 4th massage, but app UI still stuck at 3"

See https://github.com/binwiederhier/ntfy/issues/4#issuecomment-1133767150

Originally created by @binwiederhier on GitHub (May 21, 2022). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/267 iOS 15.4.1 iPhone SE (2nd generation) "As far as I can see - most things work as expected, but when the app is already open and is foreground - I can see push notification appear, but app not updates most of the time. Also when I open app from notification it sometime does not update and show latest messages. The screenshot is depicting such situation - the push notification on the top of the screen is actually 4th massage, but app UI still stuck at 3" See https://github.com/binwiederhier/ntfy/issues/4#issuecomment-1133767150
BreizhHardware 2026-05-07 00:21:26 +02:00
Author
Owner

@rhld16 commented on GitHub (May 22, 2022):

Similar behaviour is seen on iPhone 6s, iOS 15.1.
The notification appears in the notification center but does not appear in-app. This can however be fixed by reloading the topic page.

<!-- gh-comment-id:1133919856 --> @rhld16 commented on GitHub (May 22, 2022): Similar behaviour is seen on iPhone 6s, iOS 15.1. The notification appears in the notification center but does not appear in-app. This can however be fixed by reloading the topic page.
Author
Owner

@binwiederhier commented on GitHub (May 22, 2022):

I don't know the reason for why it's happening, but it seems like a solvable issue. It's quite tricky actually, because the notification is saved from the notification app extension, which is a different process than the main app, so we have to notify the main app and then update the views. The way I did manage to do that on my iPhone was a hack and could easily be a race condition that just happens to work on my device.

I'll figure it out...

<!-- gh-comment-id:1133923565 --> @binwiederhier commented on GitHub (May 22, 2022): I don't know the reason for why it's happening, but it seems like a solvable issue. It's quite tricky actually, because the notification is saved from the notification app extension, which is a different process than the main app, so we have to notify the main app and then update the views. The way I did manage to do that on my iPhone was a hack and could easily be a race condition that just happens to work on my device. I'll figure it out...
Author
Owner

@binwiederhier commented on GitHub (May 24, 2022):

I think this is fixed by github.com/binwiederhier/ntfy-ios@9060af51ef, but I won't be able to confirm it until I do another build and people an try it out.

<!-- gh-comment-id:1135275840 --> @binwiederhier commented on GitHub (May 24, 2022): I think this is fixed by https://github.com/binwiederhier/ntfy-ios/commit/9060af51ef2c0ef5e38026b04fc9df3f9a0902a9, but I won't be able to confirm it until I do another build and people an try it out.
Author
Owner

@binwiederhier commented on GitHub (May 29, 2022):

I believe this is fixed in 1.1, see #4 to test the new version. Closing this for now until I hear more issues with this.

<!-- gh-comment-id:1140516392 --> @binwiederhier commented on GitHub (May 29, 2022): I believe this is fixed in 1.1, see #4 to test the new version. Closing this for now until I hear more issues with this.
Author
Owner

@binwiederhier commented on GitHub (Jul 12, 2022):

This is not fixed. It's still happening in the wild. Sometimes even on my iPhone 7. I am completely clueless as to why

<!-- gh-comment-id:1182587947 --> @binwiederhier commented on GitHub (Jul 12, 2022): This is not fixed. It's still happening in the wild. Sometimes even on my iPhone 7. I am completely clueless as to why
Author
Owner

@Tylermarques commented on GitHub (Feb 26, 2023):

Just wanted to confirm that this is still an open bug.

On an iPhone 12 pro, iOS 16.3.1.

I receive notifications but can't view any of the messages in the topic, regardless of however many times I refresh (pulling down on the topic).

<!-- gh-comment-id:1445448555 --> @Tylermarques commented on GitHub (Feb 26, 2023): Just wanted to confirm that this is still an open bug. On an iPhone 12 pro, iOS 16.3.1. I receive notifications but can't view any of the messages in the topic, regardless of however many times I refresh (pulling down on the topic).
Author
Owner

@reedhaffner commented on GitHub (Jun 6, 2023):

Same as above. I get a generic 'New notification' on SOME (not all) topics and messages. When I click on the notification, it takes me to the home screen, but not to the topic that it was about. If I attempt to refresh the topic, the message will never show up. I can verify that the message is sent through Desktop. iPhone 14 Pro Max iOS 16.5 and self-hosted.

<!-- gh-comment-id:1577811481 --> @reedhaffner commented on GitHub (Jun 6, 2023): Same as above. I get a generic 'New notification' on SOME (not all) topics and messages. When I click on the notification, it takes me to the home screen, but not to the topic that it was about. If I attempt to refresh the topic, the message will never show up. I can verify that the message is sent through Desktop. iPhone 14 Pro Max iOS 16.5 and self-hosted.
Author
Owner

@plia7 commented on GitHub (Jun 25, 2023):

Hello,

I can confirm having this issue too with my iPhone 12 Pro Max iOS 14.4.1.
Sometime it works when I receive the notification, when I click on it, it does take me to the app where the notification is showing without a manual refresh. But sometime it doesn't work without a manual refresh. If I'm already inside the app ui, and a new notification arrives, it doesn't reflect the new notification. I hope it can be fixed to make the functionality more consistent.

Thanks.

<!-- gh-comment-id:1605898669 --> @plia7 commented on GitHub (Jun 25, 2023): Hello, I can confirm having this issue too with my iPhone 12 Pro Max iOS 14.4.1. Sometime it works when I receive the notification, when I click on it, it does take me to the app where the notification is showing without a manual refresh. But sometime it doesn't work without a manual refresh. If I'm already inside the app ui, and a new notification arrives, it doesn't reflect the new notification. I hope it can be fixed to make the functionality more consistent. Thanks.
Author
Owner

@Aarkon commented on GitHub (Jul 3, 2023):

I have to confirm that neither do I receive notifications nor does the content of my app update without manual refreshing, regardless if I have it open or not (iPhone 13 Pro, iOS 16.5.1).

Love your work non the less!

<!-- gh-comment-id:1618502690 --> @Aarkon commented on GitHub (Jul 3, 2023): I have to confirm that neither do I receive notifications nor does the content of my app update without manual refreshing, regardless if I have it open or not (iPhone 13 Pro, iOS 16.5.1). Love your work non the less!
Author
Owner

@eXistenZ0688 commented on GitHub (Aug 31, 2023):

installed the latest and also only manual pulls/manual refresh show the new messages on iOS 16.6

<!-- gh-comment-id:1701816361 --> @eXistenZ0688 commented on GitHub (Aug 31, 2023): installed the latest and also only manual pulls/manual refresh show the new messages on iOS 16.6
Author
Owner

@Kzumelvin commented on GitHub (Sep 1, 2023):

Same here on iOS 16.6 iPhone 13. But i get this wierd behavior:

iPhone:
When i send a notification from https://ntfy.sh/, i get a push notification as it should be.
When i instead send a message from my own hosted server, i get the behavior like you all describe.
My server is behind a nginx proxy for ssl certification.

WebApp:

I subscribed to ntfy.sh/ and everything works fine.
When i subscribe to / there is an infinite loading circle in the sidebar.
The message also needs about a minute to show up in the sent messages.

I also recently watched the networkchuck video and he also installed it locally with a cloudflare secure tunnel. He seems to get it working quite seamlessly.

i think it is some kind of server issue so i will test different server settings the next days and will report.

<!-- gh-comment-id:1702850881 --> @Kzumelvin commented on GitHub (Sep 1, 2023): Same here on iOS 16.6 iPhone 13. But i get this wierd behavior: iPhone: When i send a notification from https://ntfy.sh/<whatever>, i get a push notification as it should be. When i instead send a message from my own hosted server, i get the behavior like you all describe. My server is behind a nginx proxy for ssl certification. WebApp: I subscribed to ntfy.sh/<whatever> and everything works fine. When i subscribe to <myHostedServer>/<whatever> there is an infinite loading circle in the sidebar. The message also needs about a minute to show up in the sent messages. I also recently watched the [networkchuck video](https://www.youtube.com/watch?v=poDIT2ruQ9M) and he also installed it locally with a cloudflare secure tunnel. He seems to get it working quite seamlessly. i think it is some kind of server issue so i will test different server settings the next days and will report.
Author
Owner

@wunter8 commented on GitHub (Sep 1, 2023):

Unfortunately, the iOS app is very buggy. The PWA will give you a much better experience: https://docs.ntfy.sh/subscribe/pwa/

If you're self-hosting, follow these instructions to set up web push: https://docs.ntfy.sh/config/#web-push

<!-- gh-comment-id:1702997972 --> @wunter8 commented on GitHub (Sep 1, 2023): Unfortunately, the iOS app is very buggy. The PWA will give you a much better experience: https://docs.ntfy.sh/subscribe/pwa/ If you're self-hosting, follow these instructions to set up web push: https://docs.ntfy.sh/config/#web-push
Author
Owner

@Chiller2019 commented on GitHub (Oct 6, 2023):

Still the same issue.
iOS 17.0.3
on iPad the same

<!-- gh-comment-id:1751110810 --> @Chiller2019 commented on GitHub (Oct 6, 2023): Still the same issue. iOS 17.0.3 on iPad the same
Author
Owner

@kWAYTV commented on GitHub (Nov 6, 2023):

Still same issue 17.2

<!-- gh-comment-id:1794486902 --> @kWAYTV commented on GitHub (Nov 6, 2023): Still same issue 17.2
Author
Owner

@binwiederhier commented on GitHub (Nov 6, 2023):

This is a known issues (https://docs.ntfy.sh/known-issues/), but we have a fix for this, which I hope we can release soon https://github.com/binwiederhier/ntfy-ios/pull/17

<!-- gh-comment-id:1794490699 --> @binwiederhier commented on GitHub (Nov 6, 2023): This is a known issues (https://docs.ntfy.sh/known-issues/), but we have a fix for this, which I hope we can release soon https://github.com/binwiederhier/ntfy-ios/pull/17
Author
Owner

@kWAYTV commented on GitHub (Nov 6, 2023):

This is a known issues (https://docs.ntfy.sh/known-issues/), but we have a fix for this, which I hope we can release soon binwiederhier/ntfy-ios#17

that's nice to hear! i hope to hear from that soon

<!-- gh-comment-id:1794492756 --> @kWAYTV commented on GitHub (Nov 6, 2023): > This is a known issues (https://docs.ntfy.sh/known-issues/), but we have a fix for this, which I hope we can release soon [binwiederhier/ntfy-ios#17](https://github.com/binwiederhier/ntfy-ios/pull/17) that's nice to hear! i hope to hear from that soon
Author
Owner

@binwiederhier commented on GitHub (Nov 15, 2023):

📢 A new version of the ntfy iOS app is currently in TestFlight. This version (hopefully) fixes the issues with the UI not properly refreshing, as well as fixes for subscriptions "getting lost". It contains no other fixes. More to come. To test the app, please use this TestFlight link: https://testflight.apple.com/join/P1fFnAm9

<!-- gh-comment-id:1813326926 --> @binwiederhier commented on GitHub (Nov 15, 2023): :loudspeaker: A new version of the **ntfy iOS app** is currently in TestFlight. This version (hopefully) fixes the issues with the UI not properly refreshing, as well as fixes for subscriptions "getting lost". It contains no other fixes. More to come. To test the app, please use this TestFlight link: https://testflight.apple.com/join/P1fFnAm9
Author
Owner

@binwiederhier commented on GitHub (Nov 28, 2023):

(Hopefully) fixed as part of v1.3

<!-- gh-comment-id:1828944487 --> @binwiederhier commented on GitHub (Nov 28, 2023): (Hopefully) fixed as part of v1.3
Author
Owner

@lolzivkovic commented on GitHub (Apr 10, 2024):

I am experiencing same issue where only when I refresh notification they show up. Nothing happens unless I refresh. upstream-base-url is set and everything was working until recently.
iOS Version: 17.4.1

<!-- gh-comment-id:2047214087 --> @lolzivkovic commented on GitHub (Apr 10, 2024): I am experiencing same issue where only when I refresh notification they show up. Nothing happens unless I refresh. upstream-base-url is set and everything was working until recently. iOS Version: **17.4.1**
Author
Owner

@AntoVie commented on GitHub (Jun 6, 2024):

Still the same issue.
iOS 17.5.1

<!-- gh-comment-id:2152733179 --> @AntoVie commented on GitHub (Jun 6, 2024): Still the same issue. iOS 17.5.1
Author
Owner

@kWAYTV commented on GitHub (Jun 6, 2024):

Same here, worked for few months then fucked up

Still the same issue. iOS 17.5.1

<!-- gh-comment-id:2152761994 --> @kWAYTV commented on GitHub (Jun 6, 2024): Same here, worked for few months then fucked up > Still the same issue. iOS 17.5.1
Author
Owner

@wunter8 commented on GitHub (Jun 6, 2024):

I'm happy to help get notifications working on iOS. It typically involves some back and forth, so Discord usually works better for chatting about the issues.

But in summary, these are the things you need to do:

  1. Put upstream-base-url: "https://ntfy.sh" in server.yml (or the corresponding env variable for docker) (make sure you didn't copy the URL from somewhere else with fancy quotation marks!! (this one is fancy “ and this one ” but this one is normal ". it can be very hard to visually tell a difference, so either copy/paste the string I typed from above, or delete the quotes in server.yml and retype them by hand)
  2. Open the self-hosted web app in a browser (e.g., https://ntfy.mydomain.com, http://mydomain.com:8080, etc.)
  3. Copy the full URL from the browser (with http/https and the port, if any) into base-url in server.yml but make sure there is no trailing slash
  4. Copy the full URL from the browser (with http/https and the port, if any) into the "default server URL" setting in the ntfy iOS app but make sure there is no trailing slash
<!-- gh-comment-id:2152778778 --> @wunter8 commented on GitHub (Jun 6, 2024): I'm happy to help get notifications working on iOS. It typically involves some back and forth, so Discord usually works better for chatting about the issues. But in summary, these are the things you need to do: 1. Put `upstream-base-url: "https://ntfy.sh"` in `server.yml` (or the corresponding env variable for docker) (make sure you didn't copy the URL from somewhere else with fancy quotation marks!! (this one is fancy “ and this one ” but this one is normal ". it can be very hard to visually tell a difference, so either copy/paste the string I typed from above, or delete the quotes in server.yml and retype them by hand) 2. Open the self-hosted web app in a browser (e.g., https://ntfy.mydomain.com, http://mydomain.com:8080, etc.) 3. Copy the full URL from the browser (with http/https and the port, if any) into `base-url` in `server.yml` but make sure there is no trailing slash 4. Copy the full URL from the browser (with http/https and the port, if any) into the "default server URL" setting in the ntfy iOS app but make sure there is no trailing slash
Author
Owner

@AntoVie commented on GitHub (Jun 6, 2024):

@wunter8 Thanks for the guide but this not fix the problem @lolzivkovic get. I have the same problem and it's seem to be the place to say that the problem is not fixed. I have read documentation and found that the problem is know, I just want to be sure that this problem is not lost in the univers.

<!-- gh-comment-id:2152916061 --> @AntoVie commented on GitHub (Jun 6, 2024): @wunter8 Thanks for the guide but this not fix the problem @lolzivkovic get. I have the same problem and it's seem to be the place to say that the problem is not fixed. I have read documentation and found that the problem is know, I just want to be sure that this problem is not lost in the univers.
Author
Owner

@lolzivkovic commented on GitHub (Jun 6, 2024):

@wunter8 I am using docker for hosting, with docker compose enviroment variables. It works on android and it worked for iOS. I have proper permissions for folders/files.
Here is my docker-compose.yml:
services:
ntfy:
image: binwiederhier/ntfy
container_name: ntfy
command:
- serve
environment:
NTFY_BASE_URL: https://ntfy.domain.com
NTFY_CACHE_FILE: /var/lib/ntfy/cache.db
NTFY_AUTH_FILE: /var/lib/ntfy/user.db
NTFY_AUTH_DEFAULT_ACCESS: deny-all
NTFY_BEHIND_PROXY: true
NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments
NTFY_ENABLE_LOGIN: true
NTFY_UPSTREAM_BASE_URL: https://ntfy.sh
volumes:
- /var/lib/ntfy:/var/lib/ntfy
ports:
- 127.0.0.1:2586:80
restart: unless-stopped

<!-- gh-comment-id:2152919466 --> @lolzivkovic commented on GitHub (Jun 6, 2024): @wunter8 I am using docker for hosting, with docker compose enviroment variables. It works on android and it worked for iOS. I have proper permissions for folders/files. Here is my docker-compose.yml: services: ntfy: image: binwiederhier/ntfy container_name: ntfy command: - serve environment: NTFY_BASE_URL: https://ntfy.domain.com NTFY_CACHE_FILE: /var/lib/ntfy/cache.db NTFY_AUTH_FILE: /var/lib/ntfy/user.db NTFY_AUTH_DEFAULT_ACCESS: deny-all NTFY_BEHIND_PROXY: true NTFY_ATTACHMENT_CACHE_DIR: /var/lib/ntfy/attachments NTFY_ENABLE_LOGIN: true NTFY_UPSTREAM_BASE_URL: https://ntfy.sh volumes: - /var/lib/ntfy:/var/lib/ntfy ports: - 127.0.0.1:2586:80 restart: unless-stopped
Author
Owner

@wunter8 commented on GitHub (Jun 6, 2024):

@AntoVie Can you describe the problem? Do you only get notifications when you pull to refresh? Do the notifications only say "new message"?

<!-- gh-comment-id:2153040545 --> @wunter8 commented on GitHub (Jun 6, 2024): @AntoVie Can you describe the problem? Do you only get notifications when you pull to refresh? Do the notifications only say "new message"?
Author
Owner

@AntoVie commented on GitHub (Jun 6, 2024):

@wunter8 The problem is that I only get notifications when I pull to refresh. No notification on my Iphone or somewhere else. I need to refresh the page and then the new message show.

<!-- gh-comment-id:2153043271 --> @AntoVie commented on GitHub (Jun 6, 2024): @wunter8 The problem is that I only get notifications when I pull to refresh. No notification on my Iphone or somewhere else. I need to refresh the page and then the new message show.
Author
Owner

@wunter8 commented on GitHub (Jun 6, 2024):

@AntoVie what do you mean by "no notification somewhere else"? Does the web app work okay (e.g., from a desktop/laptop or just browsing to the website on your iPhone)?

<!-- gh-comment-id:2153146577 --> @wunter8 commented on GitHub (Jun 6, 2024): @AntoVie what do you mean by "no notification somewhere else"? Does the web app work okay (e.g., from a desktop/laptop or just browsing to the website on your iPhone)?
Author
Owner

@AntoVie commented on GitHub (Jun 6, 2024):

@wunter8 Sorry it was no clear, there's no other notification on my cellphone. The web app work great.

<!-- gh-comment-id:2153207102 --> @AntoVie commented on GitHub (Jun 6, 2024): @wunter8 Sorry it was no clear, there's no other notification on my cellphone. The web app work great.
Author
Owner

@wunter8 commented on GitHub (Jun 6, 2024):

@AntoVie have you tried the PWA on iOS? That should be much more reliable. Follow these instructions to set up web push: https://docs.ntfy.sh/config/#web-push

<!-- gh-comment-id:2153553331 --> @wunter8 commented on GitHub (Jun 6, 2024): @AntoVie have you tried the PWA on iOS? That should be much more reliable. Follow these instructions to set up web push: https://docs.ntfy.sh/config/#web-push
Author
Owner

@kWAYTV commented on GitHub (Nov 27, 2024):

So the fix right now is using the PWA app instead of the actual app?

<!-- gh-comment-id:2502958746 --> @kWAYTV commented on GitHub (Nov 27, 2024): So the fix right now is using the PWA app instead of the actual app?
Author
Owner

@wunter8 commented on GitHub (Nov 27, 2024):

@kWAYTV yes, the PWA works more reliably than the native app on iOS. And it has more features

<!-- gh-comment-id:2504180534 --> @wunter8 commented on GitHub (Nov 27, 2024): @kWAYTV yes, the PWA works more reliably than the native app on iOS. And it has more features
Author
Owner

@Thaurin commented on GitHub (Jan 2, 2025):

But in summary, these are the things you need to do:

Thanks @wunter8, setting base-url and upstream-base-url fixed my notifications on an iPhone 6S with iOS 15.8.3. However, I do not fully understand the comment in server.yml:

If set, all incoming messages will publish a "poll_request" message to the configured upstream server, containing
the message ID of the original message, instructing the iOS app to poll this server for the actual message contents.
This is to prevent the upstream server and Firebase/APNS from being able to read the message.

This kinda sounded to me that the upstream server also receives the message ("poll this server for the actual message contents"), but then it also says it cannot ("prevent the upstream server and Firebase/APNS from being able to read the message").

But anyway, it works. I will, however, also check out your web app recommendation, even though the iOS app works now, as you say it is more reliable and has more features.

Thanks regardless!

<!-- gh-comment-id:2568184527 --> @Thaurin commented on GitHub (Jan 2, 2025): > But in summary, these are the things you need to do: Thanks @wunter8, setting `base-url` and `upstream-base-url` fixed my notifications on an iPhone 6S with iOS 15.8.3. However, I do not fully understand the comment in `server.yml`: > If set, all incoming messages will publish a "poll_request" message to the configured upstream server, containing > the message ID of the original message, instructing the iOS app to poll this server for the actual message contents. > This is to prevent the upstream server and Firebase/APNS from being able to read the message. This kinda sounded to me that the upstream server also receives the message ("poll this server for the actual message contents"), but then it also says it cannot ("prevent the upstream server and Firebase/APNS from being able to read the message"). But anyway, it works. I will, however, also check out your web app recommendation, even though the iOS app works now, as you say it is more reliable and has more features. Thanks regardless!
Author
Owner

@wunter8 commented on GitHub (Jan 2, 2025):

@Thaurin the progressive web app (PWA) that I recommended above will only work on iOS >= 16.4 (at least for the background push notifications to work, which is kinda the whole point).

Here's a simpled version of the iOS notification flow:

  1. send message to self-hosted ntfy
  2. self-hosted ntfy stores message in DB and creates message ID
  3. self-hosted ntfy send message with contents to subscribers and simultaneously sends just the message ID to upstream ntfy
  4. iOS ntfy app is subscribed to upstream ntfy in background and sees message ID sent to upstream ntfy
  5. iOS ntfy app connects to self-hosted ntfy and requests contents of message matching message ID from upstream ntfy

So, upstream ntfy does not see the message contents

<!-- gh-comment-id:2568191610 --> @wunter8 commented on GitHub (Jan 2, 2025): @Thaurin the progressive web app (PWA) that I recommended above will only work on iOS >= 16.4 (at least for the background push notifications to work, which is kinda the whole point). Here's a simpled version of the iOS notification flow: 1) send message to self-hosted ntfy 2) self-hosted ntfy stores message in DB and creates message ID 3) self-hosted ntfy send message with contents to subscribers and simultaneously sends just the message ID to upstream ntfy 4) iOS ntfy app is subscribed to upstream ntfy in background and sees message ID sent to upstream ntfy 5) iOS ntfy app connects to self-hosted ntfy and requests contents of message matching message ID from upstream ntfy So, upstream ntfy does not see the message contents
Author
Owner

@Thaurin commented on GitHub (Jan 2, 2025):

@Thaurin the progressive web app (PWA) that I recommended above will only work on iOS >= 16.4 (at least for the background push notifications to work, which is kinda the whole point).

See, it's things like this that add up and slowly push me towards buying a new phone, but I find it such a waste to throw out a phone that handles 90% of my needs and still works perfectly fine...

4. iOS ntfy app is subscribed to upstream ntfy in background and sees message ID sent to upstream ntfy

That's interesting, so even if my default server in the app is configured as ntfy.mydomain.com, the server configuration of upstream-base-url will cause the client iOS app to have a background subscription to ntfy.sh?

So, upstream ntfy does not see the message contents

Good to know, and thanks for the explanation.

<!-- gh-comment-id:2568265012 --> @Thaurin commented on GitHub (Jan 2, 2025): > @Thaurin the progressive web app (PWA) that I recommended above will only work on iOS >= 16.4 (at least for the background push notifications to work, which is kinda the whole point). See, it's things like this that add up and slowly push me towards buying a new phone, but I find it such a waste to throw out a phone that handles 90% of my needs and still works perfectly fine... > 4. iOS ntfy app is subscribed to upstream ntfy in background and sees message ID sent to upstream ntfy That's interesting, so even if my default server in the app is configured as `ntfy.mydomain.com`, the server configuration of `upstream-base-url ` will cause the client iOS app to have a background subscription to `ntfy.sh`? > So, upstream ntfy does not see the message contents Good to know, and thanks for the explanation.
Author
Owner

@agascon-7 commented on GitHub (Jan 24, 2025):

I am having the same issue...I have the base-url set as well as the upstream-base-url and still the notifications will not come through until i refresh the app manually...

<!-- gh-comment-id:2612545985 --> @agascon-7 commented on GitHub (Jan 24, 2025): I am having the same issue...I have the base-url set as well as the upstream-base-url and still the notifications will not come through until i refresh the app manually...
Author
Owner

@Handrail9 commented on GitHub (Jun 2, 2025):

+1 for agascon-7. Self-hosted in docker, baseurl and upstream baseurl both set to my ntfy domain name. Android & webapp works fine, however the ntfy app on an iPhone 8 Plus on iOS 16.3.1

<!-- gh-comment-id:2928386485 --> @Handrail9 commented on GitHub (Jun 2, 2025): +1 for agascon-7. Self-hosted in docker, baseurl and upstream baseurl both set to my ntfy domain name. Android & webapp works fine, however the ntfy app on an iPhone 8 Plus on iOS 16.3.1
Author
Owner

@wunter8 commented on GitHub (Jun 2, 2025):

@Handrail9 upstream-base-url needs to be set to "https://ntfy.sh" for background iOS notifications to work. Don't set it to your ntfy domain. See my instructions here: https://github.com/binwiederhier/ntfy/issues/267#issuecomment-2152778778

<!-- gh-comment-id:2928401059 --> @wunter8 commented on GitHub (Jun 2, 2025): @Handrail9 `upstream-base-url` needs to be set to "https://ntfy.sh" for background iOS notifications to work. Don't set it to your ntfy domain. See my instructions here: https://github.com/binwiederhier/ntfy/issues/267#issuecomment-2152778778
Author
Owner

@Handrail9 commented on GitHub (Jun 2, 2025):

@Handrail9 upstream-base-url needs to be set to "https://ntfy.sh" for background iOS notifications to work. Don't set it to your ntfy domain. See my instructions here: #267 (comment)

Is there a reason it doesn't work with anything other than ntfy.sh? Having notifications being sent through my server, to ntfy.sh, and then to apples servers seems to defeat the purpose of self hosting to me.

<!-- gh-comment-id:2928697459 --> @Handrail9 commented on GitHub (Jun 2, 2025): > [@Handrail9](https://github.com/Handrail9) `upstream-base-url` needs to be set to "https://ntfy.sh" for background iOS notifications to work. Don't set it to your ntfy domain. See my instructions here: [#267 (comment)](https://github.com/binwiederhier/ntfy/issues/267#issuecomment-2152778778) Is there a reason it doesn't work with anything other than ntfy.sh? Having notifications being sent through my server, to ntfy.sh, and then to apples servers seems to defeat the purpose of self hosting to me.
Author
Owner

@wunter8 commented on GitHub (Jun 2, 2025):

@Handrail9 the messages have to flow that way due to Apple's restrictions. Like I mentioned in a previous comment here, no message content is sent to ntfy.sh or to Apple.

You can self-host all parts of the flow, but it requires a Firebase account and an Apple developer account ($99+/year)

<!-- gh-comment-id:2930872848 --> @wunter8 commented on GitHub (Jun 2, 2025): @Handrail9 the messages have to flow that way due to Apple's restrictions. Like I mentioned in a previous comment here, no message content is sent to ntfy.sh or to Apple. You _can_ self-host all parts of the flow, but it requires a Firebase account and an Apple developer account ($99+/year)
Author
Owner

@ghost commented on GitHub (Aug 25, 2025):

i'm hosting ntfy on Railway and it was fixed as i added behind-proxy: true to server.yml

Example:

 base-url: "https://my.app"
cache-file: "/cache.db"
attachment-cache-dir: "/attachments"
auth-file: /user.db
auth-default-access: read-only
upstream-base-url: "https://ntfy.sh"
behind-proxy: true
<!-- gh-comment-id:3218712382 --> @ghost commented on GitHub (Aug 25, 2025): i'm hosting ntfy on Railway and it was fixed as i added `behind-proxy: true` to server.yml Example: ```yml base-url: "https://my.app" cache-file: "/cache.db" attachment-cache-dir: "/attachments" auth-file: /user.db auth-default-access: read-only upstream-base-url: "https://ntfy.sh" behind-proxy: true ```
Author
Owner

@NiklasSchmidts commented on GitHub (Jan 2, 2026):

i fixed it with the following server.yml:

base-url: "<your base ntfy url>"
behind-proxy: true
upstream-base-url: "https://ntfy.sh"
<!-- gh-comment-id:3705980053 --> @NiklasSchmidts commented on GitHub (Jan 2, 2026): i fixed it with the following `server.yml`: ``` base-url: "<your base ntfy url>" behind-proxy: true upstream-base-url: "https://ntfy.sh" ```
Author
Owner

@Khoulaiz commented on GitHub (Mar 17, 2026):

Just for the ppl that try to set it up for ios: It's not working at all. Neither the PWA nor the ios client gets notifications. I've set up all of the above, nothing works. The webapp works without a problem, but all ios clients only work after starting and refreshing them.
I don't understand why this bug is closed, since this seems to be the core competence of this app to get notifications. And it fails completely here. Anyway: Not working for me, just to let you know that there is a risk that you waste your time with the installation.

<!-- gh-comment-id:4074922021 --> @Khoulaiz commented on GitHub (Mar 17, 2026): Just for the ppl that try to set it up for ios: It's not working at all. Neither the PWA nor the ios client gets notifications. I've set up all of the above, nothing works. The webapp works without a problem, but all ios clients only work after starting and refreshing them. I don't understand why this bug is closed, since this seems to be the core competence of this app to get notifications. And it fails completely here. Anyway: Not working for me, just to let you know that there is a risk that you waste your time with the installation.
Author
Owner

@kWAYTV commented on GitHub (Mar 17, 2026):

Just for the ppl that try to set it up for ios: It's not working at all. Neither the PWA nor the ios client gets notifications. I've set up all of the above, nothing works. The webapp works without a problem, but all ios clients only work after starting and refreshing them. I don't understand why this bug is closed, since this seems to be the core competence of this app to get notifications. And it fails completely here. Anyway: Not working for me, just to let you know that there is a risk that you waste your time with the installation.

yeah, I also quit because of this a LONG time ago.

<!-- gh-comment-id:4074992659 --> @kWAYTV commented on GitHub (Mar 17, 2026): > Just for the ppl that try to set it up for ios: It's not working at all. Neither the PWA nor the ios client gets notifications. I've set up all of the above, nothing works. The webapp works without a problem, but all ios clients only work after starting and refreshing them. I don't understand why this bug is closed, since this seems to be the core competence of this app to get notifications. And it fails completely here. Anyway: Not working for me, just to let you know that there is a risk that you waste your time with the installation. yeah, I also quit because of this a LONG time ago.
Author
Owner

@wunter8 commented on GitHub (Mar 17, 2026):

@Khoulaiz @kWAYTV I'm sorry this hasn't worked better for you. There are many, many people successfully using ntfy on iOS, including some that are paying for the service since they use it so much. Notifications work if things are configured correctly. If you want to troubleshoot the problems you've had, join the Discord server or Matrix room, and I can help you figure out what's going on: https://docs.ntfy.sh/contact/#community-support

<!-- gh-comment-id:4075378130 --> @wunter8 commented on GitHub (Mar 17, 2026): @Khoulaiz @kWAYTV I'm sorry this hasn't worked better for you. There are many, many people successfully using ntfy on iOS, including some that are paying for the service since they use it so much. Notifications work if things are configured correctly. If you want to troubleshoot the problems you've had, join the Discord server or Matrix room, and I can help you figure out what's going on: https://docs.ntfy.sh/contact/#community-support
Author
Owner

@kWAYTV commented on GitHub (Mar 17, 2026):

@Khoulaiz @kWAYTV I'm sorry this hasn't worked better for you. There are many, many people successfully using ntfy on iOS, including some that are paying for the service since they use it so much. Notifications work if things are configured correctly. If you want to troubleshoot the problems you've had, join the Discord server or Matrix room, and I can help you figure out what's going on: docs.ntfy.sh/contact#community-support

for me it would be a completely new install on my Portainer homeserver since it's been more than a year i guess since I've last tried because I couldn't remember all the hassle I needed to do to make it work

<!-- gh-comment-id:4076070833 --> @kWAYTV commented on GitHub (Mar 17, 2026): > [@Khoulaiz](https://github.com/Khoulaiz) [@kWAYTV](https://github.com/kWAYTV) I'm sorry this hasn't worked better for you. There are many, many people successfully using ntfy on iOS, including some that are paying for the service since they use it so much. Notifications work if things are configured correctly. If you want to troubleshoot the problems you've had, join the Discord server or Matrix room, and I can help you figure out what's going on: [docs.ntfy.sh/contact#community-support](https://docs.ntfy.sh/contact/#community-support) for me it would be a completely new install on my Portainer homeserver since it's been more than a year i guess since I've last tried because I couldn't remember all the hassle I needed to do to make it work
Author
Owner

@rpayanm commented on GitHub (May 5, 2026):

I fixed it by adding the following to the server.yml configuration:

base-url: "<your base ntfy URL>"
upstream-base-url: "https://ntfy.sh"
<!-- gh-comment-id:4383858114 --> @rpayanm commented on GitHub (May 5, 2026): I fixed it by adding the following to the `server.yml` configuration: ``` base-url: "<your base ntfy URL>" upstream-base-url: "https://ntfy.sh" ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#206
No description provided.