nextcloud / android

📱 Nextcloud Android app
https://play.google.com/store/apps/details?id=com.nextcloud.client
GNU General Public License v2.0
4.27k stars 1.77k forks source link

Push: show real text instead of generic "new notification" #1964

Open tobiasKaminsky opened 6 years ago

tobiasKaminsky commented 6 years ago

User want to see the real content of notification. As I understand this was due to a server bug, but can now be fixed for next version.

Webbeh commented 2 years ago

Indeed, still the same in 24.0.2.

Webbeh commented 2 years ago

Noticed today that the notification appears correctly if I'm already inside the Nextcloud app, but gets bad again as soon as I close the app.

I have battery optimisations turned off for Nextcloud, if that makes any difference.

image

First notification (bottom) before opening the app, second after opening the app. Note that I was on the "Uploads" screen, not even on the "Notifications" screen (of the Nextcloud app) when the second appeared.

EDIT: After deleting the session token from my session (inside the Security settings on my MC account) and re_logging on the app, the notifications are not pushed anymore, even with the app open in the foreground. I have to manually refresh the notifications tab in the NC app to see them again...

EDIT2 : I had to fully uninstall the app and download it again for notifications to work properly again. As a side note, I am now using the latest BETA app.

ghost commented 2 years ago

Still an issue on Nextcloud Server v24.0.3.2, Nextcloud Android App v3.20.3 and Android 12.

jficz commented 2 years ago

I'm getting these as well with NC server 24.0.3 and app version 3.20.3. Clearing app data helps for a few new notifications but after some (short) time the notifications beak again. Android 10, microg

mercury1337 commented 2 years ago

Nextcloud 24.0.4 / Android 12 on OnePlus 8 Pro => still does not work only shows "NEW_NOTIFICATION" - tried app reinstall but did not help.

Siggi0904 commented 2 years ago

Same here with Google Pixel 6 Pro, Android 13, Nextcloud 24.0.5 and latest Android app from google Store.

LaGGi97 commented 2 years ago

I've had this Problem for some time now too. I run an nextcloud instance with about 30 Users and i was the only one with this problem. The only difference i found was 2FA. I was the only user with 2FA enabled. After disabling it, all notifications on my phone are readable.

Possible bandaid fix: disable all 2FA methods

Server: Nextcloud 24.0.5 Client: Android App 3.21.2 (Google Play Beta) on Google Pixel 6 Pro

mercury1337 commented 2 years ago

I don't have 2FA enabled and I am seeing the problem.

Zocker1999NET commented 2 years ago

@mercury1337 Are you using OAuth / SAML / LDAP / … ? Maybe it has something to do with using "non-default" login methods ...

q-wertz commented 2 years ago

Not mercury but I have the issue and I'm on LDAP

palight commented 2 years ago

As q-wertz, i have the issue and I'm on LDAP. Issue is inconsisitent between users os the same ldap backend.

mercury1337 commented 2 years ago

@mercury1337 Are you using OAuth / SAML / LDAP / … ? Maybe it has something to do with using "non-default" login methods ...

Nope - ordinary login via username & pw

EnderArchery commented 2 years ago

The issue has stopped appearing for me. I've upgraded NextCloud, added missing indexes, used the repair command and several other things over a period of multiple months. Unfortunately I don't know since when it's been fixed.

Did anybody notice a pattern for which types of notification the error occurs?

lfom commented 2 years ago

Maybe it is related to App Passcode? I have seen other apps where the notification content is not shown if the app is locked.

EnderArchery commented 2 years ago

I have notification contents on the lockscreen blocked and don't have a passcode set for the app. Both before and after the fix.

Oooo, but I am running on LineageOS now. I was running on OnePlus' OxygenOS before. (Could be unrelated, or fixed by the reinstall after another thing has changed)

mercury1337 commented 2 years ago

I checked: No notifications blocked and using Stock OxygenOS (Oneplus version of Android 12).

jficz commented 2 years ago

I did change my users backend from IMAP to internal DB and the bad notifications are gone but I can't say for sure if it was because of the change or not because I simply don't remember :/ I do use 2FA and I did use it before, it was not affected by the change

CaesarRulezzz commented 2 years ago

The issu is still there on the latest stable build from Play Market

felix-berlin commented 1 year ago

I have had this problem for ages. Currently I am using: Pixel 4a (Android 13), Nextcloud 25.0.1, current Nextcloud app. 2FA is active.

mercury1337 commented 1 year ago

Problem is still there - also on android 13

rcmcronny commented 1 year ago

I have this also, removed nextcloud app, and reinstalled it, also with all new data and issue persists.

alireza-salehi commented 1 year ago

issue persist with 3.23.0

kakuy commented 1 year ago

I'm having this problem too. It's actually not a lot better than having no notifications at all. I tried removing all tokens and reinstalling the app.

-- No related to this issue but it could serve as a workaround --

Until recently I was using https://gitlab.com/Nextcloud-Push and it worked almost flawlessly. It started to miss notifications after I updated to Nextcloud 25. It was specially great because it didn't depend from google.

Would it be possible to officially support this push notification proxy and app? So it could receive updates when needed? I'm sure many people would be thankful, at least those with google concerns, googleless devices or, those for whom google cloud messaging does not work as it should.

ghost commented 1 year ago

Any Progress?

EnderArchery commented 1 year ago

Unfortunately not. It also has returned for me. I've installed and removed a lot of apps in-between and even upgraded to NextCloud 25, so I don't know what triggered it. So far, the only notifications affect were about available updates for apps.

ghost commented 1 year ago

unfortunately all notifications are affected for me.

mercury1337 commented 1 year ago

Got a new phone => still the same behavior For other user on same Nextcloud installation it works properly

ghost commented 1 year ago

I've had the same problem for a while too

Webbeh commented 1 year ago

Same issue happened again.

I've got another app on the phone that allows us to renew the notifications service that I had to use after all notifications stopped working. Is this something we could have as a workaround for the Nextxlpid app ?

Screenshot_20230302-205725.jpg

starypatyk commented 1 year ago

Hi @tobiasKaminsky,

I have been affected by this after upgrading to 3.25.0 RC1.

First I noticed that my app configuration was lost - supposedly due to the issue fixed by https://github.com/nextcloud/android/commit/8d0faaeca58e3ee16a49c2caa619f00b1fd594f0. So I had to re-register the app with the server.

A few days later when I got notifications about new version of the server and some apps, these were displayed as NEW_NOTIFICATION instead. Similar notifications were working fine for a long time before.

I suspect that this is related to inconsistency between Firebase device configuration (that might have survived on my phone) and the configuration on the server (supposedly generated fresh when re-registering).

I will try to diagnose it a bit more, to see if I can get some logs.

Update - here are the logs I got when sending a test notification via occ notification:test-push:

05-27 23:28:07.225 30211 21690 W FirebaseMessaging: Unable to log event: analytics library is missing
05-27 23:28:07.227 30211 21690 W FirebaseMessaging: Missing Default Notification Channel metadata in AndroidManifest. Default value will be used.
XueSheng-GIT commented 1 year ago

I have been affected by this after upgrading to 3.25.0 RC1.

Same for me. I was able to get normal notifications again by removing the nextcloud app, deleting the existing device registration within the nextcloud security settings and finally install the last stable nextcloud app 3.24.2. I did not try with 3.25.0 RC1 again.

lukynmatuska commented 1 year ago

Hi @tobiasKaminsky,

I have been affected by this after upgrading to 3.25.0 RC1.

First I noticed that my app configuration was lost - supposedly due to the issue fixed by 8d0faae. So I had to re-register the app with the server.

A few days later when I got notifications about new version of the server and some apps, these were displayed as NEW_NOTIFICATION instead. Similar notifications were working fine for a long time before.

I suspect that this is related to inconsistency between Firebase device configuration (that might have survived on my phone) and the configuration on the server (supposedly generated fresh when re-registering).

I will try to diagnose it a bit more, to see if I can get some logs.

Update - here are the logs I got when sending a test notification via occ notification:test-push:

05-27 23:28:07.225 30211 21690 W FirebaseMessaging: Unable to log event: analytics library is missing
05-27 23:28:07.227 30211 21690 W FirebaseMessaging: Missing Default Notification Channel metadata in AndroidManifest. Default value will be used.

This works fine.

mercury1337 commented 1 year ago

I have been affected by this after upgrading to 3.25.0 RC1.

Same for me. I was able to get normal notifications again by removing the nextcloud app, deleting the existing device registration within the nextcloud security settings and finally install the last stable nextcloud app 3.24.2. I did not try with 3.25.0 RC1 again.

Tried this => did NOT work for me. Still same issues (on Galaxy S23 with Nextcloud 3.24.2)

jtorqui74 commented 1 year ago

Ok. I have had this same problem some time ago with talk notifications, and for testing I have done the same procedure with the Nextcloud app. It has worked. Notifications reappear successfully. The problem lies in the Nextcloud database, specifically in the table _notifications_pushhash which it is structured as follows: Id uid Token deviceidentifier devicepublickey devicepublickeyhash Pushtokenhash ProxyServer apptype The fact is that what we need for the notifications to work again we must delete the entries that have the account to which the notifications do not work, for this we connect via console to the mysql server. mysql -u root We select the nextcloud database. Use NextCloud; Let's first see if there are entries for a certain user. Replace mike with your user. SELECT * FROM oc_notifications_pushhash WHERE uid='mike'; In case you return a record we will delete it. DELETE FROM oc_notifications_pushhash WHERE uid='mike'; Delete accounts from the android app and log back in. For me this has worked.

Try now notifications with sudo -u www-data php occ notification:test-push

Cheers.

mrclschstr commented 1 year ago

Ok. I have had this same problem some time ago with talk notifications, and for testing I have done the same procedure with the Nextcloud app. It has worked. Notifications reappear successfully. The problem lies in the Nextcloud database, specifically in the table _notifications_pushhash which it is structured as follows: Id uid Token deviceidentifier devicepublickey devicepublickeyhash Pushtokenhash ProxyServer apptype The fact is that what we need for the notifications to work again we must delete the entries that have the account to which the notifications do not work, for this we connect via console to the mysql server. mysql -u root We select the nextcloud database. Use NextCloud; Let's first see if there are entries for a certain user. Replace mike with your user. SELECT * FROM oc_notifications_pushhash WHERE uid='mike'; In case you return a record we will delete it. DELETE FROM oc_notifications_pushhash WHERE uid='mike'; Delete accounts from the android app and log back in. For me this has worked.

Try now notifications with sudo -u www-data php occ notification:test-push

Cheers.

This worked for me as well, thank you very much!

ghost commented 1 year ago

Unfortunately, this is not a nice solution and does not prevent the problem. Please, dear Nextcloud team, take care of this bug.

jficz commented 1 year ago

Delete accounts from the android app and log back in. For me this has worked.

This is where things become complicated, because of #11090

Zocker1999NET commented 1 year ago

If reregistering the app is a workaround to fix this issue, would it be a somewhat solution to allow reregistering for notifications without logging out and maybe then also do that automatically when the app receives a broken message?

This may make the experience good enough for end users while the server may log all of this circumstances so it is possible for admins / devs to debug this issue.

And I know, that temporary solution might stay forever, but in perspective of how long this bug exists so far, this may be good enough in practice ;)

ghost commented 1 year ago

I don't know if the following is known to the Nextcloud team, therefore a small description:

Steps to reproduce;

  1. get a message or create one using administrator tools
  2. see on your Android app that the generic "new notification" appears as notification
  3. delete the notifications in the browser
  4. see how for each deleted message your phone gets spammed with more generic "new notification" notifications

No matter if the message is already deleted in the app or not each time it will generate enormous amount of spam. I don't know how this is handled now with the messages (Firebase, or own infrastructure) But the way I see it is an unnecessary load on the system.

mercury1337 commented 1 year ago

None of the workarounds or fixes provided here helped so far.

However I received one (!!!) notification properly last week - I don't know what happened as I didn't change anything on my Nextcloud installation but suddenly one notification was displayed properly on my mobile. After that everything is back now to the "new notification" thing. 😢

koying commented 1 year ago

@jtorqui74

Ok. I have had this same problem some time ago with talk notifications, and for testing I have done the same procedure with the Nextcloud app. It has worked. Notifications reappear successfully. The problem lies in the Nextcloud database, specifically in the table _notifications_pushhash

Tricky fix, but worked for me, this has been bothering me for quite a while now. Thanks much for finding out !! 😍

HammyHavoc commented 1 year ago

Seeing this problem too.

nursoda commented 1 year ago

DELETE FROM oc_notifications_pushhash WHERE uid='nursoda'; Delete accounts from the android app and log back in.

Thanks! Since it helped some guys here, I tried that. Without success:

I deleted the rows in the DB and the corresponding account in the app (I use several accounts in the app). I then force-closed the app, re-started it and re-created the just deleted account. Result: Account is available again and does receive test notifications in-app. Yet, no Android notifications. The app does not re-register with the cloud:

nc-user@server /path/cloud $ occ notification:test-push nursoda
No devices found for user

This correlates with not an entry in the DB:

MariaDB [cloud]> SELECT * FROM oc_notifications_pushhash WHERE uid='nursoda';`
Empty set (0,000 sec)

Server: 27.0.1, App 3.25.0, Phone: Pixel 6a running GrapheneOS with their sandboxed Play Service. All other apps work fine including push, e.g. Signal, Threema, Bank apps.

What now? Do I need to wipe all data from the NC app? Might this be a Graphene Play Services bug? How to debug and find out which app or service to blame? What about missing library / invalid notification channels mentioned above? Where are those logs referenced there?

lfom commented 1 year ago

@nursoda It seems that NextCloud app does not request another token unless it is removed and installed again. At least for me it was the only way to get a new token using MicroG after removing the older (broken) token from the server database. It's a pain, but since then notifications have been working fine.

nursoda commented 1 year ago

Thanks for that hint. I deleted all data from the app (instead of deleting and re-installing it), and it worked. Quite painful if you use multiple NC instances like me.

mercury1337 commented 1 year ago

Tried again on fresh installation - still not working:

Trying to push to 1 devices

Language is set to en_GB Private user key size: 1704 Public user key size: 451 Identified 0 Talk devices and 1 others.

Device token:67636 Device token is valid Device public key size: 451 Data to encrypt is: {"nid":3437,"app":"admin_notifications","subject":"Testing push notifications","type":"admin_notifications","id":"64fd8129"} Signed encrypted push subject Deleting device because it is unknown by the push server: 12JrPiB9KvMQbE83xs2Q3dWURmblKztjKdP3o/DEcOyROzp8iIhFqFkj6B5g9QaFW+3+2SnBzIjlIdavTbegA== Push notification sent, but 1 failed

pabloeisenhut commented 1 year ago

If the Nextcloud app is open in the foreground and a notification arrives during that time, the notifications will be displayed correctly.

EnderArchery commented 1 year ago

Maybe it doesn't awake from sleep properly because of some internal optimization that can't be turned of? I know that on my Samsung, Maps didn't even continue to navigate sometimes even though it was excluded from list of apps to be optimized.

and it fixed itself again sometimes, at least as far as I can tell

Pablo Eisenhut @.***> schrieb am Di., 12. Sept. 2023, 21:27:

If the Nextcloud app is open in the foreground and a notification arrives during that time, the notifications will be displayed correctly.

— Reply to this email directly, view it on GitHub https://github.com/nextcloud/android/issues/1964#issuecomment-1716297039, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIDZD3FSCKCFTJOHQCHRM3X2CZTLANCNFSM4ELZH6DA . You are receiving this because you commented.Message ID: @.***>

mercury1337 commented 1 year ago

I can confirm that the notification is shown properly when the app is in foreground. When it is in background I only get the generic text "NEW NOTIFICATION"

HammyHavoc commented 11 months ago

Is anybody currently investigating this and getting anywhere? If not, I might give this a poke this weekend and see where I get with it.