lovetox: I'm not sure if there are situations where Gajim is using an ID generated by another entity, like e.g. Last message correction (where it's not a security problem, but to illustrate the attack channel)
lskdjfhas joined
Lancehas joined
Lancehas left
Str4tocasterhas left
moparisthebesthas joined
moparisthebesthas joined
Str4tocasterhas joined
sonnyhas joined
lskdjfhas joined
Zashhas left
sonnyhas left
Zashhas joined
lhas left
Str4tocasterhas left
Str4tocasterhas joined
Str4tocasterhas left
Str4tocasterhas joined
Str4tocasterhas left
Str4tocasterhas joined
alacerhas left
alacerhas joined
lnjhas left
genofirehas left
dedekinhas joined
Ge0rG
What's the official way to talk to iteam?
Yagizahas left
Ge0rG
I'd like to get https://www.mediawiki.org/wiki/Extension:MobileFrontend installed/enabled on our wiki
jonas’
join iteam muc
Alexhas joined
Alexhas left
j.rhas joined
Steve Killehas left
tahas joined
Steve Killehas joined
guusdkhas left
sonnyhas joined
genofirehas left
Valerianhas joined
ralphmhas left
dwdhas joined
Kevhas joined
tahas left
j.rhas left
j.rhas joined
j.rhas left
j.rhas joined
Steve Killehas left
Steve Killehas joined
genofirehas left
genofirehas joined
j.rhas left
j.rhas joined
dedekinhas left
dedekinhas joined
alacerhas left
alacerhas joined
lnjhas joined
dedekinhas left
j.rhas left
j.rhas joined
dedekinhas joined
j.rhas left
j.rhas joined
alacerhas left
Seve
I still don't receive emails from the members list. Can somebody double check, please?
Seve
I'm not sure if my new email address was added.
j.rhas left
j.rhas joined
moparisthebesthas joined
alacerhas joined
moparisthebesthas joined
j.rhas left
j.rhas joined
APachhas left
dedekinhas left
j.rhas left
j.rhas joined
dedekinhas joined
Str4tocasterhas left
Str4tocasterhas joined
Str4tocasterhas left
Str4tocasterhas joined
APachhas joined
tahas left
Nekithas left
Nekithas joined
Str4tocasterhas left
Str4tocasterhas joined
Zashhas left
Zashhas joined
guusdkhas left
guusdkhas joined
labdsfhas left
labdsfhas joined
blablahas left
tahas left
lnjhas left
genofirehas left
genofirehas joined
genofirehas left
genofirehas joined
Steve Killehas left
Yagizahas joined
Alex
Seve: which email address? i can check
Seve
Alex, seve@delape.net, I used to have my JID the same as my email address before in case you see that still there
alacerhas left
Alex
Seve: its there, but sais `nomail, reason B`
Alex
looks like you have disabled it once. I can revert he checkbox
Alex
you also maybe alble to congigure it here yourself here:
https://mail.jabber.org/mailman/admin/members/
or send commands to the list. Just let me know what you prefer
Seve
That's weird... Yes please do, Alex. Very appreciated!
alacerhas joined
Alex
resetted, I think you should be good now
Seve
Alex: thank you!
Str4tocasterhas left
Str4tocasterhas joined
lorddavidiiihas left
alacerhas left
lhas left
lhas joined
Zashhas left
alacerhas joined
lhas joined
danielhas left
danielhas joined
Zashhas left
Sevehas left
vaulorhas joined
404.cityhas joined
Yagizahas left
Yagizahas joined
lorddavidiiihas left
alacerhas left
Seve
Alex, I have no password to edit it myself. I tried to see if I could ask for a new password and it says `Your subscription request has been received, and will soon be acted upon.`
I wonder if that has some relation to it?
alacerhas joined
Valerianhas left
Valerianhas joined
Str4tocasterhas left
Nekithas left
Nekithas joined
Str4tocasterhas joined
vanitasvitaehas left
alacerhas left
alacerhas joined
Valerianhas left
Valerianhas joined
danielhas left
danielhas joined
ThibGhas joined
ThibGhas joined
danielhas left
danielhas joined
Valerianhas left
matlaghas left
lnjhas joined
tuxhas joined
ragohas left
alacerhas left
danielhas left
danielhas joined
alacerhas joined
danielhas left
danielhas joined
ragohas joined
danielhas left
danielhas joined
Andrew Nenakhovhas left
ragohas left
Alexhas left
blablahas left
Andrew Nenakhovhas joined
ragohas left
lnjhas left
Andrew Nenakhovhas joined
blablahas left
alacerhas left
alacerhas joined
lhas left
lskdjfhas joined
lnjhas joined
Alexhas joined
Str4tocasterhas left
dedekinhas left
Alex
Seve: lets see if you get new messages to the list. If not then please contact me again and we try to figure it out. To me it looks all good now.
j.rhas left
Seve
Sure, Alex. Thank you very much for your time, I will let you know :)
blablahas left
moparisthebesthas joined
j.rhas joined
moparisthebesthas left
Zashhas left
blablahas left
dedekinhas joined
matlaghas left
Zashhas left
ThibGhas joined
Valerianhas joined
matlaghas left
alacerhas left
matlaghas left
matlaghas left
dedekinhas left
ThibGhas joined
alacerhas joined
Zashhas left
Zashhas left
vanitasvitaehas left
dedekinhas joined
Valerianhas left
Valerianhas joined
Alexhas left
dedekinhas left
matlaghas left
dwdhas left
lhas joined
matlaghas left
labdsfhas left
labdsfhas joined
Yagizahas left
krauqhas left
krauqhas joined
Alexhas joined
andyhas left
lorddavidiiihas left
APachhas left
APachhas joined
jjrhhas left
jjrhhas left
efrithas joined
j.rhas left
tahas left
mrdoctorwhohas joined
j.rhas joined
Valerianhas left
Valerianhas joined
jjrhhas left
jjrhhas left
jjrhhas left
thorstenhas left
mrdoctorwhohas joined
jjrhhas left
waqashas joined
thorstenhas left
mrdoctorwhohas left
ragohas left
lumihas joined
thorstenhas left
thorstenhas left
Nekithas left
Nekithas joined
ragohas left
tahas left
tuxhas left
Tobiashas joined
Tobiashas joined
ralphmhas left
guusdkhas left
guusdkhas joined
Guushas left
Guushas joined
Ge0rGhas left
Valerianhas left
Valerianhas joined
!xsf_martinhas left
peterhas joined
dwdhas left
dwdhas joined
guusdkhas left
danielhas left
Nekithas left
Nekithas joined
Valerianhas left
Valerianhas joined
ragohas left
ragohas joined
ragohas left
Ge0rGhas left
Ge0rGhas left
Guushas left
Ge0rGhas left
Guushas joined
guusdkhas left
guusdkhas joined
Ge0rGhas joined
lskdjfhas left
alacerhas left
efrithas left
mightyBroccolihas left
mightyBroccolihas joined
lovetoxhas joined
sonnyhas left
Valerianhas left
Valerianhas joined
labdsfhas left
mimi89999has joined
tahas left
tahas joined
lhas joined
lskdjfhas joined
krauqhas left
krauqhas joined
tuxhas left
Yagizahas joined
guusdkhas left
vanitasvitaehas left
Valerianhas left
Valerianhas joined
Sevehas joined
lhas left
lskdjfhas joined
vaulorhas joined
sonnyhas joined
Steve Killehas left
Steve Killehas left
danielhas joined
Valerianhas left
Steve Killehas joined
Valerianhas joined
jonas’
in-band bytestreams. is there a way to close an IBB with an error?✎
jonas’
in-band bytestreams. is there a way to close an IBB with an error while the peer is *not* sending to you? ✏
marchas joined
SamWhitedhas left
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Ge0rG
jonas’: remember the last incoming message id?
flow
jonas’, can't you always send a session-terminate (if we are talking Jingle based IBB)?
ralphmhas left
Alexhas left
Nekithas left
Nekithas joined
Yagizahas left
Steve Killehas left
Kevhas left
Yagizahas joined
vanitasvitaehas joined
dwdhas left
edhelashas left
edhelashas joined
Valerianhas left
Valerianhas joined
lorddavidiiihas left
Yagizahas left
jjrhhas left
guusdkhas left
lskdjfhas left
lhas left
marchas left
labdsfhas joined
marchas joined
jjrhhas left
jonas’
flow, no, plain IBB
ThibGhas joined
guusdkhas left
guusdkhas joined
labdsfhas left
labdsfhas joined
guusdkhas joined
jjrhhas left
Alexhas joined
sonnyhas joined
sonnyhas joined
sonnyhas joined
Valerianhas left
jjrhhas left
labdsfhas left
labdsfhas joined
jjrhhas left
guusdkhas left
guusdkhas joined
Steve Killehas left
sonnyhas left
genofirehas left
lumihas joined
!xsf_martinhas joined
!xsf_martinhas joined
matlaghas left
tahas joined
tahas joined
Valerianhas joined
lskdjfhas joined
Valerianhas left
Valerianhas joined
jjrhhas left
labdsfhas left
Link Mauve
jonas’, AFAIK you can’t even do that if they’re sending to you, since they could use the <message/> transport.
Valerianhas left
Valerianhas joined
labdsfhas joined
jjrhhas left
labdsfhas left
labdsfhas joined
lorddavidiiihas left
dwdhas joined
!xsf_martinhas left
Valerianhas left
Valerianhas joined
MattJ
<message type='error' id='...'>
Lancehas joined
dwdhas left
jjrhhas left
lnjhas left
jjrhhas left
Valerianhas left
Valerianhas joined
lovetoxhas left
Ge0rG
Speaking of which, can we get error messages stored in offline storage, because Carbons and multi client?
MattJ
Yes
tahas left
lovetoxhas joined
tahas joined
tahas left
tahas joined
!xsf_martinhas joined
rionhas left
j.rhas joined
j.rhas joined
jjrhhas left
valohas left
valohas joined
Kevhas joined
tahas joined
tahas joined
Ge0rG
MattJ: In prosody 0.10?
MattJ
"LOL"
Holger
Ge0rG: You mean in MAM?
dwdhas joined
jjrhhas left
Ge0rG
Holger: MAM is not needed if you have per device offline storage queues
Kevhas left
Holger
Hah.
Holger
Why proper solutions if we can have ugly hacks!
Ge0rG
And my evil secret plan is to defer implementing MAM in yaxim (and annoying MattJ with message loss) until he gives up and finishes client tracking
lnjhas left
Ge0rG
Holger: MAM is an ugly hack.
lnjhas left
Holger
How do you handle outgoing messages with offline storage? Wait whether the client enables carbons and then push them out?
Holger
How do you do paging?
jonas’
different use-cases
Holger
Hm?
jonas’
although
jonas’
ignore me, I want to see how this plays out
dwdhas left
Ge0rG
Holger: how do you handle sync of messages between MAM and offline? Just drop all offline messages before sending presence?
lorddavidiiihas left
Holger
That's what Conversations does, the alternative is de-dup, obviously.
Holger
Whatever that has to do with my question.
Alexhas left
Tobiashas joined
Tobiashas joined
Holger
I think MAM becomes problematic to implement if you *don't* want full-sync. If you do, like you'd get with per-device offline storage, it's trivial. I don't get why you wouldn't just want to implement this.
SamWhitedhas left
Ge0rG
Holger: MAM is *also* a dirty hack. Is it better now?
Holger
Ok, so that's go for a worse hack instead.
Ge0rG
Holger: because it's complicated with my current code base
tahas joined
Ge0rG
Holger: MAM is the worse hack.
Holger
Why?
Ge0rG
Actually sending out Carbons from offline is a I nice idea
lnjhas joined
Holger
Haha.
Ge0rG
Holger: it's full of race conditions!
Holger
For example?
Ge0rG
You don't need paging if you do full sync.
Ge0rG
Holger: between querying MAM and dropping offline history
Zash
It's dirty hacks all the way down to the silicon
tahas left
tahas joined
Ge0rG
Holger: also between completing your MAM sync and receiving first live messages
jonas’
Ge0rG, isn’t bind2 there to solve all those races?
Ge0rG
jonas’: yes
jonas’
purge offline, enable carbons, give you the id of the last stanza in MAM
marchas left
marchas joined
Ge0rG
jonas’: also magically enable / resume SM
Holger
Until we have that, de-dup should be trivial using stanza-IDs.
Ge0rG
Holger: you mean unique ids?
Ge0rG
Will MAM inject ids into offline storage?
Holger
mam:2 guarantees that, yes.
daniel
Fwiw Conversations would handle the dedup just fine. But I don't like the extra traffic
jjrhhas left
Ge0rG
But if you just drop offline history, you'll get message loss if your MAM is "contacts only"
Holger
Yes, I don't know why we offer that option.
daniel
Yep
Ge0rG
And dropping before MAM sync is lossy
daniel
Or disabled
Holger
You get even more message loss if MAM is disabled.
Holger
Right.
daniel
I'd like the mam preference to be announced in disco
daniel
That could help circumvent that problem
Ge0rG
daniel: you drop offline history if MAM is disabled???
Holger
I'd like to see the "contacts only" option ditched.
daniel
Ge0rG: yes
Ge0rG
daniel: ...
Holger
> You don't need paging if you do full sync.
You might need it for traffic throtting. Otherwise the server will flood you with messages and if you're not fast enough with acknowledging it, you'll exceed 0198 queue size limits and the server will kill your connection.
Holger
*throttling
!xsf_martinhas left
Holger
I open yaxim once in a few weeks, it would become unusable if I implemented that thing.
jonas’
Holger, FWIW, Conversations *is* unusable when you open it only once in a few weeks.
Zash
and Gajim
jonas’
or even once a week
jonas’
I plan for like one hour or maybe two for it to sync when I haven’t used it for a week
Holger
jonas': Hm no I didn't run into that.
jonas’
maybe it’s just me or my device?
jonas’
ever since that full text search index each message takes like 0.5s to process
jonas’
you can do the math with a few public MAM’d MUCs.
Link Mauve
Zash, Gajim fixed that (for public MUCs only) in their latest release from today.
jonas’
it’s terrible in any case.
Zash
Link Mauve: By some random coincidence, I can't start Gajim anymore
Ge0rG
XMPP is terrible.
Ge0rG&
jonas’
fg
Link Mauve
That may be related, you should report this bug at gajim@conference.gajim.org.
Link Mauve
Maybe they’ll do a 1.1.1 fixing it.
vanitasvitaehas left
jjrhhas left
Zash
I think it's some Python search path thing
lnjhas left
sonnyhas joined
SamWhitedhas left
SamWhitedhas joined
mimi89999has left
!xsf_martinhas joined
goffihas left
Lancehas left
alacerhas joined
lorddavidiiihas left
alacerhas left
Alexhas joined
jjrhhas left
lumihas joined
sonnyhas left
Valerianhas left
MattJhas joined
lovetox
yes the user can set a threshold now for public mucs how much gets synced
lovetox
and the default is 1 day, if you join 20 mucs, you still can expect around 30 seconds until everything is joined and everything is synced
Valerianhas joined
lovetox
problem is, you absolutly have to sync everything at start with MUC
lovetox
otherwise you just plain accept not delivering messages to your user that he might want to read
lovetox
im not seeing how we can optimize that in any way
marchas left
daniel
The problem is that 1 day is pretty random. On some days you just have one message in the last 24h on some days you have 1000
daniel
I'm considering - for public mucs - to just ditch the entire history instead
daniel
Then normal backlog scrolling works as intended
daniel
Instead of trying to fill gaps or what ever
daniel
But nothing is ideal. There is no good solution
lovetox
so not storing messages in public muc to db, and making it completly load on demand
daniel
Yes
lovetox
yes the only way back scrolling can work i think
daniel
*in public with mam
lovetox
but this is probably acceptable for a mobile client, but if i do this in Gajim people will scream
daniel
Why?
Kevhas joined
tahas joined
lovetox
they have there 200 MB "i have logs back to 1990" dbs
lovetox
and want to search them
Kevhas left
lovetox
but yeah indeed nothing speaks against making it default not storing, and if a user wishes he can store for some mucs
lovetox
but then no backscrolling there
lovetox
maybe thats a good solution for both worlds
rionhas left
daniel
Yeah I haven't thought this all the way through yet. It's just that idea I'm having
daniel
Especially for mobile and like short outages you might still want to have a local history
daniel
But certainly not catch up with a week or so
jjrhhas left
lovetox
and the whole backscrolling thing can get pretty easy if client devs could depend on the server using sequential mam ids
lovetox
then its trivial to fill a whole
lovetox
i still think whatever reason that was why this was dismissed in the XEP, was not worth it at all
jjrhhas left
lovetox
but mam exists a long time now, maybe we should ask around, and if there is no implementation that depends on mam ids not beeing sequential (because they technically can not do it) then just ditch this, there is no need for something that limiting us, that nobody plans to use anyway
sonnyhas joined
sonnyhas joined
sonnyhas joined
sonnyhas joined
sonnyhas joined
sonnyhas joined
daniel
It's complicated on a database level
daniel
Either pretty expensive or impossible in clusters
lovetox
hm doubt it seriously :D
lovetox
its just that it would be probably considerable more work to make it so
lovetox
but then again, where are these clusters, are we writing xeps for that one provider in X years that sets up a cluster
lovetox
or for the 1000s who do not
lovetox
but i guess we had this discussion, the conclusion was, add a disco feature
lovetox
"sequential-ids"
sonnyhas joined
lovetox
if i see this i offer back scrolling, if not i dont
jjrhhas left
Holger
Well there certainly are clustered setups in practice and I wouldn't want to tell people "sorry XMPP doesn't support this".
lovetox
is ejabberd not a bad example, as you offer sequential ids :D
Holger
lovetox: I forgot, you actually need sequential IDs or are increasing IDs (i.e. ejabberd's timestamps) good enough to solve the problem?
jjrhhas left
daniel
If the use case is to know the gaps you need sequential and not just increasing
lovetox
maybe im getting my definitions wrong, but sequential and increasing are not counterpars
Holger
lovetox: Yeah these days we just ignore the clustering issue because it's somewhat academic in practice. With microsecond timestamps you won't end up with non-unique IDs, or if you ever manage to, then wow you have a message loss/duplicate. This is XMPP after all.
daniel
And that's complicated even on an single db
Valerianhas left
daniel
I mean can you tell me the sql command for insert with id=max(I'd) +1?
Holger
Don't SQL engines have this built-in? But that'll obviously be expensive on a cluster, yes.
daniel
I think the bad ones do
Holger
lovetox: Sequential is 1,2,3,4, incrementing is 1,4,394,1039.
lovetox
then incrementing is enough
daniel
But from my understanding you try to avoid this in db design
daniel
lovetox: how do you find gaps then?
lovetox
yeah this fixes just the message ordering problem
lovetox
you still have to track gaps somehow
jjrhhas left
Zash
I started writing a thing based on linked lists once
Zash
So what problem can I solve by tagging each message with the id of the previous message?
Holger
You solve the same problems and run into the same problems as with sequential IDs, no?
Zash
Given a bag of unordered messages, you can shuffle them into sequences, no?
Holger
I guess what you do these days is DAGs, i.e. you can add a merge message that has multiple parents once the cluster notices the conflict. Leave it to clients to cope with it.
lovetox
the problems we are facing are two fold,
1. have a way to determine where you have a gap in your local storage and fill it efficiently by requesting from mam
2. If you start your client, display all messages in the correct order
tahas left
tahas joined
lovetox
2. can be solved by just increasing IDs, or just microtimestamp
flow
> 1 day is pretty random
flow
make mam allow query the last N stanzas?
Zash
flow: ... <before/N>
lovetox
we can do this already
Zash
wait no, before="" max=N
Zash
high resolution timestamps has problems too
Zash
like like being unavailable from C stdlib
lovetox
maybe the server can solve 1. for us, what if we have a query i give 2 mam-ids, can the server tell me if there are messages in between?
Zash
and also having no guarantee of being strictly increasing
flow
lovetox, then why 1 day and not, say, 100 messages?
lovetox
Zash its enough if its most unlikely to produce duplicates
lovetox
i can live with a duplicated timestamp 1 out of a million messages
flow
Holger, are you talking about Matrix? :)
flow
but serious, this sounds appealing
Holger
Zash: The C standard doesn't return the current time at all, no? So you can't implement MAM with it anyway.
valohas joined
lovetox
flow it can be done, but its not the same thing, last 100 can only be done by backpaging
lovetox
you get the last 10
lovetox
then 10 before that etc
Holger
flow: Yeah Matrix and I think various other distributed DBs are doing it that way.
lovetox
while from a date, gives you all messages orderd from old to new
Holger
And all those DCVSes ...
lovetox
and this is pretty important, because i need the messages sent ordered to me
flow
lovetox, ahh so MAM is missing a "give me the last N messages starting with the oldest" query?
lovetox
i dont know if it needs it .. but yes i guess would be nice
flow
(I think we possibly have been there before)
lovetox
i more and more think, maybe we dont need this at all, internet gets faster and faster, if i join a muc i show a loading screen and count the messages with a nice UI
Zash
flow: I don't think MAM is missing query related things like that
lovetox
so the client needs 30 seconds, if you dont start it a week, so what?
lovetox
show me an application that does it much better
lskdjfhas left
lskdjfhas left
jjrhhas left
flow
Zash, possibly, possibly not
flow
lovetox, na, that's not what drives me, but I can see why one could be happy with that
Zash
Fetch the last chunk of messages and show them. Then do the sync thing quietly in the background.
tahas joined
flow
Zash, fetch using <before/> and max=N?
Zash
flow: right
lovetox
i could pull with before say 20 messages, but dont store them to db then sync the db in the background
flow
Dunno, I think you run in all kinds of oddities with current MAM
lovetox
but there is no "background"
lovetox
there is only one connection to the server
lovetox
and it will be slow to the user if i fetch stuff contstantly
lovetox
it would be nice to know what the user wants to do and priorities that
lovetox
but he could switch to any muc instantly and then i need the full stuff there
flow
lovetox, do small chunks of background sync and pause them once such "high priority" things happen?
lovetox
and all that seems rather complex, instead of just a loading screen
lovetox
:D
flow
or just do small chunks and see if it turns out to be a real issue
flow
before we are talking about potential solutions for non-issues ;)
lumihas left
matlaghas left
lovetox
joining 20 mucs is also slow if you dont fetch MAM at all
lskdjfhas left
Zash
It is
lskdjfhas left
flow
hmm, dunno, my poezio joins the ~15 MUCs reasonably fast I'd say, but YMMV
404.cityhas left
lovetox
yeah can you give me a time on that?
lovetox
just so i have something to compare Gajim with
lskdjfhas left
flow
lovetox, a few seconds I'd say, but it is really hard to tell as the UI elements are already seen even if the MUC is still in the process of joining
tahas joined
lovetox
hm other topic, nickname conflicts when joining a muc how do clients handle these
tahas joined
lovetox
gajim does a popup and the user has to choose another nick
lovetox
but im thinking i dont want to ask the user anymore and just join with a added "_" or something like that