-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Failing push notification #770
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
Comments
Thanks for the thorough investigation. I've never seen that error message before from the push module. It looks like the code has been updated recently: https://hg.prosody.im/prosody-modules/file/tip/mod_cloud_notify/mod_cloud_notify.lua#l73 Perhaps try rolling back mod_cloud_notify to a (much older) commit? |
I have the same issue with https://trashserver.net/ |
All the modules are automatically updated weekly on my server (and I didn't have any ChatSecure user before the past week-end) so that would be consistent with your theory. As a temporary fix, rolling back to an earlier commit should be possible, I just hope it won't break things with the users running Conversations. Would you be able to let me know what commit of this module you are using, or alternatively to date it? By the way, when I noticed the issue, I installed mod_pinger to try to fix it, since you seemed to be using it. Is it in any way necessary to have it installed for ChatSecure and Push to work properly? |
mod_pinger shouldn't be required. Not sure the exact mod_cloud_notify commit, but I'll figure that out and test against the latest commit. Push is still working fine as of a few minutes ago on my personal server configuration. |
could this be avoided using this push mechanism ? |
I'm also encountering this issue |
We are using eJabber and have changed a bit of the underlying functionality of push, but just thought I'd chime in and say push still works ok for us. However... @chrisballinger the one problem I have seen lately, I thought I'd add here just in case it is relevant to these issues is that our RubDub has died unexpectedly a few times. Haven't figured out why yet (and we also haven't updated to the RubDub with Rollbar yet). When this happened, eJabber could not connect to it and push stopped working. Have you seen this at all Chris? I'm not sure if you guys use the same RubDub and ChatSecure-Push-Server setup as is available on github? If you have not had this problem, we'll just monitor it on our end, but just thought I'd add this here in case it is relevant. |
Yeah it does sometimes, but I re-provisioned our server don't see this anymore. I have an external port monitor that emails me when it goes down, and it hasn't had an issue since then. (Ubuntu 16.04 and latest Node PPA.) |
Exactly the same problem I encounter with two of my contacts who use ChatSecure 2.0.8 (while I am using Conversations 1.18.4). All of us are using jabber.de (prosody >0.9.10)
I think it is the same problem than stated above, but I could not provide any logfile but are eager to help solving this problem. Is the reason now already undrestood or is it still a mystery, why/when/where this happens? I hope the best for a fix in the next release....cheers, Robert |
If the Prosody server restarts it will lose all the push tokens because
they are only stored in memory. Is the server restarting on regular
intervals?
…On Tue, May 23, 2017 at 8:50 AM, therob84 ***@***.***> wrote:
Exactly the same problem I encounter with two of my contacts who use
ChatSecure 2.0.8 (while I am using Conversations 1.18.4). All of us are
using jabber.de (prosody >0.9.10)
- At iOS devices Push is active and running (as ChatSecure me
confirmed).
- For about 1-2 days delivering messages to the iOS-devices works
perfectly:
- I compose a message (Conversations) while iOS-users are displayed
as offline
- triggered by the typing-notifier iOS-users are shown as "online"
for some seconds
- i send the message some time later, iOS again return to "online",
receives the message, send an delivery-notifier - perfect!
- But after 2-3 days this does not work anymore and the iOS user has
to reopen ChatSecure to get Push activated again (which is not very userful
for long-term conversations....), otherwise the message never will be
delivered.
I think it is the same problem than stated above, but I could not provide
any logfile but are eager to help solving this problem.
Is the reason now already undrestood or is it still a mystery,
why/when/where this happens?
I hope the best for a fix in the next release....cheers, Robert
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH-qkgi_JcevYYW7Sz54Mv7D6hIooks5r8wAvgaJpZM4NaW-w>
.
|
Hm...I have to ask the guys from jabber.de. But I doubt that they would do it that often...
Is there a workaround/solution if this is the problem?
Is there any other idea to improve this?
|
mod_cloud_notify should store push tokens in permanent storage so they
persist across restarts
…On Tue, May 23, 2017 at 11:28 AM, therob84 ***@***.***> wrote:
Hm...I have to ask the guys from jabber.de. But I doubt that they would
do it that often...
is there a workaround/solution if this is the problem?
Is there any other idea to improve this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH9QAGPhqT25-bnNlda_XVyFbrSd-ks5r8yVEgaJpZM4NaW-w>
.
|
@chrisballinger
Any more suggestion about the problem from your side? Edit1: Edit2: |
Two more questions I want to raise:
--> Will CS (re-)establish a Push-Session in this scenarios or is there first an user activity needed (which would not be that relieable and practicable)? |
Both of those scenarios disable push until the app relauches due to
limitations of the `content-available` pushes we use. There is discussion
about alternative approaches but the development budget is very thin at the
moment.
…On Tue, May 30, 2017 at 1:09 PM, therob84 ***@***.***> wrote:
Two more questions I want to raise:
- how does ChatSecures push-functionality behaves, after CS is
activley "swiped out" in taskmanager or even forced killed?
- Or if iOS is freshly restarted an ChatSecure is not yet launched
manually by user interaction?
--> Will CS (re-)establish a Push-Session in this scenarios or is there
first an user activity needed (which would not be that relieable and
practicable)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH7PdOUjLI3bUwdWb5XoWsoDlLutiks5r_HeCgaJpZM4NaW-w>
.
|
Zom-iOS has the same issues, right? |
yes
…On Tue, May 30, 2017 at 1:39 PM, Michel Le Bihan ***@***.***> wrote:
Zom-iOS has the same issues, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqHyhECjrhBIyQV7U_egxAPZv-A_blks5r_H5mgaJpZM4NaW-w>
.
|
But how does Facebook, Twitter, Snapchat, etc. work then? They don't do VoIP and users are still able to get notifications after swiping the app and after a [re]boot. |
They send your messages in plain text to Apple, which is unacceptable for
an app like this.
…On Wed, May 31, 2017 at 7:35 AM, Michel Le Bihan ***@***.***> wrote:
But how does Facebook, Twitter, Snapchat, etc. work then? They don't do
VoIP and users are still able to get notifications after swiping the app
and after a [re]boot.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH6gdUMmsdYScWYdgqwSDbPMf7b-qks5r_XqXgaJpZM4NaW-w>
.
|
Can't we send you have unread messages. Please open the app to see them or something similar then? |
It would require some additional server side logic / filtering because
these events are sent very frequently, for instance, all typing
notifications. Once the push event reaches our pubsub node we don't have
enough information on whether or not to filter it. There was some
discussion on extending this format, in some of the previous issues. I'm
not saying the current design is perfect, but funding is tighter and the
dev team is smaller, so we really have to focus on one thing at a time.
…On Wed, May 31, 2017 at 11:00 AM, Michel Le Bihan ***@***.***> wrote:
Can't we send *you have unread messages. Please open the app to see them*
or something similar then?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqHwZEdAjhnd_8Fy7r69Yxf2eImsWsks5r_arXgaJpZM4NaW-w>
.
|
@chrisballinger It would be a huge UX improvement. Users won't need to remember not to swipe the app from recent or to launch it after [re]boot. As for presence, status, etc. smacks does that very well. We could also check for the |
@chrisballinger Will it require a lot of work to implement those high priority push notifications in the app and on the node? |
I just edited my comment above, about only updating the Cloud_Notify module on the prosody-server (of jabber.de) can NOT solve the problem that ChatSecure/push-service is not restarted automatically after "restartingOS/swiping CS away/kill CS"... And thus is a very deadly drawback and makes CS nearly unusable by iOS-contacts which do not care that much about "always checking if CS is launched and running" ......... :-( |
@therob84 I have plans to improve this in an upcoming release. Going to take the approach of sending generic foreground "New Message" notifications and possibly "Someone is typing..." as well. |
@chrisballinger |
@paskalito You can now set up a monthly donation via in-app purchase within the app. I also have PayPal and Bitcoin options if you'd like to give a little extra: Thanks for your support! |
@chrisballinger: I saw your announcment for beta-testing 4.1.0 at twitter (with http-upload and inline images) - great !!!!!! |
Those improvements are targeted for the v4.1.1 release
…On Sun, Jun 18, 2017 at 4:03 AM, therob84 ***@***.***> wrote:
@chrisballinger <https://github.com/chrisballinger>: I saw your
announcment for beta-testing 4.1.0 at twitter (with http-upload and inline
images) - great !!!!!!
Could you also include already some improvments about behaviour of push
messages (after restart,kill-app etc.) in this release?
Great work, chris!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH3iuo3n2swdFNhW6FtMQrJWgygVlks5sFQQVgaJpZM4NaW-w>
.
|
FYI: I just pushed my proposed changes to modules.prosody.im over here: https://hg.prosody.im/prosody-modules/rev/df86ce6bb0b4 (the one I talked about over here: #770 (comment)) |
Hi @tmolitor-stud-tu and everyone, So just to be sure I get everything right... Currently, as a Prosody server admin, if I want my Chatsecure users to get notifications of new messages, I need to:
Thanks again for all your contributions on this issue. |
@ageru Yes, |
@ageru @tmolitor-stud-tu Please don't send us message content, make sure to replace it with something static. |
In #770 (comment):
@weiss is this "dummy message" still planned for ejabberd? |
Yes, I'll add this soon™. |
Hi, Just a comment to say that after updating my prosody modules and adding the Thanks for your work! |
@weiss Sounds great. In case you have a development branch that contains it, I'd be happy to try it out. |
I was despairing a bit after Lyokovic's message, since I was still getting the same "cancel" message as before. So I tested a few things this evening, and it seems what did the trick for me was to activate S2S, which had been off until then. Does it means that S2S is required for the connection to pubsub.chatsecure.org to happen? Is that expected behaviour? This is a completely candid question, as I was expecting S2S to be for pure messaging only, not in this context. Here is the config that was successful:
I'll keep testing in the next few day. Please do chip in with your insights and your own experience. Fingers crossed I'm closing this one soon... |
Yes. |
Hi everyone! Is there way to make s2s connection between ejabberd server and pubsub.chatsecure.org if server was not configured with DNS records and domain name like "example.com"? it just lives on my static ip and I connect straightforward, like user@ip_adress. Thanks |
Nope sorry. It requires a valid SSL certificate. You can get domains for
pretty cheap these days like $2/year, and if you use Let's Encrypt you can
get free SSL certificates.
…On Sat, May 12, 2018 at 3:30 AM antonyablonsky ***@***.***> wrote:
Hi everyone! Is there way to make s2s connection between ejabberd server
and pubsub.chatsecure.org if server was not configured with DNS records
and domain name like "example.com"? it just lives on my static ip and I
connect straightforward, like ***@***.***_adress. Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#770 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAfqH549GlGfF6MjWHo3VtfDzhRh1zw9ks5txrmvgaJpZM4NaW-w>
.
|
Hi, just started an EtherCalc Pad to collect information about your and others experience about push. Feel free to add your data or additional columns (suggest only to add columns where the information can be given from a normal user) https://ethercalc.org/29iyo1nunqdp Cheers |
For the past few months, I have been running Prosody 0.10.2, and my users have been running ChatSecure 4.3 and latest. Right now:
I says "mostly" because there are still 2 instances when the ChatSecure users don't get messages
But those are outside the scope of my initial issue, wich I consider solved, so I'm closing tis bug. Thanks everyone for participating! Here is how my server is set up to allow for push, in case this is useful to anyone:
|
Better leave this issue open |
But isn't iOS closing the app the issue what push was actually implemented for in the first place? That's the main tripping hazard the ordinary end user faces & ultimately the deal breaker which keeps them on proprietary instant messaging services. |
Trawling through the various issues about push notifications it's not clear what is up to date and what is not. What's the current requirement for a working prosody setup with push notifications?
|
yes
Is already included: https://hg.prosody.im/prosody-modules/file/tip/mod_cloud_notify/mod_cloud_notify.lua#l25 |
double domain and a/v finalized 20.01 preparation for 19.08 19.08 remove warnings about deprecated listeners 19.05 don't be to strict ninja fixes use 19.02 plus only a few fixes bug-fix move http_upload to nginx hardening remove not not used code TLS: server prefered ciphers avatar: compatibilty with old and new bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release mster for ChatSecure/ChatSecure-iOS#770 (comment) 19.02 temporary include post 19.02 notification fix. max_fsm_queue of 1000 might be too small for production use. the default was 5000-10000 (since 2017.11) Add missing erlang-inets package - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed. buster does not know erlang-ic erlang -corba erlang-percept erlang-typer buster otp breaks on elixir. buster is following stretch. remove inband registration. pre-official-release 18.12.1-branch Add missing configuration options EJABBERD_REGISTER_TRUSTED_NETWORK_ONLY is true by default fixed missing default value quotes for env.get calls in ejabberd.yml.tpl The lookup call for the environment variables for EJABBERD_MOD_ADMIN_EXTRA and EJABBERD_MOD_VERSION are missing quotes for the default value. They are evaluated to false, while they look like they would evaluate to true.
21.01 double domain and a/v finalized 20.01 preparation for 19.08 19.08 remove warnings about deprecated listeners 19.05 don't be to strict ninja fixes use 19.02 plus only a few fixes bug-fix move http_upload to nginx hardening remove not not used code TLS: server prefered ciphers avatar: compatibilty with old and new bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release mster for ChatSecure/ChatSecure-iOS#770 (comment) 19.02 temporary include post 19.02 notification fix. max_fsm_queue of 1000 might be too small for production use. the default was 5000-10000 (since 2017.11) Add missing erlang-inets package - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed. buster does not know erlang-ic erlang -corba erlang-percept erlang-typer buster otp breaks on elixir. buster is following stretch. remove inband registration. pre-official-release 18.12.1-branch
README with new VARIABLES is gonna follow. dockerfile cleanup clean up private changes 21.01 double domain and a/v finalized 20.01 preparation for 19.08 19.08 remove warnings about deprecated listeners 19.05 don't be to strict ninja fixes use 19.02 plus only a few fixes bug-fix move http_upload to nginx hardening remove not not used code TLS: server prefered ciphers avatar: compatibilty with old and new bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release mster for ChatSecure/ChatSecure-iOS#770 (comment) 19.02 temporary include post 19.02 notification fix. max_fsm_queue of 1000 might be too small for production use. the default was 5000-10000 (since 2017.11) Add missing erlang-inets package - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed. buster does not know erlang-ic erlang -corba erlang-percept erlang-typer buster otp breaks on elixir. buster is following stretch. remove inband registration. pre-official-release 18.12.1-branch
README with new VARIABLES is gonna follow. dockerfile cleanup clean up private changes 21.01 double domain and a/v finalized 20.01 preparation for 19.08 19.08 remove warnings about deprecated listeners 19.05 don't be to strict ninja fixes use 19.02 plus only a few fixes bug-fix move http_upload to nginx hardening remove not not used code TLS: server prefered ciphers avatar: compatibilty with old and new bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release mster for ChatSecure/ChatSecure-iOS#770 (comment) 19.02 temporary include post 19.02 notification fix. max_fsm_queue of 1000 might be too small for production use. the default was 5000-10000 (since 2017.11) Add missing erlang-inets package - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed. buster does not know erlang-ic erlang -corba erlang-percept erlang-typer buster otp breaks on elixir. buster is following stretch. remove inband registration. pre-official-release 18.12.1-branch
README with new VARIABLES is gonna follow. dockerfile cleanup clean up private changes 21.01 double domain and a/v finalized 20.01 preparation for 19.08 19.08 remove warnings about deprecated listeners 19.05 don't be to strict ninja fixes use 19.02 plus only a few fixes bug-fix move http_upload to nginx hardening remove not not used code TLS: server prefered ciphers avatar: compatibilty with old and new bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release mster for ChatSecure/ChatSecure-iOS#770 (comment) 19.02 temporary include post 19.02 notification fix. max_fsm_queue of 1000 might be too small for production use. the default was 5000-10000 (since 2017.11) Add missing erlang-inets package - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed. buster does not know erlang-ic erlang -corba erlang-percept erlang-typer buster otp breaks on elixir. buster is following stretch. remove inband registration. pre-official-release 18.12.1-branch
Added AV-STUN/TURN Service Settings to README 21.01 remove warnings about deprecated listeners remove not not used code bump to 18.04, public OMEMO namespace, preparation for ldap-roster Push: test of pre-release master for ChatSecure/ChatSecure-iOS#770 (comment) - switch to proper 18.12.1 release - install latest packages if base-image is not updated frequently - install and cleanup package 'git' properly - i don't want inband registration some packages are being auto-installed and bloat the image even though they're not needed.
Hi,
Sorry to create yet another bug about push...
Setup
Steps to reproduce
Actual result
Successfully initiating push (it seems):
May 14 HH:MM:SS [alphanum characters] info Push notifications enabled for [ID]@[chatdomain.tld]/chatsecure (pubsub.chatsecure.org<A3486BB3-6442-4945-84E2-[more alphanum characters])
When trying to send a message to offline device (the last number increments with every try of the server):
May 14 HH:MM:SS [chatdomain.tld]:cloud_notify info Got error of type 'cancel' (not-allowed) for identifier 'pubsub.chatsecure.org<A3486BB3-6442-4945-84E2-[alphanum characters]': error count for this identifier is now at 1
Expected Result
If iPhone is connected to the Internet, the iPhone user gets a notification straight away.
Bonus questions
Many thanks.
The text was updated successfully, but these errors were encountered: