Talk push: server sends priority high, Android receives no FCM priority and test pushes arrive 7–8 min late
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- android, firebase, javascript
- Ambito
- backend
Direzione di ricerca
Start by reading lib/Push.php around getNotifTopicAndUrgency() (lines 966–975) and encryptAndSign(); compare the outgoing priority/type fields with the device observations in the issue. The proxy source is not public, so the issue leaves the mapping and cause unresolved. Done means identifying whether this app sends the expected FCM priority and explaining the delayed test pushes, likely requiring further client logs or proxy-side investigation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Talk pushes sent by the server with priority: high arrive on Android with no FCM priority set. Some test pushes reach the device 7–8 minutes late. Without a high-priority FCM message, Android does not give the backgrounded Talk app network access, so the app cannot fetch the notification from the server while the screen is off.
Setup
- Two servers: Nextcloud 35.0.1, notifications 8.0.0, spreed 25.0.5 and 25.0.2.
- Push proxy: the shared
https://push-notifications.nextcloud.com. Device registration succeeds on both servers. - Client: Talk Android (gplay flavor, test build from master plus diagnostics), Android 12 (API 31). Battery optimization is off. Data Saver is off.
What the server sends (from code)
lib/Push.php:966-975 (getNotifTopicAndUrgency()) sets priority: high for the apps spreed, talk and admin_notification_talk. It sets type: alert for chat and voip for calls. encryptAndSign() puts priority and type into the request to the proxy. Delete pushes are sent as normal / background (:1055-1057). No app config changes this.
What the device receives
The client logs RemoteMessage.getPriority() and getOriginalPriority() in onMessageReceived. Two observations:
- Every message has
priority=0andoriginalPriority=0(PRIORITY_UNKNOWN). This includes chat pushes (highon the server), delete pushes (normal), and messages that arrive while the app is in the foreground. The client cannot tell high from normal. occ notification:test-push --talk <user>ran at 13:43:10 UTC on one server and 13:44:11 UTC on the other (two pushes). All three messages reached the device together at 13:51:12 UTC (sentTime→ receipt: 421–481 s). Regular chat pushes during the same period, screen off, arrived in under 1 s.
At every receipt with the screen off, the app had no network: activeNetwork=false, NetworkInfo.DetailedState=BLOCKED, deviceIdle=false, restrictBackground=1.
Questions
- How does the proxy map the
priority/typefields of the request to the FCM message (android.priority,ttl, data vs. notification message)? - Should
RemoteMessage.getOriginalPriority()reportHIGHfor Talk chat pushes? If yes, where is it lost? - Is the 7–8 minute delay of the test pushes expected (for example, a different type or priority for
admin_notification_talk)?
The proxy source is not public, so we cannot check this ourselves. We can provide more client logs.
AI disclosure
This issue was written with help from an AI assistant (Claude). The data comes from our server code reading, server occ output and device logs, and was reviewed by me.
- Lingua principale
- JavaScript
- Stelle
- 156
- Fork
- 69
- Merge medio
- 17h 14m
- PR unite (30g)
- 89
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextcloud/notifications
-
1. to develop bug feature: frontend 🖌️
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
nextcloud/notifications#2969 ·
I maintainer di solito rispondono entro 1 giorno
-
0. Needs triage enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
nextcloud/notifications#3481 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
1. to develop enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
nextcloud/notifications#3429 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
1. to develop bug feature: push 📲 performance regression
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
nextcloud/notifications#3318 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Webpush is not performingAperta1. to develop feature: backend 🛠️ feature: push 📲 performance regression
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
nextcloud/notifications#3217 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nextcloud/notifications
Issue simili
-
[External Plugin]: CarboneApertaexternal-plugin ready-for-review third party
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
github/awesome-copilot#5259 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: fileUploadMatrix.test.ts URL case does a real DNS lookup and fails offlineForse già presa @r2jaff l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ComposioHQ/composio#5054 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
addyosmani/agent-skills#717 ·
I maintainer di solito rispondono entro 3 giorni
-
[Bug] Certificate expiry sorting can reverse UTC order across a viewer daylight-saving gapForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/rocketmq-dashboard#7318 ·
I maintainer di solito rispondono entro 3 giorni
-
W3cAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
web-platform-tests/wpt#64017 ·
I maintainer di solito rispondono entro 1 giorno