New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No text notifications on iOS device #851
Comments
Hey @AndyXheli |
Hey @SystemKeeper Here what i get from the OCC with the android talk logged in Trying to push to 5 devices Language is set to en Device token:1206 |
Here a log with Android Talk Logged out. Also as soon as i did a logout on the Android Talk and did a occ push it worked but the android app was closed before Trying to push to 2 devices Language is set to en Device token:1222 Device token:1428 |
Just logged back into the android talk app and no more ios notifications. Heres the occ output Trying to push to 3 devices Language is set to en Device token:1447 |
So there's only one iOS device registered at your server (which probably is the android device...). So the iOS talk client is not there anymore. There were some reports about this and all were fixed by logging out and login again. Can you try that please? |
So i did a logout and login on the Android Talk and same issue. If I keep the android talk logged out then notifications work. Yes, i only have one ios device iphone |
Just wondering, the notifications you received, after the android device was logged out, did you receive those in talk-ios or the files-ios app? |
So i remove both nextcloud files on android & ios and remove talk on android i logged into talk via ios and pushed a notification via occ heres what i got. I did get the alert on my windows desktop client. I must of been getting alerts on the ios via nextcloud files and not talk Trying to push to 1 devices Language is set to en Device token:1428 |
I also did a logout from my widnows desktop client the only client thats logged in right now is the IOS talk app and here the occ output root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin Im doing another logout and login from ios talk and see what happens |
|
Here's what i get root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin Language is set to en Device token:1451 root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin Language is set to en Device token:1451 |
I just ran another one after those errors and now i get root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin |
Can this have something to do with the https://apps.nextcloud.com/apps/notify_push app ? |
Hm. So there's something wrong with registering the device at the push proxy. When trying to send a notification, an error is return and then the device is removed, because it is unkown. Do you have access to a mac device and can get the console logs from the talk app by any chance? One last thing that would be interesting to know, would if you're currently on wifi, could you try cellular (so login to talk while on cellular and then try the occ command)? |
No, this has nothing to do with the push notifications we're talking about here. |
|
Same results while on Mobile data. I removed the ios app and i installed it via mobile and logged in via mobile push the occ command root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin Language is set to en Device token:1453 Language is set to en Device token:1453 |
There are ways to get those logs on windows as well. One easy way is this https://imazing.com/guides/how-to-access-iphone-ipad-console-log. I've used it before, worked good for me, but obviously that's nothing offically from apple and falls under "use at your own risk" 😅 Probably there're other ways as well, not sure.
Thank you for trying! I just removed my account from the app and re-added it and it works fine, so I think the push proxy itself works. The console logs could (not sure) help, but other than that, I'm out of ideas right now... |
Thank you! im going to give it a try and let you know. Do you want me to remove and reinstall the app and then get the con logs ? yea i just asked my wife she has an ipad and iphone and shes getting them on both so i dont get it haha |
It should be enough when you remove the account from the app and then login again. You can search for "NextcloudTalk" (which is the process name). Usually there should be messages like this
Any error would be interesting to know |
I don't see anything with Push Notifications Key Pair generated. hoepfully i didnt upload anything sensitive info in these logs Line 996: Aug 4 15:32:42 AX-iPhone NextcloudTalk[1270] : Subscribed to NC server successfully. Line 233: Aug 4 15:32:26 AX-iPhone NextcloudTalk(UIKitCore)[1270] : Unable to simultaneously satisfy constraints. Line 938: Aug 4 15:32:41 AX-iPhone NextcloudTalk(WebKit)[1270] : 0x10414fa18 - [pageProxyID=8, webPageID=9, PID=1373] WebPageProxy::didFailProvisionalLoadForFrame: frameID=3, domain=, code=102, isMainFrame=1 Line 1175: Aug 4 15:32:42 AX-iPhone NextcloudTalk[1270] : Could not update rooms. Error: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo={NSLocalizedDescription=Request failed: not found (404), NSUnderlyingError=0x280ba9380 {Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/xml" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/xml, NSErrorFailingURLKey=https://cloud.axserver.com/ocs/v2.php/apps/spreed/api/v1/room?noStatusUpdate=0, com.alamofire.serialization.response.error.data={length = 286, bytes = 0x3c3f786d 6c207665 7273696f 6e3d2231 ... 0a3c2f6f 63733e0a }, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x2802e6a00> { URL: https://cloud.axserver.com/ocs/v2.php/apps/spreed/api/v1/room?noStatusUpdate=0 } { Status Code: 404, Headers { Line 1183: Aug 4 15:32:42 AX-iPhone NextcloudTalk[1270] : Error while trying to get rooms: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo={NSLocalizedDescription=Request failed: not found (404), NSUnderlyingError=0x280ba9380 {Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/xml" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/xml, NSErrorFailingURLKey=https://cloud.axserver.com/ocs/v2.php/apps/spreed/api/v1/room?noStatusUpdate=0, com.alamofire.serialization.response.error.data={length = 286, bytes = 0x3c3f786d 6c207665 7273696f 6e3d2231 ... 0a3c2f6f 63733e0a }, com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x2802e6a00> { URL: https://cloud.axserver.com/ocs/v2.php/apps/spreed/api/v1/room?noStatusUpdate=0 } { Status Code: 404, Headers { Line 1354: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticPlayer.mm:502 -[AVHapticPlayerChannel resetAtTime:error:]: sending reset event: clientID: 0x10004f6 time: 5285.090 Line 1355: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticPlayer.mm:443 -[AVHapticPlayerChannel sendEvents:atTime:error:]: sending event array: clientID: 0x10004f6 atTime: 5285.090 Line 1381: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticClient.mm:1410 -[AVHapticClient clientCompletedWithError:]: Client-side (async) finish completion callback for client 0x10004f6 called from server Line 1382: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticClient.mm:1415 -[AVHapticClient clientCompletedWithError:]_block_invoke: Async dispatch: preparing to call completionCallback for client 0x10004f6 Line 1383: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticClient.mm:1417 -[AVHapticClient clientCompletedWithError:]_block_invoke: Calling completionCallback 0x280b664f0 and then setting to nil Line 1394: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticClient.mm:1415 -[AVHapticClient clientCompletedWithError:]_block_invoke: Async dispatch: preparing to call completionCallback for client 0x10004f6 Line 1395: Aug 4 15:32:44 AX-iPhone NextcloudTalk(AudioToolbox)[1270] : AVHapticClient.mm:1422 -[AVHapticClient clientCompletedWithError:]_block_invoke: strongSelf.completionCallback is nil Line 1442: Aug 4 15:32:45 AX-iPhone NextcloudTalk(UIKitCore)[1270] : Warning once only: UITableView was told to layout its visible cells and other contents without being in the view hierarchy (the table view or one of its superviews has not been added to a window). This may cause bugs by forcing views inside the table view to load and perform layout without accurate information (e.g. table view bounds, trait collection, layout margins, safe area insets, etc), and will also cause unnecessary performance overhead due to extra layout passes. Make a symbolic breakpoint at UITableViewAlertForLayoutOutsideViewHierarchy to catch this in the debugger and see what caused this to occur, so you can avoid this action altogether if possible, or defer it until the table view has been added to a window. Table view: <UITableView: 0x103816400; frame = (0 0; 390 794); gestureRecognizers = <NSArray: 0x280b6dcb0>; layer = <CALayer: 0x280323580>; contentOffset: {0, 0}; contentSize: {390, 0}; adjustedContentInset: {0, 0, 0, 0}; dataSource: <NCChatViewController: 0x103844200>> Line 1540: Aug 4 15:33:12 AX-iPhone NextcloudTalk(CFNetwork)[1270] : Task <3AE9D02D-0240-496C-8D3A-A73CA880F4B0>.<11> finished with error [-999] Error Domain=NSURLErrorDomain Code=-999 UserInfo={NSErrorFailingURLStringKey=, NSErrorFailingURLKey=, _NSURLErrorRelatedURLSessionTaskErrorKey=, _NSURLErrorFailingURLSessionTaskErrorKey=, NSLocalizedDescription=} Line 1820: Aug 4 15:33:44 AX-iPhone NextcloudTalk(UIKitCore)[1270] : Snapshotting a view (0x10382bc00, UIKeyboardImpl) that is not in a visible window requires afterScreenUpdates:YES. |
Hm. Subscribing to the NC server and then to the push server only happens after a key was successfully generated. At first glance I don't see a way to let the code run the subscription without the keypair. I'll take a look tomorrow with a fresh pair of eyes ;-) Thanks for the work! |
Thank you for looking at it. I'll try to do a log capture one more time and see if I can see that and upload it for! Hope you have a great rest of your night! Thanks for everything. Happy to help |
@SystemKeeper keeper got better logs sorry i must of missed the Push Notifications Key Pair generate. hopefully these logs help. |
Thank you 👍
And I assume the device is deleted again when issuing the occ command? |
@SystemKeeper you're welcome. Thank you. did you want me to post the public key ? also i only see on entry with pubic key in the logs i did a reach with Begin Pubic Key |
Not at the moment. From what I understand it looks like talk-ios is doing everything correctly here. Can you tell me what timezone you're on?
This still happened, right? |
My time zone is Central Standart time
Yup still happening |
So I logged into a different device an ipad and same issue. :( root@nextcloud:~# sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin Language is set to en Device token:1455 Device token:1473 |
So at this point it looks like this is not a problem of talk, talk-ios or nextcloud. Most likely apples APNS returns an error for the device token, which results in this unknown device message. I can only suggest a few basic things here:
Other than that I’m out of ideas, sorry. |
@SystemKeeper Thank you! I gave it a try but i, not seeing anything. I even tryed diffrent devices same issue the Signed encrypted push subject |
Also do you think this will help https://help.nextcloud.com/t/nextcloud-talk-push-notifications-not-working/120873/20 but i have no idea how to even try this |
Not sure, tbh. I need to take a closer look what implications this might have. Basically you would need to issue a sql command to delete those rows, so this is not without a risk. But despite looking for a solution, did this happen suddenly or did anything change on your side (iOS, device, nextcloud, etc.)? |
Thank you!! So I formated my iPhone and I set it up from scratch and then I download all the all etc then I noticed the Issue I've been using the same nextcloud server for 2 years now and I never had the Issue the I got the android phone so I was using that more so didn't really notice it much I keep one phone for work and one for personal iPhone is for work but over all nothing changed on the server side so wired |
So quick update i took my wifes ipad and i logged in under my account and same reslts no notifiaction but when my wife was logged in they worked now i logged myself out and logged my wife back in and now the notifications dont work for her on the ipad i removed and still the same issue for her. she still logged into her iphone and that work and i also tried to log in her account under my iphone and same issue for her. i dont know why when i logg into these devices under my account something happens its really weird. Hope this helps. |
Okay, let's try to figure out if this is a device issue or an account issue. Can you please try the following:
|
@SystemKeeper thank you yup I created a new account sent a text via my account to the new account on that ios and it worked now what in the world happen to my account and why dose that happen |
Okay, so it does look like the problem is unique to your account then. Are you able to query the database? |
Yes what would you like me to do ? I'm conncted to the database :) |
Let me preface this with that this is nothing official and at your own risk. While the pushtest account is still logged in in talk-ios and your user is not, let's find out what's in the db for the pushtest user:
Issue the same thing for your user (same condition):
Logout the pushtest user and login back your user and then issue the select for your user again. |
MariaDB [nextcloud]> SELECT id, uid, token, SUBSTRING(deviceidentifier, 1, 8) AS devident, SUBSTRING(devicepublickeyhash, 1, 8) AS devpublic, SUBSTRING(pushtokenhash, 1, 8) AS pushhash FROM oc_notifications_pushhash WHERE apptype = 'talk' AND uid = 'pushtest'; While logged into ios talk app im still logged into android talk app MariaDB [nextcloud]> SELECT id, uid, token, SUBSTRING(deviceidentifier, 1, 8) AS devident, SUBSTRING(devicepublickeyhash, 1, 8) AS devpublic, SUBSTRING(pushtokenhash, 1, 8) AS pushhash FROM oc_notifications_pushhash WHERE apptype = 'talk' AND uid = 'axheil'; Also i logged bacm into the iphone that pushtest was working on and now no more notofitions after i logged myself on :( so i logged myself and then i logged pushtest back on and now no more notifications. |
Typo? |
axheli is my username in the cloud or i should be using andyxheli? |
No, you wrote "axheil" instead of "axheli". It should be the username in your nextcloud instance. |
ops sorry hahha here you go output MariaDB [nextcloud]> SELECT id, uid, token, SUBSTRING(deviceidentifier, 1, 8) AS devident, SUBSTRING(devicepublickeyhash, 1, 8) AS devpublic, SUBSTRING(pushtokenhash, 1, 8) AS pushhash FROM oc_notifications_pushhash WHERE apptype = 'talk' AND uid = 'axheli'; 89 is android 98 is the ios i think i did a query before ios login and 89 was there |
I think that is as far as we can get here on github. I send you a message in the community, we should continue there, but I don't think there's much we can do. |
Steps to reproduce
Expected behaviour
I should be getting text notification on my ios devices, but it dose work on my windows desktop client and androind client.
Already rebooted the phone, removed and reinstalled the app sent a sudo -u www-data php /var/www/nextcloud/occ notification:test-push --talk admin no luck
I did do a curl https://push-notifications.nextcloud.com and came back with 404 page not found: based on the doc that a good message.
Actual behaviour
Not getting notifications on the IOS devices
Device information
Device: iPhone X/iPad Y/…
iPhone 12 Pro
iOS version: 10/…
15.6
Talk version: 11.1.1
14.0.2
Server information
Nextcloud version: (see admin overview page:
/index.php/settings/admin/overview
)24.0.3
Talk version: (see apps admin page:
/index.php/settings/apps
)14.0.3
Custom Signaling server configured: yes/no and version (see talk admin settings:
/index.php/settings/admin/talk#signaling_server
)Custom TURN server configured: yes/no (see talk admin settings:
/index.php/settings/admin/talk#turn_server
)yes
Custom STUN server configured: yes/no (see talk admin settings:
/index.php/settings/admin/talk#stun_server
)yes
Server log (data/nextcloud.log)
The text was updated successfully, but these errors were encountered: