talk-ios icon indicating copy to clipboard operation
talk-ios copied to clipboard

Not getting notifications on 1 account in the talk app

Open kderholt opened this issue 2 years ago • 9 comments

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 --talk what 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.

image

What would be my next steps?

kderholt avatar Jan 16 '24 21:01 kderholt

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

Ivansss avatar Jan 17 '24 08:01 Ivansss

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 avatar Jan 21 '24 10:01 kderholt

@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.

SystemKeeper avatar Jan 25 '24 21:01 SystemKeeper

@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
    );
} }} 

kderholtvisma avatar Jan 28 '24 10:01 kderholtvisma

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?

SystemKeeper avatar Jan 29 '24 08:01 SystemKeeper

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)

kderholtvisma avatar Jan 29 '24 08:01 kderholtvisma

Any update?

kderholt avatar Feb 12 '24 20:02 kderholt

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

SystemKeeper avatar Feb 13 '24 11:02 SystemKeeper

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

kderholt avatar Feb 14 '24 05:02 kderholt

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.

SystemKeeper avatar Apr 09 '24 15:04 SystemKeeper