-
Notifications
You must be signed in to change notification settings - Fork 984
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
Push notifications are not delivered to IOS app #21120
Comments
UPDATE: sometimes PNs go through. @mariia-skrypnyk and @churik were able to receive some PNs. |
I have investigated the issue: What looks like, in at least one instance:
Looking at kibana's logs, I can see that no filter node has pushed that message to the right client: This is the missing message. The peer id of the sender is "16U*hhQfss" You can see a couple of minutes later, a successful push: But now looking at the client log, it looks like they never registered for that particular topic, so i'll start from scratch investigating. |
Looking at this message now:
The message was received by a push notification server: |
The response, was sent:
Notice the time: 10:46:10.404 And the content topic: /0x25a24866 If we go back to the client:
That's when we register the filter.
But then 2 seconds later it's actually tried to register
So the timeline is:
Message would be received between 3 & 4, but filter is not pushed as the client hasn't yet register the filter. You can see similar examples from the logs, where we query store nodes just after scheduling register a filter, but we receive messages too early. status-im/status-go#5440 introduced the ticker. Before the issue was probably already present (registering a filter was probably asynchronous, although I think on v1 it was sync), but most likely was never picked up as the window was smaller. Potential solutions:
Either ways, this looks like a fairly critical message reliability issue, lowering the batch ticker (it's currently I believe 5 seconds, which is quite high) is probably the quickest to lower the possibility of that happening. cc @churik @fryorcraken @chaitanyaprem @richard-ramos @ilmotta and thank you @pavloburykh for all the logs |
As a way to not block release, I'd say that we can reduce the ticker length to a length which fast enough to make this issue potentially not happen (maybe something like 500ms or less?). Then we can try work out a proper solution. @chaitanyaprem and I had talked before about this possible window on which messages would not be received due to the ticker and doing the storenode request could be a good solution indeed, taking into account that there might be a delay for the message to arrive to the storenode. Nwaku storenodes will only accept messages with a timestamp +-20s its current time, so based on this, when we register a filter and the ticker is triggered, we asynchronously wait 20s, and then send a store request. What do you think, @cammellos and @chaitanyaprem? |
Improved in status-im/status-go@4a18c85 as a temp measure; the issue requires more investigation / actions, so postponed to 2.31 |
I am wondering if doing a store query after 20secs would help, because current missing messages periodic store query anyways happens every 20seconds. Which means anyways worst-case these messages would be fetched in next store query isn't it (unless i am missing something)? |
Issue is still valid for me. @status-im/mobile could you please also re-check if you are receiving push notifications on IOS? |
still valid. No pushes on IOS. Devices:
|
@pavloburykh checked on 19/09 nightly on iOS - no PN . iPhone 13, iOS 17 |
I still have notifications working on release 2.30 and in PRs (enabled from profile - and from onboarding) IPhone 14 Pro, IOS 17.6.1 |
referring issue being tracked for go-waku waku-org/go-waku#1211 but looks like the fix has not been propagated correctly it into the This is why @churik is not facing any issues as she is testing on 2.30 whereas others might be testing on develop branch. |
pushed a fix in #21297 @pavloburykh @churik can you please get this revalidated and confirm if the issue still happens. |
Reproducing on IOS 17.5.1, iPhone 15
Preconditions: User A - message sender (any device), User B - PN receiver, IOS device
Steps:
Actual result: PN is not received by User B
Andr_PN_sender.zip
IOS_PN_receiver.zip
PNs_IOS.mp4
Additional Information
The text was updated successfully, but these errors were encountered: