15:59:53 RRSAgent has joined #editing 15:59:53 logging to https://www.w3.org/2021/09/24-editing-irc 16:00:59 Travis has changed the topic to: 9/24/2021 Editing WG meeting 16:01:07 present+ Travis Leithead 16:01:14 whsieh has joined #editing 16:01:23 present+ 16:01:28 present+ Tomasz Jakut 16:01:42 GameMaker has joined #editing 16:01:47 present+ 16:02:05 present+ 16:02:07 snianu has joined #editing 16:02:47 alexk has joined #editing 16:03:28 agenda+ https://github.com/w3c/clipboard-apis/issues/150 16:04:14 scribe Travis 16:04:27 agenda- 16:05:02 BoCupp: rniwa was clear about not standardizing at this time. Is this a unified Apple position? 16:05:10 whsieh: yes... 16:05:33 .. we are not interested in pursuing the spec as written (using domparser and sanitization) 16:05:41 BoCupp: is there some other sanitization you'd like to see? 16:05:53 whsieh: ideally we leave that open-ended for the user agent. 16:06:24 BoCupp: perhaps we don't have to spend the WG time speccing that... I suppose we can do as we see fit? 16:06:31 .. anyone have other thoughts? 16:06:39 whsieh: yes, regarding sanitization 16:06:52 .. other things we could possibly align on... do we include HMTL/BODY tags? 16:07:07 .. those are some of the details we could pursue for standards. 16:07:26 .. however the fine details of "how to sanitize web content"; we'd like to keep that as UA-defined. 16:07:47 BoCupp: e.g., read api returns a fragment vs a document? 16:07:55 whsieh: seems nice to clarify. 16:08:05 BoCupp: just that one point would be better than nothing? 16:08:22 .. we have some preferences, wondering what the group would think about that? 16:08:49 action: BoCupp to assert some of the points Microsoft would like to have in the Chromium version of the API; then check for agreement. 16:09:00 a? 16:09:03 agenda? 16:09:18 agenda- 16:09:30 Zakim, take up agenda 1 16:09:30 agendum 1 -- https://github.com/w3c/clipboard-apis/issues/150 -- taken up [from Travis] 16:09:34 a? 16:09:37 agenda? 16:09:45 zakim, drop agenda 1 16:09:45 agendum 1, https://github.com/w3c/clipboard-apis/issues/150, dropped 16:10:20 agenda+ https://github.com/w3c/editing/issues/334 16:10:27 zakim, take up agenda 2 16:10:27 agendum 2 -- https://github.com/w3c/editing/issues/334 -- taken up [from Travis] 16:10:50 BoCupp: Microsoft motivation is to have native apps write to the clipboard so that many sites can consume. 16:11:10 .. heard from whsieh that a single origin could be specified to access the content... 16:11:21 .. wondering if we could open this up to specify some core syntax? 16:11:36 whsieh: discussed internally; we would like to limit to single origins. 16:12:27 .. if we had to expose this, it would likely be a native api (os). Such an API would be very clear that the posted content could be read by un-trusted sites. 16:12:41 .. if they opt-in, we would then allow the data (unsanitized) to be read by any site. 16:12:50 .. (the native API would be opting in) 16:13:15 .. with CORS-like scheme, in the end-game everyone would just specify "*" (no downside) 16:13:36 .. if we do something like that, we should put this on app authors. 16:14:04 BoCupp: you'd like to limit to single origin--and you have an idea on multiple origins? 16:14:16 whsieh: I don't feel this would require standardization... 16:14:45 .. a native app API that provides the ability to send to any site (doesn't require standardization) 16:15:10 BoCupp: wondering if what is provided in the clipboard would have some special characteristics (standardized)? 16:15:40 .. assuming adopting pickling w/sanitization... or is this free-for-all (don't pursue pickling)? 16:16:03 .. if we build something like snianu made... details the shape of the format on the clipboard... 16:16:14 .. having the presence of the format allows them to be shared... 16:17:37 BoCupp: what would you put on the clipboard to indicate that it should be associated with a particular origin (related to pickling)? 16:18:03 whsieh: I'm not proposing a format. 16:18:40 .. today app would use NSPasteboard APIs to set data. In the new world, they'd use "WriteUnsanitizedContentForWeb" 16:18:56 .. something explicit. Apple would take care of the format in the pasteboard. 16:19:21 BoCupp: hmm. When Edge ships something, our approach isn't to create a new Apple API (we can't). 16:19:51 .. what we will advertise is: here the format to put on the clipboard, and the JSON structure to make content available to web apps. 16:20:16 .. When Apple comes up with a platform api that writes with a different shape? For apps, they need to bifurcate and write to different platform conventions. 16:20:27 whsieh: there would be reading/writing separate parts. 16:20:46 .. apps writing unsanitized data would use new API. 16:21:04 .. other browser would use a corresponding app read API. 16:21:23 .. this also gives us the ability to copy data between browsers because they're on the same platform, and it would just work. 16:22:21 BoCupp: so, if safari has it's own formats for interchange different from Chromium they'd have to agree..? 16:23:02 whsieh: not quite. Any app could use the unsanitizedNativePlatformAPI and you'd achieve interop. 16:23:11 .. because the details are abstracted. 16:23:35 BoCupp: We're still interested in standarizing something that works cross-platform... we have a proposed content shape.. 16:24:00 .. with a mime-type it might be translated differently on different platforms. We might use different syntax... 16:24:06 .. (thinking0 16:25:05 .. I guess we go into each platform domain (Linux, Windows) and specify how pickled content would look. 16:25:37 whsieh: given the JSON map, would the types be different per-platform? 16:25:54 BoCupp: the map just takes author-specified mime types and mapping to a format that can be read. 16:26:02 whsieh: that native format time is going to be platform specific. 16:26:48 BoCupp: Guess there would be guidelines for apps per platform. 16:27:08 whsieh: main drawback then is that the app APIs were talking about don't exist yet. 16:27:38 .. so an advantage of standardizing the JSON, is that we don't have to wait for platforms to create the APIs, we can just specify the format. 16:27:58 BoCupp: we are incentivized to do it that way to minimize differences across platforms. 16:28:02 .. to wrap up 16:28:20 .. long term, Apple is in support of multiple origins being able to read from a native app? 16:28:39 whsieh: Yes, as long as the native app has made the choice to opt-in. It must be a os platform API. 16:30:12 BoCupp: does the API have to be provided by the native platform? Or could it be a standardized (the shape and name to be written)? 16:30:59 whsieh: if there was a special type that could be the same across platforms, then that might work... we would expose it natively on the platform. 16:31:34 .. like a write untrusted content on the pasteboard. 16:32:02 BoCupp: so, no one opposed to putting in the spec (or omitting) "pickled payload must be limited to the origin that wrote it" (we don't want that). 16:32:20 .. we do want to add details into the spec to allow for pickled formats on the async API. 16:32:45 .. no objection to put a PR for that? And omit the details of how to write that? 16:33:00 whsieh: yes, and the details can be described once the native apis are defined. 16:33:21 BoCupp: so, we can advance the spec to have additional pickling capabilities, while staying away from the format. 16:33:43 whsieh: We don't require any additional web-facing API for pickling, right? 16:33:46 BoCupp: we might? 16:34:55 .. follow-up with an unsanitized option, where on write we produce both formats (efficiently)... 16:35:40 .. as part of pickling, if you specify unsanitized html on read, we would expect a website to be able to access it on read. 16:36:25 whsieh: I understand that if a website is able to read unsanitized, they should be able to. 16:36:41 BoCupp: they should be able to do so. 16:37:17 whsieh: the native api mitigates some of the privacy/security risks because it's explicit that the content is intended to be read (unsanitized) by web content. 16:37:45 BoCupp: the new format was an attempt to cause the web app to opt-in. 16:39:22 BoCupp: pickling (for writing) is to protect native apps (from web-sourced attacks) 16:39:44 .. we were putting formats on the clipboard to isolate native apps from reading. 16:40:20 johanneswilm: would it be an option to have bo/whsieh have a virtual coffee? 16:40:32 .. to get a condensed version of the discussion? 16:41:36 action: have BoCupp, whsieh, snianu get together separately to work on details of pickling in special one-off meeting. 16:42:41 agenda+ https://github.com/w3c/input-events/issues/117 16:42:47 zakim, take up agenda 3 16:42:47 agendum 3 -- https://github.com/w3c/input-events/issues/117 -- taken up [from Travis] 16:43:04 johanneswilm: we agree last time on having this be a non-normative note. 16:43:15 .. question was raised: should it be normative instead? 16:43:38 BoCupp: we were advising on how to obtain an image (for a sticker) into content. We said, use an existing event. 16:43:55 .. seems to be advice to authors (since there's no new feature specified). 16:44:11 .. we said use a paste event. 16:45:41 johanneswilm: now looking at PR 123: https://github.com/w3c/input-events/pull/123 16:45:54 BoCupp: hmm, see that this looks like ordering of events. 16:46:22 johanneswilm: separate things: first, what do we use for an image? We all agreed on 'insertFromPaste'. was merged into the spec. 16:46:40 .. then asked if paste should be fired. We agreed to the same. 16:47:09 .. should it be normative? 16:47:23 Travis: I think it should be normative so that it will get implemented. 16:47:32 johanneswilm: also I agree. 16:47:43 BoCupp: where were you observing the order of paste events? 16:47:52 johanneswilm: in webkit, I believe. 16:48:00 .. other folks want to check? 16:48:09 .. couldn't find in Edge. 16:48:29 BoCupp: that doesn't relate to what you have written. 16:49:03 .. what was written didn't quite match what I was thinking... 16:49:26 johanneswilm: for the order, I just checked what WebKit was doing. 16:49:57 .. can we resolve to remove the non-normative note from the note? 16:50:13 BoCupp: could you check other implementations on the event order? 16:50:38 johanneswilm: if I find no difference on regulare paste, and beforeinput and regular paste, are you OK? 16:51:25 Travis: is a Note (by itself) non-normative? 16:51:42 .. whatever way of making it non-normative is good with me. 16:52:30 From conformance language in spec: As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. 16:53:15 travis: suggesting to test event order of paste and insertFromPaste. If implementations agree, then we remove the non-normative disclaimer on the note. 16:53:28 johanneswilm: agree to make it normative. 16:53:39 .. so should drop the "note" container. 16:54:28 action: johanneswilm convert the note to a regular conformance statement assuming implementations all agree on the event order of paste and insertFromPaste. 16:55:13 agenda+ https://github.com/w3c/input-events/pull/122 16:55:24 zakim, take up agenda 4 16:55:24 agendum 4 -- https://github.com/w3c/input-events/pull/122 -- taken up [from Travis] 16:55:39 johanneswilm: we have l1 and l2 because chromium couldn't implement all parts of the spec. 16:55:46 .. later on, chromium could do it! 16:56:07 .. chromium now has a larger amount of l2! Let's go back to having just one level... 16:56:16 .. chromium can't do every detail of l2. 16:56:32 .. so, can we mark the parts that chromium can't do as optional? 16:56:51 .. webkit will have implemented the optional parts, and chromium would not. 16:57:04 .. or as BoCupp suggests, we drop the parts only implemented in WebKit. 16:57:31 BoCupp: I agree that these are the last gap. 16:57:37 .. we also don't have the same event ordering. 16:57:40 to be clear, the gap is about IME? 16:58:38 .. insertFromComp, deleteCompText... these cause unnecessary churn in the DOM. 16:58:56 .. you get a range and for each update the range gets replaced. 16:59:19 .. you want to be able to isolate the churn from the DOM to another element, etc. 16:59:30 .. you want the composition to be unaffected by the selection change. 16:59:49 .. you want to preserve enough state to be able to do that. 17:00:02 .. I see that almost working in Safari, but not quite. 17:00:08 .. have some extra data I can share. 17:00:25 .. I assert that the scenario is not fully accomplished and causes unnecessary churn in the DOM. 17:00:47 .. as long as the author knows the range, the author can remove it themselves. I wrote a test to prove this out. 17:01:08 .. You want to be updating the view as the user is typing. 17:01:22 johanneswilm: might need another deep dive. 17:01:37 .. those events are at the beginning and end (not in between). 17:01:51 .. without event listeners, you can even skip them? 17:02:03 .. long discussion we had several years ago? Perhaps we can discuss again? 17:02:53 BoCupp: sounds good (having a separate meeting) to outline the discussion, provide a demo. Understand the purpose of the events. 17:03:21 whsieh: the only preventable events are the beginning and the end? 17:03:38 .. the relocating is happening at the beginning and end? 17:03:45 BoCupp: why are you preventing? 17:03:48 .. to cancel? 17:04:07 whsieh: thought the context is trying to mirror what is happening? 17:06:15 travis: ultimately we are thinking that the outcome of the deep dive is to see about potentially dropping them? 17:07:03 whsieh: webkit has been shipping them for many years. Folks could be dependent on them (Mac/Native Apps could be relying on this behavior). Could be difficult to extricate from the engine. 17:09:58 editing group promotion video: https://drive.google.com/file/d/1CcN0qqSZ_CspZOyk4yMQSRHwCl_HoU-V/view?usp=drive_web 17:10:08 action: BoCupp in two weeks, present overview of the nuances of composition input event scenarios. 17:10:55 BoCupp: thanks johanneswilm! 17:11:13 this is great! 17:30:05 RRSAgent, make logs public 17:30:15 RRSAgent, please generate the minutes 17:30:15 I have made the request to generate https://www.w3.org/2021/09/24-editing-minutes.html Travis 17:43:27 Meeting: Special 2nd September W3C Web Editing WG meeting 17:44:08 RRSAgent, please generate the minutes 17:44:08 I have made the request to generate https://www.w3.org/2021/09/24-editing-minutes.html Travis 17:44:39 agenda? 17:44:58 zakim, drop all agendum 17:44:58 I don't understand 'drop all agendum', Travis 17:45:08 zakim, drop agenda 2, 3, 4 17:45:08 I don't understand 'drop agenda 2, 3, 4', Travis 17:45:16 zakim, drop agenda 2 3 4 17:45:16 I don't understand 'drop agenda 2 3 4', Travis 17:45:24 zakim, drop agenda 2 and 3 17:45:24 I don't understand 'drop agenda 2 and 3', Travis 17:45:28 zakim, drop agenda 2 17:45:28 agendum 2, https://github.com/w3c/editing/issues/334, dropped 17:46:36 agenda- 3 17:46:39 agenda- 4 17:46:44 agenda? 19:35:10 GameMaker has joined #editing 19:59:14 Zakim has left #editing 23:02:26 GameMaker has joined #editing 23:51:15 GameMaker has joined #editing