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
Setup successfullly, but users not receiving notifications #50
Comments
You can run You can download the
which will print a message every time a push notification is received. (If you have 2fa or a non-standard login you'll have to use an app password) |
I'd love to do this, but unsure how. Can you please provide instructions for how to install the test_client on my server? Also, I ran the test you suggested and all passed sudo -u www-data php occ notify_push:self-test But users still not receiving notifications on Talk test |
The test client instructions were just updated: |
Please note: the Test client only works on x86_64 Linux currently. Unfortunately, I don't have a server that can run the test client. Any other ideas on how I can troubleshoot this issue. Notifications are currently broken for all users. Thanks |
It doesn't have to be a server it also can be any other PC or VM with x86_64 Linux. The important thing is that it can reach your server via https. |
The only Linux servers I have are Rasp Pi's. They are not x86_64. They are Arm7 |
Yes, but the test_client doesn't need to get installed on your server! |
Would it work on a RaspPi4? |
No So you have not even one PC with x86_64 architecture at hand? |
Yes, I have an intel I7 laptop running Win 10, but it's not Linux. All Linux stuff is done on the Pi's |
Okay, so in this case, just spin up a 64-bit Linux VM on the laptop and run the test_client there! |
What do you suggest is the best way to spin up a 64 bit Linux VM on a Win 10 machine? |
VirtualBox is an easy open source way. Running a LiveCD from an ISO image is pretty straight forward including a graphical UI. Docker is another way if you happen to use it for something else and have it already set up and keeps things simpler with just a shell interface. If you do this kind of stuff from Windows a lot you probably want to setup WSL, which would let you run this "natively" in your Windows environment. |
I currently don't have VirtualBox installed on my laptop, but can install it. How about Windows subsystem for Linux as on option? |
Yes, this should work, too. |
I offered three possible solutions. WSL was one of them. |
I have another idea which I didn't initially think of. Can I spin up an Ubuntu 20.04 LTS instance on AWS Lightsail and use that to run the test client? |
That should theoretically work, too. But at least I have no experience in that. |
Good news! uname -mrs This should work, correct? |
If |
Yay! sudo uname -p |
Ok, instance setup and verified x86_64. I ran into an issue. I tried to download the test client Resolving github.com (github.com)... 192.30.255.113 Note, I'm not a rust developer so may need a bit of guidance on how to get this test-client setup and running. Thanks in advance! |
It seems like you need to be logged in to github to be able to download the file. So a simple wget won't work. |
Can I download it to my windows laptop, then file transfer it to the instance? |
Yes, should also be possible via ssh. But I've myself never done that. |
Alternatively you could upload the file to your nextcloud, share it vial link (without password protection) and download the file using the public download link... |
I solved it. I used WinSCP and now have the file on my ubuntu server. Do I just run it like this: |
No
Yes, this should work. (though probably you need to use an app-password as password.) |
I created a test account on the server for just this purpose. No 2FA for this user. Do I need to first make test_client executable? |
Do you want me to post that here? |
Yes, since it is needed for debugging purposes. |
Thanks for posting! |
I setup my nextcloud using one of Carsten's tutorials. He really knows his stuff. So I figure my setup is good. |
Yes, that sounds like a good plan 👍 |
Ok, How should I reach out to you again? |
Just write here again. I mean just try again when the maintenance release is out and report back if it's working ;) |
Ok, will do. Thanks for taking the time to help today! |
It seems like the test client was just updated: #51 (comment)
|
i already used that above new test_client and also updated to the newest talk app but getting the invalid credentials error with the test_client. |
Same as rakurtz I added this code block to nginx on the reverse proxy: and opened port 7867 on the nc server. What am I doing wrong? |
Unfortunately, I don't know :/ Edit: sry for closing. Wasn't intentional. |
Try running the test client with |
How? Can you please provide the full syntax to run it with LOG=debug. Thank you. |
It should be: |
szaimen, thanks for the tip on how to run the test. Test run with LOG=debug and output below: (note, ran test with my actual domain, substituted fake domain my.ncdomain.com for the paste here)
|
I have the same issue and just post my output from the client here as well, hoping it helps:
My server setup: notify_push:self-test is successful:
|
Is there anything in the log of the notify_push server while you're running the test client. (You can change the log level while the notify_push server is running by using |
I assume you mean in the nextcloud log. Over 2000 log entries with notify_push, so to many to manually go through, but it appears to just keep repeating these:
Also, how do I reset the notify_push log level back to it's default setting using occ? Thank you. |
I mean the log output of the notify_push binary. (if you followed the default systemd setup you can get it using You can reset the notify_push log level using |
Some updates: Good news. I am able to see the log output of the notify_push binary. Unfortunately when running the test client, nothing shows up for it in the log and the test_client continues to fail with same error message. However, once I could see the log I was able to test just doing things on the server. I created new folders and files using the nc desktop client and I see the entries reflected properly in the log. I see many entries for the file and folder activity including trashbin and versions. I see additional entries for joplin. A sample line from log file: I followed that with a Talk test. I have 2 users: tom and dave, each logged in a separate browser on separate networks. tom sent dave a message. dave did not receive a notification. From the log it appears to be working, but no notifications are being received for either tom or dave. I've tried initiating the message from both, but doesn't seem to matter. Yet the log does show the pinging. We're making progress. All tests pass. Self test passes fine and metrics shows connections. The log shows it appears to be working, sending pings, etc. The issue is that despite everything appearing to be working, the users continue to not receive notifications. Not on browsers and I've tried with many different browsers. And not on mobile. No notifications for anything file related or Talk related. Note, user dave is also logged into Talk on an android phone and receives no notifications. Here are some log entries after the users send messages in Talk to one another:
And tom shared file with dave. This is the log, but dave did not receive a notification when logged into edge browser. (note, gave edge permission to receive notifications)
|
desktop clients not receiving notifications by notify_push (solved) I had the same issue: notify_push was successfully startet on the server but the Nextcloud desktop clients did not receive any notifications via notify_push. I was observing this in the context of Nextclouds "High Efficiency Backend for Documents". The reason for this behaviour of the desktop client was (as observed in the debug logs of the Nextcloud desktop client), that it did not successfully establish a ws connection with notify_push on the server, because the desktop client did not accept a self signed certificate used by the server for the ssl connection. But the same certificate was accepted by the Nextcloud desktop client for the standard way of polling the server and syncing the client with the server. The obvious solution was to use a valid Let's Encrypt ssl certificate on the Nextcloud server. To implement that on a nextcloud intranet instance was non-trivial as it requires a FQDN as a server URL. As indicated by "sudo -u www-data /var/www/nextcloud/occ notify_push:metrics", the active connection count is incremented by one if a Nextcloud desktop client is startet and decremented if it is closed. File syncronisation with the desktop client starts immediately upon changes on the Nextcloud server as expected. Here are some details of the setup: Nextcloud Server: Nextcloud Desktop Client (Note: after the installation of the client push app (0.3.0) on the Nextcloud server the corresponding notify_push binary was missing the executable bit; 'chmod +x notify_push' solved it) @szaimen @icewind1991 : notify_push is not working as expected with desktop clients if the server uses a self signed certificate, although that same certificate is accepted by the desktop client for polling the server. It would be very helpful if the desktop client and/or notify_push could be modified so that notify_push is also working with self signed certificates out of the box. Would you please consider that ? |
Nextcloud Server:
Nextcloud version (eg, 20.0.5): 21
Operating system and version (eg, Ubuntu 20.04): Raspbian GNU/Linux 10 (buster)
Apache or nginx version (eg, Apache 2.4.25): nginx/1.14.2
PHP version (eg, 7.4): v7.4.15
Nginx Reverse Proxy ( on a separate physical server ):
Note, I have not added a location block to the nginx reverse proxy as I'm unsure the correct way to do that. I surmise that may be the issue of why it isn't working.
On the nextcloud server:
I setup the notify_push service successfully. As least according to the setup wizard.
push server seems to be functioning correctly
reverse proxy seems to be setup already
reverse proxy seems to be setup correctly
configuration saved.
I tested the service with sudo service notify_push status and it's active and running so all good there
I then tested with 2 users using Nextcloud Talk. User #1 initiates a conversation with User #2. User #2 does not receive a notification. User #1 mentions User #2 and User #2 does not receive a notification.
I checked the logs within nextcloud and no errors reported.
In your docs, you mention something about Metrics as a way to troubleshoot, but do not provide instructions for how to do that. Perhaps that would help troubleshoot. In addition, what do you suggest in terms of troubleshooting the issue.
Metrics
The push server can expose some basic metrics about the number of connected clients and the traffic flowing through the server by setting the METRICS_PORT environment variable.
Once set the metrics are available in a prometheus compatible format at /metrics on the configured port.
Thank you.
The text was updated successfully, but these errors were encountered: