-
nicoco
about xep-0421, should the occupant-id also be attached to the <message> containing the <subject> of the MUC?
-
lovetox
I would say yes, does anything in the XEP say otherwise?
-
nicoco
it does not, and I think yes too, but wanted to make sure there wasn't something I didn't think of :)
-
nicoco
Even though it's deferred because reasons, consensus is that this XEP is good, amirite? or are there opponents to it? for context, slidge mucs are all non anonymous right now, so I thought it didn't make sense to support that. but if a participant changes its name while a client is offline, this is the only for the client to establish a relationship between a MAM message and this new name. do I understand this right?✎ -
nicoco
Even though it's deferred because reasons, consensus is that this XEP is good, amirite? or are there opponents to it? for context, slidge mucs are all non anonymous right now, so I thought it didn't make sense to support that. but if a participant changes its name while a client is offline, this is the only way for the client to establish a relationship between a MAM message and this new name. do I understand this right? ✏
-
Zash
nicoco, correct
-
nicoco
thanks. that may be why I got dino starting to say that "reactions are not supported in this group" in a group where it definitely worked before then, I guess.
-
Zash
nick changes that you don't directly observe can cause confusion, occupant-id solves this
-
nicoco
I'll just use the contact's JID as a unique identifier then, there's nothing wrong with that, right?
-
Zash
I forget, do you see that in MAM?
-
lovetox
Jids need to be attached to every mam message
-
nicoco
I don't know about other implementations, but slidge as a MAM server will attach occupant-id to MAM messages, that's the point :)
-
nicoco
> Jids need to be attached to every mam message huh? you mean room@conference/nickname is attached to every MAM message, but myrealjid@myserver.com isn't? or is it‽
-
lovetox
No the real jid
-
lovetox
Otherwise it's not non-anon
-
nicoco
looks like the room just "ate" my latest rather long message, damn
-
Zash
om nom nom
-
Zash
nicoco, do you have a timestamp of when you sent it?
-
nicoco
about 15:31 paris time I think. I know I left and re-join the MUC just after and gajim shows my re-join at 15:33.
-
Zash
I see a message with id `56ab9092-9c63-4895-bba0-71c100d109e2` received and broadcast
-
Zash
I see it in my own logs. Guess you managed to make an invisible message. gg
-
nicoco
gg gajim. not me :)
-
Zash
Wasn't archived anywhere so no idea what it was
-
Link Mauve
Zash, unlikely to be that one: 490179 2023-07-10 15:31:23,420 DEBUG:xmlstream:RECV: <message from="jdev@muc.xmpp.org/nicoco" type="groupchat" xml:lang="en" id="56ab9092-9c63-4895-bba0-71c100d109e2" to="*me*"><origin-id xmlns="urn:xmpp:sid:0" id="56ab9092-9c63-4895-bba0-71c100d109e2" /><paused xmlns="http://jabber.org/protocol/chatstates" /><no-store xmlns="urn:xmpp:hints" /><occupant-id xmlns="urn:xmpp:occupant-id:0" id="FupMtP4zOtNXvGoPd0dQhaljq9W4ej4xyxnycZDYDJg=" /></message>
-
Zash
Ah
-
Link Mauve
nicoco, I see you sending paused (15:31:07), composing (15:31:09), paused (15:31:23), composing (15:31:31), then you leave the room (15:33:24).
-
Zash
rate limits?
-
nicoco
well, it probably is a gajim bug then, because before leaving the room I pressed Enter and waited for a 1 or 2 minutes before leaving✎ -
nicoco
well, it probably is a gajim bug then, because before leaving the room I pressed Enter and waited for 1 or 2 minutes before leaving ✏
-
Zash
aha!
-
Zash
`033cb99c-05b3-43ae-9b12-2879fd4c80e3` > Dropping stanza for jdev@muc.xmpp.org from <nicoco>, over rate limit
-
Zash
Report to Gajim for not showing you that error I guess?
-
nicoco
Gajim does not display anything until the MUC echoes the message. Does the MUC component here even send an error msg btw or just silently drops the stanza when rate limiting?
-
nicoco
damn, over rate limit, it was not *that* long but I guess the composing/paused/composing/paused/... didn't help
-
nicoco
oh, adding that occupant-id made me realize that my <subject> messages didn't have <stanza-id> either, that wasn't good
-
Zash
should it?
-
nicoco
> https://xmpp.org/extensions/xep-0313.html#business-storeret-muc-archives All messages sent to the room that contain a <body> element SHOULD be stored, as should subject change stanzas, apart from those messages that the room rejects.✎ -
nicoco
from https://xmpp.org/extensions/xep-0313.html#business-storeret-muc-archives > All messages sent to the room that contain a <body> element SHOULD be stored, as should subject change stanzas, apart from those messages that the room rejects. ✏
-
nicoco
so it kindof sounds like it should?
-
Zash
in prosody we're storing subject outside of the archive :/
-
nicoco
or should we consider the "subject that concludes the join sequence" a special case?
-
Zash
dunno
-
Zash
It is a special case in some ways
-
nicoco
to me it looks like it should have this <stanza-id>, but I'm probably biased because it makes me add a lot of crap to my already crappy code to not include it, but that's not a valid reason I guess. if anyone sees a reason why a stanza-id should not be there, ping me.
-
lovetox
nicoco, yes its true muc message erros might not be shown in Gajim currently
-
lovetox
but we plan to change that and switch to showing the message in the chat even if it didnt reach the muc yet
-
lovetox
on another note, real jid must be attached to all MAM messages in non-anon rooms
-
lovetox
you do that hopefully :)
-
nicoco
I don't. so this would make occupant-id useless I guess :(
-
nicoco
I missed this part of the MAM spec…
-
lovetox
i mean, in Gajim we only use it for OMEMO
-
lovetox
which is not usable over your bridge anyway i guess
-
nicoco
nope
-
lovetox
and no please implement occupant-id
-
nicoco
indeed: > In the case of non-anonymous rooms or if the recipient of the MUC archive has the right to access the sender real JID at the time of the query, the archive message will use extended message information in an <x/> element qualified by the 'http://jabber.org/protocol/muc#user' namespace and containing an <item/> child with a 'jid' attribute specifying the occupant's full JID, as defined for non-anonymous room presence in Multi-User Chat (XEP-0045) [11]. The archiving entity MUST strip any pre-existing <x> element from MUC messages (as MUC rooms are not required to do this).
-
nicoco
there's no MUST… 🤡️
-
singpolyma
It says "will"
-
singpolyma
> and no please implement occupant-id For a non-anon room? Why? ↺
-
lovetox
it makes implementation much easier
-
lovetox
occupant-id is added to every message
-
lovetox
real jid not
-
lovetox
you always have to do a mapping to the roster
-
lovetox
which im not planning to do
-
lovetox
why would i need to completely different code paths for the same feature, depending on some muc config setting
-
lovetox
nicoco, the XEP says > a MUC service SHOULD generate the identifier such that the occupant identifier of a user in one room of the service does not match the occupant identifier of the same user in another room of the same service.
-
lovetox
i currently rewrite my database schema, and my first idea was that occupant-id is globally unique
-
lovetox
but i now think its safer to make it a occupant-id / room-jid tuple
-
singpolyma
Could put real jid in the occupant id column when known and there is no occupant id or similar to keep it not two whole code paths. Going to be something one encouters in the wild for some time either way
-
lovetox
mhm, sounds maybe like a good idea
-
lovetox
i wonder though what would happen if the server suddenly supports occupant-id then
-
pep.
singpolyma, and then the MUC implements occupant-id and you think it's been changed :P
-
singpolyma
Sure, same as going from null to something except a bit better?
-
lovetox
damnit i hate that sqlite treats NULL always as unique
-
lovetox
it really might be the easiest thing to just set realjid = occupant-id for the servers that dont support it
-
lovetox
with the downside that the link breaks, if the server introduces occupant-ids
-
lovetox
though the features for what i would need this are maybe not that important
-
lovetox
mostly "show me all messages from this user" search option
-
lovetox
hm but i guess i could work around that simply searching for the occupant-id and the real jid
-
lovetox
or something