Thursday, February 08, 2018
editor@muc.xmpp.org
February
Mon Tue Wed Thu Fri Sat Sun
      1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
       
             
XEP Editor Team — logs: http://logs.xmpp.org/editor/

[00:04:33] *** soul has joined the room
[00:21:24] *** Holger shows as "online" and his status message is "I'm available"
[00:41:29] *** Holger shows as "away" and his status message is "Auto-away (idle)"
[00:51:57] *** SamWhited shows as "online"
[02:10:32] *** SamWhited has left the room
[04:03:02] *** SamWhited shows as "online"
[06:24:36] *** SamWhited has left the room
[07:39:38] *** jcbrand has joined the room
[07:40:17] *** jcbrand has left the room
[07:40:17] *** jcbrand has joined the room
[07:44:36] *** jcbrand shows as "online"
[07:52:32] *** jonasw shows as "online"
[08:46:48] *** jonasw shows as "online"
[09:21:11] *** winfried shows as "online"
[09:25:59] *** jonasw shows as "away"
[09:43:31] *** jcbrand has left the room
[09:50:41] *** jcbrand shows as "online"
[09:57:31] *** Guus has left the room
[09:59:09] *** Guus has joined the room
[09:59:42] *** Holger shows as "online" and his status message is "I'm available"
[10:02:35] *** jcbrand has left the room
[10:03:28] *** jcbrand shows as "online"
[10:42:54] *** Holger shows as "away" and his status message is "Auto-away (idle)"
[11:13:32] *** Holger shows as "online" and his status message is "I'm available"
[11:13:32] *** Holger shows as "online" and his status message is "I'm available"
[11:22:01] *** Guus shows as "online"
[11:29:22] *** jcbrand has left the room
[11:43:20] *** winfried shows as "away" and his status message is "sssssttttt! my computer fell asleep"
[11:53:20] *** winfried shows as "xa" and his status message is "sssssttttt! my computer fell asleep"
[11:54:19] *** jonasw shows as "online"
[12:08:07] *** Tobi has left the room
[12:09:14] *** Tobi has joined the room
[12:10:13] *** jonasw has left the room
[12:43:34] *** jcbrand has left the room
[12:43:35] *** jcbrand has joined the room
[12:50:34] *** winfried shows as "online"
[12:50:57] *** jcbrand has left the room
[12:50:57] *** jcbrand has joined the room
[13:15:39] *** jcbrand has left the room
[13:15:40] *** jcbrand has joined the room
[13:17:06] *** jcbrand has left the room
[13:17:06] *** jcbrand has joined the room
[13:25:54] *** winfried shows as "away" and his status message is "sssssttttt! my computer fell asleep"
[13:35:03] *** jcbrand has left the room
[13:35:04] *** jcbrand has joined the room
[13:35:54] *** winfried shows as "xa" and his status message is "sssssttttt! my computer fell asleep"
[14:04:08] *** winfried shows as "online"
[14:07:42] *** Tobi shows as "online"
[14:07:48] *** Tobi shows as "online"
[14:08:10] *** SamWhited has left the room
[14:08:29] *** SamWhited has joined the room
[14:26:35] *** Holger shows as "away" and his status message is "Auto-away (idle)"
[14:29:58] *** jcbrand has left the room
[14:29:59] *** jcbrand has joined the room
[14:40:11] *** jcbrand shows as "online"
[14:59:48] *** Tobi has left the room
[15:03:48] *** SamWhited shows as "online"
[15:49:12] *** winfried shows as "away" and his status message is "sssssttttt! my computer fell asleep"
[15:57:12] *** Tobi shows as "online"
[15:57:16] *** Tobi shows as "online"
[15:59:12] *** winfried shows as "xa" and his status message is "sssssttttt! my computer fell asleep"
[16:21:53] *** Tobi has left the room
[16:45:32] *** Holger shows as "online" and his status message is "I'm available"
[17:22:54] *** jcbrand has left the room
[17:48:57] *** jonasw shows as "online"
[17:50:19] <jonasw> jcbrand: still up for our meeting?
[17:56:39] *** jcbrand shows as "online"
[17:57:38] <jcbrand> hi jonasw
[17:57:43] <jcbrand> ready when you are
[17:58:02] <jonasw> jcbrand: k I need five more mins
[18:02:47] <jonasw> here I am!
[18:03:39] <jcbrand> jonasw: I'm running `make docker`
[18:03:47] <jcbrand> Currently generating pdfs
[18:03:49] <jonasw> I don’t even know what that does :D
[18:04:12] <jonasw> ah, I always run my own docker invocation (docker build . --build-arg NCORES=9 --build-arg TARGETS="html inbox-html") to avoid building PDFs
[18:04:27] <jcbrand> ok
[18:04:29] <jonasw> locally building the PDFs takes long and doesn’t bring any value; if there’s a syntax error or something, you’ll notice with the HTML build
[18:04:36] <jcbrand> I see the pdfs take long
[18:04:38] <jonasw> yeah
[18:04:45] <jonasw> and for a quick local test, a waste of time
[18:04:50] <jonasw> the PDFs are in a bad shape in any case
[18:05:03] <jonasw> (somebody should probably start to make a huge cleanup, but I don’t see that happening any time soon :))
[18:05:05] <jcbrand> I want to add a Makefile recipe then to only build docker with HTML
[18:05:11] <jonasw> that sounds reasoanble
[18:05:13] <jcbrand> an additional one
[18:05:57] <jonasw> so I think we have two PRs which we could process, those by @sco0ter on github (#580 and #582)
[18:06:05] *jcbrand looks
[18:06:24] <jcbrand> jonasw: BTW, while I'm thinking of it... I have a question for you
[18:06:29] <jonasw> feel free
[18:06:35] <jcbrand> when doing triaging... some tickets get the tag "ready to merge"
[18:07:02] <jcbrand> why do that instead of just merging? I guess to answer my own question, because after merging you need to generate the HTML and PDFs and send out emails?
[18:07:09] <jonasw> yeah
[18:07:12] <jonasw> I like to batch things up
[18:07:15] <jcbrand> ok
[18:07:26] <jonasw> I can do triaging during a five minute break
[18:07:53] <jcbrand> jonasw: looks like I might need docker credentials?
[18:07:55] <jcbrand> `docker: Error response from daemon: pull access denied for xmpp-org/extensions, repository does not exist or may require 'docker login'`
[18:07:58] <jonasw> what
[18:08:04] <jonasw> I don’t think that you do
[18:08:12] <jonasw> I’m pretty sure that’s public
[18:08:19] <jcbrand> I got that when I ran 'make testdocker'
[18:08:26] <jonasw> ah
[18:08:37] <jonasw> that’s because my home-brew docker-command doesn’t have the -t xmpp-org/extensions argument
[18:09:05] <jonasw> if you replace "xmpp-org/extensions" in the testdocker invocation with the image ID from the build ("Successfully built somehexstring"), it should work
[18:09:26] <jcbrand> ah, then I'll just add "-t xmpp-org/extensions" rather
[18:09:39] <jonasw> yah
[18:09:43] <jonasw> probably makes sense
[18:10:05] <jcbrand> I'm adding it to the Makefile
[18:10:09] <jonasw> cool :)
[18:10:25] <jcbrand> Ok, looking at #580
[18:11:32] <jonasw> did you read the README I wrote?
[18:12:09] <jcbrand> Yes
[18:12:12] <jonasw> sweet
[18:12:13] <jcbrand> but that was quite a while ago
[18:12:20] <jcbrand> I do sometimes refer back to it when looking at the PRs
[18:12:32] <jonasw> so, this will be very convenient to keep in mind specifically: https://github.com/xsf/xeps#general-notes-on-making-changes
[18:12:41] <jonasw> because this xeplist.xml is the most important thing for all the automation I wrote
[18:13:02] <jonasw> it is crucial that the "old-xeplist.xml" refers to the last pushed state
[18:13:14] <jonasw> so before doing anything, do make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml
[18:13:54] <jcbrand> ok, just before I do that...
[18:14:08] <jcbrand> I have now docker running
[18:14:15] <jcbrand> But it just gives me Nginx's default message
[18:14:26] <jonasw> yeah, you need to go to /extensions/ manually
[18:14:29] <jcbrand> ok
[18:14:33] <jonasw> you’ll get a directory listing there
[18:15:09] <jcbrand> hmm
[18:15:20] <jcbrand> ah
[18:15:35] <jcbrand> ok cool, so that's working
[18:15:40] <jcbrand> I'll build the xeplist
[18:17:21] <jcbrand> ok done
[18:17:29] <jonasw> cool
[18:17:37] <jonasw> so now you can either make a new branch (which I’d recommend) or work on top of master
[18:17:46] <jonasw> making a new branch makes it easy to throw away stuff when you messed something up
[18:18:20] <jcbrand> ok, I'll make a new branch
[18:18:53] <jcbrand> Do you merge into the new branch or into master and then make the branch?
[18:18:55] <jonasw> and now the cool magic: you can use
git pull origin pull/580/head
to pull the changes from #580
[18:19:01] <jcbrand> ok ya
[18:19:03] <jonasw> new branch and then merge
[18:19:49] <jcbrand> ok and for #582 as well?
[18:19:59] <jonasw> I’d handle them separately at first
[18:20:54] <jonasw> so for 580, I’m not sure if we want a version block or not
[18:21:02] <jonasw> for now, let’s do one, because it’s a good exercise to do
[18:21:29] <jcbrand> version block?
[18:22:18] <jonasw> yeah, revision block
[18:22:49] <jonasw> something like this I’d suggest for #580 (so in xep-0174):
<revision>
<version>2.0.1</version>
<date>2018-02-08</date>
<initials>cs (XEP Editor: jc)</initials>
<remark><p>Fix incorrect STARTTLS examples.</p></remark>
</revision>
[18:23:05] <jonasw> (right below &stpeter;)
[18:23:15] <jonasw> you may adapt the wording and your initials at will of course
[18:24:00] <jonasw> I’m not sure if we even should have the "(XEP Editor: xyz)" thing, because git has that information too, in most cases, and it isn’t really useful.
[18:24:02] <jonasw> feel free to omit
[18:24:17] <jcbrand> I was just wondering about that
[18:24:19] <jcbrand> will remove
[18:24:21] <jonasw> once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’? happy with it
[18:24:26] <jonasw> once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’s happy with it
[18:25:40] <jcbrand> No output, so I assume it's happy?
[18:25:47] <jonasw> that’s a good assumption
[18:25:51] <jcbrand> xeplist.xml looks ok
[18:26:05] <jonasw> great!
[18:26:30] <jcbrand> do you test the HTML then via docker?
[18:26:34] <jonasw> yes
[18:26:42] <jonasw> you can also build the HTML files with make
[18:26:48] <jonasw> in fact, you’ll have to do that to put the files into the attic
[18:26:58] <jonasw> (or rather: tools/archive.py will do that for you)
[18:27:12] <jonasw> we could try that right away actually
[18:27:38] <jonasw> did you clone xep-attic next to the xeps repository (i.e.: assuming you have an directory "editor", xep-attic would be at "editor/xep-attic" and xeps would be at "editor/xeps")?
[18:28:31] <jcbrand> yes
[18:28:44] <jcbrand> I have that
[18:28:48] <jcbrand> so `make html`?
[18:28:55] <jonasw> you can just run: ./tools/archive.py tools/old-xeplist.xml build/xeplist.xml
[18:29:30] <jonasw> it will do a few things: 1. list which XEPs have changed between the two xeplist files you passed there; 2. invoke make build/xep-xyz.html for those; 3. copy the resulting HTML files into the ../xep-attic/content/ directory
[18:30:12] <jcbrand> yeah, so there's a new HTML file in the attic now
[18:30:15] <jonasw> \o/
[18:30:18] <jcbrand> content/xep-0174-2.0.1.html
[18:30:23] <jonasw> ups
[18:30:28] <jonasw> fine :)
[18:30:39] <jcbrand> you thought something was wrong?
[18:30:44] <jonasw> I thought I pasted that :D
[18:31:22] <jonasw> great, so you can now merge your branch into master, but don’t push yet.
[18:31:31] <jonasw> (if you’ve commited the revision block to git yet)
[18:31:48] <jonasw> and you can repeat the same process for #582
[18:31:55] <jcbrand> ok, will do
[18:32:34] <jcbrand> I didn't know this trick of pulling in pull requests
[18:32:46] <jonasw> yeah, I learnt that a few weeks ago in some XMPP-related MUC
[18:33:08] <jonasw> before I always puzzled together the URLs manually (https://github.com/$prauthor/xeps $branchname), which didn’t always work
[18:33:36] <jonasw> I always had to guess whether Flows fork of the repository was called xeps-xsf or xsf-xeps and I always got it wrong on the first attempt ;-)
[18:34:29] <jcbrand> Should I again make a revision block?
[18:34:36] <jonasw> yeah, for this one definitely
[18:34:46] <jonasw> it touches on registar issues
[18:34:49] <jcbrand> ok
[18:34:57] <jonasw> still only a patch revision though, because it doesn’t change normative language or intent in any way
[18:35:11] <jcbrand> I guess when in doubt, rather make it
[18:35:15] <jonasw> (it’s technically an oversight in editor work, we should’ve made sure that everything was coherent)
[18:35:16] <jonasw> yeah
[18:35:45] <jonasw> even though, there’s an argument against that (because revision blocks essentially determine when a XEP will be deferred; so when doing editorial things on Experimental XEPs, one might to skip that; or maybe we need to re-define when deferral kicks in, I dunno)
[18:36:14] <jcbrand> ok
[18:36:26] <jcbrand> so... 1.15.1 then?
[18:36:33] <jonasw> yupp
[18:40:22] <jcbrand> oh, I should have copied over the old xeplist again
[18:40:32] <jonasw> no it’s fine
[18:40:39] <jonasw> all operations except sending email are idempotent
[18:40:45] <jonasw> in fact, do not copy it over until you have sent the emails
[18:41:09] <jonasw> (because the email sending also uses the xeplists)
[18:41:16] <jonasw> (unless you want to do it manually, which I would definitely not recommend ;-)
[18:41:55] <jcbrand> So you run `make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml` once before merging PRs?
[18:42:05] *** winfried shows as "online"
[18:42:06] <jonasw> yeah
[18:42:21] <jonasw> after a git pull that is
[18:42:29] <jonasw> (in case somebody else did some work inbetween)
[18:42:30] <jcbrand> ok
[18:44:03] <jcbrand> I notice in the readme you have a different order, you mention sending out emails before copying over to the xeplist
[18:45:08] <jonasw> okay, maybe I wasn’t clear, let me try again. the coarse workflow is:
- sit down to do editor work
- do the git pull && make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml
- start making branches and merging PRs; merge branches back to master
- run tools/archive.py […]
- run tools/send-updates.py […]
[18:45:18] <jonasw> okay, maybe I wasn’t clear, let me try again. the coarse workflow is:
- sit down to do editor work
- do the git pull && make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml
- start making branches and merging PRs; merge branches back to master
- git push
- run tools/archive.py […]
- run tools/send-updates.py […]
[18:45:33] <jonasw> + all the testing in-between to make sure that things are okay
[18:45:52] <jonasw> you only run make build/xeplist.xml; the cp is never run again until after the send-updates.py
[18:46:13] <jonasw> (if you now accidentally copied over the old-xeplist.xml with some intermediate state, that’s fine, it’s recoverable)
[18:46:22] <jonasw> (also I doubt it’s an issue if we don’t send mails for both)
[18:47:49] <jcbrand> hmm, when I run `./tools/archive.py tools/old-xeplist.xml build/xeplist.xml` it only picks up the change in XEP-0174, not the change in XEP-0060
[18:47:57] <jcbrand> Should I run `make build/xeplist.xml` first?
[18:48:00] <jonasw> yes
[18:48:07] <jonasw> running make build/xeplist.xml is always safe
[18:48:55] <jcbrand> ok, so diffing with `origin master` looks good
[18:49:06] <jcbrand> I'll push, since you've already mentioned it in the workflow
[18:49:21] <jonasw> ah, wait
[18:49:23] <jcbrand> ok
[18:49:25] <jonasw> one second please
[18:49:28] <jonasw> I want to test intosis PR first
[18:49:39] <jonasw> and merge that too if needed
[18:49:44] <jonasw> or if possible
[18:50:38] <jonasw> so yeah: merge intosis PR and run docker build . --build-arg NCORES=9 --build-arg TARGETS="refs" to see if it works
[18:50:47] <jonasw> if it does, that’s fine and you can push I think
[18:51:10] <jonasw> ah, and there’s one more thing we can do
[18:51:19] <jonasw> let me know when you’ve handled intosis PR
[18:55:03] *** jonasw has left the room
[19:05:54] *** winfried shows as "away" and his status message is "sssssttttt! my computer fell asleep"
[19:06:46] *** jonasw has left the room
[19:06:46] *** jonasw has joined the room
[19:06:46] <jonasw> ping
[19:06:46] *** jonasw has left the room
[19:06:46] *** jonasw has joined the room
[19:06:52] <jcbrand> hello
[19:07:20] *** winfried shows as "online"
[19:08:35] <jonasw> I think things have settled
[19:10:06] <jcbrand> Shall we continue here/
[19:10:21] <jcbrand> ?
[19:10:59] <jonasw> might as well
[19:11:37] <jonasw> okay, so once everything is merged and the last docker build went through, you can run the git push
[19:11:51] <jonasw> when the push’s over, you can observe the build here: https://hub.docker.com/r/xmppxsf/xeps/builds/
[19:12:01] <jonasw> (you won’t see output though; only when it switches to error or failed at some point)
[19:12:08] <jonasw> (you won’t see output though; only when it switches to error or failed or success at some point)
[19:12:31] <jonasw> while the build is running, you can update the attic with the archive.py tool and commit and push everything in there (git add content/*.xml && git commit && git push)
[19:12:42] <jonasw> while the build is running, you can update the attic with the archive.py tool and commit and push everything in there (git add content/*.html && git commit && git push)
[19:12:53] <jonasw> once that’s done, we’ll prepare the sending of emails
[19:19:39] <jcbrand> The Makefile recipe I added, can I simply commit and push to master, or do you want to see a PR?
[19:20:18] <jcbrand> jonasw: ^ otherwise done and ready for sending emails
[19:20:45] <jonasw> you can paste the diff here (from git diff) and I’ll have a quick look
[19:20:56] <jcbrand> diff --git a/Makefile b/Makefile
index f1ea374..e682928 100644
--- a/Makefile
+++ b/Makefile
@@ -167,6 +167,10 @@ preview:
docker:
docker build -t xmpp-org/extensions .

+.PHONY: dockerhtml
+dockerhtml:
+ docker build -t xmpp-org/extensions . --build-arg NCORES=9 --build-arg TARGETS="html inbox-html"
+
.PHONY: testdocker
testdocker:
docker run -d --name tmpxeps -p 3080:80 xmpp-org/extensions
[19:21:01] <jonasw> yeah, that looks safe
[19:21:08] <jcbrand> looks terrible
[19:21:19] <jonasw> you can commit & push that
[19:21:56] <jcbrand> ok done
[19:22:00] <jcbrand> so now emails I guess
[19:22:40] <jonasw> so regarding sending emails, you’ll have to create a config file; the name is not relevant, I’m using "config.ini":

[smtp]
host=smtp.zombofant.net
user=jonas.wielicki
from=Jonas Wielicki (XSF Editor) <jonas@wielicki.name>

host is the SMTP server to use, user is the login user name and from is the From header for the mail
[19:22:54] <jonasw> I guess you can guess how to adapt that to your setup (I think you’re running your own mail server?)
[19:23:59] <jcbrand> is zombofant.net your SMTP server?
[19:24:03] <jonasw> yes
[19:24:08] <jcbrand> ok yeah, I run my own
[19:24:41] <jonasw> smtp.zombofant.net is the SMTP servre, so if yours is foobar.domain.example, you’d have to write foobar.domain.example, not smtp.foobar.domain.example
[19:24:44] <jonasw> to be clear
[19:25:58] <jcbrand> yes
[19:26:27] <jonasw> so once you’ve set that config up, you can invoke:
./tools/send-updates.py -nc config.ini tools/old-xeplist.xml build/xeplist.xml standards@xmpp.org

the -n is equivalent to --dry-run and will only print the mails, without ever connecting to your server
[19:26:35] <jonasw> you’ll know when it tries to send email because it’ll ask for your password
[19:26:43] <jonasw> (at this point, if you’re worried, you can of course read the source code of the script :-))
[19:27:00] <jcbrand> is this the email address that's registered on the XSF members list?
[19:27:11] <jcbrand> I have one email on the XSF members list and another for the other lists...
[19:27:19] <jcbrand> not ideal but ja :)
[19:27:21] <jonasw> you shoudl be using a mail address which is subscribed to standards@, because that’s where the mails go
[19:27:27] <jcbrand> ah standards
[19:27:28] <jcbrand> ok
[19:28:04] <jonasw> so invoke the tool as described above to get a view on how the mails which are to be sent will look. you should have three mails (two UPDATED and one DEFERRED)
[19:28:41] <jcbrand> yep, I checked
[19:28:43] <jcbrand> looks good
[19:28:45] <jonasw> cool
[19:29:04] <jcbrand> so now just running it without -n ?
[19:29:06] <jonasw> you can then invoke it either without the "n", or even with "y". without "n", it’ll ask for each mail. with "y", it will send all emails without further output & asking
[19:29:12] <jonasw> your choice :)
[19:29:46] <jonasw> the standards list is kinda slow (and I think we’re currently having bad internet weather judging by the MUC issues we just had), so it’ll take a few minutes until your mails appear on the list, but I guess you’re used to that already
[19:31:52] <jcbrand> Emails are sent out
[19:31:55] <jonasw> cool
[19:32:02] <jonasw> you’re done I think :)
[19:32:10] <jonasw> even though
[19:32:15] <jonasw> I realize we should’ve waited until the build was done
[19:32:21] <jonasw> that’s not a huge issue though
[19:32:21] <jcbrand> ah
[19:32:30] <jonasw> build’s going to be finished in 60 minutes probably
[19:32:39] <jcbrand> ok next tiem
[19:32:42] <jonasw> yeah
[19:32:47] <jcbrand> Thanks very much for your help with this
[19:32:51] <jonasw> you’re welcome
[19:33:15] <jonasw> and still, remember what I wrote: there’s no pressure here. just because I took the time to introduce you, doesn’t mean anybody expects a high level of activity from now on :)
[19:33:38] <jcbrand> thanks. I'll do what and when I can :)
[19:34:18] <jcbrand> I'm glad I bought beer yesterday, now I can celebrate
[19:34:23] <jonasw> ha
[19:34:32] <jcbrand> have a good evening
[19:34:35] <jonasw> same to you
[19:41:47] *** winfried shows as "away" and his status message is "sssssttttt! my computer fell asleep"
[19:51:47] *** winfried shows as "xa" and his status message is "sssssttttt! my computer fell asleep"
[20:06:05] <jonasw> build has passed, jcbrand.
[20:06:09] <jonasw> looks good so far :)
[20:06:20] <jcbrand> good
[20:06:33] <jonasw> yupp, all touched XEPs look as they should :)
[20:06:35] <jonasw> good job :)
[20:13:14] <jcbrand> thanks :)
[20:51:34] *** jcbrand has left the room
[21:21:57] *** Guus has left the room
[21:23:01] *** jonasw shows as "away"
[21:31:22] *** Guus shows as "online"
[21:37:24] *** Guus has left the room
[22:11:18] *** Tobi has left the room
[22:11:19] *** Tobi has joined the room
[22:48:06] *** SamWhited has left the room
[23:10:27] *** jcbrand has left the room
[23:26:25] *** Guus has left the room
[23:29:12] *** Guus has joined the room
[23:50:26] *** SamWhited has left the room
[23:53:26] *** SamWhited has joined the room
[23:57:36] *** SamWhited has joined the room