XSF Discussion - 2018-03-22


  1. Ge0rG

    moparisthebest: yes, all MUC messages go to all participants immediately, because the server doesn't know the user's notification settings

  2. Ge0rG

    moparisthebest: if the user has "notify on all messages", delaying would be bad

  3. jonasw

    but the users server may delay them with CSI

  4. jonasw

    if it knows about the notification settings :)

  5. jonasw

    moparisthebest, obviously, you haven’t been in the MUC of the local hacker space. People there think that using OMEMO in a public muc is a super great idea.

  6. jonasw

    haven’t been there in a while, mind, all this "This message is OMEMO encrypted but your client doesn’t support it" was getting annoying.

  7. jonasw

    great way to alienate people.

  8. Ge0rG

    jonasw: if it knew. Which it can't.

  9. jonasw

    Ge0rG, yet. I think it was discussed at summit that a way for the server to know would be good?

  10. Ge0rG

    jonasw: yes. "would be good" is very far from an actual implementation, one might imagine.

  11. Ge0rG

    jonasw: if I had some time, I'd maybe write a PEP-based proto-XEP

  12. jonasw

    Ge0rG, better write a pep-based implementation first.

  13. Ge0rG

    which just stores a list of JIDs and their respective notification settings (always / mention / never)

  14. jonasw

    oh wait, we don’t even have reliable private PEP storage everywhere :<

  15. Ge0rG

    jonasw: I didn't check in the last year. Do we have private PEP widely deployed already?

  16. Ge0rG

    Bookmarks2 FTW

  17. jonasw

    bm2 needs multi-item, persistence and private PEP. that’s gonna be hard.

  18. Ge0rG

    I'll just stick to 0048

  19. Ge0rG

    like I stick to google:queue.

  20. Maranda

    *has CSI dealing only with presences mostly*

  21. Ge0rG

    Maranda: was that supposed to be a /me ?

  22. Kev

    Ge0rG: I think so, we've been deploying it for years. The recent pubsub options change notwithstanding.

  23. Kev

    I *think* it's just Prosody that's had problems with PIP and things.

  24. daniel

    OpenFire and ejabberd should handle that fine I believe

  25. Ge0rG

    So ~1/3 of the servers out there don't even have an implementation, and the other 2/3rds depend on which version they were abandoned at?

  26. jonasw

    Kev, are you intentionally calling it PIP? it confuses the hell out of me because of pythons package manager being called the same.

  27. Kev

    jonasw: Yes, because that's what 223 was called.

  28. jonasw

    Kev, what’s the first P for?

  29. jonasw

    (the last is for PEP I guess)

  30. Ge0rG

    Private data In PEP? *guessing*

  31. jonasw

    (or PubSub)

  32. Kev

    Ge0rG: Maybe. Different people have different priorities here. Mine is mostly in moving things forward and having stuff available to people who do update servers and clients.

  33. jonasw

    Ge0rG, Kev, what’s the acronym for '222 then?

  34. jonasw

    PuIP?

  35. Kev

    Private Information Via Pubsub is 223

  36. jonasw

    or even PubIP, just one dash and a mirror operation away from a bad pun.

  37. Kev

    222 is POP - Persisting Objects via Pubsub

  38. Ge0rG

    I thought it was Persistent Storage of Private Data via PubSub

  39. Ge0rG

    Which would make it PSoPDvPS

  40. Ge0rG

    But we could shorten it down to PSPDPS probably.

  41. Kev

    You young people, no respect for history :)

  42. Kev

    https://xmpp.org/extensions/attic/xep-0222-0.1.html https://xmpp.org/extensions/attic/xep-0223-0.1.html

  43. jonasw goes to rm those versions from the attic

  44. jonasw

    I’ll show you how no respect looks like!!k

  45. jonasw

    (if you need to detect sarcasm/irony/bad jokes in my messages, the following regex will help: /!{2,}k+\b/. it won’t show all instances, but has a zero false-positive rate)

  46. jonasw

    (I think at least :))

  47. Ge0rG

    jonasw: what's the "k" for?

  48. jonasw

    Ge0rG, it’s 1, but on my keyboard layout.

  49. jonasw

    modifier + k = !

  50. jonasw

    like modifier + 1 = ! on qwert[zy]

  51. Ge0rG

    jonasw: why are you leaking your keyboard layout to the general community?

  52. jonasw

    Ge0rG, because it’s 9:30am and I still haven’t gotten anything done probably.

  53. Ge0rG

    My goal for today's morning is to get onto that VPN that didn't let me work yesterday.

  54. jonasw

    so that it won’t let you work today either?

  55. jonasw

    sounds like a plan

  56. Maranda

    Ge0rG possibly

  57. Kev

    Raising a slightly contentious idea...maybe we should bring back SIFT

  58. Kev

    Not actually SIFT, but something a bit like that.

  59. jonasw

    what’s SIFT

  60. Kev

    To solve this 'squelch MUC on mobile' issue.

  61. Kev

    SIFT's 273

  62. waqas is sad that he wrote mod_sift for Prosody, but there were no clients to be found

  63. Ge0rG

    Kev: what's wrong with an account-side notification prefs list that will be used by CSI?

  64. jonasw

    SIFT looks like privacy lists, complexity wise.

  65. Kev

    jonasw: SIFT itself isn't the right solution here, no.

  66. Ge0rG

    Let's collect all the requirements we had for SIFT, privacy lists and CSI and then make one big XEP to cover them all.

  67. Kev

    Ge0rG: Nothing's wrong with that, but I'm not sure that goes far enough. Unless you're intending notification settings to be very powerful - which might work.

  68. Ge0rG

    Maybe also Message Archive.

  69. waqas

    Ge0rG: Just make sure it runs on top of pubsub

  70. Ge0rG

    Kev: I'm not sure how powerful you think I want them for this to work out.

  71. Kev

    Like, if you say things like "Squash messages from this JID unless they have a reference payload to my JID or @everyone but make sure they're in the archive, I'll fetch them when the user opens the window"

  72. jonasw

    Kev, actually, if SIFT had an "defer" action which would integrate with CSI, I can see a lot of use in that.

  73. Ge0rG

    Kev: I wouldn't even touch archival in there. Just a tri-state of "never|mention|all"

  74. Kev

    Well, if it's not archived you've lost the ability to catch up again.

  75. Ge0rG

    and maybe a separate global setting what "mention" means exactly, like "nickname / string-list / @all"

  76. Kev

    But in XMPP2 where it would have been archived automatically...fine.

  77. Ge0rG

    Kev: I thought MAM was the way to archive things?

  78. jonasw

    what’s wrong with getting all messages, but CSI-delayed if they’re not notification-worthy?

  79. Ge0rG

    jonasw: it delays resync from zombie state

  80. Kev

    jonasw: Are you suggesting a server should buffer messages from a 5000-user IRC channel indefinitely?

  81. jonasw

    Kev, it could fetch them from MAM for the user.

  82. jonasw

    no need to keep them in memory.

  83. jonasw

    just a pointer to the point in the archive

  84. Kev

    If it's in MAM, there's no need for a buffer at all, the client can just request what it wants.

  85. jonasw

    ejabberd does it like that I think, even with presences.

  86. jonasw

    Kev, except that the client needs to do a thing the server could be doing for it ;-)

  87. Ge0rG

    Kev: a sane CSI implementation could dump the backlog periodically and/or when a certain number of messages have been backlogged

  88. Kev

    (Which is the better model - as the client will likely only want the most recent 100, or whatever, that contains the mention that caused you to open the room, not the previous 10,000)

  89. jonasw

    hm.

  90. jonasw

    maybe

  91. Kev

    Ge0rG: Maybe, although then you have to communicate to the user that they've got holes that they backfill with MAM.

  92. jonasw

    makes things much more complex though

  93. Ge0rG

    Kev: we've had that before. There is the "full client" and the "thin client" model.

  94. Ge0rG

    Kev: by "dump" I meant "send out to the client"

  95. jonasw

    Kev, so the client would have to make a MAM query after each message it receives in a room where it isn’t set to "notify on everything" to ensure it doesn’t have gaps?

  96. Kev

    jonasw: Not exactly, no.

  97. jonasw

    why no-?

  98. jonasw

    why not?

  99. Ge0rG

    filling backlog gaps from MAM is slightly challenging, and also not supported by RSM.

  100. Kev

    It's not ensuring that it doesn't have gaps, it knows it has gaps.

  101. jonasw

    Kev, depends on your use-case.

  102. Ge0rG

    I really don't want to model MAM gaps in my database structure.

  103. Kev

    Ge0rG: That's fine, you don't have to if you want to be a 'complete client'.

  104. jonasw

    I can see use for CSI in a desktop client if we can work out the timely notification thing.

  105. jonasw

    what’s a "complete client"?

  106. Ge0rG

    Kev: you seem to have modelled all the required protocol flows for both kinds of client in your head. I'd love to read up on that in a more persistent way than by querying you in a MUC

  107. Ge0rG

    jonasw: one that keeps a full local log of messages by default, without resorting to MAM whenever the user opens a chat tab

  108. jonasw

    isn’t that exactly the type of client which has to keep book of holes to ensure it can fill the gaps?

  109. Kev

    As opposed to a recent-only client, which just queries recent messages when you open a chat, and backfills as needed when the client scrolls.

  110. Wiktor

    Hello! I'd like to extend the wiki page (https://wiki.xmpp.org/web/Tech_pages/XEP-0368) with info on how to route HTTP/2 and XMPP TLS traffic on port 443 with nginx (the ability to route based on ALPN was recently added: http://mailman.nginx.org/pipermail/nginx/2018-March/055798.html ). If it's possible would someone set me an account on wiki.xmpp.org? Thanks in advance!

  111. jonasw

    Ge0rG, ^

  112. Ge0rG

    Wiktor: please send me a message with your desired username (Wiktor?) and your email address for the password delivery.

  113. MattJ

    Looks like I lost my privileges after the great wiki disaster of 2017 :/

  114. jonasw

    s/wiki //

  115. jonasw

    actually, the server was a tad late. it would’ve been a great fit for '16

  116. Maranda

    "great wiki disaster" :O

  117. Ge0rG

    Wiktor: The current content of Tech_pages/XEP-0368 is very raw. It would be great if you could also add some structture :)

  118. jonasw

    anyone a suggestion for a wiki page name for that bookmark autojoin discussion?

  119. Wiktor

    Yep I noticed that, I need to reformat it anyway as some sections (like SRV records) would be the same for all methods.

  120. Ge0rG

    like maybe an intro sentence what the page is about, an auto-generated TOC and then headings for different implementations / common settings

  121. Ge0rG

    jonasw: Easy Bookmarks™

  122. jonasw

    and add a link to it on https://wiki.xmpp.org/web/SRV_Records

  123. jonasw

    Ge0rG, asking to be sure, do you have the power to move pages? :>

  124. Wiktor

    SRV Records must be extended with xmpps-client too

  125. Wiktor

    well, a little bit more work than I anticipated but it's do-able :)

  126. Ge0rG

    Wiktor: yes I do

  127. jonasw

    Ge0rG, itym jonasw

  128. Ge0rG

    jonasw: yes I do

  129. jonasw

    Ge0rG, nevermind.

  130. Ge0rG

    the inverted highlighting of poezio really leads to low contrast

  131. jonasw

    I turned it off for that reason

  132. jonasw

    you want my irssi theme

  133. Ge0rG

    jonasw: I'm not sure I do.

  134. jonasw

    /theme irssi

  135. Ge0rG

    I'm always very hesitant to change themes.

  136. Link Mauve

    jonasw, would you be ok with merging it upstream?

  137. jonasw

    Link Mauve, didn’t I already?

  138. Link Mauve

    Oh right, indeed it’s there.

  139. ThibG

    Hi, I was looking at XEP-0333 as I was under the impression that it was the preferred way to synchronize state between XMPP clients.

  140. ThibG

    But after reading it I'm pretty convinced this is not a great way to do it, as it requires sending such state to the recipients, as the “Security Considerations” section already points out

  141. Kev

    XEP 333's not good for synchronising state between your own clients, no. Only for sending markens back to the sender (and I'm not convinced it's great for that either).

  142. Zash

    And I'm pretty sure you can do 80% of that using chatstates and receipts :)

  143. ThibG

    Chatstates and receipts have similar issues 🙂

  144. ThibG

    Anyway, I was wondering if there is a better XEP out there for synchronizing such state?

  145. jonasw

    ThibG, no, but the question comes up regularly

  146. Zash

    ThibG: What exactly do you want to sync and between what?

  147. Kev

    Which state are we talking about in this case?

  148. Kev

    Unread markers?

  149. ThibG

    yeah

  150. Kev

    I have a model for how we do that, which I discuss briefly in bind2.

  151. Zash

    *your own* unread state?

  152. ThibG

    Yes, your own unread state

  153. Kev

    But there are still more parts needed. If you need this Now, I suggest the best thing is to store the most recent read messages for each contact in PIP, and go from there. It's not perfect, but it'll do.

  154. Zash

    Yeah, Kev had ideas for that

  155. ThibG

    I don't “need this Now”, it's just that it's a pain having multiple clients and having notifications for messages I have already read. I was looking for a XEP to implement in clients, but guess I'll wait

  156. Kev

    I think you generally don't really want to know what's read, but what's unread, and that needs the cooperation of the archive.

  157. jonasw

    ThibG, if the clients send chat markers, it should work. some clients send, but ignore inbound chat markers, so you might have a chance there. at least for some cases.

  158. Kev

    Well, s/needs/is easiest done/

  159. Kev

    jonasw: I think Chat Markers for this is very nearly the worst possible approach ):

  160. Kev

    I think the PIP approach is mostly workable, but not great, and the cooperation of the archive approach is best, but probably a little way of.

  161. Kev

    s/of\./off./

  162. ThibG

    jonasw, it works when the clients send chat markers, right. But it requires telling the recipient what you have read and what you haven't, which you might not want to do.

  163. jonasw

    yeah

  164. ThibG

    Also, the XEP advises against sending them if the recipient doesn't advertise support for it

  165. Kev

    And it requires your archive saving markers, which it probably won't, and your client querying MAM back to find all the last read markers for your conversations, which you also probably don't want to do.

  166. ThibG

    And most clients respect that, so the synchronisation depends on what the recipient supports 😕

  167. Kev

    I'm sure it's possible to come up with a worse mechanism for solving this problem, but I think it'd require some amount of creativity.

  168. jonasw

    ThibG, do they? I’d advise clients to ignore that and send always.

  169. ThibG

    jonasw, yeah, Dino and Conversations at least seem to respect that

  170. ThibG

    Kev, got your point

  171. Kev

    :)

  172. jonasw

    I think conversations wanted to move to ignore that at some point. but I may misremember.

  173. Holger

    ThibG: Really? So this would only work while the recipient is online?

  174. Holger

    ThibG: Conversations even adds a <store/> hint to make this work for offline recipients.

  175. ThibG

    hm

  176. Holger

    I agree this is a mess, but I don't see we have anything better to offer right now.

  177. Kev

    Holger: I think my PIP suggestion is better Right Now, albeit unspecced.

  178. Kev

    At least, I don't think there's a XEP for it. I remember writing this down a while back.

  179. Holger

    What was PIP again?

  180. Guus

    harhar. I'm working on a bug that's caused by a client falling for the good old "Are you there?" -"No!" joke.

  181. Holger

    Anyway I meant we have no better standard solution, of course. I can easily imagine better non-standard ones :-)

  182. Kev

    Private PEP.

  183. Guus

    (ping got responded to with an error, which didn't prevent a timeout)

  184. Kev

    (223)

  185. Zash

    PIP, PEP, POP, is there a PAP?

  186. intosi

    PAP and CHAP.

  187. intosi

    But only in a PPP context ;)

  188. jonasw

    PEAP?

  189. Zash

    And PUP

  190. Holger

    Kev: Ah so nothing non-standard on the server side.

  191. intosi

    Acronym creators were probably on PCP.

  192. Kev

    Holger: I think you can do something that's a usable stopgap with only 223 on the server, yes.

  193. Kev

    But it's significantly less good than doing it properly.

  194. Holger

    Yup, I see.

  195. ThibG

    Holger, ok so the thing is the sender needs to set the message as “markable” for read markers to be issued, so if the person you're conversing with doesn't do it, you don't have synchronized state…

  196. Holger

    ThibG: Ah right, I was thinking of the previous step, doing service disco to decide whether to set "markable" (#5.2), which assumes the recipient to be online and doesn't cope with multiple devices.

  197. Holger

    ThibG: But your step is the relevant one here, yes. Still I think you could just issue markers no matter whether markable was set.

  198. Kev

    Server devs: How hard is it for you to do magic based on pubsub nodes?

  199. Zash

    Define magic

  200. jonasw

    Kev, xep 400?

  201. Kev

    e.g. how hard is it for you to do something when something is pushed to a specific node?

  202. jonasw

    eh

  203. jonasw

    XEP 0398

  204. Kev

    Yes, something like 398.

  205. Zash

    Kev: It Depends™

  206. Zash

    But can be easy

  207. Kev

    I'm pondering writing a XEP for unread-sync based on PIP, and defining additional magic that the server can do to make it more useful.

  208. jonasw

    please feature that magic and make it a MUST when the feature is available. I hate nothing more than having to infer whether a server does a thing or not

  209. Kev

    It's not the perfect protocol for doing it, but it would mean clients could get going with something Right Now, and as servers support it they'd gain the additional niceness.

  210. jonasw

    except that e.g. prosody still doesn’t have PIP.

  211. Zash

    There's plugins for Prosody that syncs the nickname and avatar nodes with the vcard

  212. Kev

    I thought that was imminent/there now?

  213. Zash

    So, that kind of thing is dobale

  214. jonasw

    i think persistent PEP was there, but not PIP

  215. Zash

    So, that kind of thing is doable

  216. Zash

    MattJ has claimed to be working on it

  217. Kev

    Dave Cridland: Openfire?

  218. Kev

    Ejabberd anyone?

  219. Zash

    It's possible to make nodes private from the inside in the newer pubsub code, if somewhat verbose.

  220. Dave Cridland

    Lacking context, but if that's does Openfire do persistent PEP, then yes, of course.

  221. Kev

    No, it was can you do magic like 398?

  222. jonasw

    Dave Cridland, it’s whether it can do private PEP with publish-options assertions

  223. Kev

    I'm pondering writing another XEP that does magic when something is published to a particular PIP node.

  224. Dave Cridland

    Hmmm. 398?

  225. Kev

    vcard/PEP avatar magic.

  226. Holger

    No problem to implement in ejabberd (there's a publish event), just not sure I like such magic nodes.

  227. Kev

    Just 'can you hook code onto publishes to a particular node and/or would it be prohibitive?'.

  228. Holger

    Maybe I do.

  229. Dave Cridland

    Oh. I don't think so. Guus would know for sure. But I don't think we have hooks.

  230. Kev

    I don't mean user-facing hooks, I just mean for Server Features, if that helps.

  231. Kev

    Holger: I'm just pondering whether speccing something that isn't perfect protocol, but achieves the right result and lets client implement Right Now and still mostly work before servers are there is preferable to waiting forever for supporting the perfect protocol.

  232. Kev

    I quite like magic nodes, FWIW, as long as the magic is additional, rather than transforming the behaviour of the node.

  233. Guus

    waitwhat?

  234. Guus

    I know nothing!

  235. Guus

    we have no API hooks specific for Pubsub that I'm aware of. We do have generic stanza interceptors.

  236. Holger

    Kev: Yes, sounds good to me. I think 🙂

  237. Holger

    Kev: But if it works too well, nobody will ever implement the perfect protocol!

  238. Guus

    Holger, you're wrong. Implementation available here: https://github.com/kelseyhightower/nocode

  239. Holger

    :-)

  240. Kev

    Holger: Yes, I'm suggesting we never do the perfect protocol, we just get the perfect* features.

  241. Zash

    As part of this, what if the server makes it such that clients don't join MUCs, but the account does.

  242. Kev

    That is needed for this to work for MUCs, yes.

  243. Zash

    This general "make it work, not make it perfect" thing

  244. jonasw

    Zash, I’m still confused how a client is supposed to know what to do with those type="groupchat" messages and MUC-related presences it is suddenly getting.

  245. Zash

    jonasw: It doesn't get those unless it joins rooms.

  246. jonasw

    Zash, how is the "account" joined then?

  247. Zash

    jonasw: Server sees you attempting to join a room, drops that and sends a join from the bare account jid instead.

  248. Kev

    So, you know, one step closer to MIX.

  249. Zash

    And makes a note "this session joined that room"

  250. jonasw

    Zash, who profits from that change?

  251. Kev

    jonasw: Anyone who doesn't want problems with dupes. Especially archive-based stuff like unread sync.

  252. jonasw

    how does this handle s2s interruptions?

  253. Zash

    jonasw: People who are annoyed by quitjoins. Eaiser to have groupchats in user archives. Users get faster join sync.

  254. Zash

    When a second client joins, it simply serves locally cached room state back and makes a note that that session is also interested in that room.

  255. jonasw

    makes sense

  256. Zash

    Oh and it keeps local room state on the server.

  257. jonasw

    I might like this more than MIX, except for the still present abuse of resources.

  258. jonasw

    Zash, but how does it cope when the s2s link to the MUC service is broken/the MUC service fails and restarts without state/…

  259. Zash

    In theory, one could evolve this into a compat layer for having MUC clients in future MIX channels,

  260. jonasw

    those conditions where clients nowadays rejoin after a ping timed out or they got an error back or something like that

  261. Zash

    jonasw: Badly, I guess. Still a hacky PoC stage

  262. Zash

    jonasw: Doesn't even handle anyone leaving :)

  263. Kev

    I think the resync is going to hurt with this MUC stuff though.

  264. Zash

    It already hurts.

  265. Kev

    Because unlike MIX it's not clear how you connect with a client to a MUC that your account's already joined.

  266. Zash

    Kev: The server handles it and sends you the room state from a local cache.

  267. Zash

    MUC clients shouldn't notice anything different

  268. Zash

    I guess Ge0rG is correct in this being basically a bouncer.

  269. jonasw

    yeah

  270. Zash

    So it gets all the client problems, except those that relate to connection issues to the server :)

  271. Kev

    Yeah, but you're getting a lot more work on the server than the server support in MIX.

  272. moparisthebest

    which is great if nothing else has to change and you get 100% backwards compatibility, right?

  273. Zash

    I'm not sure which would be more work at this point, haven't been able to read the entire MIX spec yet.

  274. Zash

    I've got something half-working that can be tested to see if it's worth the trouble. Why I called it a hacky proof of concept :)

  275. Kev

    I think you end up doing the same amount of work, for something that still has issues.

  276. pep.

    Ge0rG: re CSI/MUC messages, is there any case of messages being processed by the server already? I'm not fond of the "mention" bit. Also you need to define it, it can mean lots of things nowadays with fancy new IMs solutions out there, @everyone, @here, @channel and whatnots

  277. Zash

    -xep attention

  278. Bunneh

    Zash: Attention (Standards Track, Draft, 2008-11-13) See: https://xmpp.org/extensions/xep-0224.html

  279. Zash

    Kev: Doing something that (partially) works now tends to be more rewarding than something that has to wait, in this case for MIX to become stable and implemented.

  280. moparisthebest

    Kev, but most importantly, 100% backwards compat, and work *only* on the user's server, rather than on all clients, all servers, and all mix components

  281. moparisthebest

    did anyone make that Wiktor guy a wiki account?

  282. Kev

    I'm not sold.

  283. Zash

    I'm a terrible sales person.

  284. moparisthebest

    so of the mythical MIX server components that are done, which of them have backwards compatibility with MUC ?

  285. moparisthebest

    because if not, they are a non-starter

  286. moparisthebest

    for example when would xsf@muc.xmpp.org switch over?

  287. Guus

    moparisthebest : who's "wictor"?

  288. MattJ

    moparisthebest, pretty sure my opinion is in the minority, but I see MUC and MIX serving different use-cases, and I don't necesarily feel that all MUCs must switch over

  289. jonasw

    Guus, Wiktor asked for a MUC account earlier

  290. jonasw

    Guus, Wiktor asked for a Wiki account earlier

  291. jonasw

    MattJ, +1

  292. jonasw

    MIX feels like a not-so-great model for the average support group chat

  293. Zash

    moparisthebest: I think Ge0rG dealt with the wiki

  294. Guus

    I didn't see that. He does not appear to have an account now

  295. Guus

    Do we have his contact details?

  296. Guus

    email?

  297. jonasw

    Guus, ask Ge0rG

  298. Zash

    MattJ: How do you feel about a account-based MUC join module? Useful or hack that will haunt us forever?

  299. Guus

    Ge0rG?

  300. moparisthebest

    MattJ, I mean the situation with muc on multi-client but especially phones isn't great, if mix can't replace muc and fix that forever I don't see a point

  301. Kev

    I'm not sure why it can't.

  302. Kev

    And you can add basic MIX on top of MUC fairly straightforwardly.

  303. moparisthebest

    well one reason is it's been years and no one has implemented anything but a tiny part with no muc compatibility

  304. moparisthebest

    I'm just solidly with Zash here, running code that works *now* is the way to go, vs duke nukem forever code that might be better in the future

  305. Kev

    We've not got the spec right for showing how straightforward these concepts are yet, and I think that's a part of why there's limited adoption.

  306. Kev

    But we'll get there.

  307. Zash

    And I'm not saying this will solve all problems. I just wanna know how useful this hack I made is.

  308. Kev

    I don't think there's anything that stops hacks on MUC now to make it better. I'm not sold that it can actually solve everything fully without essentially becoming MIX>

  309. Kev

    Which, at its core, is largely just about less overloaded addressing and presence semantics.

  310. moparisthebest

    while that might be true, it doesn't need to solve everything, perfect is the enemy of good

  311. jonasw

    moparisthebest, crude hacks is what got us into the carbons/mam mess though

  312. moparisthebest

    is it better with them as crude hacks or before when multi-device was useless?

  313. jonasw

    better, but also still bad

  314. jonasw

    in a different way though

  315. jonasw

    if we had went with XMPP2 routing/addressing right away, things might’ve been much better.

  316. Ge0rG

    Guus: https://wiki.xmpp.org/web/Special:RecentChanges

  317. Guus

    Ge0rG argh, I somehow missed that.

  318. Guus

    tx

  319. moparisthebest

    jonasw, crying over spilt milk? hehe

  320. moparisthebest

    it's easy to say such things in hindsight

  321. moparisthebest

    STARTLS would never have been a thing in any protocol either

  322. Zash

    Kev: Small steps are easier to take than large ones

  323. Ge0rG

    Zash: you shouldn't use the bare JID, I think. Rather have one uuid per nickname

  324. Kev

    I think the Best thing to do is write a MUC layer on top of MIX, but in the short term it works to write a MIX layer on top of MUC. Implementation-wise.

  325. pep.

    jonasw, I don't think "all joins and parts to MUCs are synced on all devices" is a "simple" default case :P

  326. pep.

    (reading that wiki page)

  327. jonasw

    pep., for the user, I think so

  328. jonasw

    mind that most people won’t be joining things like xmpp@ but instead having group chats with their family and coworkers etc.

  329. pep.

    May be a default use-case, but it's not that simple, judging by the discussion on the list :p

  330. jonasw

    it’s simple to do as long as we don’t need the second one :)

  331. jonasw

    and it’s also simpler than the second one regarding the amout of state which needs to be kept

  332. pep.

    How can I use bookmarks as dumb JID list in all that?

  333. pep.

    Do I _have to_ use the syncing stuff

  334. jonasw

    pep., add that dump jid list thing

  335. jonasw

    on the protocol level: just without autojoin

  336. pep.

    yes, I just want a dumb list that I can access across all devices

  337. pep.

    hmm, I don't like the priority assumptions on that list

  338. pep.

    Where do I put my thing

  339. jonasw

    pep., not sure

  340. jonasw

    between the two I think

  341. pep.

    The thing is that it directly conflicts with the autojoin feature some wants

  342. pep.

    And I'm sure I'll have to patch most of the "modern" apps to do as I want

  343. pep.

    Fun(tm)

  344. MattJ

    pep., enlighten me, what is the autojoin feature some want?

  345. pep.

    Sync the state across devices

  346. MattJ

    Ok

  347. Zash

    Which state?

  348. MattJ

    Joined/not joined

  349. pep.

    Say if autojoin is set to true, the channel is joined on every device, if autoset is false, don't join, or leave the channel on all devices

  350. moparisthebest

    I don't like that because I have huge channels I only want to be joined to on my desktop, not my phone

  351. pep.

    moparisthebest, yeah that's another concern and it's being talked about on the ML

  352. MattJ

    moparisthebest, as already discussed, it doesn't mean you can't have that

  353. MattJ

    It's already been discussed to death on the mailing list

  354. moparisthebest

    then I have no objections :)

  355. pep.

    I just don't want this syncing being done _at all_ across my devices, huge channels or not

  356. moparisthebest

    I agree in general it would be nice

  357. MattJ

    pep., then you just don't set autojoin, it's simple

  358. moparisthebest

    just with the ability to override

  359. MattJ

    Negotiate with your client devs :)

  360. pep.

    MattJ, no, not with what's being said. If I don't set autojoin clients would leave the channel

  361. pep.

    If I understand correctly. And that's an issue

  362. Ge0rG

    I'm still waiting for someone to show me a well-designed MUC join dialog/UI that nicely abstracts semi-autojoin

  363. pep.

    semi-autojoin?

  364. MattJ

    Ge0rG, join room from client as normal -> "also join on other devices? yes/no"?

  365. Ge0rG

    Kev: my gut feeling is that the server-side MUC bouncer will solve 90% of today's problems with MUC, making it good enough™

  366. pep.

    Ge0rG, isn't that MUC bouncer called MAM?

  367. Ge0rG

    MattJ: "also join on: [ ] Desktop [X] Mobile [...]"

  368. MattJ

    Please no

  369. Zash

    What about tags?

  370. MattJ

    Gaaaaah!

  371. pep.

    Zash, "also join on: [ ] Desktop [X] Mobile [...]" ?

  372. pep.

    :P

  373. Kev

    Ge0rG: Of course, MUC solving 90% of problems already is the reason for not bothering to fix it.

  374. Ge0rG

    MattJ: so it would add a bookmark on success, and set the bookmark's autojoin depending on your choice, and set local autojoin accordingly?

  375. Zash

    Like, roster groups. Tag with whatever you want. Make your client autojoin based on that.

  376. jonasw

    Zash, now

  377. jonasw

    *no

  378. Ge0rG

    Kev: MUC is solving 90% of the problems we had in 2002.

  379. jonasw

    Zash, adding semantics to roster groups seems like bad

  380. MattJ

    Ge0rG, the way I see it, any sensible client maintains a local (persistent) list of rooms it is currently joined to

  381. Zash

    jonasw: That's not what I said.

  382. Ge0rG

    MattJ: good luck matching that list against three sets of remote bookmarks.

  383. jonasw

    Zash, so two disticnt set of tags, one for determining whether to join and one to show to the user? :(

  384. Zash

    jonasw: Could be tags/categories in the current bookmarks.

  385. MattJ

    Ge0rG, that can't be helped...

  386. jonasw

    Ge0rG, îtym one set, because any sensible library will abstract that away from you :)

  387. Ge0rG

    MattJ: what you just proposed is the technical background. I'm interested in designing the transition UI for adding a MUC to any of the lists, or moving a MUC between them

  388. MattJ

    Ge0rG, I already said

  389. MattJ

    > 13:44:18 MattJ> Ge0rG, join room from client as normal -> "also join on other devices? yes/no"?

  390. MattJ

    Ignore my 5min timezone issue

  391. Ge0rG

    MattJ: running off grid power?

  392. Zash

    pep.: "This client auto-joins [ ] All bookmarked rooms [ ] Bookmarked rooms tagged [autojoin-on-mobile]"

  393. Ge0rG

    MattJ: besides, as there is no notification mechanism for bookmarks currently, it won't work anyway:>

  394. Zash

    Organizing bookmarks is messy already, can haz tags or something?

  395. pep.

    Zash, yes so when you add a bookmark you still have a similar question to answer

  396. MattJ

    Ge0rG, we're talking about fixing that, so let's fix it

  397. pep.

    Tag it or not

  398. pep.

    And tag it with what

  399. jonasw

    Zash, I’m all in for roster-like groups on bookmarks

  400. pep.

    jonasw, yeah that might be nice

  401. pep.

    I would still want what Zash said above

  402. Zash

    jonasw: And then some enterprising client dev can experiment with using that for semantics to see if that's good or bad :)

  403. pep.

    Have a choice wether the client is going to autojoin or not

  404. jonasw

    Zash, it’ll be bad, because having an "autojoin-on-mobile" tag in your roster view is ugly

  405. Ge0rG

    MattJ: so something like this? ``` Groupchat JID: [xmpp@chat.yax.im] Nickname: [Power user ] [+] Advanced options +- [X] Join on other devices +- Password: [ ] +- [ ] Show password [ Cancel ] [ OK ] ```

  406. Zash

    jonasw: I mean the client could have a free text field for autojoining things with named tags.

  407. Ge0rG

    Zash: the only kind of tag I see as viable for bookmarks is to put them into roster groups

  408. pep.

    Ge0rG, with regular people jids?

  409. Ge0rG

    pep.: yes

  410. Ge0rG

    pep.: so I can have my family MUCs in my family group

  411. Zash

    Do we /need/ to autojoin other clients?

  412. Ge0rG

    Zash: yes

  413. pep.

    Ge0rG, that means I'm gonna send presence info to all these mucs?

  414. Ge0rG

    pep.: no?

  415. pep.

    ok, how would that work then

  416. Zash

    Notifying about 'other device joined this room' + MAM might be enough to make a nice UX?

  417. pep.

    Also how do I know it's a MUC

  418. Zash

    Show a new "conversation" or whatever ui you use

  419. Ge0rG

    pep.: you add tags to the bookmarks, and then let the client use these tags in the same way it would use roster tags

  420. pep.

    Ok so just a UI thing

  421. Ge0rG

    pep.: exactly!

  422. pep.

    sure

  423. Ge0rG

    Zash: you are probably right.

  424. Ge0rG

    Zash: but this is a huge step from where we are right now

  425. nyco

    test

  426. ralphm

    Looks to be on

  427. nyco

    Test

  428. nyco

    seems to work today

  429. nyco

    go?

  430. ralphm bangs gavel

  431. ralphm set the topic to

    XSF Board Meeting | Logs: http://logs.xmpp.org/xsf/ | Agenda https://trello.com/b/Dn6IQOu0/board-meetings

  432. ralphm

    0. Welcome + Agenda

  433. ralphm

    Who do we have?

  434. nyco

    present

  435. MattJ

    Me

  436. Guus

    o/

  437. Guus

    Martin excused himself earlier.

  438. ralphm

    OK.

  439. ralphm

    Any (additional) points for the agenda?

  440. MattJ

    I don't think so

  441. Guus

    as mailed, on the financial stuff.

  442. ralphm

    Ok, we can do that today, I think.

  443. ralphm

    1. Minute taker?

  444. MattJ

    ...I can do it

  445. ralphm

    Thanks

  446. ralphm

    2. Financials

  447. ralphm

    As layed out in Guus e-mail there are some things we should discuss w.r.t. our financials.

  448. ralphm

    He asked a few questions:

  449. ralphm

    1) What are our sources of funds, other than sponsors? 2) Who are our sponsors? 3) Are we properly treating our sponsors? If not, how do we improve? 4) How do we safe-guard the proces of collecting funds?

  450. ralphm

    On 1) I think we can be pretty clear: none right now

  451. Guus

    did we ever have?

  452. ralphm

    What we have done in the past is sell hoodies/t-shirts, but never as a way to make money

  453. nyco

    1) we can ask for public donations

  454. ralphm

    more to cover costs around the XMPP Summit / FOSDEM

  455. nyco

    2)3) we need to map the sponsors journey

  456. Guus

    ralphm, although I didn't think of that, I do agree with your definition of that.

  457. nyco

    1) oh gooodies, of course, but the same questions goes on and on: who's gonna take it? how do we follow up and control? etc.

  458. Guus

    I'm ok with not having a different source of income than sponsors, by the way. 1) was just to make sure I wasn't missing anything.

  459. ralphm

    2) I believe, but I don't have information from stpeter, is that we have two active sponsors, right now: Erlang Solutions, Inc. and USSHC, with the latter only in hardware

  460. nyco

    1) can donations be automated by any third-party platform?

  461. Guus

    2) is where things get a bit awkward. We're listing sponsors on our website that do not seem to exist (as an organisation) anymore.

  462. ralphm

    Yes

  463. nyco

    2) a cleanup needs to be applied, indeed

  464. MattJ

    and that is also unfair to people who are actually sponsors (and would discourage new ones)

  465. ralphm

    I note that I didn't include the FOSDEM/Summit sponsors, because those are different in that respect

  466. nyco

    2) we can already remove the stopped and renamed companies, can't we?

  467. Guus

    Mattj, that's a concern that I had, which is why I added 3) to my list of questions.

  468. nyco

    FOSDEM/Summit is punctal

  469. nyco

    s/punctal/punctual

  470. Guus

    did we ever check if other sponsors than the ones just listed by Ralph indeed stopped sponsoring?

  471. Guus

    Or did we stop collecting money from them, without them actively pulling out?

  472. nyco

    how can we check that? on the bak account logs?

  473. ralphm

    https://xmpp.org/community/sponsorship.html lists our current process, and we're mostly abiding by that

  474. nyco

    I know for a fact that ESL remains a sponsor (disclaimer: I used to work for them)

  475. Guus

    I'm assuming, but do not know for certain, that our Treasurer would know.

  476. ralphm

    Guus: sponsorship is a for a limited term (1 year), there's no automatic renewal

  477. Guus

    ralphm, ok, that's fair. In that case, I feel that we should explicitly ask for a renewal, each year.

  478. nyco

    the renewal should be re-processed by humans at the same date each year, yes I know it is easy to say 😉

  479. ralphm

    Guus: agreed

  480. nyco

    when?

  481. Guus

    as I wrote in my mail - we're not a for-profit organisation, but having some funds at hand can help us greatly.

  482. nyco

    January?

  483. nyco

    Then we use the FOSDEM to followup and close

  484. ralphm

    “Sponsorship applies on a calendar-year basis. Sponsor funds received in the middle of the calendar year shall be pro-rated accordingly.”

  485. ralphm

    So I think that maybe December is more appropriate?

  486. Guus

    I'd like to propose that we reach out to our old sponsors to see if they are willing to renew for this year.

  487. Guus

    (and do again so in December, for next year)

  488. MattJ

    Which would make it a good task to add to the list for newly-elected Boards :)

  489. nyco

    agree

  490. ralphm

    +1 on Guus' motion

  491. Guus

    MattJ, I'd prefer to task our Treasurer with this (or an ExOfficer), not Board.

  492. MattJ

    +1

  493. ralphm

    .

  494. MattJ

    I really mean that Board needs to make sure this happens

  495. Guus

    ok

  496. Guus

    Shall I work with Peter on this?

  497. MattJ

    Ideally all sponsorship stuff is handled by a single person, it's easier

  498. ralphm

    Agreed

  499. Guus

    meh, bus-factor.

  500. Guus

    but a single person is better than no person 🙂

  501. MattJ

    As long as it's documented, it shouldnt matter

  502. MattJ

    Right now we're in a fairly unclear situation

  503. ralphm

    Indeed

  504. Guus

    I'll talk to Treasurer to get sponsorships renewed.

  505. Guus

    let's move to the next item.

  506. jjrh

    is anyone a titanium sponsor?

  507. nyco

    as MattJ says, can it be documented?

  508. MattJ

    jjrh, currently I think the answer is safely 'no'

  509. nyco

    titatium is sooo outdated, it's vibranium now...

  510. Guus

    documentation seems sensible.

  511. nyco

    lightweight is ok

  512. Zash

    Go straight for unobtainium

  513. nyco

    hehehe

  514. Guus

    Ralph, you still with us?

  515. ralphm

    yes

  516. ralphm

    3. GDPR

  517. ralphm

    This an interesting topic.

  518. Guus

    (ping jonasw)

  519. jonasw

    I’m here

  520. jonasw

    but maybe not for long

  521. Guus

    I think the XSF looking into this could be helpful to the community

  522. jonasw

    (ping pep., Ge0rG, too)

  523. ralphm

    I am not aware (because I'm not involved) in IETF efforts around this.

  524. ralphm

    aware of

  525. Guus

    I also think it's important to explicitly state that this is at best advice, and indemnify ourselves

  526. Ge0rG

    What kind of advice should the XSF provide?

  527. pep.

    !

  528. ralphm

    Given agenda item 2, I'm not sure if we are in position to sponsor a lawyer, FWIW.

  529. jonasw

    Ge0rG, https://trello.com/c/t79C3Yds/307-gdpr-advice for example

  530. Ge0rG

    The GDPR is an interesting topic indeed. I'm working in a company full of GDPR consultants, so I can get things addressed.

  531. nyco

    that would still be awesome

  532. pep.

    Ge0rG, that would be awesome, please do

  533. Ge0rG

    pep.: however, they are all at 120% capacity due to commercial clients asking for GDPR advice.

  534. pep.

    Yeah it's going to get packed for the following months/year

  535. Ge0rG

    Yup.

  536. pep.

    People realizing it's time

  537. nyco

    plenty of resources are already available, it's a matter of taking the time to process those, and peer-review

  538. Ge0rG

    I suppose the advice will turn out as something like (a) have a ToS / data policy. (b) let the user explicitly accept that (c) no idea for contacts' data

  539. winfried

    Ge0rG: I have also a bit knowledge about the GDPR, I can jump in here too

  540. jonasw

    Ge0rG, the federation aspect is the key issue here, local service can be solved with ToS as you mention.

  541. jjrh

    GDPR == General Data protection Regulation?

  542. Ge0rG

    winfried: I'm trying to gather inputs for a data protection policy for yax.im, but please see what jonas said

  543. jonasw

    jjrh, yes

  544. pep.

    We can also get ideas from email providers

  545. Guus

    Ge)rG, winfried, jonasw, can you guys sit together and come up with either a sensible bit of information that applies to XMPP usage, or with specific questions to Board, if you need anything from them?

  546. jonasw

    Guus, I formulated specific questions

  547. Ge0rG

    Guus: I suppose we can

  548. jonasw

    in the trello thing

  549. nyco

    https://www.eugdpr.org/ https://en.wikipedia.org/wiki/General_Data_Protection_Regulation

  550. ralphm

    I am not a lawyer. The most practical advise I can give is 1) get a lawyer, 2) document what data your own service collects and why, the definition of Personal Data is pretty broad and includes things like (indirect) identifiers. 3) Establish policies around retention and deletion of that data.

  551. Guus

    jonasw, I've seen them, thanks.

  552. jonasw

    and I think they cover our most important issues

  553. Ge0rG

    jonasw: do you think the Board can answer those?

  554. jonasw

    Ge0rG, no, but what other type of questions could we bring to board?

  555. jonasw

    ralphm, yeah, no (1) is basically "turn off your free service because of cost"

  556. Ge0rG

    jonasw: "will you pay for a GDPR consultant / lawyer to answer ... ?"

  557. jonasw

    Ge0rG, okay, that then ;-)

  558. nyco

    agreed with ralphm, I feel like a layer would do better, faster, stronger...

  559. jonasw

    Ge0rG, can you get an employee discount on those consultations? ;-)

  560. winfried

    Guus goof for me

  561. ralphm

    jonasw: I'm pretty sure that not complying with the GDPR will put you back further

  562. Ge0rG

    jonasw: I can try to schedule them into the lunch break

  563. jonasw

    ralphm, that’s why I said "turn off"

  564. pep.

    jonasw, Ge0rG, I'm also interested if it's in a language I can comprehend

  565. ralphm

    jonasw: but yeah, I'm not saying it is great

  566. Ge0rG

    jonasw: I assume that getting a proper report on those use cases will inevitably cause multiple thousands of EURs of expenses.

  567. winfried

    I suggest jonasw Ge0rG and I stick together and make an inventarisation of what to do

  568. jonasw

    "yay"

  569. Ge0rG

    what winfried said

  570. jonasw

    okay, that sounds sane

  571. pep.

    I want in

  572. jonasw

    we can handle that either here or in xmpp@ maybe?

  573. jonasw

    I’d like to avoid yet another muc ;-)

  574. jonasw

    I’ll start by translating my notes from the talk I heard a few weeks ago

  575. ralphm

    I think this venue is as good as any

  576. winfried

    +1

  577. Ge0rG

    just not during Board meeting?

  578. winfried

    Ge0rG: exact

  579. ralphm

    Right

  580. ralphm

    I guess that's it for now.

  581. ralphm

    4. AOB

  582. Guus

    To be clear: you guys will be working on finding out if there's generic advise (more precise than 'get a lawyer') that the XSF can give to server operators?

  583. ralphm

    Didn't see any

  584. Guus

    AOB I had feedback from peter on the bank account / bus factor thingy

  585. ralphm

    And?

  586. Guus

    I've added it to https://trello.com/c/yNLDp6Xt/297-answer-peters-email-on-bus-factor-for-bank-account

  587. MattJ

    There's an open card about the membership survey.. sorry it's lagging, but I can send out an email to board@ with my current draft for us to bash before next week's meeting

  588. Guus

    I've also talked to the Secretary, who is willing to help.

  589. jonasw

    Guus, I think it’ll be more of an collection of things in the GDPR you absolutely HAVE TO look at

  590. MattJ

    As in, we can spend a week bashing it, so we can make some concrete decisions in the next meeting

  591. Guus

    my preference on the bus thing is do 1, not 2, from Peters options.

  592. Guus

    (and have Alex as the co-signer)

  593. Guus

    can we vote on that, or do you guys need more time to read up on that?

  594. ralphm

    I'm ok with both 1 and 2

  595. Guus

    I prefer not to do 2

  596. nyco

    I have no opinion

  597. ralphm

    That's not a valid choice

  598. nyco

    3

  599. ralphm

    I think it would be good to think about these options and decide our direction next week.

  600. MattJ

    Sounds good to me

  601. Guus

    ok

  602. ralphm

    So that everybody can form an opinion

  603. Guus

    MattJ, on that draft: please send it.

  604. ralphm

    indeed

  605. ralphm

    5. Date of Next

  606. ralphm

    +1W

  607. ralphm

    6. Close

  608. ralphm

    Thanks all

  609. ralphm bangs gavel

  610. nyco

    thx all

  611. Guus

    wooa, that was fast

  612. Guus

    one last remark, if you induldge me

  613. ralphm set the topic to

    XSF Discussion | Logs: http://logs.xmpp.org/xsf/ | Agenda https://trello.com/b/Dn6IQOu0/board-meetings

  614. Guus

    https://trello.com/c/sBcxZrGZ/299-plan-and-organise-a-meeting-for-board-prios is not going to happen.

  615. Guus

    we're postponing it for weeks now.

  616. Guus

    let's archive this, and move on

  617. nyco

    I am waiting for answer since weeks now

  618. nyco

    I can't schedule

  619. Guus

    that's what I mean: there's no progress on this. We're three months in our tenure.

  620. Guus

    and we're having other stuff being blocked by this.

  621. nyco

    rather than postpone it, it would be nice that everyone answers

  622. Guus

    I'm not asking for postponement, I'm asking for it to not happen, and be removed from our Trello board. I've been doing that for a couple of meetings, each time that was responded to with 'lets see next week'.

  623. Guus

    sadly, todays meeting was gaveled off already.

  624. Guus

    I will, however, motion this again next week. I strongly feel that we should move forward.

  625. winfried

    jonasw Ge0rG pep. can we make an appointment for the GDPR discussion? I have to leave now.

  626. jonasw

    winfried, sure

  627. jonasw

    I’m probably the most flexible of all of us, so I’ll let you sort it out. saturday night and tomorrow between 10:00 and 14:00Z won’t work for me, otherwise I can probably arrange most things.

  628. jonasw

    (and no wednesdays)

  629. Ge0rG

    winfried: I prefer 0800Z to 1500Z on workdays.

  630. winfried

    Tomorrow 1300UTC?

  631. Ge0rG

    winfried: 👍

  632. jonasw

    nooo

  633. jonasw

    that’s exactly in the time frame I opted out

  634. Ge0rG

    jonasw: your message was TLDR :P

  635. jonasw

    m(

  636. winfried

    jonasw: oops, didn't read well...

  637. jonasw

    seriously though, taht’s not going to work for me :)

  638. winfried

    monday march 26 at 10:00 UTC?

  639. jonasw

    winfried, wfm

  640. Ge0rG

    10:00 UTC will be 12:00 CEST after the DST change, right?

  641. winfried

    *hmpf*

  642. winfried

    9:00 UTC will work for mee too :-P

  643. pep.

    Worksforme

  644. winfried

    so it is: monday march 26 at 10:00 UTC this muc

  645. winfried

    btw jonasw, good questions on the trello board

  646. winfried

    See you monday!

  647. Guus

    Jonasw, i'm tempted to remove the related card from the Board board, until there's something for board to act on

  648. Guus

    do you see reason to keep it on there?

  649. Ge0rG

    Guus: please keep it for documentation purposes.

  650. Ge0rG

    Guus: also in case the GDPR-SIG dissolves prior to providing results

  651. Guus

    The board process is convoluted enough, without acting as an archive 🙂

  652. Ge0rG

    somebody™ could move the questions to the wiki, then

  653. Guus

    Ge0rG, not that arching a card does not delete it

  654. Guus

    it's still referable by URL

  655. Ge0rG

    Guus: ah, then I retract my objections

  656. Guus

    now archived: https://trello.com/c/t79C3Yds/307-gdpr-advice#

  657. flow

    I wonder if bookmarks2 shouldn't rename autojoin to no-autojoin. Isn't the common case that I want to join the MUC I bookmarked?

  658. Ge0rG

    flow: say what?

  659. Ge0rG

    boolean variables containing a negation are one of the worst things you can do in logic.

  660. Ge0rG

    `if (!no_autojoin) { WTF! }`

  661. flow

    Ok, then stick with autojoin but default to true

  662. Ge0rG

    flow: autojoin has a bunch of problems, but this one isn't it.

  663. flow

    Ge0rG, I think sometimes those details are important

  664. flow

    If we give people the imression that you want to autojoin explicitly, while my use case is cleary that I want autojoin implicitly

  665. Ge0rG

    flow: okay, you are right.

  666. Ge0rG

    flow: we've had a discussion regarding proper autojoin-UX some hours ago. Feel free to scroll up

  667. Ge0rG

    flow: http://logs.xmpp.org/xsf/2018-03-22/#13:49:11

  668. flow

    Ge0rG, I saw that, but didn't closley follow

  669. flow

    UX is another matter. what does whatsapp do?

  670. MattJ

    It doesn't support multi-device

  671. MattJ

    unless you count their hacky desktop proxied thing

  672. flow

    Ahh right, that's the thing about whatsapp

  673. flow

    but hangouts does, and I've never seen an autojoin option

  674. flow

    IIRC there is only a "mute notification" option

  675. Ge0rG

    flow: the change you propose is all about UX

  676. MattJ

    Yeah

  677. flow

    Ge0rG, I'm pretty sure it is about protocol design

  678. Ge0rG

    flow: it is about the default value for an option, influencing the UX

  679. flow

    only if you let it to, implementers could simply choose a different default

  680. Ge0rG

    flow: by saying "this option should be true by default" you imply a UX change. Better we discuss that

  681. jonasw

    Guus, feel free to remove

  682. flow

    Ge0rG, I'm not implying an UX design. I just think that defaults should cover the common case and wanted to raise attention that I believe autojoin=true is the common case to start the discussion

  683. pep.

    jonasw, I guess I should start working on that EULA XEP as well

  684. Ge0rG

    flow: I'd suggest to move the discussion to standards@, but unfortunately I haven't read up on that XEP yet myself

  685. dwd

    MLS BOF occurring at IETF, BTW - probably relevant to most folks here.

  686. Zash

    Mmmmm, stream URL?

  687. Ge0rG

    acronym galore! /o\

  688. dwd

    Linked to from the IETF agenda, which I don't have to hand, but I reckon Google might know.

  689. Zash

    Hm, not linked

  690. Tobias

    mls@jabber.ietf.org

  691. dwd

    Meetecho on http://www.meetecho.com/ietf101/mls/

  692. dwd

    (Should give audio and the jabber room, I think)

  693. dwd

    Just audio on http://ietf101streaming.dnsalias.net/ietf/ietf1013.m3u

  694. Zash

    Thanks

  695. Zash

    meetecho wanted me to switch browsers

  696. dwd

    Yeah, it doesn't work on Lynx.

  697. Kev

    On the topic of the GDPR, does the XSF itself need to do any work here?

  698. Ge0rG

    Kev: you mean regarding data stored by the XSF?

  699. Zash

    Not strictly, I guess.

  700. Kev

    I do.

  701. Zash

    Hm, how do MUCs such as this one relate to GDPR?

  702. Zash

    And mailing lists?

  703. Zash

    *That* is something the IETF and other standards orgs probably wanna find out about too.

  704. dwd

    Almost certainly.

  705. moparisthebest

    I would *think* whatever applies to email would apply to xmpp, and whatever applies to mailing lists would apply to muc? maybe?

  706. Kev

    And the wiki, which contains historical employment data, etc.

  707. Ge0rG

    Kev: So we need a data protection office who will remove all PII from the wiki upon request

  708. dwd

    I'll see if I can find out what the IETF are doing.

  709. Kev

    I'm not in a position to assert what we need, just asking for Board to confirm that we're doing whatever it is that we need to be doing :)

  710. moparisthebest

    it contains data on people who put the data there themselves and can remove it themselves right?

  711. Kev

    Presumably, and possibly. I have no idea what the GDPR's stance on any of this is.

  712. jonasw

    winfried, Ge0rG, you’re aware of the DST change in Europe this week which puts our meeting at 12:00 CEST?

  713. Ge0rG

    jonasw: I am

  714. winfried

    I am

  715. jonasw

    good :)

  716. jonasw

    Zash, this muc announces itself as publicly logged IIRC. this probably activates article 9 (2) (e) which means that the XSF is not liable even if I publicly talk about my sex life here. well, not liable w.r.t. GDPR at least.

  717. jonasw

    same goes for mailing lists etc

  718. jonasw

    the tricky part is with things which are supposedly private

  719. winfried

    Kev dwd we should check first if the XSF is subject to the GDPR

  720. jonasw

    Kev, and yeah, the wiki stuff is also covered by that I think

  721. Kev

    winfried: That was my question.

  722. moparisthebest

    another person told me xmpp in general is fine because GDPR said you can use/send things that are required to do what the user expects, or something

  723. moparisthebest

    this again was not a lawyer

  724. pep.

    or something. Seems legit

  725. moparisthebest

    well I paraphrased :)

  726. jonasw

    moparisthebest, that’s not true if Article 9 (1) applies!

  727. winfried

    Registered in the US, not explicitly targeting EU citizens... I should reread the articles on it and check the WP 29 opinions before answering that one...

  728. moparisthebest

    but really, if email is ok, xmpp is ok, would EU have created a law banning email?

  729. pep.

    moparisthebest, who knows. Wasn't there something about git history as well?

  730. moparisthebest

    otherwise I guess all email/XMPP servers will have to move to non-EU places, and soft-ban EU people...

  731. dwd

    moparisthebest, Well. Maybe.

  732. dwd

    moparisthebest, They could easily have come up with a set of laws that means they have inadvertantly affected normal email use.

  733. pep.

    https://law.stackexchange.com/questions/24623/gdpr-git-history < for fun

  734. winfried

    moparisthebest jonasw I think XMPP is *generally* ok, but we must check all (edge) cases carefully before shouting anything

  735. moparisthebest

    dwd, yea that's what I'm semi concerned about, wouldn't put it past politicians

  736. Zash

    If the politicians can't email anymore, then the thing will get fixed pretty fast :)

  737. moparisthebest

    from a high level overview, it seems like this legislation was squarely targeted at walled gardens, where these regulations would be simple to implement

  738. Zash

    Compare roaming. Roaming affected EU MEPs pretty hard, since they went between Brussels, Strassburg and their home all the damn time.

  739. Tobias

    Zash, no..they'll just use FAX

  740. Ge0rG

    Zash: except that EU MEPs never see their phone bills

  741. Zash

    Sure they do

  742. Ge0rG

    Zash: I bet they don't. Otherwise it wouldn't have taken a decade between the first iphone and the removal of roaming fees.

  743. Zash

    Ask your MEPs

  744. Ge0rG

    Zash: they all have a business phone provided by the respective government.

  745. SaltyBones

    Finally no roaming in Europe => Ze Germans are complaining that it took too long.

  746. Ge0rG

    SaltyBones: I hate the mobile ISP oligopoly, with a passion.

  747. dwd

    Anyone interested in reviewing MLS specs from here BTW?

  748. Tobias

    dwd, you mean the XMPP adoption for it?

  749. moparisthebest

    Ge0rG, that's what jmp.chat is hoping to fix :) one day...

  750. Zash

    State teleco monopolies weren't all bad

  751. Ge0rG

    Zash: oh really?

  752. Ge0rG

    Zash: you have examples for them not being bad?

  753. Ge0rG

    (Sweden doesn't count)

  754. Zash

    Ge0rG: How do you do emergency calls in the middle of nowhere?

  755. moparisthebest

    I dial 911 and then my android phone reboots

  756. Ge0rG

    Zash: sometimes you can't, because of lack of coverage.

  757. moparisthebest

    and sometimes the 911 handling code is never tested and crashes

  758. moparisthebest

    (this is a somewhat common problem...)

  759. moparisthebest

    smartphones! technology! yay! :'(

  760. Ge0rG

    Zash: the German ex-state monopolist is successively switching DSL connections from regular analog POTS to VoIP. In case of a power outage, you can't call the emergency any more.

  761. jjrh

    There are solutions for this like UPS's

  762. jjrh

    if you're going to replace someones POTS line this should be a requirement

  763. Ge0rG

    jjrh: it's not. they are. No UPS.

  764. jjrh

    yeah I believe it - but it should be a requirement by law. power the modem/router and a PoE switch (or ata). It's a safety thing.

  765. jjrh

    911 also needs a automated system to test 911 service - aka dial 811, and for the next 60 seconds you can dial 911 to test

  766. moparisthebest

    yea that would be nice

  767. moparisthebest

    especially for testing if your android phone is one that'll crash :)

  768. moparisthebest

    pre-emergency

  769. jjrh

    exactly - all sorts of situations really

  770. Zash

    Ge0rG: Back in the olden days, there was copper cable that went everywhere. Later, there was near 100% GSM coverage. Now, with whatever G number we're on, if you are outside major cities, good luck.

  771. jonasw

    jjrh, that’d be a good thing indeed

  772. MattJ

    unless you dialled 811 in an emergency situation :)

  773. Zash

    Imagine the RoI of covering hundreds ouf thousands of km² with coverage, when like three people live there.

  774. Zash

    and less than 1 person per km²

  775. Ge0rG

    Zash: you wanted me to tell about the benefits of formerly-state-owned telco monopolies.

  776. Zash

    Ge0rG: No, they suck.

  777. fippo

    ge0rg: they pay quite good salaries.

  778. Zash

    Ge0rG: Was better before the "former"

  779. Ge0rG

    Zash: the German former-state-monopoly is required to proive phone lines to _any_ address. RoI doesn't play any role there. But they are not required to proivde Internet connectivity, so there are still places where all you can get is either ISDN (64kbit/s with a per-minute fee) or something like 2mbit/s DSL

  780. Zash

    Ge0rG: No idea if that is the case here (anymore)

  781. moparisthebest

    or satellite Ge0rG ? (is that an option there)

  782. dwd

    Interesting talk last night on satellite broadband, BTW.

  783. dwd

    Although I basically understood none of it.

  784. Ge0rG

    moparisthebest: you never used a sat link, did you?

  785. Ge0rG

    moparisthebest: you never used a sat link, did you?

  786. moparisthebest

    Ge0rG, no but as I understand it, throughput is fine, but latency is awful

  787. moparisthebest

    still better than 64kbps dialup though right?

  788. dwd

    Lots of stuff on latency too. Short end of satellite is 12ms, which surprised me. (Longer end is 480ms, it mostly depends on the orbit choice).

  789. Zash

    Further north you basically need polar orbits to get any coverage at all AFAIK

  790. moparisthebest

    non-equator orbit requires fuel and is really expensive right?

  791. moparisthebest

    it's been a long time since I read anything about it

  792. Zash

    Everything requires fuel

  793. Zash

    You benefit less from the earth already rotating in the general direction you want

  794. Zash

    Duno about exact differences

  795. Ge0rG

    moparisthebest: dialup has better latency, and bandwidth on most sat links is limited, so you pay per gigabyte

  796. Ge0rG

    The "affordable" ones are equatorial, so you end up with 1s rtt, and the low orbit ones typically only offer very low bandwidth, and cost an arm and a leg

  797. moparisthebest

    and with dialup you can't download a gigabyte within an entire month so sat still sounds better :)

  798. dwd

    Well. Russia launches at around 42 degrees, as I recall, to avoid launch failures hitting China.

  799. moparisthebest

    yea I was under the impression all affordable ones like for homes were equatorial

  800. moparisthebest

    and I guess that doesn't work too far north

  801. moparisthebest

    maybe, I don't really know

  802. dwd

    Well, hard to get a geostationary orbit anywhere but equatorial.

  803. Andrew Nenakhov

    Geostationary orbit can't be not equatorial. If orbit has tilt and rotation period equals 24h it is called geosynchronous orbit

  804. Andrew Nenakhov

    Projection of such orbits on surface draws big 8-shaped traces

  805. jonasw

    could probably feed that into The ONE

  806. Zash

    The sun does something like that too iirc

  807. dwd

    ANyone up for reviewing https://datatracker.ietf.org/doc/draft-ietf-mile-xmpp-grid/ ? Basically using PubSub for incident management (crybersecurity incidents, really).

  808. Ge0rG

    dwd: is that used anywhere? My employer is very interested in cyber, and I'm very interested in jabber.

  809. dwd

    Ge0rG, It's early days, but there is a load of interest.

  810. Zash

    Is "cyber" still used?

  811. Ge0rG

    Last time I reviewed a cyber related xep it was horrible.

  812. dwd

    Ge0rG, This one got serious work from PSA, and looks sane to me.

  813. jonasw

    oh, PSA is at mozilla these days?

  814. dwd

    jonasw, Yes, but mostly doing W3C work currently.

  815. jonasw

    that’s a funny author list. A Pope and a Saint.

  816. jonasw

    > In SACM

  817. jonasw

    close!

  818. Ge0rG

    That's great

  819. dwd

    So XMPP-Grid is developed in MILE, since it has the simpler use-cases, but it's also being looked at closely in SACM, which is Security Assessment and Continuous Monitoring.

  820. dwd

    I'm confused by (Americans?) saying JSON with the emphasis on the ON, and not pronouncing it like "Jason".

  821. moparisthebest

    I've always said jace like mace on on like, turn the light on

  822. SamWhited

    I think it goes both ways here; I hear both pretty often at least, not sure if it's a regional thing or not

  823. moparisthebest

    then again I can probably count on 1 hand the number of times I've spoken not typed JSON

  824. moparisthebest

    still not as bad as when I had to say lighttpd out loud without prep though

  825. SamWhited

    You mnean lie-tuh-tuh-puh-duh?

  826. SamWhited

    mean, even.

  827. moparisthebest

    more like light http... lie http..., look it's spelled like l-i-g-h-t-t-p-d

  828. moparisthebest

    nginx is another fun one, what's with web servers?

  829. SamWhited

    ligh tuh-tuh-pud?

  830. SamWhited

    Everyone knows that's pronounced in-jinx. Obviously.

  831. Zash

    Laj-ty

  832. Ge0rG

    If we have MIX messages in MAM on both the MIX and the user's server, who's responsible for stanza ids?

  833. jonasw

    Ge0rG, both?

  834. jonasw

    stanza ids can have a from IIRC

  835. jonasw

    the attribute’s called @by

  836. Ge0rG

    How am I supposed to sync that mess in my client, then?

  837. jonasw

    always ask the MIX server, be happy.

  838. Zash

    While trying not to cry.

  839. jonasw

    (and use the stanza-id from the MIX server)

  840. jonasw

    I don’t quite get the point of duplicating the acrhive across the network, especially since I’m not sure whether the s2s issues are fully sorted out yet

  841. Ge0rG

    Create a separate table for M:N relationship between messages and their ids?

  842. jonasw

    Ge0rG, no, use the MIX stanza-ID for MIX messages, and your servers stanza ID for all other.

  843. Ge0rG

    jonasw: they aren't

  844. jonasw

    annotate (or figure out) which archive to query for each message type

  845. jonasw

    of course, that’s tricky depending on your archive model

  846. jonasw

    I’ll add that to the design consideraitons for the jabbercat archive

  847. Ge0rG

    jonasw: Hm. How am I supposed to query my server for "everything after MIX ID x"?

  848. jonasw

    not?

  849. jonasw

    you’d look at the last non-MIX message obviously. or you take the stanza-id from your servers archive from that MIX message

  850. Ge0rG

    But I'm supposed to ask my server when reconnecting?

  851. jonasw

    ask your server for what?

  852. Ge0rG

    My head just exploded.

  853. jonasw

    I’m not going to mop that up.

  854. Zash

    How about we fix the mess so we can finally have everything the users archive?

  855. jonasw

    -EPARSE

  856. Zash

    in

  857. Zash

    Packetloss between brain and poezio

  858. jonasw

    Zash, fix the general issue that split brain conditions will always occur and/or specify proper syncing in MIX :-)

  859. Zash

    jonasw: s2s-smacks?

  860. Zash

    Or have one archive query the other?

  861. jonasw

    not sufficient for longer partitions.

  862. Zash

    Or cry?

  863. jonasw

    the latter would work

  864. jonasw

    but that’s not specified anywhere

  865. Zash

    Does it need to?

  866. Zash

    And, is that what Matrix is supposed to be?

  867. jonasw

    it would be good to have that writetn down in MIX so that noone is surprised like "oh, we need to do that for things to work?"

  868. Zash

    And where's the blockchain?

  869. jonasw

    the blockchain is illegal now

  870. Zash

    Gooooood

  871. jonasw

    yeah, it made my day yesterday

  872. Zash

    Does that make git illegal too?

  873. Ge0rG

    Zash: no. Git will become illegal on May 25th

  874. Zash

    "By submitting patches, you realize that nothing can ever be truly deleted."

  875. moparisthebest

    s/submitting patches/using the internet/

  876. moparisthebest

    but no, EU will just legislate it away magically

  877. Ge0rG

    My questions regarding MIX were provoked by flow's mail

  878. Ge0rG

    moparisthebest: just stop bashing the EU. In the US of A, Zuck is playing the innocent while sitting on millions of data records he obtained illegally

  879. Zash

    Wow. My current level of sleepyness and the length of that email are not friends.

  880. moparisthebest

    Ge0rG, illegally or that idiot users gave to him willingly?

  881. Ge0rG

    moparisthebest: illegally. In Germany it's illegal to collect PII without consent, and Facebook is profiling me despite me not having an account.

  882. Zash

    Wait how does the EU pass laws now?

  883. moparisthebest

    seems to me this GDPR business is creating more problems than anything it's solving

  884. Zash

    Don't they pass directives that countries are supposed to adapt?

  885. Ge0rG

    moparisthebest: it's mainly creating problems for people who think they can trade *my* data without restrictions

  886. moparisthebest

    Ge0rG, lol don't get me started on germany's dumb PII laws, for medical trials we need date of birth, that's illegal to collect in germany, however, it is legal to collect how many days old you are today, march 22nd, 2018

  887. moparisthebest

    what genious politician came up with that one?

  888. Ge0rG

    moparisthebest: data is like oil. If you spill it, somebody else has to pay millions to clean the mess

  889. jonasw

    what email are we talking about

  890. Zash

    jonasw: MIX review I think

  891. jonasw

    oh, so not from right now

  892. Ge0rG

    moparisthebest: you should fire your lawyer

  893. jonasw

    I liked the start and was distracted

  894. Ge0rG

    jonasw: https://mail.jabber.org/pipermail/standards/2018-March/034668.html

  895. Zash

    I could use that email2epub thing right about ... tomorrow.

  896. jonasw

    too many unread emails in threads which concern me

  897. Zash

    Was there a thing that lists current CfEs?

  898. jonasw

    Zash, no, CFEs aren’t tracked

  899. jonasw

    XEP-0092 and XEP-0048 are closed, the others are still open

  900. jonasw

    eh

  901. jonasw

    incorrect, second

  902. Zash

    The Others

  903. jonasw

    XEP-{0092,0122,0131,0141,0229} are open.

  904. jonasw

    XEP-{0048,0066} are closed

  905. Zash

    Don't think I touched the >100 ones

  906. jonasw

    SHIM is a dependency of PubSub IIRC

  907. jonasw

    (SHIM being XEP-0131)

  908. Zash

    And what does that tell you aobut xep60 :)

  909. Zash

    And what does that tell you about xep60? :)

  910. jonasw

    it grew for way too long?

  911. Zash

    s/touched/implemented/ might be more accurate

  912. Zash

    minOccurs='1' but no max?

  913. Zash

    (yes yes, non-normative schema)

  914. jonasw

    I wish we had a way to express normative schema

  915. Kev

    We do, we just say 'this schema is normative'

  916. jonasw

    Kev, yeah, but a lot of things we do can’t be expressed with XML schemas easily

  917. Kev

    Ah. You mean a schema that is capable of expressing the normative text, rather than a way of expressing that the schema is normative.

  918. Kev

    I think.

  919. jonasw

    yeah

  920. jonasw

    that’s what I meant.

  921. Kev

    As you were.

  922. Ge0rG

    So we would be just one step away from implementing the protocol code right from the XEP? Yay!

  923. Kev

    Oh, good call, we can express the schema through C++.

  924. Kev

    Result.

  925. jonasw

    I wonder whether a specialized XML Schema variant (re-using the scalar types, but re-doing all the complex type stuff) would make sense.

  926. pep.

    I remember Link Mauve actually thinking about that for a while for https://hg.linkmauve.fr/xmpp-parsers, having some macro with a DSL to generate the code for the parsers :-°

  927. jonasw

    Zash, the more I think about it, the more it seems that having the users server sync the archive from the MIX server is the way to go, *iff* we want to have the users server have a copy of that archive at all.

  928. Zash

    jonasw: That would work for MUC+MAM too.

  929. jonasw

    yeah

  930. jonasw

    simplifies things

  931. jonasw

    for the client anyways

  932. jonasw

    Zash, have you checked mentally whether that fits with prosodys model of $date-$uid archive stanza IDs?

  933. Ge0rG

    Just replace direct messaging with a MAM subscription and you are done.

  934. Zash

    Having to query MUC-MAMs is somewhat messy

  935. Zash

    jonasw: That's not Prosodys model. That's my NIH'd "I don't like databases" database.

  936. flow

    jonasw, that, but I wonder if MAM should get an overhaul

  937. Zash

    jonasw: Prosody itself doesn't know or care about that.

  938. jonasw

    Zash, okay.

  939. jonasw

    Zash, that still leaves my question though :)

  940. jonasw

    flow, that sounds awful.

  941. jonasw

    what would you change?

  942. Zash

    jonasw: The storage API is just (user, suggested-id, stanza, ...) → (id)

  943. flow

    I know it is a senstive topic, but given the recent discussions about MAM syncing I started looking into prior art

  944. Zash

    The idea being that the storage driver might use the ID you want it to, or might need to pick its own.

  945. Kev

    I'm not sure that MAM needs an overhaul other than ripping the config stuff into its own XEP (which is just editing), and ensuring we can fill holes.

  946. Kev

    (And we can fill holes, and we have code that works, but people seem to be dead set on believing we don't for some reason, so we might have to tweak the spec)

  947. flow

    i'm actually not sure *what* I would change, but I have some ideas

  948. jonasw

    flow, drop them on standards@?

  949. jonasw

    I still need to process your MIX mail though

  950. Zash

    jonasw: Does one archive subscribing to another prevent it from making up new IDs?

  951. Kev

    The biggest thing that MAM needs is to be based on XMPP 2 routing rules for its archiving, I think.

  952. flow

    probably, but first I'd like to look if JID hiding in MIX could be made optional

  953. flow

    and if the overall MIX thingy can be made simpler

  954. jonasw

    Zash, no, but if you bulk fetch messages it could get weird

  955. Zash

    jonasw: How?

  956. Kev

    I need to reply to flow's MIX mail, but I'd quite like to swap all of the current 369 document into my head first. I understand the design, but don't know what words we've got to describe it.

  957. jonasw

    Zash, if MAM has a guarantee on being in timestamp order, you’d need to backfill at the appropriate places

  958. Zash

    jonasw: Ohglob

  959. Zash

    jonasw: That messes things up :|

  960. Kev

    flow: I think MIX *is* pretty simple, but I think we've somehow made it sound complicated despite this.

  961. jonasw

    flow, as long as MIX doesn’t fall back to what MUC does with that /resource-as-nickname "abuse", I’m probably fine with it

  962. jonasw

    Zash, thought so. welcome to the struggles clients face :)

  963. flow

    Kev, the question is not if it is simple, but if it can be made simpler (without loosing functionality)

  964. Kev

    And I'm not convinced that the JID hiding is actually significantly complex, it's just one indirection lookup.

  965. Kev

    Although it was me who was pushing for not having semi-anonymous (in xep45 terms) MIXs at all, but the Summit was very clear that this is a required feature.

  966. flow

    I sense that it's a controversial feature

  967. SamWhited

    I think it's a required feature, but I don't see why it has to be tightly coupled with MIX…

  968. SamWhited

    It could be some other XEP that comes later and isn't specific to MIX.

  969. Kev

    It seems like that's true, but I don't think it is.

  970. Zash

    So what abstract model should MAM be based on?

  971. Kev

    It would be if we were talking about fully-anonymous(fully-pseudonymous) rooms, but for the semi- model I think it does need fairly tight coupling.

  972. jonasw

    what is the use-case for semi-anon as compared to fully-anon though?

  973. SamWhited

    As long as the MIX service is still the thing issuing the semi-anon identities it can be publishing a mapping into nodes that only the admins can read.

  974. Kev

    We've coped with this level of indirection in MUC for years and other than that we got the pseudonymous JIDs wrong, I don't think it's been a significant barrier to entry to anyone.

  975. Kev

    jonasw: The usual public MUC where you don't want people to start spamming each other, but you do want sensible moderation.

  976. jonasw

    Kev, which part of moderation requires semi-anon?

  977. Kev

    Anything that involves knowing who you're moderating?

  978. Kev

    Anyway, it's late and I'm shattered, so I'm going to pick MIX up again in the morning. NN folks.

  979. jonasw

    Kev, why do you need to know?

  980. jonasw

    affiliations (speaking in MUC terms) could be mapped by the MUC service. e.g. if I say /ban kevins%proxy@jid, the service would translate that to "ban kevins@actual.jid" and would enforce that

  981. Zash

    You can already ban and stuff via nickname, so ... I'm too tired to have any idea of what you are talking about

  982. jonasw

    you can’t ban via nickname

  983. jonasw

    if your client allows that it is racy

  984. jonasw

    (maybe not racy; but at least the client does the nickname->real jid lookup)

  985. Zash

    Full-anon MUCs must work like that tho

  986. jonasw

    are there full-anon MUCs?

  987. Zash

    ... No

  988. Ge0rG

    So what you want is to tell the service "ban this nickname" and it will ban the user's real JID without ever exposing it to the MUC owner.

  989. jonasw

    Ge0rG, yeah

  990. jonasw

    except that I wouldn’t use nicknames in MIX but the proxy JIDs

  991. jonasw

    in MUC that wouldn’t work because of the inherent race condition

  992. jonasw

    (I send "ban X", my link is slow, in the meantime X leaves and another person accidentally also called X joins)

  993. Zash

    Is it kicks in MUC that are on nicknames?

  994. jonasw

    Zash, yes

  995. Zash

    jonasw: Altho that's not as permanent as affiliation changes

  996. Zash

    Races could be mitigated by not allowing anyone else to use a recently used nickname (for x time)

  997. jonasw

    Zash, that’s a bad mitigation

  998. Zash

    Why?

  999. jonasw

    because my link may lag for x+1 time after I sent the kick

  1000. jonasw

    without a way for me to rectify it in time

  1001. jonasw

    and ebcause I don’t know their real jid I can’t re-invite them

  1002. Ge0rG

    I'm sure we can live with that improbable problem

  1003. jonasw

    (won’t be a problem with MIX)

  1004. pep.

    I think waqas mentioned prosody *had* an implementation of full-anon MUCs

  1005. waqas

    pep.: Yes, we used to, and it wouldn't be that hard to add again

  1006. pep.

    I'd like that back, way more than semi-anon. I don't really get why semi-anon survived and not full-anon

  1007. pep.

    Though as SamWhited it doesn't have to be in that XEP? it can be dealt with another XEP. SamWhited, were you thinking of something like burner jids?

  1008. pep.

    Is this used anywhere yet btw?

  1009. pep.

    as SamWhited said*

  1010. waqas

    I don't have context of what Sam said

  1011. waqas

    I don't believe burner JIDs are needed for just anon MUC

  1012. pep.

    05:58:01 Kev> Although it was me who was pushing for not having semi-anonymous (in xep45 terms) MIXs at all, but the Summit was very clear that this is a required feature. 05:58:28 SamWhited> I think it's a required feature, but I don't see why it has to be tightly coupled with MIX… 05:59:01 SamWhited> It could be some other XEP that comes later and isn't specific to MIX.

  1013. waqas

    (beyond what Prosody already has for semi-anonymous)

  1014. pep.

    waqas, sure, but they could be used instead of implementing full-anon mucs on any server, and would also be useful not just for mucs

  1015. waqas

    As long as MIX clarifies that the JIDs may be missing or may not be real JIDs, and leaves the door open. Because if it's defined in a XEP, you still want interop with clients who were written before that new XEP happened.

  1016. pep.

    (don't pay attention to my UTC+9 timezone)

  1017. waqas

    "Go to sleep"? ^^

  1018. Zash

    Mental or physical timezone?

  1019. pep.

    none of these. I just have to move that machine back, someday

  1020. pep.

    And also maybe change the timezone

  1021. Andrew Nenakhov

    > "Go to sleep"? ^^ 7:23 is a good time to get up

  1022. pep.

    Or maybe in the opposite order