2020-05-01
[18:52:41.0000]
window.onerror is still not interoperable, wtffffd
[18:53:12.0000]
(https://github.com/whatwg/html/issues/5500)
[20:55:37.0000]
Domenic: well, report an exception… but this is a novel angle 😊
[11:16:35.0000]
hm, I was trying out FACEs and turns out there aren't any MDN docs
[11:16:46.0000]
who do I have to contact to get that on someone's todo list?
[13:38:51.0000]
andreubotella: I think MDN has a few GitHub repos these days?
[13:54:18.0000]
Domenic: I haven't contributed to MDN before and I'm not quite clear on how to go about it
[13:54:24.0000]
I'll file an issue on mdn/sprints, I guess
[13:54:37.0000]
Yeah, I mean, it's a wiki, but I don't know much more than you there.
[13:55:00.0000]
MikeSmith probably does, and might wake up soon. (Or might stay away from IRC on a weekend, which is also very reasonable.)
[14:58:08.0000]
Reaching out to Chris Mills would be a good starting point.
[16:16:10.0000]
yeah https://github.com/mdn/sprints is these days the place to suggest a new article for MDN
2020-05-02
[17:29:41.0000]
has there ever been any discussion about the reviver function and response.json()
[17:30:05.0000]
I'm guessing response.text() + JSON.parse is just good enough
[17:55:26.0000]
devsnek: https://github.com/whatwg/fetch/issues/104
[18:37:49.0000]
Domenic: thanks for the link
[18:38:29.0000]
it looks like it's assumed there that streaming json on main thread < buffer text and parse?
[19:04:07.0000]
I'm not sure how to parse that sentence
[19:53:26.0000]
Domenic: it seems like it was assumed in that thread that streaming parsing on the main thread isn't worth it compared to building up a string with .text() and calling parse
[19:53:56.0000]
which is surprising to me but of course I'm not an expert on performance
[20:08:26.0000]
reading https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/bKn2DLuRdeU
[20:08:39.0000]
about
was all I did wrong this time around
[06:53:43.0000]
annevk: I've seen similar errors from people with outdated curls
[06:54:45.0000]
Domenic: oh, I think my curl is whatever ships with macOS
[06:55:21.0000]
Yeah, it feels like macOS defaults are getting more and more outdated...
[07:04:34.0000]
Domenic: done! https://github.com/web-platform-tests/wpt/issues/23459
[07:26:36.0000]
What is an "overflow clip" in https://www.w3.org/TR/intersection-observer/#ref-for-intersectionobserver-intersection-root%E2%91%A5
[07:52:02.0000]
Hey
[07:52:20.0000]
I started a document about EventEmitter and EventTarget
[07:52:44.0000]
If anyone can take a look and contribute one of the gagillion things we've missed, you're welcome to do so https://docs.google.com/document/d/1NFARs04-4U_2y6Ssw9Lqu1GMXBUM981-NO9PLJWifTI/edit?usp=sharing
[07:59:46.0000]
benjamingr__: seems fine, added some nits
[08:00:06.0000]
benjamingr__: as far as EventTarget goes that is, not very familiar with Emitter
[08:01:03.0000]
Awesome, thanks Anne! Appreciated, the target is to see if we can add AbortController to Node :]
[08:02:35.0000]
That's the session https://github.com/openjs-foundation/summit/issues/273 - it'll be online and you're of course welcome to attend.
[08:22:29.0000]
benjamingr__: putting EventTarget in Node.js seems cool FWIW; I'm also still open to figuring out ways to harmonize EventTarget / EventEmitter more within compatibility limits. There was a recent attempt at TC39 but that got abandoned.
[08:25:10.0000]
Yeah, basically having fetch in Node means AbortController in Node and EventTarget in Node (and whatwg streams in Node but that's another big story). EventTarget seems like the one where we'd start.
[08:46:44.0000]
The "problem" with entries-api is that while it's implemented pretty widely, we wish it wasn't... I.e. it's documenting chrome's implementation because other engines were implementing it anyway, but we don't like the API, and would love to deprecate it/replace it with something better/more modern
[08:47:10.0000]
MikeSmith / annevk ^^
[08:47:41.0000]
Mek: unship it?
[08:48:00.0000]
but that seems unlikely to happen...
[08:48:50.0000]
certainly not any time soon, yes. We have some vague hope that the native file system API will provide all the same functionality, but as long as that is chrome only that doesn't help us unship the cross-browser (but webkit prefixed) entries API bits...
[08:50:11.0000]
Mek: but also, webkitdirectory seems like a win?
[08:51:12.0000]
having directory upload support in some way seems like a win, yes. But webkitdirectory has some issues. For one it requires recursively iterating over the entire directory, creating javascript objects for all files in the directory when a user selects a directory. Which doesn't work for large directories.
[09:01:35.0000]
Domenic: is something durable if it lasts for a week? I guess it depends on who you ask
[09:01:48.0000]
I mean it's more durable than session storage
[09:01:56.0000]
Hmm maybe investigate antonyms of session...
[09:02:05.0000]
Or just go with "more-durable" ^_^
[09:02:21.0000]
Yeah let's do that
[09:47:30.0000]
Domenic: do you know why this test case expect offsetParent to be null https://github.com/web-platform-tests/wpt/blob/master/html/semantics/interactive-elements/the-dialog-element/dialog-scrolled-viewport.html#L24?
[11:39:37.0000]
saber1: I don't know. It may be worth filing a spec bug since Chrome implements that behavior. My guess is that it is an unspecced consequence of https://fullscreen.spec.whatwg.org/#top-layer.
[12:35:20.0000]
Domenic: sure I can file a bug, spec bug against the dialog element or top layer?
[12:35:36.0000]
saber1: probably on whatwg/html would get the most attention
[12:35:48.0000]
Although hmm
[12:35:52.0000]
Maybe test fullscreen elements
[12:36:10.0000]
If they have offsetParent === null too then I'd file on whatwg/fullscreen
[12:41:04.0000]
Domenic: it's `` in both Firefox and Chrome
[12:45:06.0000]
OK cool, then yeah, more likely a HTML bug. (Which I am currently guessing people will agree on being a Chrome bug.)
[12:54:27.0000]
Domenic: thanks! filed https://github.com/whatwg/html/issues/5520
[13:21:55.0000]
Mek: appreciated your thoughts on that btw; guess I should think about it some more and maybe look into usage
[13:27:15.0000]
Domenic: given Joshua’s comment, temporal storage bucket?
[13:40:01.0000]
annevk: I don't hate it.
[13:40:37.0000]
In the end I think I kind of prefer "local" to all of these... i.e. saying that local and session storage are the two types of storage. localStorage and sessionStorage are specific APIs that tap into those types, but there can be other types, like IDB and some hypothetical future session-IDB.
2020-05-08
[21:02:02.0000]
Yeah, maybe “local” is our best pick. I also thought of “pressure-based”, but…
[21:03:05.0000]
I’m not sure I want this term to show up in APIs though. Prolly rather not.
[23:32:48.0000]
Domenic: you might want to follow https://github.com/unicode-org/icu4x/issues/73 as well as I think that's something you care about
[02:04:55.0000]
/me wonders if we can make document.evaluate static by default
[02:09:04.0000]
or am I misunderstanding the iterator/snapshot difference?
[04:36:31.0000]
annevk: changes to pr-preview deployed. LMK if they work for you or if you're having issues.
[05:35:31.0000]
tobie: oh cool, let me try push another commit to a PR
[05:36:35.0000]
tobie: seems to work great: https://whatpr.org/storage/86.html
[05:36:39.0000]
thanks
[05:47:23.0000]
domfarolino: do you have thoughts on the element scroll container case here? https://github.com/whatwg/html/issues/5408#issuecomment-623981827
[06:48:28.0000]
annevk: Great! I have fixed my notification settings, so I think I will be prompted more quickly in the future. :)
[07:39:03.0000]
seems zcorpan is gone now :(
[09:14:14.0000]
Hi all; I wonder if there are any IDL specs that narrow down attribute types for subclasses.
[09:14:14.0000]
For example, in , the Node interface contains: “readonly attribute Document? ownerDocument;”
[09:14:14.0000]
This attribute’s behaviour is then defined as: “The ownerDocument attribute’s getter must return null, if this is a document, and this’s node document otherwise.”
[09:14:14.0000]
I’d think one could then create an IDL for the Document interface that says “readonly attribute null ownerDocument;”
[09:14:14.0000]
But the spec does not contain this, and accordingly neither do (e.g.) Typescript’s dom type declarations, and as a result people’s code contains needless type errors.
[09:14:16.0000]
Any opinions here on whether/where/how this could (or might already) be addressed somehow?
[09:18:04.0000]
treora: specs do not do that because doing so would change JS observable behavior and require extra C++ implementation, by causing the overridden property to no longer inherit from the prototype.
[09:18:27.0000]
treora: TypeScript and IDL are not isomorphic, so it is unfortunate that people try to derive TypeScript types from IDL.
[09:18:53.0000]
I.e. TypeScript is for catching type errors, so lots of little subtypes maybe is useful. IDL is for generating C++ code, so lots of little subtypes would be actively bad.
[09:25:00.0000]
Thanks for explaining. I assumed such narrowing down would indeed be kept outside of the interface definitions, but could perhaps be listed somewhere as ‘corrolaries’, a sort of appendix with some machine-readable implications of the spec.
[09:25:37.0000]
*corollaries :)
[09:28:22.0000]
Of course it could be done in projects like Typescript, but it seems more easily maintained and more reusable when kept ‘closer to the spec’.
[09:29:55.0000]
As you say it is unfortunate that IDL is used to derive types at all, perhaps this would need a more thorough approach..
[09:31:36.0000]
I don't think that's something that would make sense in the spec, since it's not useful for implementing.
[09:31:45.0000]
It would make sense for it to exist in TypeScript if TypeScript is going to use it.
[09:32:49.0000]
ok, clear.
[09:48:02.0000]
I wonder if that case could fall out of formalized slots
[09:50:49.0000]
Maybe, but prolly not worth the complexity
[10:17:16.0000]
There are better examples than the above by the way, e.g. I suppose a ChildNode could be guaranteed to always have a parentNode.
[10:18:48.0000]
I found a place for typescript where I guess these things might go: https://github.com/microsoft/TSJS-lib-generator/blob/master/inputfiles/overridingTypes.json
[10:48:47.0000]
Domenic: this test https://github.com/web-platform-tests/wpt/blob/master/html/semantics/interactive-elements/the-dialog-element/abspos-dialog-layout.html#L200-L210, I guess I understand what it means. The containing block is the `absoluteContainer`, and the test expects the dialog element used this containing block to calculate it's position. Please feel free to correct if I am wrong. My question is, I don't see this is how
[10:48:47.0000]
the spec is defined? I'd still expect the dialog element to use the viewport
[11:03:00.0000]
saber1: I'm sorry, I'm really not a dialog expert... it's best to post these questions on some public forum and gather input from those that are.
[11:03:31.0000]
gotcha, thanks!
[11:05:08.0000]
Domenic: do you know who to contact at Chrome?
[11:05:37.0000]
Domenic: perhaps you could introduce them to saber1 to move things along a bit more quickly? We're trying to ship it in Fx as I understand
[11:05:40.0000]
annevk: @mfreed7 is my go-to DOM team contact
[11:05:40.0000]
it*
[11:06:35.0000]
k
[11:06:44.0000]
I'm happy to do an intro email if that'd be appreciated; just let me know what email address to use.
[11:26:36.0000]
TabAtkins: heh, I might even supply a PR to Bikeshed 🙂
[11:26:46.0000]
yessssssss
[11:27:31.0000]
TabAtkins: just need to figure out a bit more what exactly we need; but perhaps the easiest fix would be a similar thing to MDN annotations, a switch to allow us to use our own styles and scripts
[11:59:56.0000]
annevk: Should we maybe require filing bugs on Node.js when the URL Standard changes? Since they have a spec-complaint implementation and are actually going to pay attention to the kinds of minor changes that have happened recently.
[12:00:22.0000]
I will file one for the recent changes
[12:47:59.0000]
Domenic: thanks, I like that
[12:49:12.0000]
Domenic: the host parser restrictions contributor is from Node’s team, but I should prolly have double checked
[12:54:40.0000]
Ah yeah true
[12:59:47.0000]
Domenic: I’ve been idly wondering if we should have more process around URL as it gets more stable, but not entirely clear we’re there yet
[13:00:08.0000]
Yeah, I did notice that the last PR got merged with several boxes left unchecked
[13:00:20.0000]
Maybe starting with Safari and Node.js bugs, since they've demonstrated care, would be good.
[13:00:29.0000]
Would be nice to have two browsers fully comply
[13:00:48.0000]
Oh a non-editorial PR?
[13:06:56.0000]
Yeah https://github.com/whatwg/url/pull/497
[13:09:49.0000]
Maybe one thing to do is confirm each browser has a URL tracking bug remaining
[13:11:21.0000]
I figures for that one I could decide for Fx and we have bugs on file, but a bit sloppy indeed
[13:13:14.0000]
Figured*
[13:50:56.0000]
creating a PR to whatwg/html, how do I add