/irc-logs / w3c / #webapps / 2015-07-21 / end
Options:
Previous day, Next day
- # Session Start: Tue Jul 21 00:00:00 2015
- # Session Ident: #webapps
- # [00:16] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [00:39] * heycam|away is now known as heycam
- # [00:42] * Joins: sicking (~sicking@public.cloak)
- # [00:44] * Joins: chaals (~Adium@public.cloak)
- # [00:46] * Joins: fjh (~fhirsch3@public.cloak)
- # [00:57] * Joins: marcosc (~marcosc@public.cloak)
- # [01:00] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [01:01] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [01:35] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
- # [01:40] * Joins: sicking (~sicking@public.cloak)
- # [02:01] * Joins: rniwa_ (~textual@public.cloak)
- # [02:03] * Joins: rniwa__ (~textual@public.cloak)
- # [02:06] * Quits: rniwa (~textual@public.cloak) (Ping timeout: 180 seconds)
- # [02:08] * Joins: fjh (~fhirsch3@public.cloak)
- # [02:09] * Quits: rniwa_ (~textual@public.cloak) (Ping timeout: 180 seconds)
- # [02:10] * terri is now known as terri_offline
- # [02:15] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [02:25] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
- # [02:29] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [02:42] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [03:30] * Parts: kochi (~kochi@public.cloak)
- # [03:32] * Joins: fjh (~fhirsch3@public.cloak)
- # [03:33] * Joins: kochi (~kochi@public.cloak)
- # [03:37] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [03:49] * Joins: chaals (~Adium@public.cloak)
- # [04:19] * Quits: hgl (~hgl@public.cloak) (hgl)
- # [04:20] * Joins: hgl (~hgl@public.cloak)
- # [04:35] * heycam is now known as heycam|away
- # [04:52] * Quits: ArtB (~ArtB@public.cloak) ("Leaving.")
- # [05:18] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
- # [05:24] * heycam|away is now known as heycam
- # [05:48] <rniwa__> MikeSmith: yt?
- # [05:48] * rniwa__ is now known as rniwa
- # [05:48] <rniwa> xiaoqian: yt?
- # [06:32] <MikeSmith> rniwa: I'm here
- # [06:32] <MikeSmith> what's up?
- # [06:33] <rniwa> MikeSmith: it looks like Maciej's email to public-webapps isn't delivered to some people on the list
- # [06:33] <rniwa> MikeSmith: do you know who administers that mailing list?
- # [06:33] <MikeSmith> not sure but I can deal with it myself regardless
- # [06:33] * MikeSmith checks now
- # [06:33] <MikeSmith> I know I got his message at least
- # [06:34] <MikeSmith> did he send it to multiple lists?
- # [06:35] <MikeSmith> so the admin interface shows nothing in the moderation queue
- # [06:36] <MikeSmith> lemme check my own copay
- # [06:36] <MikeSmith> *copy
- # [06:36] <MikeSmith> rniwa: that message reached the list
- # [06:36] <MikeSmith> see https://lists.w3.org/Archives/Public/public-webapps/2015JulSep/0204.html
- # [06:37] <MikeSmith> or did you mean a different message?
- # [06:48] <rniwa> MikeSmith: I think it didn't get delivered to some members
- # [06:49] <rniwa> MikeSmith: it's also possible that this is an issue with Apple's mail server
- # [06:50] <MikeSmith> rniwa: I will try re-sending it now
- # [06:52] <MikeSmith> ok I just bounced it
- # [06:53] <MikeSmith> hmm that didn't seem to go through
- # [06:53] <MikeSmith> dunno why
- # [07:06] <rniwa> MikeSmith: something isn't working :(
- # [07:06] <MikeSmith> no I think the way I bounced the message is the only thing that's not working
- # [07:07] <MikeSmith> I'll re-send the message as myself
- # [07:11] <MikeSmith> rniwa: https://lists.w3.org/Archives/Public/public-webapps/2015JulSep/0205.html
- # [07:11] <MikeSmith> ...is the message I just sent
- # [07:12] <MikeSmith> did you get that one in your inbox?
- # [07:13] <rniwa> MikeSmith: nope :(
- # [07:14] <rniwa> MikeSmith: oh I just got that one
- # [07:16] <MikeSmith> ok
- # [07:16] <MikeSmith> so at least we know some mail is getting through to list recipients
- # [07:16] <rniwa> MikeSmith: yeah
- # [07:17] <rniwa> MikeSmith: it's possible that was a temporary mail server outage on our side
- # [07:17] <rniwa> MikeSmith: anyway, thanks for the help
- # [07:18] * Quits: rniwa (~textual@public.cloak) ("Textual IRC Client: www.textualapp.com")
- # [08:36] * Joins: sicking (~sicking@public.cloak)
- # [08:44] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [09:17] * heycam is now known as heycam|away
- # [09:30] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [09:34] * Joins: sicking (~sicking@public.cloak)
- # [09:38] * Joins: dom (dom@public.cloak)
- # [09:47] * Joins: Lachy (~Lachy@public.cloak)
- # [09:57] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [10:01] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [10:22] * Joins: smaug (~chatzilla@public.cloak)
- # [10:28] * Joins: Lachy (~Lachy@public.cloak)
- # [11:11] * Quits: smaug (~chatzilla@public.cloak) (Client closed connection)
- # [11:13] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [11:20] * Joins: smaug (~chatzilla@public.cloak)
- # [11:21] * Joins: Lachy (~Lachy@public.cloak)
- # [11:23] * Joins: wilsonpage (~wilsonpage@public.cloak)
- # [11:32] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [11:33] * Joins: Lachy (~Lachy@public.cloak)
- # [11:41] * Joins: dka (~dka@public.cloak)
- # [12:59] * Quits: dka (~dka@public.cloak) (dka)
- # [13:18] * Quits: smaug (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [13:22] * Joins: ArtB (~ArtB@public.cloak)
- # [13:27] * wilsonpage is now known as wilsonpage-away
- # [13:52] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [13:54] * wilsonpage-away is now known as wilsonpage
- # [14:03] * Joins: Lachy (~Lachy@public.cloak)
- # [14:46] * Joins: dka (~dka@public.cloak)
- # [15:06] * Joins: fjh (~fhirsch3@public.cloak)
- # [15:34] * Joins: chaals (~Adium@public.cloak)
- # [15:46] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
- # [16:26] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [16:29] * Joins: Lachy (~Lachy@public.cloak)
- # [16:35] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [16:37] * Joins: fjh (~fhirsch3@public.cloak)
- # [16:38] * Joins: Lachy_ (~Lachy@public.cloak)
- # [16:38] * Quits: Lachy (~Lachy@public.cloak) (Client closed connection)
- # [16:54] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [17:01] * Joins: fjh (~fhirsch3@public.cloak)
- # [17:01] * Quits: dka (~dka@public.cloak) (dka)
- # [17:26] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [17:28] * Joins: fjh (~fhirsch3@public.cloak)
- # [17:33] * Quits: wilsonpage (~wilsonpage@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
- # [17:34] * Joins: marcosc (~marcosc@public.cloak)
- # [17:35] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [17:35] * Joins: sicking (~sicking@public.cloak)
- # [17:37] * Joins: jyasskin (~textual@public.cloak)
- # [17:42] * Joins: fjh (~fhirsch3@public.cloak)
- # [17:46] * Quits: marcosc (~marcosc@public.cloak) (Client closed connection)
- # [17:47] * Joins: marcosc (~marcosc@public.cloak)
- # [17:48] * Joins: wilsonpage (~wilsonpage@public.cloak)
- # [17:49] * Quits: Lachy_ (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [17:52] * Joins: Lachy (~Lachy@public.cloak)
- # [17:52] * Joins: dka (~dka@public.cloak)
- # [17:53] * Quits: Lachy (~Lachy@public.cloak) ("My MacBook Pro has gone to sleep. ZZZzzz…")
- # [17:54] * Quits: marcosc (~marcosc@public.cloak) (Ping timeout: 180 seconds)
- # [17:59] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [18:00] * Joins: fjh (~fhirsch3@public.cloak)
- # [18:10] * Joins: shepazu_ (schepers@public.cloak)
- # [18:12] * Quits: wilsonpage (~wilsonpage@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
- # [18:14] * Quits: shepazu (schepers@public.cloak) (Ping timeout: 180 seconds)
- # [18:14] * Joins: wilsonpage (~wilsonpage@public.cloak)
- # [18:21] * Quits: gavin (~gavin@public.cloak) (Client closed connection)
- # [18:21] * Joins: gavin (~gavin@public.cloak)
- # [18:28] * Quits: dka (~dka@public.cloak) (dka)
- # [18:30] * Quits: dom (dom@public.cloak) ("")
- # [18:39] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [18:50] <hayato> Are we using this channel for today's f2f?
- # [18:54] * Joins: kschaaf (~kschaaf@public.cloak)
- # [19:01] * Joins: jsbell (~jsbell@public.cloak)
- # [19:02] * Joins: chaals (~Adium@public.cloak)
- # [19:02] * Parts: jsbell__ (~sid6276@public.cloak)
- # [19:02] * Quits: jsbell (~jsbell@public.cloak) ("There's no place like home...")
- # [19:03] * Joins: sicking (~sicking@public.cloak)
- # [19:12] * Joins: Varunkumar (~Varunkumar@public.cloak)
- # [19:12] * Joins: aklein (~sid4454@public.cloak)
- # [19:14] * Quits: jyasskin (~textual@public.cloak) ("My computer has gone to sleep. ZZZzzz…")
- # [19:14] * Joins: RRSAgent (rrsagent@public.cloak)
- # [19:14] <RRSAgent> logging to http://www.w3.org/2015/07/21-webapps-irc
- # [19:14] * Joins: Zakim (zakim@public.cloak)
- # [19:14] * Joins: aboxhall (~uid20617@public.cloak)
- # [19:14] * chaals changes topic to '#webapps f2f meeting - Web Components https://www.w3.org/wiki/Webapps/WebComponentsJuly2015Meeting'
- # [19:15] <chaals> Meeting: Web components f2f, July 2015
- # [19:15] <chaals> -> https://www.w3.org/wiki/Webapps/WebComponentsJuly2015Meeting agenda
- # [19:15] <chaals> scribe: chaals
- # [19:17] * Joins: cdata (~uid82755@public.cloak)
- # [19:18] <chaals> DD: We have the contentious bits wiki and position papers. Think we should start with the key question - do we run author code during {*}
- # [19:18] <chaals> … Google says no, this is mutation events without eough value to do.
- # [19:18] <chaals> … want to call the hook you provide, instead of vice versa.
- # [19:20] <chaals> Present: Annevk, DomC, Chaals, Léonie, AliceB, AlexR, Hayato, DomD, MarkG, WChen, Samw, othermaci-J, TOC, ScottM, Sorvall, AKlein, Dglazkov, BinHu, Travis, Arron
- # [19:20] <chaals> AvK: Question - has Apple figured out processing model for cloning?
- # [19:21] <chaals> … think the parsing I can see, but cloning not so much.
- # [19:21] <chaals> MJS: Tricky thing is the stuff that invoke cloning. 3 technically interesting things that might invoke a constructor: parsing, cloning, directly creating by name.
- # [19:21] <chaals> … not sure if createElement gets invoked, so may not be such an issue but it wasn't mentioned and seems distinct.
- # [19:22] * shepazu_ is now known as shepazu
- # [19:22] <chaals> … tricky Q: what might do cloning in middle of a complex operation and need to be done defensively. Seems like editing code is likely to be trickiest. Ryosuke pointed out that for technical correctness editing has to be prepared for event to be dispatched synchronously in the middle of somewhere.
- # [19:22] * Joins: jlklein (~uid101176@public.cloak)
- # [19:23] <chaals> … edge cases but hard to track. E.g. using delelte you might have to synchronously dispatch blur, so you need to be prepared anyway. Which makes this a difference of degree not kind.
- # [19:23] <chaals> s/delelte/delete on a focused thing/
- # [19:23] <chaals> Travis: Mutation events are necessary for advanced editors, even though we don't like them.
- # [19:24] <chaals> mjs: Not like mutation events will go tomorrow, but in webkit we defer them to the end of the editing operation for enhanced not-quite-so-crazy
- # [19:24] <chaals> … wouldn't work here.
- # [19:24] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [19:24] * Joins: sorvell (~uid12099@public.cloak)
- # [19:24] <chaals> … Do have Jonas' almost-synchronous proposal, might be a variant of that. But where you're creating new elements, coding defensively is probably feasible and less than mutations.
- # [19:25] <chaals> DomD: The world *should* be nice...
- # [19:25] <chaals> DomD: Other interesting case is where there sin't afailure mode - in the document, what do we do?
- # [19:25] <chaals> mjs: When constructor throws? Throwing isn't useful we need *A* behaviour for that but doesn't need to be pretty, pick whatever is easy to implement.
- # [19:25] <Varunkumar> not available on Webex today?
- # [19:26] <chaals> AvK: No guarantee the constructor constructs an element anyway.
- # [19:26] <chaals> [apparently no webex]
- # [19:26] * Joins: annevk (~annevk@public.cloak)
- # [19:26] <chaals> [5: Webex request denied]
- # [19:26] * Joins: arronei (~arronei@public.cloak)
- # [19:26] <chaals> AK: 2 things - being defensive and the need to specify what happens, and editing right now isn't specified.
- # [19:27] * Joins: LJWatson (~chatzilla@public.cloak)
- # [19:27] <Varunkumar> any other options for us folks from India to connect to?
- # [19:27] <chaals> mjs: Think the likely common case for reasonable elements is they don't do crazy things in construction. So for normal interop, don't know if it will be common to edit things with custom elements in the middle. A custom element that mutates random other things is crazy, so it is important not to crash, but it's an edge case.
- # [19:28] <chaals> AK: Want to specify this beyond "don't crash".
- # [19:28] <chaals> AvK: In DOM need to define what happens for ranges. could be rethrow.
- # [19:28] <chaals> TL: Could define mutation events in there for me
- # [19:28] <chaals> AvK: Considered it, but people still want to remove them.
- # [19:28] * Joins: markg (~chatzilla@public.cloak)
- # [19:28] <chaals> TL: Can mjs talk about insert/remove?
- # [19:28] * Joins: dglazkov__ (~sid4270@public.cloak)
- # [19:28] <chaals> DomD: The other part is that this makes algorithms obervable.
- # [19:29] * chaals hopes someone can replace "this" with something.
- # [19:29] * dglazkov__ https://mit.webex.com/mit/j.php?MTID=m92e7c9a5894d952798350812dec0a7d2
- # [19:29] <chaals> … that nails down semantics not currently required.
- # [19:29] * dglazkov__ Meeting number: 645 727 199
- # [19:29] * dglazkov__ Meeting password: comp
- # [19:29] <chaals> MJS: Mutation events create some of this, because you need to get the things in the same order. Don't think the phenomenon is new...
- # [19:29] <chaals> DomD: Yes, it is a question of degree.
- # [19:30] <chaals> … you wouldn't have complete freedom.
- # [19:30] <chaals> SamW: That's what happens when you expose lower level.
- # [19:30] <chaals> TL: ECMAScript proxy opened up this issue. ggood or bad?
- # [19:30] <chaals> AK: Been problematic, opened up interop issues.
- # [19:31] <chaals> MJS: If you go into DOM operations, there aren't interesting degrees of implementation freedom that synchronous constructors would rule out.
- # [19:31] <chaals> … reomve/insert that don't create elements…
- # [19:31] * Joins: justin (~uid82754@public.cloak)
- # [19:31] <chaals> AvK: There might be cases with ranges where you have to throw earlier or later, but minor details.
- # [19:31] <chaals> DomD: images getting laoded and cached before throwing.
- # [19:31] <chaals> AvK: User agents can optimise those things. All of network is a bit racy.
- # [19:32] <chaals> DomD: exaplins what happens with img loading.
- # [19:32] <chaals> … document.write is fun.
- # [19:32] <chaals> AvK: Evil. same as using it to write a script element.
- # [19:33] <chaals> … HTML parser needs checks. We know when we hit the end of a script, but not for a new-tag, when it is safe to synchronise.
- # [19:33] <chaals> DomD: So, Yes we run author code. Yes, but later, when speced. What do we do in themeantime?
- # [19:33] <chaals> … like we did with imperative distribution API. We need someone to go spec it.
- # [19:34] <chaals> MJS: We're thinking of replacement not necessarily addition. Having constructor and creative callback at the same time will be confusing. Don't think we want two warts here.
- # [19:34] <chaals> DomD: Default calls element.created. If you override it, then it doesn't get called.
- # [19:34] <chaals> MJS: That's different ...
- # [19:34] <chaals> DD, AR: Not really.
- # [19:35] <chaals> MJS: Gets called at a different time
- # [19:35] <chaals> DD: Yes, synch constructor comes at a different time.
- # [19:35] <chaals> MJS: Created callaback can be implemented on top of synchronous constructors. maybe we're done.
- # [19:35] <chaals> DD: when that is specced...
- # [19:36] <chaals> AvK: Does anyone have time to figure out the processing model and write patches for the spec?
- # [19:36] <chaals> MJS: If we got around to implementing and it hadn't been specced, we would try to do that. Don't have someone available off-hand to get it perfect now, but could get a first draft. Step 0 is figure out what results in element creation ...
- # [19:36] <chaals> AvK: The things you said. Parser, doc.createEl, cloning.
- # [19:37] <chaals> MJS: But the next level up - wat calls those. Those are where you need defensiveness.
- # [19:37] <chaals> … so where we need to spec. Does anyone have data on what things invoke those operations?
- # [19:38] <chaals> DC: In blinnk we have audio metadata that does that…
- # [19:38] <chaals> MJS: Is that enforced, or an annotation?
- # [19:38] <chaals> DC: Annotation that makes teh system drain the callback queue.
- # [19:38] <chaals> … could be enforced but isn't. Not useful to find all things that can do this because we have bugs where we should have applied it but didn't. E.g. named attribute getter on el.style
- # [19:38] <chaals> … we could get these things.
- # [19:39] <chaals> [explore - doesn't create elements]
- # [19:39] <chaals> DC: We could find this out.
- # [19:39] <chaals> AvK: I feel like it isn't a long list. createElem, innerHTML, rangeAPI, fragments, and editing is built on top to use those. Don't think there are more things for cloning.
- # [19:40] <chaals> DC: My experience is there is always one more, but falls in those - normally in editing.
- # [19:40] <chaals> TL: If you can hadnle rage, you can handle all the cases...
- # [19:40] <chaals> s/rage/range/
- # [19:40] <chaals> MJS: Editing is more complex than ranges because it mixes them up, so need to be super-paranoid.
- # [19:40] <chaals> AvK: Range can do that already.
- # [19:41] <chaals> MJS: What if we say custom element constructors are not allowed to change DOM except their own shadow - if they do, the operation that invoked it completely throws.
- # [19:41] <chaals> TL: They will cloneNode the template.
- # [19:42] <chaals> DC: Nice idea, finding the boundary is tricky. Ther limit says there are no modifications, ...
- # [19:42] <chaals> DG: sounds like we talk about a lot of cost to spec this - what is the benefit of it. Compare to other proposals and weight costs/benefits.
- # [19:42] <chaals> MJS: Could list up pros/cons on the whiteboard.
- # [19:43] <annevk> https://etherpad.mozilla.org/customelements
- # [19:43] * Joins: weinig (~weinig@public.cloak)
- # [19:44] <chaals> s|https://etherpad.mozilla.org/customelements|-> https://etherpad.mozilla.org/customelements pros and cons of proposals
- # [19:44] <chaals> rrsagent, draft minutes
- # [19:44] <RRSAgent> I have made the request to generate http://www.w3.org/2015/07/21-webapps-minutes.html chaals
- # [19:45] <chaals> rrsagent, make logs public
- # [19:45] <RRSAgent> I have made the request, chaals
- # [19:45] * Joins: jyasskin (~textual@public.cloak)
- # [19:47] <chaals> [discussions of what people like as structures… being noted into the etherPad]
- # [19:47] * Joins: Travis (~Travis@public.cloak)
- # [19:48] * Joins: ebidel (~ebidel@public.cloak)
- # [19:51] <chaals> [There is a microtask checkpoint before entering a script element]
- # [19:51] <chaals> MJS: If you have multiple callacks, they can look at each other and see things in a half-constructed state.
- # [19:51] <chaals> … if you are being initialised, your peers might not be completed.
- # [19:52] <chaals> TL: There is a way around the observability. If you go to grab unupgraded element you preempt.
- # [19:52] <chaals> MJS: That cycles…
- # [19:52] * chaals thinks it is very racy…
- # [19:53] * chaals in the traditional non-programming sense
- # [19:53] <chaals> MJS: We tried that idea, but no.
- # [19:54] <chaals> SM: polymer has learned we have to be defensive, this might happen.
- # [19:54] <chaals> MJS: So things are created from outside in. You know your parents
- # [19:54] * chaals thinks it is getting racier here…
- # [19:54] * Joins: smaug (~chatzilla@public.cloak)
- # [19:54] * chaals waves to smaug
- # [19:55] <chaals> MJS: So the state of the DOM is unpredictable.
- # [19:55] <chaals> SO: Not sure why that is more objectionable than what we were talking about earlier, where there are things you shouldn't do with constructor. Seems like either way there are DOM manipulations that don't make sense.
- # [19:55] * smaug waves to Mountain View
- # [19:55] <chaals> MJS: Different kind of problem…
- # [19:56] <chaals> … there we have deterministic behaviour, here we may be dependent on network behaviour providing non-determinism.
- # [19:57] <chaals> DomD: Hol the presses on network behaviour, thought we eliminated that with the HTML parser.
- # [19:57] <chaals> MJS: Boundaries between data chunks to parse then return to the loop cannot be set, because you don't know what you are getting next.
- # [19:58] <chaals> DD: So if we allow throwing depending on the timing we lose "parser will end up producing the same DOM"
- # [19:58] * Joins: fjh (~fhirsch3@public.cloak)
- # [19:58] <chaals> AvK: There are random things you could do still.
- # [19:58] <chaals> SO: so non-deterministic state is observable in callback
- # [19:58] <chaals> … potentially, restrictions around it could be specced to fix this.
- # [19:58] <chaals> MJS: Not sure that is possible
- # [19:59] <chaals> SM: Is it clear that the domain of problems are different?
- # [19:59] <chaals> MJS: Don't see how to make created callback work and rule out non-determinism introduced by network variation.
- # [19:59] <chaals> SM: We disallow looking at children - we want an explicit platform signal.
- # [20:00] <chaals> DD: What if we take cycle detection, but instead of upgrading if you inspect it, we sust throw.
- # [20:00] <chaals> SM: We live in the world mjs describes. But don't think we cannot live there.
- # [20:02] <chaals> SW: Our constructors do litt.e Nothing, or set up shadow roots. Don't load...
- # [20:02] * Quits: kschaaf (~kschaaf@public.cloak) ("Page closed")
- # [20:03] * Joins: kschaaf (~kschaaf@public.cloak)
- # [20:03] * Quits: ebidel (~ebidel@public.cloak) (Client closed connection)
- # [20:03] <chaals> … New image calls a constructor, then sets a src. Can happen in sequence...
- # [20:04] <chaals> … you can do setAttribute in the constructor, but we don't in our native implementation.
- # [20:04] <chaals> DG: Would say that in guidance too
- # [20:04] <chaals> MJS: Elements setting attributes is an anti-pattern…
- # [20:05] <chaals> … parameters can be handled outsied the construction.
- # [20:05] <chaals> SM: Is there another lifecycle, like childrenComplete, where we can get deterministic behaviour?
- # [20:05] <chaals> MJS: Only when you are created and nothing has been inserted yet.
- # [20:06] * terri_offline is now known as terri
- # [20:06] <chaals> … after setting parser-created attributes we have something, and when a child is inserted.
- # [20:06] <chaals> … or when you are inserted/removed from a doc / DOM subtree.
- # [20:06] <chaals> SM: We need that too.
- # [20:07] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [20:07] <chaals> … you can lazily construct as you add things
- # [20:08] <chaals> AvK: HTML requires callbacks for endtag in some cases.
- # [20:08] <chaals> SW: Constructor sets state that is needed.
- # [20:08] <chaals> MJS: input without a type attrivbute set has to have something, but when it gets a type it varies wildly.
- # [20:12] <chaals> SM: Polymer iterates over attributes
- # [20:12] <chaals> DC: Maybe that is wrong...
- # [20:16] * Joins: arronei_ (~arronei@public.cloak)
- # [20:16] <chaals> MJS You could try to return to event loop when creating the element, but can't go there in the middle of an operation.
- # [20:16] * Joins: robdodson (~uid27592@public.cloak)
- # [20:17] <chaals> DG: So cons on both cases - constructor is complex to spec, createdCallback is that network non-determinism is going to create exciting times.
- # [20:17] <chaals> … does not match ES6 a concern?
- # [20:17] <chaals> AvK: TC39 might want to use constructors.
- # [20:17] * Quits: arronei (~arronei@public.cloak) (Ping timeout: 180 seconds)
- # [20:18] <chaals> DD: Not so sure taht is a worry.
- # [20:19] * Quits: Varunkumar (~Varunkumar@public.cloak) (Ping timeout: 180 seconds)
- # [20:19] <chaals> MJS: When prototype swizzling happens, something complex goes on. Some think that is a feature, others a bug.
- # [20:19] <chaals> s/goes on/goes on if you only get the propotypes later/
- # [20:20] <chaals> TOC: worth pointing out that the costs are paid differently - network determinism is paid by authors, complexity of spec is paid by browser developers and specheads (who deserve all the pain they get)
- # [20:21] <chaals> SM: So we *can't get anything deterministic based on callback?
- # [20:21] <chaals> DC: Can be done…
- # [20:21] <chaals> … complexity is when we are running authordefined script.
- # [20:22] <chaals> MJS: You could get down to "if done by parser we drop down to event loop, but if you're in middle of a DOM operation you don't get callback until it's all done"
- # [20:23] * Quits: arronei_ (~arronei@public.cloak) (Ping timeout: 180 seconds)
- # [20:23] <chaals> DD: That removes the network non-determinism
- # [20:23] <chaals> AK: Won't be trivial to add the restrictions
- # [20:25] <chaals> MJS: If you clone subtree with custom element in it you're into a hairy spot of when to do that. And template element encourages doing that.
- # [20:27] <chaals> DG: View upgrades and constructors as sort of the same problem - because in callback world the solution is the same.
- # [20:27] <chaals> … so weighing of the balance applies in the upgrade world.
- # [20:27] <chaals> … sunch constructors means authors need to be sure their definition is loaded before the parser runs.
- # [20:28] <chaals> [possible compromise is to support both appraoches.]
- # [20:30] <chaals> SO: We're looking at either an authoring anti-pattern or a performance anti-pattern …
- # [20:31] <chaals> [discussion of what DomD proposed and what it means]
- # [20:31] <chaals> s/means/means - is it bimodal?]
- # [20:31] * Quits: wilsonpage (~wilsonpage@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
- # [20:32] <annevk> We're discussing https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Parser-Created-Constructors.md
- # [20:34] <chaals> DC: find and replace things is tricky - you can't always find them.
- # [20:34] <chaals> MJS: So to support upgrade, you might not be able to find everything to upgrade.
- # [20:34] <chaals> … maybe you could make it an explicit behaviour when you register an element.
- # [20:35] <chaals> … to keep a reference to it.
- # [20:36] <chaals> … this could be non-deterministically bad.
- # [20:37] <chaals> DC/TL: proxies is worse than proto-swizzling for JS engine, for speed.
- # [20:37] <chaals> [Do we know about author experience of proxies? Probably not really]
- # [20:38] <chaals> DG: Protoswizzling is actually very common in developer-land
- # [20:39] <chaals> SM: We get lots of problems with non-determinism, have zero bug reports from protoswizzling
- # [20:39] * Joins: rictic (~uid101199@public.cloak)
- # [20:40] * Joins: emmanuel (~uid101200@public.cloak)
- # [20:40] <chaals> DG: This is how people to custom-elements-lite today.
- # [20:40] <chaals> SO: WOuld want to consider less-good upgrades before just dumping them.
- # [20:40] <chaals> MJS: What if it were replacement model, and you need to reget a new wrapper?
- # [20:41] <chaals> AR: we tried this with becomes. Footguns were pretty bad.
- # [20:41] <chaals> … eg in loading process you enhance your document, and then later they get replaced. Surprisingly.
- # [20:42] <chaals> MJS: libraries were fine with protoswizzling?
- # [20:42] <chaals> AR: Largely because they add event handlers
- # [20:43] <chaals> DG: leads to spamming of mutation observers
- # [20:43] <chaals> AR: Problem in the wild.
- # [20:44] * Joins: atotic (~uid101203@public.cloak)
- # [20:45] * Joins: alex (~alex@public.cloak)
- # [20:45] * Quits: weinig (~weinig@public.cloak) (weinig)
- # [20:45] <alex> hello
- # [20:45] <chaals> MJS: Can we have a model that allows upgrade, isn't non-deterministic, and doesn't suck?
- # [20:46] * dglazkov__ is now known as dglazkov
- # [20:46] <chaals> … (topic for after lunch)
- # [20:46] * Joins: atotic_ (~atotic@public.cloak)
- # [20:46] * Quits: annevk (~annevk@public.cloak) (Client closed connection)
- # [20:49] <chaals> [lunch]
- # [20:49] <chaals> rrsagent, draft minutes
- # [20:49] <RRSAgent> I have made the request to generate http://www.w3.org/2015/07/21-webapps-minutes.html chaals
- # [20:50] * Joins: plh (plehegar@public.cloak)
- # [20:50] <smaug> based on the notes, looks like no new magical great solutions for the issue.
- # [20:50] <smaug> yet
- # [20:50] * Quits: smaug (~chatzilla@public.cloak) ("Reconnecting…")
- # [20:50] * Joins: smaug (~chatzilla@public.cloak)
- # [20:52] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [20:52] <alex> Quick question, I have been on the webex for about an hour now to join the meeting today but the line was silent the entire time
- # [20:53] <alex> was that by design?
- # [20:53] <alex> are you proactively blocking folks from attending remotely?
- # [20:54] <alex> no biggie if so, just don't want to hang on the line any longer if that is the case
- # [20:57] <alex> /me waves hello
- # [20:57] * alex waves hello
- # [21:01] * Quits: jyasskin (~textual@public.cloak) ("My computer has gone to sleep. ZZZzzz…")
- # [21:09] * Quits: hgl (~hgl@public.cloak) (Ping timeout: 180 seconds)
- # [21:10] * Quits: chaals (~Adium@public.cloak) ("Leaving.")
- # [21:12] * @Yves rrsagent, draft minutes
- # [21:12] <RRSAgent> I have made the request to generate http://www.w3.org/2015/07/21-webapps-minutes.html Yves
- # [21:17] * Zakim excuses himself; his presence no longer seems to be needed
- # [21:17] * Parts: Zakim (zakim@public.cloak)
- # [21:19] * Joins: fjh (~fhirsch3@public.cloak)
- # [21:24] * Quits: alex (~alex@public.cloak) (Ping timeout: 180 seconds)
- # [21:26] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [21:26] * Joins: fjh (~fhirsch3@public.cloak)
- # [21:27] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [21:28] * Joins: hgl (~hgl@public.cloak)
- # [21:43] * Quits: atotic_ (~atotic@public.cloak) (atotic_)
- # [21:46] * Quits: Travis (~Travis@public.cloak) (Ping timeout: 180 seconds)
- # [21:55] * Joins: Lachy (~Lachy@public.cloak)
- # [21:57] * Joins: weinig (~weinig@public.cloak)
- # [21:58] * Joins: LJWatson (~chatzilla@public.cloak)
- # [22:02] * Joins: arronei (~arronei@public.cloak)
- # [22:05] * Joins: annevk (~annevk@public.cloak)
- # [22:06] * Joins: mjs (~mjs@public.cloak)
- # [22:06] * Joins: chaals (~Adium@public.cloak)
- # [22:06] <annevk> https://docs.google.com/document/d/1KSwKrTU2d0uJCf55tV-jur_0sYxCNMuM7Dl3vqb0bu4/edit?usp=sharing
- # [22:07] <chaals> -> https://docs.google.com/document/d/1KSwKrTU2d0uJCf55tV-jur_0sYxCNMuM7Dl3vqb0bu4/edit?usp=sharing continuation of the minutes, being taken by Domenic Cooney
- # [22:08] * Joins: rniwa (~textual@public.cloak)
- # [22:08] <chaals> Present+ Ryosuke
- # [22:08] <chaals> [Ryosuke joins, Alex is out]
- # [22:08] * chaals tries not to think "taken out"
- # [22:11] <chaals> [Alex has not been taken out, because he is back]
- # [22:13] * smaug wonders what is p1 in the gdocs. It isn't defined anywhere.
- # [22:14] <smaug> oh, etherpad
- # [22:19] * Joins: ojan (~sid5519@public.cloak)
- # [22:29] * Quits: robdodson (~uid27592@public.cloak) ("Connection closed for inactivity")
- # [22:29] * chaals says it is priority one. things to achieve (in case Smaug is not alone in wondering)
- # [22:33] * Joins: ebidel (~ebidel@public.cloak)
- # [22:33] * Joins: fjh (~fhirsch3@public.cloak)
- # [22:34] * Quits: ebidel (~ebidel@public.cloak) (Client closed connection)
- # [22:38] * Joins: ebidel (~ebidel@public.cloak)
- # [22:43] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # [22:46] * Quits: sicking (~sicking@public.cloak) (sicking)
- # [22:49] * Quits: arronei (~arronei@public.cloak) ("Page closed")
- # [23:11] <slightlyoff> rumors of my death (etc. etc.)
- # [23:13] * Joins: chrisb (~chrisb@public.cloak)
- # [23:17] * Quits: weinig (~weinig@public.cloak) (weinig)
- # [23:22] * Joins: atotic_ (~atotic@public.cloak)
- # [23:27] * Joins: weinig (~weinig@public.cloak)
- # [23:28] * Quits: rniwa (~textual@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
- # [23:31] * Quits: LJWatson (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
- # [23:32] * Joins: sicking (~sicking@public.cloak)
- # [23:35] * Joins: LJWatson (~chatzilla@public.cloak)
- # [23:38] * Joins: dka (~dka@public.cloak)
- # [23:48] * Joins: rniwa (~textual@public.cloak)
- # [23:50] * Quits: LJWatson (~chatzilla@public.cloak) (Client closed connection)
- # [23:51] * Joins: alex (~alex@public.cloak)
- # [23:51] * Quits: alex (~alex@public.cloak) ("Page closed")
- # [23:52] <chaals> rrsagent, draft minutes
- # [23:52] <RRSAgent> I have made the request to generate http://www.w3.org/2015/07/21-webapps-minutes.html chaals
- # [23:53] * chaals changes topic to '#webapps f2f meeting - Web Components notes going in https://docs.google.com/document/d/1KSwKrTU2d0uJCf55tV-jur_0sYxCNMuM7Dl3vqb0bu4/edit?pli=1'
- # [23:54] * Joins: marcosc (~marcosc@public.cloak)
- # [23:55] <MikeSmith> RRSAgent, make logs public
- # [23:55] <RRSAgent> I have made the request, MikeSmith
- # [23:57] * Joins: fjh (~fhirsch3@public.cloak)
- # [23:57] * chaals curses timezones.
- # [23:58] <chaals> early minutes were in http://www.w3.org/2015/07/21-webapps-minutes.html (until the googlers started scribing)
- # [23:58] * Quits: fjh (~fhirsch3@public.cloak) (fjh)
- # Session Close: Wed Jul 22 00:00:00 2015
Previous day, Next day
Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn