-
Steve Kille
I sent an email reply to the list.
-
Steve Kille
Agree that option 3 is the worst choice.
-
Steve Kille
Jonas has convinced me that we should stick with option1.
-
edhelas
Dave Cridland hi :)
-
Ge0rG
It looks like the #1 reason for CSI/push waking up my iFruit device is IQs from different contacts
-
daniel
Oh yeah. Answering boring IQ or holding them back is something csi is currently really missing out on
-
daniel
That's like the number one reason my phone wakes up as well
-
jonasw
which IQs are those typically?
-
Zash
And can we cache them on the server?
-
daniel
Disco probably
-
Zash
Disco can definitively be cached
-
Ge0rG
Jun 01 14:16:17 c2s56530a2a26a0 debug #queue = 40 Jun 01 14:16:17 c2s56530a2a26a0 debug hibernating, stanza queued Jun 01 14:16:17 c2s56530a2a26a0 debug Invoking cloud handle_notify_request() for smacks queued stanza Jun 01 14:16:17 yax.im:cloud_notify debug Sending push notification for georg@yax.im to push.monal.im (7D87E8CC-0C18-4579-A69C-6C513BF921FB)
-
Ge0rG
Hm. No idea what that was
-
jonasw
Kev, so, in variant 2, when sending a message to an occupant (<channel>@<service>/<user id>), that would not be carbon-copied or archived under XMPP 2.0 rules, right?(
-
jonasw
because the recipient is a full JID
-
jonasw
this is a super-messy complex design space
-
Ge0rG
It's also great how prosody marks CSI as active when a session gets hibernated.
-
Ge0rG
So immediately _after_ hibernation, the CSI queue is flushed and the device is woken up via push
-
MattJ
Ge0rG, it hurts when you say "Prosody"
-
MattJ
It's a community module not maintained by us, fork it
-
Ge0rG
MattJ: It's also sad how prosody doesn't support any of the features needed for a battery-friendly not-message-losing mobile experience.
-
Ge0rG
Does that sound better now?
-
MattJ
That one I'll take on the chin
-
Ge0rG
MattJ: I can understand that you don't want to feel responsible to the messy code that just happens to be hosted on your infrastructure, but from a server admin point of view, that distinction doesn't make much sense.
-
Ge0rG
Even mod_firewall is merely a community module.
-
Zash
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, etc
-
moparisthebest
BUT USERS WILL COMPLAIN
-
jonasw
that’s software vendors "HATERS WILL HATE"?✎ -
jonasw
that’s software vendors’ "HATERS WILL HATE"? ✏
-
Zash
Humans gonna human
-
Ge0rG
Okay, being in a dozen of MUCs and having a hundred of contacts actually means: 182 wake-ups per hour due to <r/> requests 130 wake-ups per hour due to <iq> 65 wake-ups per hour due to messages 13 "wake-ups" per hour due to responding to <r/> from the client
-
Zash
I have zero wake-ups per hour due to <r/>
-
Ge0rG
Not using smacks? :P
-
Zash
Nope
-
Zash
CSI + MAM
-
MattJ
Ge0rG, FWIW prosody-modules was originally intentionally not hosted on our infrastructure
-
MattJ
However Google Code shut down
-
Ge0rG
MattJ: yes, it was a huge hit to many OSS projects.
-
Ge0rG
Oh, yes. It looks like most of the IQ traffic is disco#info indeed.
-
jonasw
Ge0rG, you might wanna try that thing Link Mauve did
-
Ge0rG
jonasw: ah, that thing Link Mauve did. Right.
-
Ge0rG
What are you talking about? 🤔
-
jonasw
which answers on behalf of the client
-
Zash
The Thing™
-
jonasw
for disco#info if they publish caps
-
Zash
jonasw: disco#info cache?
-
Ge0rG
MattJ: my intention really isn't to assign blame to anyone, all I wish for is to have a better server so that my father-in-law can finally receive my messages.
-
Link Mauve
Oh, I also want that, for all of my users.
-
Ge0rG
Link Mauve: for your users to receive your messages? Thought about writing a blog? :P
-
Ge0rG
Link Mauve: where can I find The Thing™?
-
Link Mauve
Ge0rG, https://modules.prosody.im/ and search for "caps".
-
Ge0rG
Link Mauve: https://modules.prosody.im/mod_cache_c2s_caps.html ?
-
MattJ
Ge0rG: that's my intention also, believe me
-
Link Mauve
And this one to actually do something: https://modules.prosody.im/mod_auto_answer_disco_info.html
-
Ge0rG
Link Mauve: how beta is that combo? will it work on 0.10?
-
Link Mauve
I only tested it on trunk, and haven’t deployed it to any big service.✎ -
Link Mauve
I only tested it on trunk, and haven’t deployed it to any big service yet. ✏
-
Link Mauve
So very beta.
- Ge0rG crosses fingers.
-
Ge0rG
Link Mauve: it doesn't look like it's doing anything.
-
Ge0rG
Or does it require the client to re-login first?
-
Link Mauve
Hmm, it shouldn’t.
-
Link Mauve
Oh.
-
Link Mauve
Yes, the cache thing needs it to publish its caps.
-
Ge0rG
And now my re-logged-in client returns empty disco#info✎ -
Ge0rG
Whoops, why did it change the resource?! ✏
-
Ge0rG
Jun 01 15:01:45 yax.im:auto_answer_disco_info debug Answering disco#info on the behalf of georg@yax.im/Monal-iOS.79
-
Ge0rG
it looks like it's working.
-
Ge0rG
Link Mauve: could you please change the module:log into session.log everywhere?
-
Link Mauve
Sure, is that the new preferred way to log things?
-
Ge0rG
Also, is the cache per-JID or is it global per-node?
-
Ge0rG
oh, it's a per-full-JID one-item cache, right?
-
Link Mauve
Per-JID, because of issues with 0115.
-
Ge0rG
Link Mauve: good job
-
Link Mauve
Correct, only the last one.
-
Link Mauve
I tried to implement that quite defensively.
-
Ge0rG
So I've loaded it now on yax.im. Will complain loudly (as I always do) if it fails.
-
Ge0rG
Also seems to work, except for the module:logging instead of session logging.
-
Kev
> Kev, so, in variant 2, when sending a message to an occupant (<channel>@<service>/<user id>), that would not be carbon-copied or archived under XMPP 2.0 rules, right? That's about the address it's too, not from. It's to the user's bare JID, so it gets archived (and carbons aren't a thing any more under the new rules)
-
Kev
And yes, it's a complex space.
-
jonasw
Kev, I mean on the sender side. I send a 1:1 message to an occupant in a MIX, so to <channel>@<service>/<user id>. This is to a full JID (even though in MIX context, it has the semantics of a bare JID), so it would not get carbon-copied or archived on my side
-
Kev
In variant 2 that's a problem, yes. I don't think it's a problem with variant 4.
-
Ge0rG
In XEP-0357, does a client need to enable push notification on its server once or once per login?
-
Zash
per login IIRC
-
Zash
It's per client/session, and there's no client tracking in servers (yet?)
-
Ge0rG
How is the client supposed to be woken up if it's not connected?
-
Zash
It .. persists?
-
Ge0rG
So the push remains even after the session is dead?
-
Zash
Yes
-
daniel
Technically you wouldn't have to register on every login. You just do so the server can map a push target to a session
-
daniel
And *not* notify an active session
-
Ge0rG
How does prosody^W that community thing handle it?
-
MattJ
afaik it expects the client to register every login
-
Ge0rG
what happens after the session got hibernated and then destroyed?
-
MattJ
https://hg.prosody.im/prosody-modules/file/6abee021d9db/mod_cloud_notify/business_rules.markdown
-
Ge0rG
that document essentially writes that as soon as the session is hibernated, it's woken up by push.
-
Ge0rG
but not what happens on destruction
-
Ge0rG
oh, the b) part.
-
Ge0rG
But I don't see that in my logs.
-
Zash
Is this where I dig up something you said about mod_pinger to use as proof that you want the client woken up all the time? ;)
-
pep.
>Ge0rG> my intention really isn't to assign blame to anyone, all I wish for is to have a better server so that my father-in-law can finally receive my messages. That one thing we all wish for on an IM protocol, for users to receive our messages :)
-
Ge0rG
Zash: > I could well live with mod_pinger completely ignoring 0198 sessions (as outlined in the first comment to this issue).
-
Ge0rG
https://upload.yax.im/upload/ry1sb7gR9MLW98BL/Screenshot_20180601-200703.png - exactly what I imagined with PARS.
-
Zash
Ge0rG: Didn't you have pretty much that but for yaxim? And doesn't daniel have pretty much that for Conversations?
-
Ge0rG
Zash: except ours is interoperable with other clients and platforms
-
Zash
but but the lock-in!!