Talk notification issues

Dear Community!

Im facing with some difficulties with nextcloud talk notifications. As summary, im writing here the steps i made:
First i have installed nextcloud, and nextcloud talk on RHEL 8 environment (home lab). Since everything worked fine, I have installed another instance at work lab environment (RHEL 9, the old instance was ereased)
The problems started here. I realized that some of the iOS devices are not getting any notifications on talk app, while on the android devices everything went smoothly.

After some debug, i realized the followings:
Once I click on a username on talk app, a coloumn is being created on my mysql server under oc_notifications and at oc_notifications_pushhash. After sending a message to that user, the coloumn is still exist on both tables. On the affected devices (where push notifications are not working) if I click on that message, the coloumn from oc_notifications_pushhash table is gone.

I think i’ve tried every possible steps (reinstall, changing domain name, etc.) to solve this issue, without any luck.
I think it might be some blacklist at push-notifications.nextcloud.com, since some of the affected iOS devices started working suddenly.

I also tried to send test notifications through occ, and i got the same no device found for user message. Btw, on freshly added devices (both ios and android) all the notifications work smoothly. Also, the affected users are able to get messages on other (non iOS) devices (web browser and android)

Nextcloud version : 24.0.3
Talk Server version : 14.0.3
php version : 8.0.13
database : mysql 10.5.13
SCAP policies applied - NIST 800-171
Custom Signaling server configured: no
Custom TURN server configured: no
Custom STUN server configured: no

In case mobile Nextcloud Talk apps are involved:
Talk iOS version : 14.0.2

Good luck getting anything working reliably with apple. From what I understand, their notification system is just junk. Not just for nextcloud.

I’m not sure if its on apple related issue. I was able to re-create the above mentioned issue with just deleting all the rows from oc_notifications_pushhash table. Somehow btw the android devices after a logoff-logon worked fine, while the iOS devs don’t :\

Obviously it needs to have those entries in the database, otherwise how the heck would it know where to send the notifications?

The notification flow is like this;

Nextcloud server → push proxy → [google|apple] → push receiver → nextcloud application

The last two of those are in the user’s PHONE.
The push proxy for google and apple is https://push-notifications.nextcloud.com

But the kicker is that the proxy can unsubscribe from the nextcloud server (and thus delete the entry in the pushhash table) when the link to google or apple has expired or otherwise broken. That’s what you are seeing happen.

1 Like

What I also tried is to paste manually those datas to the database, but once i click on any messages which I got (within iOS app) that record is being deleted immediately.

Right, it tests the path, errors out, and wipes it.

so technically there is no any known method how to delete those stucked entries? :sweat_smile:

Not when there’s nothing to delete.

1 Like

Seems like theese issues were successfully fixed on talk version 14.0.3. Working perfectly on all devices.