-
snit
out of curiosity, has anyone tried doing mail over xmpp? i always liked the slower and more methodical approach communication over email often has, but the technologies its based on are a genuinely awful experience; xmpp seems like it'd be a perfect replacement, all things considered
👍 2 -
singpolyma
I've wanted to for more than a decade but never did build anything haha
-
singpolyma
I used to think a proxy to imap was possible for the old archive protocol, but with mam that's not really an option. But a bespoke client that feels like email but is actually xmpp could happen
-
Sergey Ponomarev
I like the idea to have mail-like conversation when it's expected slow conversation. Threads may solve it somehow. Maybe that Forum XEP can be used.
-
Cynthia
I wonder if you could have subscription requests for MUC✎ -
Cynthia
I wonder if you could have subscription requests for MUCs ✏
-
Cynthia
Would allow offline MUC users to exist
-
Cynthia
If a user enters a MUC, they can subscribe to it. But if they leave, they can delete it
-
singpolyma
How do you mean? Offline MUC users to exist✎ -
singpolyma
How do you mean? Offline MUC users do exist ✏
-
Cynthia
A offline user that still appears as a participant in a MUC
-
Cynthia
Instead of leaving when they disconnect
-
Cynthia
You can just guess that they'll come back, but you never really know✎ -
Cynthia
You can guess that they'll come back, but you never really know ✏
-
snit
when i get that far in my project i just intend to cache recent users for some amount of time and if they don't join again then it's probably reasonable to assume they aren't coming back or that a user doesn't really care to see a hundred dead accounts in the memberlist
-
Cynthia
That still isn't a good solution
-
Cynthia
Considering how long a client may run for, the cache will disappear before it even "expires"✎ -
Cynthia
Considering how long a client may run for and where the cache is stored in, the cache will disappear before it even "expires" ✏
-
Cynthia
(unless you're talking about a server)
-
snit
talking about a client. it'd basically keep a given user for like a week or some other user-configurable value, and then uncache them if they haven't rejoined since then. could also keep them forever if the user wants
-
singpolyma
> A offline user that still appears as a participant in a MUC Well they should not show as a participant. But they do show in the members list. ↺
-
Cynthia
Where would it keep the cache in?
-
snit
iirc there's server modules to cache presence in mucs via mam as well, so it could rely on that whenever the client is offline and wants to know who joined/left, albeit only in mucs on servers which have that module
-
singpolyma
> when i get that far in my project i just intend to cache recent users for some amount of time and if they don't join again then it's probably reasonable to assume they aren't coming back or that a user doesn't really care to see a hundred dead accounts in the memberlist Why would you do this when we already know at a protocol level who the members are? ↺
-
Cynthia
>> A offline user that still appears as a participant in a MUC > > Well they should not show as a participant. But they do show in the members list. Considering that the member status is optional, if the MUC doesn't hand them out like candy, it'll be like IRC ↺
-
snit
> Where would it keep the cache in? idk same place as i'd store messages if the user only keeps messages around for a week ↺
-
Cynthia
In some cases, the member role is specifically reserved for trusted users (like in anti-spam modules)
-
snit
> Why would you do this when we already know at a protocol level who the members are? because a lot of clients simply never remove affiliations even if the user never intends to join again, so it'd result in a lot of dead users which IMO just really clutters the member list. i want to see who's offline, but i also want the list of offline users to be people i should expect to ever show up again ↺
-
Cynthia
It isn't fair to really assume that members are all there is
-
snit
hang around any large matrix room and you'll notice the vast majority of accounts are dead users who haven't talked in months or years
-
Cynthia
snit: The problem is that matrix's clients don't categorize users in the participant list
-
Cynthia
Thus making the list look more cluttered
-
lovetox
i have a mystery, i tested a new http lib, and for some reason only on one server when i upload something, and download it again, it adds bytes to the front of the file which corresponds to ascii chars "1e02 LF CR"
-
lovetox
wtf is this
-
Cynthia
(I really mean Matrix's Official Client, element)
-
lovetox
and it cuts the same amount of bytes from the end
-
Cynthia
> i have a mystery, i tested a new http lib, and for some reason only on one server when i upload something, and download it again, it adds bytes to the front of the file which corresponds to ascii chars "1e02 LF CR" What library is this ↺
-
lovetox
its not the lib
-
lovetox
same upload/download works fine on another http server
-
Cynthia
The server?
-
Cynthia
It could be a garbage implementation, Maybe it's reading back data as a string
-
lovetox
yeah or something in the http spec, comprasion, headers what do i know what could cause this✎ -
snit
> snit: The problem is that matrix's clients don't categorize users in the participant list sure but the same thing happens on discord, where all the offline members are relegated to the very bottom of the list. i'd personally prefer to not even see a user who hasn't even come online in the past three months lol ↺
-
lovetox
yeah or something in the http spec, compression, headers what do i know what could cause this ✏
-
Cynthia
And then adding newlines to "make it look better"
-
Cynthia
>> snit: The problem is that matrix's clients don't categorize users in the participant list > sure but the same thing happens on discord, where all the offline members are relegated to the very bottom of the list. i'd personally prefer to not even see a user who hasn't even come online in the past three months lol You can.. close the offline category ↺
-
Cynthia
It would actually make referencing/pinging offline users easier instead of your client acting it doesn't remember if the user manages to go offline in the window you were writing your message in
-
snit
> You can.. close the offline category 1. how?? 2. wouldn't that just hide all offline users, when what i wanted was only to hide the ones that'll probably never show up again? ↺
-
snit
> iirc there's server modules to cache presence in mucs via mam as well, so it could rely on that whenever the client is offline and wants to know who joined/left, albeit only in mucs on servers which have that module i thought it was a prosody community module but apparently its just `muc_log_presences` right in `mod_muc_mam` so yeah just turn it on and my idea will probably work fine even if you ever go offline ↺
-
singpolyma
>> Why would you do this when we already know at a protocol level who the members are? > because a lot of clients simply never remove affiliations even if the user never intends to join again, so it'd result in a lot of dead users which IMO just really clutters the member list. i want to see who's offline, but i also want the list of offline users to be people i should expect to ever show up again That seems the same as every system? If you never leave a discord you show in the list forever also ↺
-
singpolyma
I guess having some sort of "members show haven't been online recently get hidden behind a toggle" UI or similar might be sensible✎ -
singpolyma
I guess having some sort of "members who haven't been online recently get hidden behind a toggle" UI or similar might be sensible ✏
-
luca
(Bigger discord servers will stop showing offline users in the member list FWIW)
-
snit
> That seems the same as every system? If you never leave a discord you show in the list forever also yeah i think its an issue in other places, too. that's why i like that most clients on xmpp don't even bother to show people who aren't actively joined to the room ↺
-
snit
> (Bigger discord servers will stop showing offline users in the member list FWIW) oh that's good to know. biggest server i'm in is about seven hundred members, and that still shows the six hundred offline members (around five hundred of which are perpetually offline) ↺
-
singpolyma
> (Bigger discord servers will stop showing offline users in the member list FWIW) Makes sense. I would do the same with a public MUC ↺
-
snit
how stupid would it be for a feature to just not bother showing anyone who hasn't spoken in N amount of time, regardless of presence (excluding moderators and higher, of course)
🤩 1 -
snit
or like showing them in a collapsable menu which defaults to closed might be better
-
moparisthebest
> i have a mystery, i tested a new http lib, and for some reason only on one server when i upload something, and download it again, it adds bytes to the front of the file which corresponds to ascii chars "1e02 LF CR" lovetox: what about the old http lib and/or curl? do they behave here? curious if the problem is on upload (so even if you download with eg curl the extra bytes are still there) or only download ↺
-
singpolyma
Could be very sensible, depending on goals
-
moparisthebest
was also thinking BOM but doesn't match any wikipedia knows about https://en.wikipedia.org/wiki/Byte_order_mark#Byte-order_marks_by_encoding
-
lovetox
it looks like its transformed on the server, as uploading the file to another server does work
-
lovetox
and the upload with the old lib works fine
-
lovetox
but download fails in all libs
-
moparisthebest
that's wild, so something this new lib is sending on upload is causing it...
-
moparisthebest
but also that server has some very strange bug ? Know what http upload impl it's using?
-
lovetox
its a very up to date prosody
-
moparisthebest
which of the 80 http upload impls though 🙃
-
MattJ
lovetox, if it's directly to Prosody, I'm very interested in getting the raw bytes transferred
-
Cynthia
singpolyma: Also if you could subscribe to MUCs, it would very much simplify filters and stuff without having to track MUC joins
-
lovetox
yes, im trying to further debug it
-
Cynthia
On the server-side I mean
-
singpolyma
> singpolyma: Also if you could subscribe to MUCs, it would very much simplify filters and stuff without having to track MUC joins How? ↺
-
Cynthia
You could just rely on a user's subscription list
-
singpolyma
For what? I'm not sure I understand what one would use this proposal for
-
Cynthia
If you wanna filter out strangers in the server, you have to track MUC joins
-
Cynthia
Because otherwise, MUC PMs will not go through
-
singpolyma
sure. That's easy to do
-
Cynthia
Doing that for every session and also handling edge cases with broken MUCs✎ -
Cynthia
Doing that for every session and also handling edge cases with broken MUCs doesn't seem pretty easy ✏
-
singpolyma
The server has to do it anyway for directed presence rules in general
-
theTedd
> out of curiosity, has anyone tried doing mail over xmpp? i always liked the slower and more methodical approach communication over email often has, but the technologies its based on are a genuinely awful experience; xmpp seems like it'd be a perfect replacement, all things considered Message type=normal was originally used for this; modern clients pretend it's all type=chat because "nobody cares about that" ↺
-
kousu
> Message type=normal was originally used for this; modern clients pretend it's all type=chat because "nobody cares about that" I always wondered what that was for!! ↺
-
snit
reading the spec the other day i was shocked to discover type=headline
-
snit
actually a lot of functionality in the base RFCs that seems cool but i never actually see used to the extent it could've been
-
snit
> Message type=normal was originally used for this; modern clients pretend it's all type=chat because "nobody cares about that" in a client that differentiates these, what would it even look like? do they have different semantics? ↺
-
theTedd
> i have a mystery, i tested a new http lib, and for some reason only on one server when i upload something, and download it again, it adds bytes to the front of the file which corresponds to ascii chars "1e02 LF CR" 1e02 = 1*10^2 = 100 (HTTP status code: Continue) "LF CR" describe ASCII characters 10 and 13, though the newline sequence should be 2 bytes: CR then LF, not their text representations So, something is taking the response line and then reparsing it, and turning that into a string ↺
-
Cynthia
I didn't know you could use XMPP on a calculator
-
Cynthia
Who uses 1e02 to denote HTTP 100
-
lovetox
theTedd, very nice
-
theTedd
> in a client that differentiates these, what would it even look like? do they have different semantics? It was from a different style of interface: you'd send a message and the window would hide again until you receive a reply (or open to send a new message), but there wouldn't be a chat history showing - each message stood on its own ↺
-
lovetox
it is CRLF i wrote it wrong
-
lovetox
so this could indeed be some library bug with this http status code
-
snit
> It was from a different style of interface: you'd send a message and the window would hide again until you receive a reply (or open to send a new message), but there wouldn't be a chat history showing - each message stood on its own oh neat, are there any remaining examples of this kind of thing in action? ↺
-
lovetox
or my client sends the 100 and prosody takes it as part of the file
-
lovetox
thats actually more likely because its in the file afterwards thats on the server
-
lovetox
MattJ, any idea if prosody can handle HTTP Status code 100?
-
theTedd
> oh neat, are there any remaining examples of this kind of thing in action? Old versions of Gajim supported it. Look up the old ICQ interface to see it in action, or NetWare message send ↺
-
snit
thank you will definitely check it out :D
-
theTedd
100 should be a response from the server, to tell you to send the request body
-
lovetox
right, but how does it end up then in the file ..
-
lovetox
weird stuff
-
theTedd
Yeah, it's getting mixed in somehow
-
lovetox
i think i need to enable some deep http logging level, and look at the whole interaction
-
lovetox
but on another day, have a good night, and thanks for pointing in the right direction
-
theTedd
Good luck