05:20
<royiv>
Can someone in WHATWG, W3, the IETF define the *semantics*, and not just the grammar, of application/x-www-form-urlencoded in a real standard like an RFC or something? Like, are "k" and "k=" semantically equivalent? Can we all agree that either dupes are silly, or at least, if we are having them, the last arg takes precendence? The ambiguity such a critical format has is astonishing.
05:20
<royiv>
I think at least WHATWG says "k" and "k=" are equivalent.
06:02
<annevk>
royiv: if the URL Standard is unclear somehow, please file an issue, but sounds like it’s clear enough
08:42
<domfarolino>
Per spec, does the concept of a "Document" exist when something like an image resource is navigated to and displayed?
08:44
<domfarolino>
Specifically what I'm getting at is: Could a link rel=stylesheet header be used to style an image or JSON resource in any way? (Since we of course couldn't include a rel=stylesheet in our HTML, since there is no HTML)
08:50
<Ms2ger>
Yep
08:51
<Ms2ger>
https://html.spec.whatwg.org/multipage/browsing-the-web.html#read-media
08:52
<Ms2ger>
You could put an image in an iframe and then dynamically a link element, if I'm not mistaken
09:34
<annevk>
Indeed, use an <iframe> and contentDocument it
10:59
<annevk>
foolip: yt? Mind if I push some changes to your XPath branch?
11:10
<MikeSmith>
tehres an XPath branch?
11:11
<MikeSmith>
ah, DOM
11:12
<foolip>
annevk: not at all, go ahead
11:52
<hsivonen>
Does the Web Platform have a built-in way to convert between JS Strings and Uint16Array?
11:52
<annevk>
hsivonen: I don't think so
11:52
<hsivonen>
annevk: thanks
11:54
<hsivonen>
I wonder how Qt on Wasm deals with this
11:56
<annevk>
hsivonen: Uint16Array.from(str) allocates something of the right size, but you need more to get the values out it seems
11:58
<annevk>
hsivonen: I'd ask fitzgen
11:59
<hsivonen>
annevk: thanks. I guess the answer to how Qt deals with this is in the Qt source code
12:50
<nox>
Shouldn't there be a way to view a JS string as a Uint16Array?
12:50
<nox>
Without allocating anything I mean.
12:51
<annevk>
nox: maybe, there's been some talk about a StringView thingy
12:51
<hsivonen>
nox: not possible in cases where the backing storage isn't actually UTF-16
12:51
<nox>
Oh right, silly me.
13:08
<oskarlh>
Not the most efficient solution, but..... Array.prototype.reduce.call(SOME UINT16ARRAY, (str, cc) => str + String.fromCharCode(cc), "");
13:09
<oskarlh>
and new Uint16Array((function *() { for(let i = 0; i !== str.length; ++i) { yield str.charCodeAt(i); } })())
13:09
<gsnedders>
hsivonen: we should have a way to be able to get a JS string as a Uint16Array where impls don't have to copy the string if it's already a contiguous UTF-16 array
13:10
<gsnedders>
s/should/should at least/
13:11
<hsivonen>
gsnedders: can Uint16Array be read-only?
13:13
<gsnedders>
hmm, maybe not
13:13
<gsnedders>
And I don't know how useful being able to do zero-copy would be even if there was, given idk how often you'd end up wanting to copy strings represented as a rope…
13:28
<hsivonen>
I expect Wasm bindings to need a way to get the string written into a caller-supplied Uint16Array instead of creating a new one
13:28
<hsivonen>
But I guess I should find the relevant Qt bits before speculating about use cases
13:29
<gsnedders>
(the ex-Opera employee in me wants to all be like, "but what about Big Endian implementations?!"
13:29
<gsnedders>
)
13:30
<hsivonen>
Does TenFourFox have little-endian Web-visible ArrayBuffer semantics by now?
13:31
<hsivonen>
The next Debian release will drop big-endian MIPS as an official platform, so s390x will be the only remaining big-endian architecture with an official Debian release
14:18
<gsnedders>
There are ways to replace the document object while keeping the same window, right?
14:20
<annevk>
gsnedders: initial about:blank
14:24
<gsnedders>
annevk: i.e., when navigating away from it?
14:25
<gsnedders>
(Sorry, I'm far too far away from remembering how document loading works!)
14:30
<annevk>
gsnedders: yeah, sorry
14:30
<annevk>
gsnedders: but only if it's same-origin with the initial about:blank and there might be differences across UAs
15:16
<Ms2ger>
Domenic, bikeshed update fetches from bikeshed-data, which is broken: https://github.com/tabatkins/bikeshed-data/issues/3
15:17
<Domenic>
Oh I see
15:17
<Domenic>
Yeah I guess the web interface uses a different set of data :-/
15:17
<Domenic>
TabAtkins is on vacation so we should probably try to work around
15:17
<Domenic>
Or maybe foolip can help
15:21
<Ms2ger>
People could add the link-defaults thing for now
15:22
<Domenic>
Why don't we just fix the promises guide?
15:26
<TabAtkins>
Ah yeah I turned off my computer before I went on vacation. ...I should put bikeshed-data on some actual infra
15:27
<TabAtkins>
(am on the beach right now in Haiti)
15:29
<TabAtkins>
I should be able to run it on my server as well. I think I'm rate-limited on cron there, but I can at least run it a few times a day as a backup.
15:34
<foolip>
TabAtkins: if you want to run it daily Travis would do the trick, and if more often is needed GitHub Actions can now do that.
15:35
<TabAtkins>
Kk, I'll look into that when I'm back next week
15:36
<foolip>
TabAtkins: is bikeshed-data up and running now, or is there a simple command someone else could run to get it updated as a one-off?
15:37
<TabAtkins>
If I grant access to the repo, anyone can download it and run the command.
15:38
<TabAtkins>
You want to handle it?
15:39
<TabAtkins>
Or Domenic ?
15:39
<TabAtkins>
(it just requires a local Bikeshed install to already exist)
15:46
<foolip>
TabAtkins: I can do an update, but what is the command to run?
15:47
foolip
finds https://github.com/tabatkins/bikeshed-data/blob/master/__init__.py#L14
15:54
<foolip>
TabAtkins: I figured it out, if you give me write access to the repo I can push an update
15:57
<foolip>
TabAtkins: if you sign up for the beta for your user on https://github.com/features/actions I could do the automation part too
16:18
<TabAtkins>
foolip: sent you an invite
16:21
<foolip>
TabAtkins: received! On my way home now, but can push an update within 6 hours
16:23
<foolip>
TabAtkins: do you want to do the GitHub Actions thing too? Going by commit times it looks like you've been running continuously, but I'd hourly enough?
16:23
<foolip>
Is
16:24
<TabAtkins>
Should be enough yeah
16:24
<TabAtkins>
I run it every ten minutes right now
16:30
<annevk>
Oh, it changed from the 24h cycle? I clearly have not been doing much editing as of late
16:31
<annevk>
Or maybe this is not Shepherd...
16:51
<foolip>
TabAtkins: https://github.com/tabatkins/bikeshed-data/commit/165a92ef0fcdfafafcd96fbb2aadeb28cf1cd02c pushed, just done manually
16:52
<foolip>
annevk: this isn't Shepherd, no :)
19:10
<TabAtkins>
annevk: Shepherd's cycle is still 24h (or less). But bikeshed-data pulls from more sources than that, most particularly wpt which updates constantly.
19:13
<TabAtkins>
foolip: danke
19:14
<foolip>
TabAtkins: did you click through https://github.com/features/actions or shall we deal with that next week?
19:14
<foolip>
Domenic: did my manual update fix anything?
19:14
<TabAtkins>
I clicked, but it just put me in the beta queue
19:16
<TabAtkins>
Domenic, annevk: note also the --skip-manifest flag documented at https://tabatkins.github.io/bikeshed/#cli-update if there are every problems with the data being out of date
19:17
<TabAtkins>
It's just a lot slower than the normal update process
19:17
<Domenic>
foolip: I'm not sure, Ms2ger is the person to ask
19:17
<foolip>
Domenic: oh, right
19:23
<annevk>
TabAtkins: please enjoy the beach 🏖
19:23
<TabAtkins>
Oh I am
19:24
<annevk>
🥳
19:27
<TabAtkins>
https://twitter.com/tabatkins/status/1166794352753963009