5.6 KiB
Debugging push notifications
This list is intended to help users that have problems to receive talk notifications on their iOS device. It may not be complete. Please contribute to this list as you gain new knowledge. Just create an issue with the "notification" label or create a pull request for this document.
📱 Users
Please make sure you're using the latest version available on the AppStore. Push notifications are not available if you're compiling and installing the app yourself through XCode.
If you're using Talk 12 on the server, please make sure you're running atleast version 12.2.1 (see here for details).
Please note that under rare circumstances apple will stop sending (call-)notifications to your device. Those situations will usually resolve automatically after 24h. If your problem still occurs after checking all the hints below and you checked again after 24h, create an issue at https://github.com/nextcloud/talk-ios/issues
🍎 Check iOS settings
- Check that your phone is not in
do not disturb
or anyfocus
(iOS >= 15) mode - Check that your phone has internet access
- Check that notifications for
Nextcloud Talk
are allowed (Settings -> Nextcloud Talk -> Notifications)Allow notifications
should be turned on- All other settings depend on what you want to achieve. You can enable/disable notifications on the lockscreen or enable/disable the apps badge for example
🗨️ Check talk app settings
- In the conversation settings (tap the conversation name while in a conversation), check that notifications are set to
"Always notify" or "Notify when mentioned".
- This is a per conversation setting. Set it for every conversation differently depending on your needs.
- If you're using Talk 13 or later, please note that notifications for chat messages and calls can be enabled/disabled independently for each conversation.
- Also be aware that notifications are not generated when you have an active session for a conversation! This also applies for tabs that are open in the background, etc. You might want to check if there's still a browser open somewhere preventing notifications to be send to your device(s).
🔒 Check app sessions
- Using the web interface go to your Nextcloud "Settings" -> "Security"
- Under "Devices & sessions" check if there are duplicate entries for the same device (e.g. iPhone (Nextcloud Talk))
- Remove old duplicate entries and just leave the entry with the most recent "Last activity"
🖥 Check server settings
Run the notification:test-push
command for the user who is logged in at the device that should receive the notification:
sudo -u www-data php /var/www/yourinstance/occ notification:test-push --talk youruser
It should print something like the following:
Trying to push to 2 devices
Language is set to en
Private user key size: 1704
Public user key size: 451
Identified 1 Talk devices and 1 others.
Device token:156850
Device public key size: 451
Data to encrypt is: {"nid":525210,"app":"admin_notification_talk","subject":"Testing push notifications","type":"admin_notifications","id":"614aeee4"}
Signed encrypted push subject
Push notification sent successfully
This means the notifications are set up correctly on the server side and a test-notification is send to your device(s). Please note that depending on the app version two things can happen:
- After about 30s a notification with the following text will be displayed:
You recieved a new notification that couldn't be decrypted
. This is totally fine and indicates, that push-notifications are working correctly. The version you're using doesn't support test-notifications, which results in the aforementioned timeout and message. - You'll receive a notification with "Testing push notifications" almost immediately.
If it prints something like
sudo -u www-data php /var/www/yourinstance/occ notification:test-push --talk youruser
No devices found for user
or you won't receive a notification after waiting a few minutes, try to remove the account from the Nextcloud iOS Talk app and log in again. Afterwards try to run the command again.
If it prints
There are no commands defined in the "notification" namespace.
then the https://github.com/nextcloud/notifications app is not installed on your nextcloud instance. The notification app is shipped and enabled by default, but could be missing in development environments or being disabled manually. Install and enable the app by following the instructions at https://github.com/nextcloud/notifications#developers and try again to execute the command.
☁ Check if the push-proxy can be reached
Your nextcloud server needs to be able to reach the push-proxy at https://push-notifications.nextcloud.com
.
curl https://push-notifications.nextcloud.com
404 page not found
The return 404 error is fine in this case and indicates that a connection is possible. If you receive a different message, like curl: (7) Failed to connect to push-notifications.nextcloud.com port 443: No route to host
, you might need to adjust your network- / firewall-settings.
🦺 Developers/testers
-
Be aware that any self-compiled / self-installed app won't receive push-notifications.
-
If you have access to the iOS console (via the MacOS Console app for example), you can filter for messages from
NotificationServiceExtension
to see if there're any messages indicating an error.