element-hq / element-hq/element-x-android
Notifications not working: "Unable to get a notification data / Unable to resolve event $eventid"
- Dominant language
- Kotlin
- Stars
- 2.4k
- Forks
- 624
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 149
Description
### Steps to reproduce
Uncertain
### Outcome
#### What did you expect?
Notifications.
They've been working fine for months but suddenly stopped the other day.
#### What happened instead?
```
2025-06-05T08:25:27.259829Z WARN elementx: [Push/VectorFirebaseMessagingService] New Firebase message. Priority: 1/1 |
2025-06-05T08:25:27.294408Z DEBUG matrix_sdk::http_client::native: Sending request num_attempt=1 | crates/matrix-sdk/src/http_client/native.rs:78 | spans: get_notification{room_id="!piRDLorRSaVBdlbefn:nerdhouse.io" event_id="$H8IdXKef8sY5-Zih5CIhtU_CanF_ZlXeUTBnoAU7ql0"} > try_sliding_sync > sync_once{conn_id="notifications" } > send{request_id="REQ-168" method=POST uri="https://matrix.ecmp.network/_matrix/client/unstable/org.matrix.simplified_msc3575/sync" request_size="733B"}
2025-06-05T08:25:27.369928Z DEBUG matrix_sdk::http_client: Got response | crates/matrix-sdk/src/http_client/mod.rs:214 | spans: get_notification{room_id="!piRDLorRSaVBdlbefn:nerdhouse.io" event_id="$H8IdXKef8sY5-Zih5CIhtU_CanF_ZlXeUTBnoAU7ql0"} > try_sliding_sync > sync_once{conn_id="notifications" } > send{request_id="REQ-168" method=POST uri="https://matrix.ecmp.network/_matrix/client/unstable/org.matrix.simplified_msc3575/sync" request_size="733B" status=200 response_size="28.9k"}
2025-06-05T08:25:27.445722Z WARN elementx: [Push/PushHandler] Unable to get a notification data
uniffi.matrix_sdk.InternalException: Unable to resolve event $H8IdXKef8sY5-Zih5CIhtU_CanF_ZlXeUTBnoAU7ql0
at io.element.android.libraries.push.impl.notifications.DefaultNotifiableEventResolver.resolveEvent-1_PhezE(SourceFile:249)
at io.element.android.libraries.push.impl.notifications.DefaultNotifiableEventResolver$resolveEvent$1.invokeSuspend(SourceFile:13)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:9)
at kotlinx.coroutines.DispatchedTask.run(SourceFile:115)
at android.os.Handler.handleCallback(Handler.java:991)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8934)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
|
```
### Your phone model
Pixel 8 Pro
### Operating system version
Android 15
### Application version and app store
25.05.4 from the play store
### Homeserver
ecmp.network; conduwuit (whatever the last/latest build is/was)
### Will you send logs?
Yes
### Are you willing to provide a PR?
No
Contributor guide
Research direction
Start at DefaultNotifiableEventResolver.resolveEvent and the PushHandler path shown in the logs, then trace the notification request through the Matrix Rust SDK sync call in crates/matrix-sdk/src/http_client/native.rs. Use the supplied Pixel 8 Pro, Android 15, Element X 25.05.4, and conduwuit details to investigate. Done means the reported notification resolves without the “Unable to resolve event” error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin, rust
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100