-
dwd
And also here - https://github.com/dwd/Wimsy/releases/tag/v0.0.5 - still prerelease, but would welcome feedback.
-
moparisthebest
when does it get quic/webtransport support?
-
moparisthebest
I can give you an @xmpp.beer account for testing
-
Cynthia
Can WebXDC handle input files?
-
Cynthia
Like say, I upload a Ruffle widget and then attach a SWF file aswell, can the widget automatically load the user-provided file? (or does WebXDC not allow this to happen as of now)
-
Cynthia
Or is it just apart of the state update
-
singpolyma
You could cram it in the state update if it's not too big
-
Cynthia
What if it is big?
-
Cynthia
Like 5MB or so
-
singpolyma
Then it won't fit in a state update
-
Cynthia
If WebXDC supported setting up the widget with a file data supplied by the client (where it can do HTTP file download, OMEMO decryption, etc. etc.)
-
Cynthia
Then it would be easy to make loader apps like Ruffle to play with people✎ -
Cynthia
Then it would be easy to make loader apps like Ruffle to play with people, for example ✏
-
Cynthia
I wonder why they haven't done that
-
singpolyma
Why not just pack the file into the WebXDC?
-
singpolyma
seems it would be simpler to use that way
-
Cynthia
That would be much harder for a user to do
-
Cynthia
I mean I'm assuming telling a user to unpack a xdc file, put the file in, and then repack before sending would be pretty hard
-
singpolyma
I'm not sure in what way loading a SWF blob into a player that isn't aware if it will do anything useful. How does the SWF blob know about the state update protocol etc?
-
Cynthia
Then again in the WebXDC XEP, the client does upload the XDC file to the server
-
singpolyma
> I mean I'm assuming telling a user to unpack a xdc file, put the file in, and then repack before sending would be pretty hard I can probably make a single html file that lets anyone do this if there's a reason ↺
-
singpolyma
> Then again in the WebXDC XEP, the client does upload the XDC file to the server True. A specialized client could also do it before send if it wanted ↺
-
Cynthia
> I'm not sure in what way loading a SWF blob into a player that isn't aware if it will do anything useful. How does the SWF blob know about the state update protocol etc? I mean, you can either modify the player to hook into the SWF state (would be dependent on the file that is loaded) and send over updates, or just don't bother :P ↺
-
Cynthia
I don't think people would mind much about the lack of state updates from a loader✎ -
Cynthia
I don't think people would mind much about the lack of state updates from a generic loader ✏
-
singpolyma
But if you don't bother then what is the point? It's just a web view in your chat app with no integrations? Might as well be a link then why use WebXDC
-
Cynthia
Well sure, I'll give you a better example
-
Cynthia
How about an emulator that actually does hook into the game and updates the state with achievements? (RetroArch with RetroAchievements)✎ -
Cynthia
How about an emulator that actually does hook into the game's state and updates the state with achievements? (RetroArch with RetroAchievements) ✏
-
singpolyma
Sure if it has some generic way to do that over many payloads it could be useful
-
Cynthia
You mean inject a file into the WebXDC payload?✎ -
Cynthia
You mean the client injecting a file into the WebXDC payload? ✏
-
singpolyma
Right
-
snit
hi guys :) the other day i brought up a potential idea to allow muc users to see each other's mutual rooms in an explicitly opt-in way. the longer i thought about it, the less useful that particular method seemed to be. i'm doing more research into XEPs, and noticed 0194(user chatting), which lets users expose the rooms they're in with PEP, and 0316(MUC eventing protocol), which allows PEP to work in semianon rooms. the combination of these two would, i believe, achieve what i want; however, both specifications are deferred and have no known implementations. does anyone know why? was it just lack of interest, or were there technical reasons? (or is there a newer way of doing this now?)
-
singpolyma
Why would anyone care what other rooms I'm in?
-
Cynthia
> hi guys :) the other day i brought up a potential idea to allow muc users to see each other's mutual rooms in an explicitly opt-in way. the longer i thought about it, the less useful that particular method seemed to be. i'm doing more research into XEPs, and noticed 0194(user chatting), which lets users expose the rooms they're in with PEP, and 0316(MUC eventing protocol), which allows PEP to work in semianon rooms. the combination of these two would, i believe, achieve what i want; however, both specifications are deferred and have no known implementations. does anyone know why? was it just lack of interest, or were there technical reasons? (or is there a newer way of doing this now?) Will this just leak your entire MUC bookmark to a room? ↺
-
Cynthia
> Why would anyone care what other rooms I'm in? Discord feature ↺
-
Cynthia
Same with "mutual friends"
-
snit
> Will this just leak your entire MUC bookmark to a room? no, ideally it'd be an explicitly-opt in thing, and 0194 specifically says that users MUST be able to only advertise a subset of their rooms ↺
-
snit
> Why would anyone care what other rooms I'm in? i personally find it helpful to identify users i don't know very well, especially if they frequently change their avatar and/or nickname, to be able to see what other rooms they're in (and ideally any other nicks they use there, though 0194 doesn't help with that part). making it explicitly opt-in ensures users who don't want that don't have it by default ↺
-
snit
its a pretty common feature on other IMs
-
Cynthia
Why not hash the room IDs
-
Cynthia
And compare
-
Cynthia
This is a good feature for stalkers, because they can join the rooms they're not in but you are in
-
singpolyma
Well if it's a semi anon room the whole point is you shouldn't know who they are. Otherwise do the same as every other chat protocol ever and let participants see their id
-
snit
> Why not hash the room IDs what exactly do you mean? like providing a hash of the room URI in the node instead of the URI itself? i'd be fine with that as well, since it'd still give me my mutual room functionality ↺
-
Cynthia
If its just for figuring out mutual rooms, you can hash the room JIDs (with some salt per-stanza and order of the JIDs randomized, just in case)
-
Cynthia
>> Why not hash the room IDs > what exactly do you mean? like providing a hash of the room URI in the node instead of the URI itself? i'd be fine with that as well, since it'd still give me my mutual room functionality Hash of the room ID, Like sha512("exampleroom@example.com" | salt) ↺
-
Cynthia
A client can just hash their entire MUC bookmark can check against the hashes you've advertised, to check for mutual rooms✎ -
Cynthia
A client can just hash their entire MUC bookmark and check against the hashes you've advertised, to check for mutual rooms ✏
-
Cynthia
And also stops them from joining rooms they don't even know yet
-
singpolyma
Bloom filter. "This user is *probably* in the same room as you" 😉
-
snit
> Well if it's a semi anon room the whole point is you shouldn't know who they are. Otherwise do the same as every other chat protocol ever and let participants see their id sure that's why this is an opt-in thing. most people i know have little use-case for semi-anon beyond hidng the JID to prevent dm spam and such. at the very least, i can be reasonably confident for 99% of users that the guy in two mucs with the same name and avatar is the same person, but i can't be sure that one of them isn't just an impersonator, and i can't be sure that the guy with the same avatar but a different nick is the same guy, especially not in a way that'd be easy to implement in a UI. for people who don't mind confirming what most people already know by intuition, these XEPs would be nice to have ↺
-
snit
> If its just for figuring out mutual rooms, you can hash the room JIDs (with some salt per-stanza and order of the JIDs randomized, just in case) yeah this would be perfect. i wouldn't personally mind sharing the URI itself, but i definitely agree a lot of users would prefer to just send the hash. the XEP could be amended to say something like "one of <uri/> or <hash/> MUST be present" ↺
-
Cynthia
This is better than XEP-0194, because you're not inviting random people to harass you everywhere✎ -
Cynthia
This design is better than XEP-0194, because you're not inviting random people to harass you everywhere ✏
-
snit
yeah i definitely agree the hash is a really good idea :D
-
snit
though i'd like to reiterate my questions about whether 0194 and 0316 were never implemented for lack of interest or technical reasons. i guess i'd consider the hash thing a technical reason for 0194, though i see that less as a blocker for implementing 0194 and more as a blocker for end-users enabling it. still unsure about 0316; i haven't done much reading on pubsub/pep yet
-
singpolyma
If there is a xep that wasn't implemented then the question I would have is why does it even exist. If even the author couldn't be bothered to implement it it seems more like a hypothetical than a spec
-
snit
i've noticed a number of XEPs with few to no implementations which i would've loved to see, but apparently not even the author cared enough to make a reality 😔
-
snit
maybe xep submissions should be required to have a proof of concept implementation 🧌
-
Cynthia
> yeah i definitely agree the hash is a really good idea :D Also BTW why pep anyway ↺
-
Cynthia
Why not just query the user telling them "are you in any of these rooms?", and give them a list of URI/hashes
-
Cynthia
Then it would be even better, people wouldn't save the list of hashes and compare it against a giant list of known MUCs
-
snit
well for me its mostly because the XEPs to do what i want already exist and happen to use PEP. for the authors, i think its mostly that the goal was a series of XEPs implementing functionality akin to discord's rich presence(the same framework is used for music and games, for example), rather than a mutual room thing specifically
-
Cynthia
The XEP is from 2008
-
Cynthia
I don't think Discord existed back when this XEP was made
-
snit
yes this is true. i didn't mean to imply that their reference here _was_ discord, just that both achieve similar goals in terms of providing rich information regarding users' current activities
-
moparisthebest
> maybe xep submissions should be required to have a proof of concept implementation 🧌 this but seriously ↺
-
Cynthia
> Sure if it has some generic way to do that over many payloads it could be useful Do you know where the webxdc devs are? ↺
-
moparisthebest
Cynthia: https://webxdc.org/
-
dwd
snit, XEPs do need implementations to advance. But Experimental ones are just ideas (or can be).
-
theTedd
Also, the count of implementations in the XEP listing only shows _known_ implementations (via a DOAP file) - there could be undeclared implementations elsewhere
-
snit
mind you i was mostly joking when i suggested that. i see merits to such a requirement, but i'm not convinced its actually a good idea in practice
-
theTedd
It would be another barrier to submission, and would discourage community input (since one person/group has to do a whole implementation before getting outside opinions)
-
Kev
Theres significant pros and cons. The pros include being sure it’s implementable, and at least one person is motivated to do so. The cons include that once there’s a working implementation history tells us that people can be very resistant to improving the design because “it works and is deployed”, and we’ve had multiple instances in the past of subpar things persisting because there was an implementation already.
☝ 1 -
Kev
I lean on the side of the damage of requiring it being greater than the damage of not.
-
singpolyma
> It would be another barrier to submission, and would discourage community input (since one person/group has to do a whole implementation before getting outside opinions) If no one has done an implementation how can anyone possibly comment on if the thing will work? Even the author can't know in such a case ↺
-
singpolyma
Honestly I prefer subpar things that work to ideas for things that don't
-
singpolyma
Like is/was vcard temp gross? For sure. But it supported the ecosystem's needs for a very long time and I'm happy for it
-
theTedd
And how could anyone know whether vcards are possible without an implementation! 🙄
-
moparisthebest
> Honestly I prefer subpar things that work to ideas for things that don't this, I've never seen 1 spec no one ever implemented where it was thought out enough to actually implement and that not XSF specific or a criticism of anyone, it's just you inevitably run into things you didn't think about during implementation ↺
-
theTedd
And that's why implementations are required for advancement, but just documenting an idea doesn't need 100% completeness
-
moparisthebest
a spec without implementation is someone posting "it sure would be nice if someone did X" ok... do it?
-
singpolyma
I'm always weirded out by statements like "I'm writing this xep because I'd like someone to implement this feature" or "I'm submitting this xep because I'd like to start work on a prototype soon". All feels very cart before the horse
-
theTedd
Or "here is my idea for what I intend to do and how I intend to do it - does anyone have ideas/opinions?"
-
moparisthebest
> And that's why implementations are required for advancement, but just documenting an idea doesn't need 100% completeness sure, and just documenting an idea doesn't need submitted as a XEP ↺
-
moparisthebest
> I'm always weirded out by statements like "I'm writing this xep because I'd like someone to implement this feature" or "I'm submitting this xep because I'd like to start work on a prototype soon". All feels very cart before the horse :1000: ↺
-
moparisthebest
> Or "here is my idea for what I intend to do and how I intend to do it - does anyone have ideas/opinions?" yep, perfectly reasonable to do outside of submitting a XEP ↺
-
mathieui
moparisthebest, you can have an idea that you’d like to implement at some point, write a protoxep to jauge interest, iterate a bit, and have an experimental XEP with no implementation with plans for it
-
mathieui
and if the experimental XEP is not perfect (never is), you iterate, but I fail to see why that would be a problem
-
theTedd
I think the difference here is really just the acceptance threshold for Experimental
-
singpolyma
It's just a weird backwards way to do things
-
Kev
> > Or "here is my idea for what I intend to do and how I intend to do it - does anyone have ideas/opinions?" > > yep, perfectly reasonable to do outside of submitting a XEP To be fair, this is partially why I’ve got some stuff up at https://github.com/swift/protoxeps , but it’s not really compatible with the way the XSF thinks its IPR works.
-
snit
i wonder if XEP-0143 should be updated to reflect expectations (or lack thereof) on whether protoxeps and experimental xeps should have implementations. when working on my own protoxep, it wasn't exactly obvious to me whether i should already have one before submission, whether i should wait until its accepted, or whether the xsf doesn't actually care one way or the other
-
singpolyma
The XSF process does not care. Council members may have opinions
-
singpolyma
A prototype will never hurt you and it will certainly help in many cases
-
snit
then imo it should explicitly say that, just so its absolutely clear to newcomers
-
Kev
Well, Council members may have opinions, but they’ll follow the XSF process, which is to not require it. :)
-
moparisthebest
XSF process demands council to judge if a XEP is implementable though, obviously that's easier if an implementation exists
-
singpolyma
indeed. And any member can veto any new xep for any reason. though of course if they do it for unpopular reasons they won't get reelected I'm sure
-
Cynthia
> indeed. And any member can veto any new xep for any reason. though of course if they do it for unpopular reasons they won't get reelected I'm sure XMPP election? :o ↺
-
dwd
Cynthia, Council are elected by XSF members, if that's the peice you were missing. If you're in this room, you should probably consider applying to be a member.
-
Cynthia
now why would I?
-
dwd
Cynthia, A warm a fuzzy feeling of helping to manage the XSF?
-
Cynthia
I had a question
-
Cynthia
Should blocking messages and stuff be done on the client or servers
-
Cynthia
I'm working on this draft XEP where a user can block people based on relation (subscription status, or in a MUC context, affiliation)✎ -
Cynthia
I'm working on this draft XEP where a user can block people based on relation (subscription status, or in a MUC context, affiliation/role) ✏
-
moparisthebest
both
-
Cynthia
Its really hard to write filters on clients like Gajim than it is to write them on Prosody
-
dwd
Blocking can be done on either, but it's more efficient to handle it on the servers.
-
Cynthia
I'm already having a headache with clients' codebases
-
dwd
Tell me about it. I don't want to look at mine.
-
moparisthebest
1:1 can be done by server or client, MUC can only be done by client
-
Cynthia
Yeah, MUC can be done by the client or MUC server
-
dwd
moparisthebest, I think MUC could sensibly be done on the server, though it might involve the server having to track MUCs much more than they do at present.
-
moparisthebest
more than the not at all they do now? yes :P
-
Cynthia
Clients aren't designed to filter messages before they're handled by the rest of the program, I've seen
-
Cynthia
And that would be a giant pain in the ass to work around
-
moparisthebest
but even then it falls apart with a future SCE encrypted muc
-
moparisthebest
clients can easily filter messages wherever they want
-
Cynthia
You know I meant codebase
-
moparisthebest
yes the thing that can be easily changed
-
Cynthia
I know why blocking command was done on server-side because it is dreadful trying to filter messages before the whole client receives it
-
Cynthia
> yes the thing that can be easily changed Heh, have you heard of code debt ↺
-
Cynthia
A flaw can gather "interest", and therefore take much more effort to solve over time than if it was solved right away