Not getting notifications on 1 account in the talk app
Steps to reproduce
I don't know how I can reproduce this.
Expected behaviour
All users (through social login - google) should default get notifications in the nextcloud talk app.
Actual behaviour
On ONE particular user, the app never subscribes to notifications.
Device information
Device: iPhone X/iPad Y/… iPhone 13 mini iPhone 15 pro
iOS version: 10/… 17.2.1
Talk version: 11.1.1 17.1.4
Server information
27.1.5
Nextcloud version: (see admin overview page: /index.php/settings/admin/overview)
27.1.5
Talk version: (see apps admin page: /index.php/settings/apps)
17.1.4
Custom Signaling server configured: yes/no and version (see talk admin settings: /index.php/settings/admin/talk#signaling_server)
No
Custom TURN server configured: yes/no (see talk admin settings: /index.php/settings/admin/talk#turn_server)
No
Custom STUN server configured: yes/no (see talk admin settings: /index.php/settings/admin/talk#stun_server)
No
The setup is farily standard: social login with google.
1 of the accounts will not subscribe to notifications.
I have tried:
- log out all devices from the account and log in.
- created custom app and used the qr to log in.
- deleted the specific account and readded it.
- test the notifications with
php ./occ notification:test-push --talkwhat seems to happend it, this fails. it deletes the pushhash. When I restart the app, it will readd a pushhash, but it never subscribes to the push notification (as you can see in the pic). If I log into any other account this immedietly subscribes and recieves notifications. This is tested on both iphone 13 mini and iphone 15 pro, on two different wifis and 4g.
What would be my next steps?
Hi @kderholt
Could you please share the error message you see when you run php ./occ notification:test-push --talk?
Are there any differences between that particular account and the others (e.g. special characters in userId)?
Could you also please check the logs of the Nextcloud Talk iOS app? You can find the logs in the Files app (the native iOS app, not the Nextcloud app) -> On my iPhone -> Nextcloud Talk.
Do you see something like:
Error while subscribing to Push Notification server
or
Error while subscribing to NC server
Hello
The nextcloud log shows this:
2024-01-21 11:21:26.8980 (com.apple.main-thread): Subscribed to NC server successfully.
2024-01-21 11:21:26.9480 (com.apple.main-thread): Error while subscribing to Push Notification server.
If I try to run the notificaitons talk test:
su -s /bin/bash -c 'php ./occ notification:test-push --talk xxx
Signed encrypted push subject
Deleting device because it is unknown by the push server: XXXXXX==
Push notification sent, but 1 failed
I have 2 nextcloud running paralell. on the other one the only change is that i use mariadb while on the one not working i run postgres. (the usersid is equal on both servers (I use social login on both with google))
@kderholt Version 18.0.2 should be available shortly in the App Store. Can you please try again with that version and share the log entries? They should include details about the error.
@kderholt Version 18.0.2 should be available shortly in the App Store. Can you please try again with that version and share the log entries? They should include details about the error.
Just downloaded and tested. This is the message from the logs
2024-01-28 11:39:03.9620 (com.apple.main-thread): Error while subscribing to Push Notification server.
Error: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad request (400)" UserInfo={NSLocalizedDescription=Request failed: bad request (400),
NSErrorFailingURLKey=https://push-notifications.nextcloud.com/devices, com.alamofire.serialization.response.error.data={length = 1, bytes = 0x0a}, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x283c8cf80> { URL: https://push-notifications.nextcloud.com/devices } { Status Code: 400, Headers {
Connection = (
"keep-alive"
);
"Content-Length" = (
1
);
"Content-Type" = (
"text/plain; charset=utf-8"
);
Date = (
"Sun, 28 Jan 2024 10:39:03 GMT"
);
Server = (
nginx
);
"X-Content-Type-Options" = (
nosniff
);
} }}
Just checking, that one account that has this issue, does it work when logging in on a different device? Or the other way round, do other accounts fail on this particular device?
Just checking, that one account that has this issue, does it work when logging in on a different device? Or the other way round, do other accounts fail on this particular device?
I've tried this on iphone 13 mini and iPhone 15 pro
The account is added by using the social login. (Username is google-xxxxxxxx)
I have a paralell instance with the same social login where this is working flawless (same Google login)
The only difference is that I use mariadb on the working one and postgresql on the non working. But other Google users works on both setups. This is also with the same phones (iPhone 15 pro and iPhone 13 mini)
Any update?
We have just release 18.0.3 Build3 to TestFlight which adds some more debug logging for the situation you're seeing. At this point we are a bit unsure on what's really happening with that account. Please install the TestFlight build (https://testflight.apple.com/join/cxzyr1eO) and reproduce the problem. Then send us the debug log. You can find my email address at the top of this file: https://github.com/nextcloud/talk-ios/blob/master/NextcloudTalk/AvatarButton.swift
We have just release 18.0.3 Build3 to TestFlight which adds some more debug logging for the situation you're seeing. At this point we are a bit unsure on what's really happening with that account.
Please install the TestFlight build (https://testflight.apple.com/join/cxzyr1eO) and reproduce the problem. Then send us the debug log. You can find my email address at the top of this file: https://github.com/nextcloud/talk-ios/blob/master/NextcloudTalk/AvatarButton.swift
Thank you!
New logs sent
This was due to a mismatch in the stored private and public key for that user. It can be checked via occ user:keys:verify. Closing this here now as it is not an issue of talk-iOS.