XSF Discussion - 2020-08-25


  1. Daniel

    Well technically it's probably incitement. Which is illegal. But INAL and nobody is going to sue over that.

  2. dwd

    lovetox, You're not allowed to send data to the FBI; it would be illegal under the GDPR.

  3. dwd

    moparisthebest, But, a GDPR Subject Access Request over XMPP would be legit and require a response within a fixed time period of a month (and without "undue delay").

  4. dwd

    moparisthebest, (This case isn't a DSAR, of course, as the FBI is not a Data Subject here)/

  5. Alex

    Memberbot is still online for our member meeting today. If you are a XSF member and have not voted yet then please do so. Thanks.

  6. jonas’

    Alex, Thanks! I won’t be able to attend in-person, but I already voted :)

  7. MattJ

    Just voted :)

  8. eta

    btw, I've been thinking about ways to solve s2s connection issues (and push notifications) with MUC/XEP-0045 in ways that are mostly invisible to the clients participating in the MUC. I wrote up a 1,900 word very rough form of a XEP, and will probably look at converting that into a "proper" ProtoXEP soon :)

  9. eta

    the basic idea is to have the user's server perform MUC Self-Ping on the users' behalf and intelligently handle rejoining & history replay for the client, removing the need for the client to support such logic

  10. eta

    MUC servers must implement Unique and Stable Stanza IDs for the catchup to work, and are strongly advised to implement MAM and the optimization parts of MUC Self-Ping (but these aren't hard requirements)

  11. jonas’

    eta, that doesn’t solve all of the issues

  12. jonas’

    unfortunately

  13. moparisthebest

    eta: is that prosody mod_minimix ?

  14. jonas’

    but it improves the situation

  15. eta

    jonas’, do tell

  16. eta

    what issues remain?

  17. eta

    moparisthebest, no, it's something different

  18. jonas’

    eta, ah, well, if you force servers to do MAM catchup and replay on behalf of their users, that’s good

  19. jonas’

    otherwise this won’t quite work

  20. Zash

    jonas’, wanna write down all the issues on the wiki or such?

  21. jonas’

    Zash, -EBUSY

  22. Zash

    -WSADFACE

  23. eta

    jonas’, so how I've spec'd it is that if your client conforms to this new XEP it just gets a "room oops happened, please do MAM resync" message and handles MAM itself

  24. jonas’

    I just came back from the police department (which was already closed) and that kind of stole more of my time than I had budgeted for

  25. eta

    if your client doesn't advertise support, the server will do MAM for you and forward the messages

  26. jonas’

    eta, ah, that’s not at all "invisible to clients" then

  27. jonas’

    and not much of an improvement over self-ping, is it?

  28. jonas’

    why not always let the server do MAM?

  29. eta

    jonas’, because paging

  30. jonas’

    I don’t folloo

  31. jonas’

    I don’t follow

  32. eta

    let's say you're disconnected for an extended period and miss out on like 1000 lines of history

  33. jonas’

    yeah

  34. eta

    now the server will perform MAM to filter through that to see if any of those lines contain your nickname (for push purposes)

  35. eta

    but it won't want to buffer all 1000 and send them to you, because that drains the server's resources unnecessarily

  36. jonas’

    but if a client doesn’t support it, the server still has to do it, right?

  37. eta

    yeah, so there's a limit

  38. jonas’

    I don’t like that

  39. jonas’

    don’t hide issues if you can’t hide them completely

  40. Zash

    Will perform MAM ... when?

  41. Zash

    Periodically?

  42. jonas’

    Zash, after MUC self-ping errored

  43. eta

    Zash, upon reconnect

  44. Zash

    Polling? Hmmmm, not sure if like

  45. eta

    Zash, polling is required

  46. eta copy-paste

  47. jonas’

    ok, well

  48. eta

    "Fundamentally, due to the way s2s links work (i.e. they get suspended on lack of activity), we'll always need to perform some kind of polling to make sure we're still in a MUC. Doing things like the server proactively saying it's back and clients should rejoin is *good*, but it'll never cover all cases due to the nature of networking. Therefore, it's probably a good idea to have a user-configurable polling interval that defaults to something like "10 minutes since last activity observed to/from the MUC" that people can tweak if they really care about knowing about disruption earlier."

  49. jonas’

    I shall write stuff down later

  50. eta

    Zash, also this is a strict improvement upon the status quo, right

  51. jonas’

    no

  52. eta

    clients currently have to poll anyways

  53. eta

    it's better if the server does it once than having all connected resources do it

  54. jonas’

    if you hide message loss (the > 1000 messages situation), that’s not an improvement

  55. eta

    jonas’, it's not hidden

  56. jonas’

    how is it not hidden?

  57. eta

    jonas’, you either support the XEP, in which case you get an explicit "do a MAM resync" notification, or you don't, in which case you just get kicked

  58. jonas’

    if the client does not advertise support, servers will simply not send all of the history, but fake as if the client had been in the room all the time.

  59. eta

    no, they won't

  60. eta

    it kicks you in that case

  61. jonas’

    hue?

  62. jonas’

    what about the MAM stuff you said earlier then?

  63. eta

    so it tries to do a catchup

  64. jonas’

    ah, and if that’s too much, you get kicked

  65. jonas’

    makes sense

  66. eta

    yeah

  67. eta

    and then you just do whatever retry logic you currently do

  68. eta

    (except it'll tell you that it kicked you for this reason, so you can instarejoin knowing that you're actually still in the MUC and just need to do MAM)

  69. Zash

    current retry logic: none

  70. MattJ

    Count me as interested, I've long thought we need to fix this on the server side, but haven't been able to put in the time to spec anything up

  71. eta

    I mean I'll write this up into a proper protoXEP at some point soon once I figure out how to do that

  72. eta

    the current doc is somewhat incoherent

  73. MattJ

    Step 1: obtaint markdown-to-xep

  74. MattJ

    Step 1: obtain markdown-to-xep

  75. eta

    if there are no glaring issues with it, I'll probably forge ahead with trying to write prosody modules

  76. eta

    oh yeah, the other thing I forgot to mention is

  77. jonas’

    eta, ok, that makes much more sense.

  78. eta

    this XEP has bookmarks2 as a hard dependency

  79. MattJ

    :)

  80. jonas’

    eta, I’ll be happy to help you through the XEP process -- let me know if you need any technical help in getting this in the right format

  81. jonas’

    speaking of right format: MattJ, do you have it on your todo list to clean up the new mam-forked XEPs?

  82. eta

    basically the flow is without a bookmarks2 entry for a room, you don't get any server fanciness

  83. MattJ

    jonas’, what needs cleanup specifically?

  84. eta

    so to engage the fanciness, you join normally, then add a bookmarks2 entry

  85. jonas’

    MattJ, they are lacking some RECOMMENDED/REQUIRED sections IIRC

  86. eta

    (at which point the fun state machine specified in the XEP kicks into action and joins another resource that the server controls)

  87. MattJ

    Ok, that wasn't on my todo but I can look into it

  88. MattJ

    Probably not for a couple of weeks though

  89. jonas’

    MattJ, I see, thanks nontheless

  90. jonas’

    nothing too urgent anyways

  91. eta

    once the fun durable mode is engaged, you never get kicked out of the XEP unless (a) someone actually /kick-ed you or (b) the server gave up retrying to get you back in (usually after like a day)

  92. eta

    once the fun durable mode is engaged, you never get kicked out of the MUC unless (a) someone actually /kick-ed you or (b) the server gave up retrying to get you back in (usually after like a day)

  93. eta

    in both cases, something is shoved in the bookmarks2 entry to say "this MUC is broken", which disengages the fanciness until you remove that by manually rejoining and re-adding the bookmarks2 entry

  94. jonas’

    eta, I’m sure I can read that in the document later on, but what happens if the user sends a message while they are not fully connected?

  95. eta

    jonas’, what do you mean by "not fully connected"

  96. jonas’

    eta, the server is currently in the process of retrying to get you connected

  97. jonas’

    eta, the server is currently in the process of retrying to get you connected to the MUC

  98. eta

    jonas’, you get an error of type "wait"

  99. eta

    the one smoking gun might be if current clients decide to rejoin the MUC in this case, which would suck a lot

  100. eta

    well, actually, no it really wouldnt'

  101. eta

    well, actually, no it really wouldn't

  102. jonas’

    that depends on the specific condition, but a server could easily eat rejoins away in such cases.

  103. eta

    jonas’, it kinda does

  104. eta

    if you attempt to rejoin whilst in the `Reconnecting` state, what happens is it marks you as "waiting to rejoin", eats your presence, and sends you a "experiencing connection issues" message (for conformant clients)

  105. eta

    if it manages to get you to join, it forwards you the recipient list and then does the "intelligent catchup" process

  106. eta

    actually wait, no, it wouldn't do that because you'd be expected to do MAM anyway, so scratch that

  107. MattJ

    Bonus points for a state diagram :)

  108. eta

    https://theta.eu.org/xmpp/upload/3OHj4KIs8L9tD3JW/7543125f-08d5-411e-9732-722daa038bd5.png

  109. eta

    MattJ, 👀️

  110. MattJ

    Bonus points awarded, achievement unlocked!

  111. eta

    the nice thing is, if this XEP actually becomes a thing the UX will probably be better than something like matrix

  112. eta

    because you'll get an explicit "experiencing connection issues" display in your client's UI

  113. eta

    (which I think is a lot nicer than just sending and not getting any messages back until s2s reconnects and everything floods back in)

  114. eta

    also, there's no requirement to implement a bloody complicated MIX server

  115. eta

    like all you need on the conference service side of things is MUC, unique and stable stanza IDs, (MUC Self-Ping optimization, MAM)

  116. jonas’

    it makes MUC better, but it doesn’t solve other problems of MUC ;)

  117. eta

    so I can write my transports and have them work :p

  118. jonas’

    in fact, this is something MIX also still needs to solve, so I think that work is valuable

  119. eta

    jonas’, what are the other problems though?!

  120. eta

    oh, MIX

  121. eta

    nvm

  122. jonas’

    no, your proposed thing

  123. eta

    okay, what other problems are there

  124. jonas’

    try to address a specific resource of a participant in a MUC

  125. eta

    what's the usecase for that?

  126. jonas’

    the entire multi-session nick hack which isn’t written down anywhere normative

  127. jonas’

    eta, sending IQs

  128. eta

    ah

  129. eta

    oh yeah, re nicks, you can't specify one on join any more

  130. eta

    it forces it to be your bookmarks2 one if you have one in bookmarks2

  131. jonas’

    I need to step away for a bit, I’m having a hard time to concentrate on anything

  132. eta

    sure

  133. eta

    I take your point that there are other problems with MUC though :p

  134. eta

    (but there can be more specs for that)

  135. edhelas

    there's always other problems with MUC :p

  136. Daniel

    What do we need muc for anyway?

  137. MattJ

    Are you going to say... XEP-0033? :)

  138. Zash

    YES

  139. Daniel

    For smaller groups I can certainly see the appeal

  140. Zash

    Would be interesting to see that

  141. edhelas

    chatrooms without MUC 🤔

  142. edhelas

    it's a bit the difference between mailing lists and chain-answered-emails

  143. Zash

    exactly that

  144. moparisthebest

    a, somewhat major server implemented XEP-0033 recently (jmp.chat/cheogram.com) but no support in Conversations (or most/all clients?) yet

  145. eta

    ah yes

  146. eta

    group emails

  147. eta

    that very functional solution that never results in people getting confused ever

  148. edhelas

    can't wait for XMPP Chatrooms over SMTP

  149. Holger

    From 0313's changelog: > Split preferences protocol into a separate document Which document did they go into?

  150. Zash

    Holger: New ones, via the inbox. (Council voted it)

  151. Holger

    Ah, thx.

  152. Zash

    Dunno if Editor has processed them yet

  153. jonas’

    they haven’t been voted into existence yet

  154. jonas’

    Zash is on-list on them

  155. Zash

    Oh right

  156. jonas’

    *hinthint* if you vote properly within the next few minutes, they might make today’s editor window *hinthint*

  157. Wojtek

    eta - out of curiosity - why not push for MIX addotion, instaed of putting another patch on a MUC?

  158. eta

    Wojtek, I think MIX is overengineered

  159. Wojtek

    and yet another patch on (kinda broken) MUC is better?

  160. moparisthebest

    only one can be used without all servers upgrading at once

  161. eta

    ^

  162. eta

    MIX isn't backwards-compatible with MUC

  163. eta

    MUC is a very simple standard, and I like that

  164. jonas’

    Wojtek, MIX also has exactly the same issue

  165. jonas’

    (not quite exactly, but well)

  166. jonas’

    eta, MIX does have a MUC compatibility layer which I’d deem "good enough" for a soft transition

  167. eta

    jonas’, okay, but also

  168. Wojtek

    eta: XEP-0408?

  169. eta

    MIX creates an ecosystem split where half the users still have a crap experience

  170. moparisthebest

    in tigase's defense they *actually* put in the work and seem to have made a seemingly working implementation, I'll have to update https://www.moparisthebest.com/mix/

  171. eta

    even with a compatibility layer

  172. jonas’

    eta, that’s life.

  173. eta

    jonas’, no, but it doesn't have to be this way

  174. jonas’

    eta, yes, hence I’d actually suggest putting energy into MIX -- but I don’t blame *you*, because the work you’re doing we need for MIX, too

  175. jonas’

    we discussed about that in this very room just the other day

  176. eta

    yeah, I saw :)

  177. eta

    Wojtek, okay, point taken

  178. Wojtek

    eta, MUC may be a simple standard yet time and time again there are problems with it and (weird ways) to fix that...

  179. jonas’

    MUC is by no means a simple standard

  180. Wojtek

    @jonas’ what same issue?

  181. jonas’

    Wojtek, dealing with s2s outages

  182. jonas’

    clients need to know about it to sync their archive with the remote MAM (if we go for remote-archives-only) and/or servers need to sync the user’s MAM and do magic if we allow for user-local archives

  183. Andrzej

    eta, MUC is simple? try to make it scalable, consistent, etc. you will learn that it is not so simple

  184. eta

    it's simple if you're a transport developer :>

  185. jonas’

    eta, MUC is a very long document as it stands already. Aside from that, there are hacks upon hacks which aren’t even *documented* there (like the whole multi-session nick stuff, or IQ routing in MUC in general)

  186. Wojtek

    @jonas’ if we *don't* allow you mean? beacause with local archive each time there is a new message it's delivered to local archive which eliminates issue with s2s outages

  187. eta

    and MIX solves this problem?

  188. jonas’

    Wojtek, no, if we *do* allow.

  189. jonas’

    Wojtek, that’s not correct. what if the s2s between MIX and user server is down?

  190. jonas’

    eta, yes, because MSN (multi-session nicks) as well as IQ routing (by having each resource addressable) are both well-defined in MIX

  191. Wojtek

    then your local archive won't get the message, but you also won't be able to query it ;-)

  192. jonas’

    Wojtek, yeah, so you have message loss (bad)

  193. Wojtek

    but I get it now

  194. Wojtek

    still, I don't recall fallback to query remote server if `urn:xmpp:mix:pam:2#archive` was advertised

  195. jonas’

    it’s a rather tricky thing to solve. It’s not just that servers do MAM syncs among each other. To ensure correct order of message delivery, servers will also have to do replay from MAM as well as queue "live" messages

  196. jonas’

    Wojtek, sorry, I lack context, what does `urn:xmpp:mix:pam:2#archive` mean and who would fallback to what?

  197. Wojtek

    "Archive of MIX channel messages MAY be performed by the participant's server. When this is done, the capability is advertized to MIX clients using the 'urn:xmpp:mix:pam:2#archive' feature. If archive is provided it **MUST always be used**, so that where a message is sent to the participant's server and discarded because there are no active clients, it will still be archived. This means that when archiving is provided, the messages will be available in the local archive and can be picked up by clients when they come online. "

  198. Andrzej

    @jonas’ simples solution for s2s issues would be stream management over s2s, or force MIX to add stable-id of a last message which was sent, so that users server MAM could fill that and deliver "lost" messages as a normal MIX message with `<delay/>` element in them

  199. eta

    Andrzej, my proposed solution does the stable-id thing, sorta

  200. jonas’

    Andrzej, no, stream-management is not sufficient

  201. jonas’

    stream management will have limits because servers won’t queue forever.

  202. jonas’

    Wojtek, the text you quoted is exactly the problematic part. It claims that the user’s archive is the gold standard, but in fact it’ll have gaps without additional measures.

  203. jonas’

    Andrzej, what you propose is one of the ways to do it, but then the user server becomes quite complex. It needs to do MAM queries, backfill the local archive (which it may not be able to even to, because it’d have to insert into MAM at an earlier point, violating one of the MAM guarantees!), it has to buffer all "live" messages from the MIX to be able to replay MAM first in order to provide in-order delivery of all stanzas from the MIX.

  204. jonas’

    and it needs to do that across all pubsub-nodes the user has subscribed to on the MIX, too

  205. Andrzej

    @jonas’ we will have gaps, but it was discussed at the summit and the simples solution to add to the message stable-id of a previous message was suggested (by Kev if I recall)

  206. jonas’

    and then the client would be responsible for filling the gap in its local archive?

  207. Andrzej

    @jonas’ why it needs to insert those new entries in the past? just add them at the end with `<delay/>` element in them

  208. Andrzej

    then MAM would be just log of a messages which you have received and delay timestamps would allow clients to assign those messages in proper order

  209. jonas’

    which clients don’t do generally

  210. jonas’

    and I’m also not sure if that’d be acceptable

  211. eta

    Wojtek, XEP-0408 doesn't really say much

  212. Wojtek

    I know that it's the problem, but it says that if there is local archive the user *MUST* use it (so no queryign from MIX MAM)

  213. jonas’

    Wojtek, hence the debate about that particular text :)

  214. jonas’

    eta, needs implementations. but conceptually, it can easily work.

  215. eta

    okay, so MIX removes some hacks that you need to make MUC work

  216. eta

    I mean I don't think the problems with MUC are bad enough to justify scrapping it entirely

  217. eta

    or rather, to justify the ecosystem split having 2 competing standards would cause

  218. jonas’

    that is your opinion and you can have it :)

  219. Wojtek

    :-)

  220. eta

    indeed!

  221. eta

    if people want to implement MIX though, go ahead! part of why XMPP is great is precisely that people can have different ideas

  222. Wojtek

    and having many things of doing something is kinda "XMPP way" ;-)

  223. Andrzej

    eta, for mobile devices (ie. iOS) using MUC requires a lot of hacks

  224. jonas’

    though I *do* find it amusing, that the often-complained-about required user-server support for MIX is now coming for MUC ;)

  225. Wojtek

    for me it seems that MUC is basically mutating into MIX, in stages...

  226. eta

    Andrzej, are a lot of hacks bad though? :p

  227. Wojtek

    YES :-P

  228. eta

    Andrzej, I mean the followup XEP I was going to write is a spec for doing push notifications

  229. eta

    if the server has a resource constantly joined to the MUC, it can receive messages, match them against a set of rules / regexes, and then forward the message to the client

  230. Andrzej

    eta, with filtering I hope?

  231. jonas’

    eta, what about E2EE?

  232. eta

    Andrzej, yeah, I want to essentially rip off matrix's push rules system

  233. eta

    jonas’, you'd have to either (a) send every message or (b) include a separate <mentions/> element or w/e

  234. eta

    and deal with the privacy implications of (b)

  235. Wojtek

    > if the server has a resource constantly joined to the MUC, it can receive messages, match them against a set of rules / regexes, and then forward the message to the client so, basically permanent member subscription? like in... MIX? ;-)

  236. eta

    although *no* messenger can deal with the e2ee problem :)

  237. Andrzej

    eta, if you want to write something like that please check https://xeps.tigase.net//docs/push-notifications/filters as this could be useful

  238. eta

    Andrzej, issue I have with that is, what does "mentioned" mean

  239. eta

    do I get a notification any time someone says "details"? ;P

  240. moparisthebest

    it means you can silently eat the mobile battery of everyone you are in a channel with of course :)

  241. Andrzej

    mentioned means that your nickname was mentioned in a message

  242. eta

    Andrzej, no, sure, but how are you matching

  243. eta

    if your test is `string.contains(nick)` it's going to break for me :)

  244. Andrzej

    contains and check if before and after there is no alphanumeric character

  245. eta

    ah, good

  246. eta

    that aside, though, yeah, that XEP looks very similar

  247. eta

    Wojtek, yeah, exactly like in MIX :p

  248. Andrzej

    I was suggesting to consider just requirements from our XEP (and syntax if that would be useful)

  249. eta

    like I don't think MUC's current semantics are ideal at all

  250. eta

    Wojtek, the difference is my proposed XEP doesn't require the MUC service to support much more

  251. Andrzej

    but requires local server to keep a persistent session for you

  252. eta

    yeah

  253. Andrzej

    with S2S issues, reconnections, MUC restarts, etc. this can be problematic

  254. eta

    Andrzej, that's what the whole XEP is about

  255. eta

    you could even extend it to have local archiving semantics similar to your MIX implementation

  256. eta

    it just won't do that initially because that's a bit of a hard sell for some server operators

  257. eta

    generally my problem with MIX is it doesn't really obey Postel's Law (https://en.wikipedia.org/wiki/Robustness_principle): it requires there to be a shiny new MIX service out there to get any of the benefits

  258. eta

    whereas trying to patch MUC on the server side will improve experience for ~90% of users without them having to change client or MUC service

  259. eta

    that said, for non federating environments, MIX is unquestionably better

  260. Wojtek

    and then you end up in a situaiton when some server support that and some not and some user will have different experience than others... and then everyone complain again that it's impossible to have more-or-less consisten experience with XMPP and jump on the matrix badwagon

  261. moparisthebest

    not sure that's the right law, it requires a flag-day, which never ends up happening

  262. moparisthebest

    https://en.wikipedia.org/wiki/Flag_day_(computing)

  263. eta

    Wojtek: well no, you make it part of the compliance tester

  264. eta

    also I mean, MIX has the same issue!

  265. eta

    (in fact it's worse)

  266. moparisthebest

    huh TIL that flag day was also Postel's https://tools.ietf.org/html/rfc801 :)

  267. Wojtek

    compliance server is run by a private person and not XSF… and it's kinda arbitrary - it requires XEP-0215 yet compliance suite doesn't mention this particular XEP...

  268. jonas’

    it also doesn’t say XMPP or XSF compliance ;)

  269. Daniel

    The compliance tester is just 4 month ahead of time

  270. eta

    Wojtek: well, I mean I'd be interested to hear your solution here

  271. eta

    fragmentation is definitely an issue, but I'm not sure there is an obvious magic bullet

  272. lovetox

    eta, the idea to make it dependend on bookmarks2 seems like a sure way implementation gets delayed very long

  273. lovetox

    there is no server that supports bookmarks2 in a way that client would want to use it

  274. eta

    lovetox: but bookmarks2 defines a private XML conversion path

  275. eta

    lovetox: oh? what are the issues with bookmarks2?

  276. lovetox

    hm? i didnt say there where issues with bookmarks2, only that no server supports it

  277. eta

    ah

  278. lovetox

    and bookmarks2 in turn depends on other XEPs that servers dont support

  279. jonas’

    does it?

  280. lovetox

    like the recent "max" change in pubsub

  281. Wojtek

    > it also doesn’t say XMPP or XSF compliance ;) yet it seems that everyone considers it as such ;-) and eta proposed using it as a mean to promote XEPs :-)

  282. Wojtek

    > The compliance tester is just 4 month ahead of time hence "arbitrary" - you can do with compliance tester whatever you want as it's not XMPP/XSF :-)

  283. eta

    Wojtek: hey, feel free to make a Siskin compliance tester :p

  284. Wojtek

    Siskin is client, not server ;-)

  285. eta

    Wojtek: no, but the other tester is "the Conversations compliance tester", because it tests whether the server works well with Conversations

  286. Zash

    "A thing that tests whether servers are tuned for Siskin"

  287. eta

    Wojtek: like, more compliance testers would be great!

  288. eta

    I'm not saying Daniel's one has to be the One True Tester

  289. Wojtek

    eta yet you proposed to promote certain specification via compliance tester

  290. Andrzej

    so is it really a "compliance tester" or "compatibility tester"?

  291. eta

    Wojtek: well, okay, that's assuming Conversations uses said specification

  292. Zash

    Andrzej: I was just going to say ... the later.

  293. eta

    Wojtek: perhaps I'm a bit too optimistic in that regard :p

  294. Zash

    You could even fork it, tune it to your own clients requirements.

  295. Zash

    Or make an ultimate every client compatibility tester

  296. eta

    Wojtek: my point is just that the conversations compliance tester seemed to do a relatively okay job of driving AV call adoption by servers

  297. Zash

    (along with a client needing it and users wanting the call feature)

  298. eta

    true :p

  299. eta curses at xef/xeps

  300. eta

    > element header: validity error : Element header content does not follow the DTD, expecting (title , abstract , legal , number , status , lastcall* , interim* , type , sig , approver* , dependencies , supersedes , supersededby , shortname , schemaloc* , registry? , discuss? , expires? , author+ , revision+ , councilnote?), got (title abstract legal number status type sig approver dependencies supersedes supersededby author shortname revision ) </header>

  301. eta

    oh my god

  302. eta

    they have to be in the correct order

  303. eta

    that's ridiculous

  304. Zash

    Praise schema validation!

  305. jonas’

    eta, I recommend using xep-template.xml

  306. eta

    jonas’, ...now you tell me

  307. jonas’

    I told you to ask :D

  308. eta copies & pastes

  309. eta

    I've already written an intro, which is good

  310. jonas’

    eta, next time, ping me directly, I’m happy to help before things become an annoyance

  311. eta

    not having to refer to XEP-0001 all the damn time is nice though :)

  312. Zash

    But have you considered implementing an elaborate document processing pipeline that turns plain text into xep-xml?!

  313. jonas’

    GPT-3?

  314. Zash

    Oh no

  315. jonas’

    hmmm

  316. moparisthebest

    *spits out machine generated XEP* hmm looks alot like matrix

  317. Zash

    You're holding it upsidedown?

  318. jonas’ requests OpenAI beta access

  319. moparisthebest

    I turned it upside down and now it just looks like a blockchain

  320. jonas’

    let’s see if they give it to me

  321. Alex

    lets kick off our member meeting

  322. Zash

    !

  323. moparisthebest

    \o/

  324. Alex bangs the gavel

  325. jonas’

    oh right! and I’m even around!

  326. Alex

    here is our Agenda for today: https://wiki.xmpp.org/web/Meeting-Minutes-2020-08-25

  327. Alex

    1) Call for Quorum

  328. Alex

    as you can see 34 members voted via Memberbot, so we have a quorum

  329. Alex

    2) Items Subject to a Vote

  330. Alex

    new and returning members, you can see all applicants on this page: https://wiki.xmpp.org/web/Membership_Applications_Q3_2020

  331. Alex

    3) Opportunity for XSF Members to Vote in the Meeting

  332. Alex

    anyone here who has not voted yet and wants to do so now?

  333. Alex

    looks like none

  334. Alex

    I will shutdown the bot then and start working on the results

  335. Guus

    🥁

  336. Alex

    4) Announcement of Voting Results

  337. Alex

    when you reload the page at: https://wiki.xmpp.org/web/Meeting-Minutes-2020-08-25#Announcement_of_Voting_Results you can see the results

  338. Alex

    all new and returning members are accepted. Congrats to everone, and welcome to our new members

  339. Alex

    5) ny Other Business?

  340. jonas’

    None from me

  341. Guus

    None here

  342. jonas’

    except: congratulations to everyone and thanks to our Secretary for the duty

  343. Alex

    6) Formal Adjournment

  344. Alex

    I motion that we adjourn

  345. Zash

    +1

  346. Alex bangs the gavel

  347. Alex

    thanks everyone

  348. Guus

    Thanks Alex !

  349. moparisthebest

    🔨️ thanks Alex

  350. Zash

    Thanks Alex. Congrats to all.

  351. Alex

    will update the memberlist and mailing list tomorrow morning

  352. Alex

    Thanks to Dave for updating Memberbot. Was running very smoothly this time ;-)

  353. jonas’

    Special congrats to (!)!XSF_Martin and Holger :)

  354. Martin

    Thanks 😃

  355. MattJ

    The irony is that the original "XSF Martin" that caused you to switch to that nick... I'm pretty sure he was never a member of the XSF :)

  356. jonas’

    not?

  357. jonas’

    but he was in board, right?

  358. eta . o O ( I should join the XSF )

  359. MattJ

    jonas’: yes

  360. jonas’

    ok, that explains my assumptions (and I suppose also mdosch’s)

  361. eta

    how do clients typically advertise support for some XEP?

  362. jonas’

    eta, XEP-0030

  363. eta

    jonas’, right, so the server is expected to do the whole entity caps dance and disco#info query it?

  364. jonas’

    yes, servers do that anyways tho

  365. jonas’

    for PEP

  366. eta

    oh, okay, so that's something we can build on

  367. jonas’

    so just state that the client has to implement XEP-0115 and go ahead

  368. eta adds more dependencies

  369. eta

    right, after 20 minutes of XML wrangling I've managed to make a TOC

  370. eta

    actual spec content still to follow >_>

  371. eta

    (well, there's an intro, requirements, and MUC failure modes section)