mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-05-09 08:26:00 +02:00
[GH-ISSUE #267] iOS: UI not updating properly #206
Labels
No labels
ai-generated
android-app
android-app
android-app
🪲 bug
build
build
dependencies
docs
enhancement
enhancement
🔥 HOT
in-progress 🏃
ios
prio:low
prio:low
pull-request
question
🔒 security
server
server
unified-push
web-app
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy#206
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 @binwiederhier on GitHub (May 21, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/267
"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
@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.
@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...
@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.@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.
@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
@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).
@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.
@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.
@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!
@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
@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.
@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
@Chiller2019 commented on GitHub (Oct 6, 2023):
Still the same issue.
iOS 17.0.3
on iPad the same
@kWAYTV commented on GitHub (Nov 6, 2023):
Still same issue 17.2
@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
@kWAYTV commented on GitHub (Nov 6, 2023):
that's nice to hear! i hope to hear from that soon
@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
@binwiederhier commented on GitHub (Nov 28, 2023):
(Hopefully) fixed as part of v1.3
@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
@AntoVie commented on GitHub (Jun 6, 2024):
Still the same issue.
iOS 17.5.1
@kWAYTV commented on GitHub (Jun 6, 2024):
Same here, worked for few months then fucked up
@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:
upstream-base-url: "https://ntfy.sh"inserver.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)base-urlinserver.ymlbut make sure there is no trailing slash@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.
@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
@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"?
@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.
@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)?
@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.
@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
@kWAYTV commented on GitHub (Nov 27, 2024):
So the fix right now is using the PWA app instead of the actual app?
@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
@Thaurin commented on GitHub (Jan 2, 2025):
Thanks @wunter8, setting
base-urlandupstream-base-urlfixed my notifications on an iPhone 6S with iOS 15.8.3. However, I do not fully understand the comment inserver.yml: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!
@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:
So, upstream ntfy does not see the message contents
@Thaurin commented on GitHub (Jan 2, 2025):
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...
That's interesting, so even if my default server in the app is configured as
ntfy.mydomain.com, the server configuration ofupstream-base-urlwill cause the client iOS app to have a background subscription tontfy.sh?Good to know, and thanks for the explanation.
@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...
@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
@wunter8 commented on GitHub (Jun 2, 2025):
@Handrail9
upstream-base-urlneeds 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@Handrail9 commented on GitHub (Jun 2, 2025):
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.
@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)
@ghost commented on GitHub (Aug 25, 2025):
i'm hosting ntfy on Railway and it was fixed as i added
behind-proxy: trueto server.ymlExample:
@NiklasSchmidts commented on GitHub (Jan 2, 2026):
i fixed it with the following
server.yml:@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.
@kWAYTV commented on GitHub (Mar 17, 2026):
yeah, I also quit because of this a LONG time ago.
@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
@kWAYTV commented on GitHub (Mar 17, 2026):
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
@rpayanm commented on GitHub (May 5, 2026):
I fixed it by adding the following to the
server.ymlconfiguration: