| 06:55 | <tso> | OI STOP BREAKING THE WEB YOU WANKERS |
| 06:56 | <boogyman> | tell us how you really feel |
| 07:09 | <annevk> | So https://www.w3.org/Bugs/Public/show_bug.cgi?id=26365#c53 is the bug comment I was looking for where Hixie proposed a solution |
| 08:49 | <zcorpan> | anyone with Edge care to check http://software.hixie.ch/utilities/js/live-dom-viewer/saved/3887 for me? |
| 08:54 | <annevk> | What is the latest approach to get Edge running on a MacBook? I should probably get on that |
| 09:05 | <annevk> | mathiasbynens: I was wondering if you could help me with an Apache .htaccess question |
| 09:05 | <mathiasbynens> | annevk: I can try |
| 09:06 | <annevk> | mathiasbynens: I have a shared directory for several domains, therein I have an .htaccess that has RewriteCond %{HTTPS} !=on\nRewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] |
| 09:06 | <annevk> | mathiasbynens: now for some domains that have their own rewriterules, this ends up not being executed |
| 09:07 | <annevk> | mathiasbynens: e.g., curl --HEAD http://annevk.nl/test gives a 404 rather than a redirect to the https equivalent |
| 09:07 | <annevk> | mathiasbynens: annevk.nl has RewriteCond %{REQUEST_URI} ^/$\nRewriterule ^(.*)$ https://annevankesteren.nl/ [L,R=302], fwiw |
| 09:08 | <mathiasbynens> | annevk: what is `ServerName` set to? I guess it’s just `ServerName annevk.nl` — in that case, try `ServerName https://annevk.nl` and restart Apache |
| 09:08 | <annevk> | mathiasbynens: (both also have RewriteEngine on) |
| 09:08 | <annevk> | mathiasbynens: I cannot control Apache |
| 09:08 | <annevk> | (If I could I'd probably not run Apache) |
| 09:09 | <mathiasbynens> | annevk: so no access to mod_rewrite logs either? |
| 09:09 | <annevk> | mathiasbynens: probably do have access to logs |
| 09:11 | <ritsyy> | would this be wrong formatting https://paste.kde.org/prbc0g35f , that was whole in a single line |
| 09:11 | <annevk> | mathiasbynens: actually, so no |
| 09:11 | <mathiasbynens> | annevk: I hope logging is enabled, since you can only enable it from <VirtualHost> which you cannot control |
| 09:11 | <annevk> | mathiasbynens: just normal HTTP logs |
| 09:12 | <annevk> | ritsyy: "Secure Connection Failed" |
| 09:13 | <annevk> | ritsyy: hmm, seems to work in another browser, I guess Nightly is doing some HTTPS experiment |
| 09:13 | <annevk> | ritsyy: IDL should remain on a single line |
| 09:13 | <annevk> | ritsyy: since it's inside <pre> we cannot do wrapping there |
| 09:13 | <ritsyy> | annevk: oh yeah |
| 09:17 | <mathiasbynens> | annevk: not sure how to help, then :( I think it might be the `ServerName` thing. This can be confirmed by placing a test directory at `https://annevk.nl/foo/`, then checking what happens for `curl -I http://annevk.nl/foo` |
| 09:17 | <mathiasbynens> | (that’s `mod_dir`’s `DirectorySlash On` kicking in, which uses the `ServerName` scheme) |
| 09:19 | <annevk> | mathiasbynens: Location: http://annevk.nl/foo/ |
| 09:19 | <mathiasbynens> | annevk: then `ServerName` is just `annevk.nl` or `http://annevk.nl/`, but should be `https://annevk.nl` |
| 09:20 | <annevk> | mathiasbynens: I guess the question is whether there is another workaround apart from just copying the rewriterule from the top-level dir into the annevk.nl dir |
| 09:20 | <mathiasbynens> | annevk: iirc things like mod_dir’s DirectorySlash On and `ErrorHandler`-stuff might take precedence over custom rewrite rules |
| 09:21 | <mathiasbynens> | annevk: if you can’t change the Apache config: not that I know of |
| 09:21 | <annevk> | mathiasbynens: to be clear, if I copy the rewriterule from the top-level dir into the annevk.nl dir it works |
| 09:22 | <mathiasbynens> | annevk: cool, but you’d still have the `Location: http://annevk.nl/foo/` problem I guess |
| 09:22 | <annevk> | mathiasbynens: no |
| 09:22 | <annevk> | mathiasbynens: although it will take two redirects |
| 09:24 | <annevk> | mathiasbynens: the problem seems to be mostly about how rewriterules are combined across directories |
| 09:26 | <mathiasbynens> | annevk: could `RewriteBase` have anything to do with this? are you setting that explicitly for each `.htaccess` file? |
| 09:27 | <annevk> | It sounds like I want http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriteoptions Inherit |
| 09:27 | annevk | goes to try that |
| 09:28 | <annevk> | that works |
| 09:28 | <annevk> | great |
| 09:28 | <mathiasbynens> | TIL |
| 09:28 | <mathiasbynens> | hmm, wouldn’t this potentially mess things up? “Rules inherited from the parent scope are applied after rules specified in the child scope.” |
| 09:28 | <annevk> | happy to help :p |
| 09:29 | <annevk> | oh |
| 09:29 | <annevk> | TIL |
| 09:29 | <annevk> | mathiasbynens: I guess I should do InheritDownBefore |
| 09:30 | <annevk> | mathiasbynens: that will cause duplicate redirects but that's fine, since that initial redirect is really only for those not privy to HSTS |
| 09:31 | <mathiasbynens> | 👍🏻 |
| 09:31 | <annevk> | HTTP/1.1 500 Internal Server Error nice |
| 09:33 | <annevk> | Oh great, DreamHost only supports Inherit since it's still stuck on 2.2 |
| 09:35 | <annevk> | So I guess the answer is duplication for each host that wants to use mod_rewrite |
| 09:35 | <annevk> | Okay... |
| 10:08 | <ritsyy> | annevk: https://github.com/whatwg/html/pull/699, thinking where should the attributes be placed then? (supported on documents and elements) |
| 10:09 | <annevk> | ritsyy: and they're not exposed on Window? |
| 10:09 | <ritsyy> | annevk: no |
| 10:10 | <annevk> | I would have assumed browsers to just put them on GlobalEventHandlers |
| 10:11 | <annevk> | hallvors: did you look into this? |
| 10:18 | <hallvors> | annevk: without looking up GlobalEventHandlers those are also available on window, right? per http://software.hixie.ch/utilities/js/live-dom-viewer/?saved=3888 clipboard ones are on document, elements but not window |
| 10:18 | <ritsyy> | annevk: amm so putting them it in GlobalEventHandlers list (https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers), but it has to be defined in this list right? https://html.spec.whatwg.org/multipage/webappapis.html#event-handler-attributes sorry for the confusion |
| 10:19 | <annevk> | hallvors: yeah, so I guess these are special then |
| 10:19 | <hallvors> | I suppose it wouldn't be a problem adding them to GlobalEventHandlers but it doesn't seem to be what browsers do right now |
| 10:20 | <hallvors> | (and perhaps adding them would conflict with scripts doing function oncopy(){} or var oncopy = ... in global scope..?) |
| 10:20 | <annevk> | ritsyy: I guess what needs to be done is have something called DocumentAndElementEventHandlers that is almost like GlobalEventHandlers but is not implemented by Window |
| 10:20 | <annevk> | hallvors: yeah, let's not even try it, too much compat fallout each time we do something like that |
| 10:20 | <hallvors> | The web platform is full of special sauce :-] |
| 10:22 | <ritsyy> | annevk: okay so i should add by making a different list for it in https://html.spec.whatwg.org/multipage/webappapis.html#event-handler-attributes |
| 10:23 | <annevk> | ritsyy: yeah, I would put a new section before "Event handlers on elements, Document objects, and Window objects" that is almost like it, but doesn't include Window objects |
| 10:23 | <annevk> | ritsyy: and then in the IDL definitions section later on, add a new interface before GlobalEventHandlers |
| 10:24 | <annevk> | ritsyy: and then we need to make sure Document and Element implement that new interface you define, similar to how they implement GlobalEventHandlers today |
| 10:24 | <annevk> | ritsyy: thank you for sorting this out, this is really useful |
| 10:25 | <ritsyy> | annevk: okay the interface be added as DocumentEventHandler? |
| 10:25 | <annevk> | ritsyy: I would say DocumentAndElementEventHandlers since it's also for Elements |
| 10:27 | <ritsyy> | annevk: yes, will complete this change first then this step needs more of understanding for me " Document and Element implement that new interface you define, similar to how they implement GlobalEventHandlers today", how should i do this |
| 10:28 | <ritsyy> | annevk: happy to work on it :) |
| 10:28 | <annevk> | ritsyy: so you'll see that document has "Document implements GlobalEventHandlers;" in its IDL and elements have something similar |
| 10:28 | <annevk> | ritsyy: that is the magic line that makes an interface implement another interface |
| 10:29 | <annevk> | ritsyy: so we want to add a line there for this new interface |
| 10:30 | <ritsyy> | annevk: okay yes now i got that, great |
| 10:30 | <ritsyy> | annevk: will do it now, thanks a lot! |
| 10:44 | <zcorpan> | annevk: /img/daddy probably needs to have the font as a data: URL, since SVG's from 'content' can't reference external resources, right? |
| 10:45 | <annevk> | zcorpan: aah, sounds likely |
| 10:47 | <annevk> | zcorpan: seems like the data URI kitchen doesn't support HTTPS properly, I guess maybe it fails on SNI |
| 10:52 | <zcorpan> | annevk: ok, but you could do a file upload |
| 10:54 | <annevk> | zcorpan: already done and seems to work |
| 10:55 | <zcorpan> | annevk: ah ok. yep works here also |
| 10:57 | <annevk> | thank you for noticing |
| 10:57 | <annevk> | I always thought it looked ugly, but I was assuming it was just a bug |
| 10:57 | <annevk> | (in the browser) |
| 10:58 | <zcorpan> | np. i think the font did work in some browser before. at least sometimes. |
| 11:44 | <nox> | annevk, heycam|away, Ms2ger: https://github.com/heycam/webidl/pull/91 |
| 11:45 | <nox> | 06:49 <annevk> nox: maybe, what do browsers do? <- I'm not sure I understand that question (re ByteString vs DOMString in WebSocket), should there be observable difference about this in UAs? |
| 11:52 | <Ms2ger> | nox, pointer? |
| 11:53 | <nox> | Ms2ger: Pointer? |
| 11:53 | <Ms2ger> | About the WebSocket question |
| 11:54 | <nox> | Ms2ger: http://logs.glob.uno/?c=freenode%23whatwg&s=14+Feb+2016&e=14+Feb+2016&h=protocols#c985140 |
| 11:57 | <Ms2ger> | Ah |
| 12:05 | <annevk> | nox: yeah, ByteString throws for a lot more input iirc |
| 12:05 | <nox> | annevk: Ah? |
| 12:05 | <annevk> | nox: I think it only accepts code points in the 00-FF range |
| 12:07 | <annevk> | nox: nice PR, heycam|away and bz should probably review it |
| 12:07 | <nox> | annevk: Cool. :) |
| 13:31 | <zcorpan> | <meta http-equiv=default-style> is implemented in webkit/blink/gecko. default-style HTTP header only in gecko. :-| |
| 16:14 | <ritsyy> | i am not able to find this section https://html.spec.whatwg.org/multipage/indices.html#all-interfaces :-/ |
| 16:15 | <annevk> | ritsyy: I think that is generated |
| 16:16 | <annevk> | ritsyy: so if you add an interface that will go there automatically |
| 16:17 | <ritsyy> | annevk: yeah i thought that too, but was not sure :) |
| 16:35 | <ritsyy> | build-script is still giving the same errors as "Parsing... |
| 16:35 | <ritsyy> | Parse Error: (117129,9) unexpected body end tag |
| 16:35 | <ritsyy> | " |
| 16:36 | <ritsyy> | i did change the script as annevk suggested that day but everytime different error comes up |
| 16:40 | <annevk> | ritsyy: you shouldn't have to modify the script |
| 16:40 | <annevk> | ritsyy: you might have to update wattsi |
| 16:40 | <annevk> | ritsyy: for both wattsi and html-build you should run "git pull" |
| 16:41 | <annevk> | ritsyy: and build both in the same way you did before |
| 16:41 | <annevk> | I suspect you may not have the latest version |
| 16:41 | <ritsyy> | ritsyy: i did git fetch upstream |
| 16:41 | <annevk> | ok |
| 16:41 | <ritsyy> | then git merge upstream/master |
| 16:42 | <ritsyy> | but it says already up-todate |
| 16:42 | <annevk> | okay |
| 16:43 | <annevk> | did you build wattsi again and make sure PATH points to this new version? |
| 16:44 | <ritsyy> | annevk: amm how to check wattsi's version |
| 16:44 | <annevk> | ritsyy: there isn't a way yet |
| 16:45 | <annevk> | ritsyy: however, when you run build you know where it ends up, so if you point PATH to that and remove other versions you may have, you should be good |
| 16:45 | <ritsyy> | annevk: okay i am doing this |
| 16:47 | <ritsyy> | annevk: this error is their in wattsi https://paste.kde.org/pri9rrymc |
| 16:49 | <annevk> | ritsyy: did you create it with sudo the last time? |
| 16:49 | <annevk> | ritsyy: you may have to empty the bin directory with sudo first |
| 16:49 | <annevk> | ritsyy: and then run the build script without sudo |
| 16:50 | <ritsyy> | annevk: might be, oh okay doing it |
| 17:15 | <nox> | annevk: What's the state of DOMException in the Web? Does only Firefox implement a constructor for these? |
| 17:28 | <annevk> | nox: perhaps, but that should be stable |
| 17:28 | <nox> | annevk: What do you mean? |
| 17:32 | <annevk> | nox: that DOMException as specified is unlikely to change |
| 17:34 | <nox> | So Firefox should drop its constructor? |
| 17:37 | <annevk> | nox: isn't the constructor specified? |
| 17:37 | <nox> | annevk: Where? |
| 17:38 | <annevk> | nox: https://heycam.github.io/webidl/#es-DOMException-constructor-object |
| 17:39 | <nox> | annevk: I can't navigate that spec. -_- |
| 17:39 | <nox> | Never mind me. :) |
| 17:39 | <annevk> | nox: you basically want to always look for what section 4 says about a particular thing |
| 17:39 | <nox> | annevk: Ok. I am taking note of this. |
| 17:40 | <annevk> | nox: at some point Domenic will have time and section 3 will disappear; the distinction between IDL types and ECMAScript types is not super helpful |
| 17:41 | <Domenic> | nox: Chrome implements the constructor now |
| 17:42 | <nox> | Domenic: Oh ok. |
| 18:34 | <nox> | Couldn't DOMException be defined with a proper interface and a new extended attribute [LegacyErrorClass]? |
| 18:37 | <annevk> | nox: I don't think that would buy us much, would just make things more complicated |
| 18:38 | <nox> | annevk: It would eliminate prose and make it clear that it can piggyback IDL's stuff in UAs. |
| 18:38 | <nox> | AFAICT, it has both the usual interface object an interface prototype object that interfaces have, and the codes can just be consts. |
| 18:40 | <annevk> | no it doesn't |
| 18:41 | <annevk> | it inherits from Error |
| 18:43 | <nox> | annevk: Hence LegacyErrorClass, like LegacyArrayClass. |
| 18:45 | <annevk> | I doubt that is going to help much |
| 18:46 | <nox> | annevk: http://heycam.github.io/webidl/#es-DOMException-call I guess that's a special snowflake too? |
| 18:46 | <nox> | annevk: I think I'm at least going to implement LegacyErrorClass in Servo anyway because I think it can help implementation there. I will report back about it then. |
| 18:46 | <annevk> | not sure |
| 18:47 | <caitp> | can you imagine if you could get away with just discarding all of the special snowflakes in the platform? |
| 18:47 | <nox> | caitp: But what would we do then?! |
| 18:47 | <caitp> | go on vacation |
| 18:48 | <nox> | Don't you do that already? |
| 18:48 | <caitp> | sure but getting rid of all the nonsense from the platform would probably be grounds for a good long one |
| 19:24 | <TabAtkins> | Domenic: <https://www.w3.org/2001/tag/doc/promises-guide#example-environment-ready> uses "in parallel" in exactly the way I keep saying I read it (the following substeps are independent and run parallel with each other), which is *not* the way it's defined (these substeps are a serial algorithm which is run in parallel with the rest of the steps in the outer |
| 19:24 | <TabAtkins> | algorithm), *despite linking to the definition of "in parallel"*. This is why I keep saying that "in parallel" is *not* a good phrase to use for this behavior. |
| 19:25 | <TabAtkins> | It has two natural ways of reading it which are not equivalent, and people will continue to make these kinds of mistakes. :/ |
| 20:10 | <annevk> | TabAtkins: it's an ordered set of steps though... |
| 20:11 | <annevk> | TabAtkins: anyway, you could write a PR against HTML and all the dependencies... |
| 20:11 | <annevk> | TabAtkins: I think everyone else is fine with this term though |
| 20:11 | <annevk> | TabAtkins: that is, I've only seen you make that interpretation |
| 20:14 | <TabAtkins> | annevk: No, in that example the two substeps are *not* ordered. They're two independent conditions that get run in parallel with each other. |
| 20:16 | <annevk> | Oh I see, it shouldn't use numbered steps then |
| 20:16 | <annevk> | One of is always <ul> |
| 20:24 | <TabAtkins> | Yeah, but regardless of the markup, the prose is clearly applying the "in parallel" to those substeps, not to the subalgorithm+outer algorithm |
| 20:24 | <TabAtkins> | (Because there's nothing returned by the previous step, nor is there any following steps in the outer algo.) |
| 20:25 | <annevk> | TabAtkins: it's not multiple substeps though, it's a "pick one of these" which uses <li> for clarity |
| 20:26 | <annevk> | Also, that definition seems wonky, since it'll return a new promise each time |
| 20:27 | <annevk> | I don't really understand how that text can work as-is, best not copy that |
| 20:29 | <TabAtkins> | I'm not copying it, I was looking at it for other reasons. Domenic, ^^ |
| 20:29 | <TabAtkins> | The algo doesn't return anything, so yeah, I also agree the text is wonky and doesnt' wrok well as an example. |
| 21:07 | <Domenic> | annevk: nox: IMO we do need some IDL for defining exception subclasses. A few people have wanted that for media errors with extra properties etc. |
| 21:08 | <Domenic> | TabAtkins: there the work is done by "when/if", not "in parallel" |
| 21:08 | <nox> | Domenic: Could you explain to me how is WebIDL's current DOMException's constructor a special snowflake, compared to an plain old interface constructor? |
| 21:08 | <Domenic> | TabAtkins: as well as "wait for one of the following to become true" |
| 21:08 | <Domenic> | TabAtkins: I can see that the subset formulation is not great; they should probably be bullets |
| 21:09 | <Domenic> | TabAtkins: the only actual thing that happens in parallel is "wait for one of the following to become true" |
| 21:09 | <Domenic> | nox: it is meant to emulate ES Error subclasses |
| 21:10 | <Domenic> | nox: which e.g. can be called, not just constructed |
| 21:10 | <Domenic> | nox: also ideally it defines data properties |
| 21:10 | <nox> | In which UA can it be called? |
| 21:10 | <Domenic> | nox: https://github.com/heycam/webidl/issues/55 |
| 21:12 | <nox> | Domenic: What do you think of [LegacyErrorClass]? |
| 21:12 | <Domenic> | nox: it seems reasonable, see my last comment in that thread. I'd prefer it be spelled [ErrorClass] or s/interface/exception though. |
| 21:13 | <Domenic> | nox: there seem to be a lot of non-legacy use cases for it |
| 21:13 | <nox> | Domenic: Do we want that to be used in specs and whatnot? |
| 21:13 | <nox> | Ok. |
| 21:13 | <Domenic> | It should be used sparingly and rarely |
| 21:13 | <Domenic> | but it's not legacy |
| 21:13 | <nox> | Fair enough. |
| 21:14 | <nox> | Domenic: Should it stay in WebIDL afterwards, or move back to DOM? |
| 21:15 | <nox> | (DOMException that is, not [ErrorClass].) |
| 21:15 | <Domenic> | nox: hmm, I'd still say Web IDL. It's "foundational". |
| 21:15 | <Domenic> | doesn't have much to do with trees of nodes |
| 21:15 | <Domenic> | If we were naming it today I'd say "WebException" (and also fix a lot of other things about it, but sigh) |
| 21:16 | <nox> | Ah ah. |
| 21:16 | <nox> | Domenic: You can disguise and present it as some sort of tradition. |
| 21:16 | <nox> | WebIDL got DOMException, |
| 21:16 | <nox> | DOM got HTMLCollection. |
| 21:18 | <Domenic> | :P |
| 21:26 | <Domenic> | TabAtkins: how do I debug "could not find 'ready' in bibliography data". It doesn't give me a line number that I can see. |
| 21:27 | <Domenic> | TabAtkins: ah it's my use of [[ready]] nevermind |
| 21:27 | <TabAtkins> | Sorry about no line numbers, it's somewhere between "very hard" and "impossible" to fix with lxml. |
| 21:28 | <Domenic> | TabAtkins: could you do the surrounding text node contents? |
| 21:29 | <Domenic> | Just didn't know what to Ctrl+F for |
| 21:36 | <gsnedders> | TabAtkins: why is line numbers hard to fix with lxml? |
| 21:36 | <TabAtkins> | Becasue lxml drops the line numbers on a fucking whim. |
| 21:36 | <gsnedders> | TabAtkins: el.sourceline? |
| 21:36 | <TabAtkins> | Nope, that's null for everything but <html>. |
| 21:36 | <TabAtkins> | Common problem if you look it up. |
| 21:36 | <gsnedders> | oh, with lxml.html? |
| 21:37 | <TabAtkins> | Yeah. |
| 21:39 | gsnedders | wonders if that's an libxml2 or lxml bug |
| 23:00 | <MikeSmith> | TabAtkins: It seems like you may have also run into the the problem that the lxml html5parser ignores the “namespaceHTMLElements=False” option |
| 23:00 | <MikeSmith> | http://stackoverflow.com/questions/32731479/lxml-html5parser-ignores-namespacehtmlelements-false-option |
| 23:01 | <TabAtkins> | I use a custom serializer anyway, so that's unimportant luckily. |
| 23:02 | <MikeSmith> | ah ok |
| 23:06 | <TabAtkins> | (But if I recall correctly, I added that argument originally because it *was* printing namespaces on all the html elements, and adding it made it stop, so apparently it did work in the past, or does work for some printing methods, or something.) |
| 23:11 | <MikeSmith> | interesting |
| 23:11 | <MikeSmith> | I don’t know how else I could call it differently. I was just testing with a simple toString call |
| 23:12 | <MikeSmith> | tostring(h5.parse(stdin, h5.HTMLParser(namespaceHTMLElements=False))) |
| 23:12 | <MikeSmith> | where h5 is html5parser |
| 23:24 | <TabAtkins> | Actually, I still use html.tostring(0 |
| 23:24 | <TabAtkins> | I only use my custom serializer for outputting the final document. |
| 23:30 | <TabAtkins> | MikeSmith: Yeah, namespaceHTMLElements definitely makes a difference for me. |
| 23:31 | <TabAtkins> | https://www.irccloud.com/pastebin/SeFw0lLC/ |
| 23:34 | <TabAtkins> | I'm calling html5lib directly, tho, not relying on anything built into lxml. |
| 23:34 | MikeSmith | looks |
| 23:34 | <MikeSmith> | ah yeah |