| 08:17 | <tobie> | Is there a trick to close a PR when using the command line to modify a commit and push it to upstream directly? |
| 08:18 | <tobie> | I just tried that with https://github.com/heycam/webidl/pull/165 and failed. |
| 08:18 | <annevk> | tobie: you modify the commit on the branch, force push, then merge it using fast forward |
| 08:19 | <annevk> | tobie: https://github.com/whatwg/html/blob/master/TEAM.md has various pointers |
| 08:19 | <tobie> | annevk: thanks for the resource. |
| 08:19 | <annevk> | tobie: https://github.com/whatwg/html/blob/master/TEAM.md#merging-pull-requests-from-branches in particular |
| 08:20 | <tobie> | annevk: that implies having push rights to the branch, though, right? |
| 08:24 | <annevk> | tobie: yeah, if you don't the only way to close the PR is to add close #{prnumber} to the commit message, but that's somewhat frowned upon for reasons not entirely clear to me |
| 08:24 | <tobie> | annevk: because it closes the PR but the PR appears to not have been merged. |
| 08:25 | <annevk> | Sure, but assuming you cannot merge the PR successfully (external branch that requires a change other than a commit message change) that's kinda your only option |
| 08:26 | <tobie> | yup |
| 08:26 | <tobie> | oh well. |
| 08:31 | <annevk> | tobie: you should prolly give Domenic write access to that repo so he can create branches |
| 08:31 | <annevk> | tobie: and then protect master to only give the editors push access to that branch |
| 08:31 | <annevk> | tobie: or some such |
| 08:32 | <annevk> | tobie: I think that's the way to go if you have contributors that come back a lot, just give them write access so you can collaborate on branches, but protect master from accidents (other than your own) |
| 08:32 | <tobie> | annevk: I don't have admin access. |
| 08:32 | <tobie> | annevk: I guess heycam does |
| 08:32 | <annevk> | heycam: ^^ |
| 08:32 | <annevk> | would be weird if not |
| 08:35 | <heycam> | how do you do fine grained access control like that? |
| 08:35 | <heycam> | branch protection for gh-pages says "Disables force-pushes to this branch and prevents it from being deleted" so I guess that's not it |
| 08:39 | <annevk> | heycam: should be at https://github.com/heycam/webidl/settings/branches/master |
| 08:39 | <annevk> | heycam: or https://github.com/heycam/webidl/settings/branches/gh-pages I guess |
| 08:39 | <annevk> | heycam: should have "Restrict who can push to this branch" |
| 08:39 | <heycam> | annevk: no I don't see that |
| 08:39 | <heycam> | maybe that's only available for orgs? |
| 08:40 | <annevk> | heycam: https://github.com/blog/2051-protected-branches-and-required-status-checks none of this is there? |
| 08:41 | <heycam> | annevk: no I see that |
| 08:41 | <annevk> | heycam: so maybe you first need to make gh-pages a protected branch |
| 08:41 | <annevk> | heycam: and then once it is, you can add further protections |
| 08:42 | <heycam> | I don't see any more options even after I enable protection |
| 08:42 | <heycam> | just the "Require status checks " one |
| 08:42 | <heycam> | oh that opens some more things when I check it |
| 08:42 | <heycam> | grr |
| 08:43 | <heycam> | though I'm not sure if the status checks one is what I want either... |
| 08:43 | <annevk> | heycam: yeah, status checks isn't important unless you have some integration thing setup |
| 08:44 | <heycam> | so I just see this: http://mcc.id.au/temp/branch.png |
| 08:45 | <annevk> | heycam: fascinating |
| 08:46 | <annevk> | heycam: maybe it's only available for "master" |
| 08:46 | <heycam> | hmm |
| 08:46 | <annevk> | heycam: no, it's an org feature as you thought |
| 08:46 | <heycam> | ah |
| 08:46 | <heycam> | how about I just add domenic and he can exercise restraint, in only pushing branches |
| 08:46 | <annevk> | https://help.github.com/articles/about-protected-branches/ |
| 08:46 | <annevk> | yeah |
| 08:47 | <annevk> | do that |
| 08:47 | <heycam> | ok done |
| 09:15 | <Ms2ger> | annevk, tobie: btw, there's also https://github.com/blog/2247-improving-collaboration-with-forks now |
| 09:17 | <annevk> | Ms2ger: oh wow, that's great |
| 09:27 | <MikeSmith> | yeah very nice |
| 09:32 | <tobie> | Ms2ger: oh, I thought I had seen that somewhere! Thanks for sharing. |
| 14:49 | <tobie> | bz: sorry you're having issues building Bikeshed |
| 14:49 | <tobie> | bz: TabAtkins should be able to help you debug. |
| 15:34 | <JakeA> | annevk: when/why did headers.getAll vanish? |
| 15:48 | <JakeA> | nm found https://github.com/whatwg/fetch/commit/42464c |
| 15:54 | <JakeA> | annevk: new Headers([['foo', 'bar'], ['foo', 'yay']]).get('foo') returns "bar" in both Firefox & Chrome. It should be "bar,yay" right? |
| 15:54 | <annevk> | JakeA: yeah |
| 15:54 | <JakeA> | filing |
| 15:55 | <annevk> | JakeA: WebKit made a convincing argument that since we don't expose cookies, we shouldn't expose non-mapness to developers |
| 15:56 | <JakeA> | annevk: should they be combined at iteration time too? |
| 15:56 | <JakeA> | [...new Headers([['foo', 'bar'], ['foo', 'yay']])].length == 2 in Chrome |
| 15:57 | <annevk> | JakeA: yes |
| 15:57 | <annevk> | JakeA: iteration is the result of https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine |
| 15:58 | <JakeA> | ta, will file |
| 16:06 | <JakeA> | annevk: Safari combines with ', ' rather than ',' - are they wrong? |
| 16:10 | <annevk> | JakeA: technically, I think they're fixing that |
| 16:10 | <JakeA> | cool |
| 16:11 | <JakeA> | annevk: https://bugzilla.mozilla.org/show_bug.cgi?id=1301713 |
| 16:12 | <annevk> | ta |
| 16:14 | <JakeA> | annevk: and https://bugzilla.mozilla.org/show_bug.cgi?id=1301714 |
| 16:16 | <annevk> | JakeA: you might care about https://github.com/WICG/async-cookies-api/issues/36 |
| 16:20 | <JakeA> | I am, cheers! |
| 16:20 | <JakeA> | am interested that is |
| 16:26 | <bkardell> | dglazkov u around? |
| 16:27 | <bkardell> | actually... anybody around who might have more discussion history on this https://docs.google.com/document/d/1E16tmoOveGopys9Fx4Nn8x8P9q7Jm6CJIqoJyz31tlg/edit |
| 16:35 | <TabAtkins> | bkardell: What's up? |
| 16:36 | <bkardell> | do you have additional links on where aspects of this were discussed? |
| 16:37 | <TabAtkins> | No, tho there is some links in the doc, and several issues in the wicg repo you can look to for more details. |
| 16:37 | <bkardell> | like... I have concerns/thoughts but I'm sure it's pretty likely they've been discussed |
| 16:37 | <TabAtkins> | What's the context of your question? What specifically do you want to know? |
| 16:37 | <bkardell> | yeah I've been looking |
| 16:43 | <tobie> | Domenic: Rebased https://github.com/heycam/webidl/pull/170, think you could give it a look? |
| 16:52 | <annevk> | TabAtkins: see https://github.com/whatwg/dom/pull/313#issuecomment-242428180 for information about what might cause the span noise |
| 16:53 | <TabAtkins> | Oh, thanks! |
| 16:53 | <TabAtkins> | Hmm. |
| 17:07 | <annevk> | My Pygments version is 2.0.2 |
| 17:07 | <annevk> | Was there some regression inbetween? |
| 17:08 | <Domenic> | Yes, I think newer versions add empty spans |
| 17:08 | <annevk> | Bah |
| 17:11 | <Domenic> | Maybe Bikeshed should do some kind of version check on pygments before running |
| 17:18 | <Domenic> | TabAtkins: in HTML, do I need to do `<dfn data-lt="transferable object">transferable objects</dfn>` or will Bikeshed/Shepherd figure out the pluralness itself? |
| 17:25 | <TabAtkins> | Domenic: It's best to lt the "base" version. Bikeshed will handle <dfn>conjugated</dfn> => <a>conjugate</a>, but not <a>conjugating</a>. (It only goes to/from the base form once.) |
| 17:26 | <TabAtkins> | I didn't know there were empty spans in newer versions. Should be trivial to remove manually. |
| 17:27 | <TabAtkins> | Hm, looks like they're always just at the start of the highlight blocks? |
| 17:55 | <TabAtkins> | and fixed |
| 18:34 | <jyasskin> | TabAtkins: https://github.com/tabatkins/bikeshed/commit/127d0ac944ee152012efcc16c66ed88b50177810 broke the permissions spec. Any suggestions for how to let other specs define the enum-values from https://w3c.github.io/permissions/#enumdef-permissionname? |
| 18:51 | <jyasskin> | tobie Domenic: ^ |
| 18:58 | <jyasskin> | I can define a bunch of new terms like `"bluetooth" permission-related algorithms`, and have a lookup table in the Permissions spec. We might have to do that anyway once PermissionName merges into the Feature Policy spec. |
| 19:19 | <TabAtkins> | jyasskin: If Permissions isn't defining the values, it shouldn't have them in WebIDL blocks, as those are inferred to be defining. (I'm really not sure what I was thinking with my original "link elsewhere if already defined" code in the first place; I think maybe I just didn't know about partial?) If you want it to look WebIDL-ish, just use <pre |
| 19:19 | <TabAtkins> | class=lang-webidl>, and write <a>s in the source to link them up. |
| 19:20 | <TabAtkins> | (Sorry for breaking your previous use; you didn't know it was non-idiomatic, and that was my fault.) |
| 20:32 | <tobie> | jyasskin: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27048 |
| 20:33 | <tobie> | jyasskin: and in particular: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27048#c3 |
| 20:34 | <tobie> | jyasskin: but there seems to be a lot of resistance to that idea. |
| 20:40 | <jyasskin> | tobie: Yeah, it's important that there be an index that points to all the enum values, although Shepherd might give us that soon. Faking the IDL block with explicit links might be the way to go here, until the next set of things changes. |
| 21:01 | <jyasskin> | TabAtkins: Using class=lang-webidl makes the enum disappear from the IDL Index. |
| 21:02 | <TabAtkins> | Yes, because then you're not defining it. ^_^ Okay, let's start over from the beginning. You want to define an enum, but not define any of its values? Or maybe just some of its values, and let other specs define other values, but still document those external values in this core spec? |
| 21:02 | <jyasskin> | Exactly. |
| 21:02 | <jyasskin> | It's a registry, where remote specs ought to define their set of algorithms and types, and then the Permissions spec should link to them. |
| 21:03 | <jyasskin> | Initially, most of the entries are defined locally, but it doesn't work well for the Permissions editors to maintain the details of, say, the Media algorithms. |
| 21:03 | <TabAtkins> | Okay. So. In a normal WebIDL block, put the enum and the values that you define in this spec. Then gimme a sec to fix up the (purposely undocumented) <index> element so it'll work for your use-case; it's 95% of the way there right now. It'll generate an index of all known enum-value values for the given enum. |
| 21:05 | <jyasskin> | !!! So then other specs can write, what, `enum PermissionName { "my-value" }`, and the <index> will automatically link to there? |
| 21:05 | <jyasskin> | Where would {{PermissionName}} link in that case? We really do want tobie's suggestion of partial enums for this. |
| 21:06 | <TabAtkins> | Well, we dont' have partial enum support in WebIDL, so they'll have to do it manually, with <dfn enum-value for=PerimissionName>"my-value"</dfn>, but yes. |
| 21:06 | <jyasskin> | Which is what they're doing right now, so that's fine. |
| 21:06 | <TabAtkins> | If they did it with WebIDL, then {{PermissionName}} would just complain about multiple possible refs. |
| 21:07 | <jyasskin> | Will the <index> add the other values to the IDL Index in the Permissions spec? |
| 21:08 | <TabAtkins> | No, it'll generate an index right there, like in https://drafts.csswg.org/indexes/ |
| 21:08 | <TabAtkins> | So you'd need some explanatory text around it to give it context. |
| 21:09 | <jyasskin> | Mhmm. And we'd lose the unified IDL for PermissionName that implementers can copy into their .idl files, but that's not the end of the world. |
| 21:10 | <TabAtkins> | I could work on something to make that work a little better; I see the value in having a "unified" IDL block for anything that can be partial'd. |
| 21:10 | <TabAtkins> | But the index thing is nearly ready right now. ^_^ |
| 21:10 | <Domenic> | We should probably add partial enums |
| 21:13 | <jyasskin> | Yeah, the index is probably better than what I'm doing right now. |
| 21:15 | <TabAtkins> | It'll be automagical, so yeah. |
| 21:23 | <tobie> | jyasskin: in that case, isn't the unified block actually *not* what you want? As I mentioned in the comment linked above, why would you want an enum value representing a permission for something you haven't implemented? |
| 21:25 | <jyasskin> | tobie: For Bluetooth, we take the IDL blocks and comment out the lines we haven't implemented yet: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/bluetooth/BluetoothRemoteGATTCharacteristic.idl?l=17. But maybe people won't actually copy the PermissionName IDL block verbatim into their implementations. |
| 21:28 | <tobie> | jyasskin: |
| 21:29 | <tobie> | (sorry, auto tab mixup) |
| 21:38 | <tobie> | jyasskin: from an implementor's perspective, I guess this boils down to whether if fits the code structure more to group the permissions together, or scatter them across the different features they enable. I would imagine the former be easier to setup and the latter to maintain, by ymmv. |
| 21:40 | <jyasskin> | Yeah. I don't know for sure whether it'd help folks to have an IDL Index that includes everything. |
| 21:47 | <jyasskin> | Domenic/annevk: I'd like to use "relevant settings object" without an explicit platform object to refer to the relevant settings object of the *context object*. Does that sound like a good idea? I'll send you an HTML patch if so. |
| 21:47 | <jyasskin> | I could also just write "this's relevant settings object". |
| 22:14 | <Domenic> | jyasskin: yeah seems bad. This's or the context object's seems better. |
| 22:17 | <jyasskin> | Domenic: 'k |