05:57:24 RRSAgent has joined #webapps 05:57:24 logging to https://www.w3.org/2020/10/26-webapps-irc 05:57:49 Scribe: marcosc 05:58:09 Meeting: WebApps WG - Web Manifest 1 05:58:21 Chair: Marcosc 05:59:36 Agenda: https://github.com/w3c/manifest/issues/906#issuecomment-711859121 06:00:56 rrsagent, draft minutes v2 06:00:56 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html marcosc 06:03:11 anssik has joined #webapps 06:08:25 TOPIC: Agenda bashing 06:09:56 present+ 06:10:08 present+ 06:10:17 present+ anssik 06:10:52 present+ Christian Liebel 06:11:47 CL: we could talk about these tests https://github.com/web-platform-tests/wpt/pull/24452 06:12:02 xiaoqian has joined #webapps 06:12:26 AK: do we have good apple contact as they are the second implementation? 06:12:30 christianliebel has joined #WebApps 06:12:38 AK: what's mozilla status? 06:13:15 WebKit's status is "partially supported" https://webkit.org/status/#specification-web-app-manifest 06:13:30 MC: On the Mozilla side, I'm still maintaining the implementation. But probably need to find someone else to take over at some point. 06:14:39 MC: we have people like hober and Maciej that we can ping... but I'm unsure who is best contact there 06:15:15 TS: Icon support is still lacking on the webkit side ... 06:16:23 MC: Not sure what their plans are with regards to icons. However, icons are supported on the Gecko side along with Blink. 06:16:50 scribenick tomayac 06:16:52 kenchris has joined #webapps 06:17:15 MC: Calling for agenda topics 06:17:15 +present Kenneth_Christiansen 06:17:24 AK: MIlestones up-to-date? 06:17:35 Present https://github.com/w3c/manifest/milestone/1 06:17:45 ...Been looking at Christian's milestones chart, is it still updated? 06:18:06 CL: Almost, just one issue 06:18:15 ...that doesn't have a label 06:18:26 ...Only the latest issue would have to be triaged 06:18:40 https://github.com/w3c/manifest/issues/934 06:18:56 ...We should add issue 934 to the milestones, or decide if we want to 06:19:01 MC: Yes 06:19:31 Present+ Marcos_Caceres, Anssi_Kostiainen, Kenneth_Christiansen, Christian_Lieber, Thomas_Steiner 06:19:33 MC: I see Matt also reviewed it 06:20:04 RRSAgent, draft minutes v2 06:20:04 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html anssik 06:20:13 RRSAgent, make logs public 06:20:16 MC: Alright, issues are up-to-date 06:20:33 CL: We could have a look at the testing topic, around shortcuts 06:20:41 ...Which is the only pending test. 06:20:45 https://github.com/web-platform-tests/wpt/pull/24452 06:20:46 https://github.com/web-platform-tests/wpt/pull/24452 06:21:13 TOPIC: Shorcuts tests 06:21:16 MC: Let's switch topics to testing 06:21:31 scribenick: tomayac 06:21:40 RRSAgent, draft minutes v2 06:21:40 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html anssik 06:22:00 Scribe: tomayac 06:22:01 MC: Tests are looking good. The only comment I had was: right now we're defaulting the URL to the manifest 06:22:05 RRSAgent, draft minutes v2 06:22:05 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html anssik 06:22:25 i.e., we have url: "" 06:22:52 https://github.com/web-platform-tests/wpt/pull/24452/files#r467212849 06:23:01 CL: Another discussion is around (pasted link) 06:23:31 MC: Whether having an empty URL for "url" was a bug or a developer issue. 06:23:42 "shortcuts": [{"url": "",}] 06:23:49 MC: For example (pasted code) 06:24:00 MC: IMHO it's not a bug 06:24:12 ...Basically just a developer error. An impl can warn. 06:24:23 ...But don't think. we should do more about it 06:24:29 CL: So resolve the convo 06:24:53 MC: Christian, are you OK to add the missing files? 06:24:55 CL: Yes 06:25:01 ...Can bring back the test 06:25:33 MC: An interesting problem that arises from shortcuts and other deep links is what happens if an app is showing and you go to one of the shortcuts. 06:25:41 ...What happens to the history of the app itself? 06:25:47 ...I'm droppping a link 06:26:14 ...imagine you launch an app, navigate around. Then you minimize the app. Then in Windows you pick a shortcut. 06:26:31 KC: On Windows it starts another instance 06:26:44 ...That's Windows, not sure about others. 06:26:54 MC: Any time you click a shortcut? 06:27:07 KC: That's why we have the launch event that could intervene 06:27:12 Related issue https://github.com/whatwg/html/pull/6085 06:27:26 KC: I sometimes open Twitter in a separate tab for quick one-offs 06:27:35 MC: This came up in HTML for navigator 06:27:46 MC: Is this supported in Chrome OS? 06:27:53 KC: On Android it's implemented 06:28:07 KC: (Tries what happens on Android) 06:28:33 ...On Android it replaces the running instance 06:29:01 ...I lost my state 06:29:10 TS: Isn't this what native apps do? 06:29:21 KC: (Tries what happens on Google Maps) 06:29:32 KC: This is what happens on native apps 06:30:15 TS: Mostly is not confusing. People don't assume several instances for an app 06:30:28 KC: It's annoying since it replaces whatever users were doing 06:30:40 MC: (Also trying) 06:30:54 MC: You tried with Maps? 06:30:59 KC: Yes, with Mpas 06:31:06 s/Mpas/Maps 06:31:12 KC: The same with Twitter 06:31:23 MC: I wonder why? I agree that it's annoying 06:31:56 TS: Isn't this just apps handling state badly? They should warn when state would be lost. 06:31:59 CL: Agree 06:32:13 MC: It just kills the other app and launches a new one 06:32:35 ...testing a native app with shortcuts 06:32:46 ...Let me triple check 06:33:06 MC: Closes and does a complete replace 06:33:20 ...Don't have a strong opinion 06:33:43 TS: My opinion would be to reflect what the platform does 06:34:29 CL: Would expect Windows to replace the instance 06:34:38 xiaoqian has joined #webapps 06:34:42 TS: We should confirm with Microsoft that launching a new instance is intended 06:34:52 MC: Let me confrim with Aaron tomorrow 06:34:59 s/confrim/confirm 06:35:41 MC: On Windows it opens a new browser instance, on Android it kills the running app and restarts (causing a complete replace) 06:36:10 ...Seems to follow OS conventions 06:36:24 https://github.com/whatwg/html/pull/6085#issuecomment-716337809 06:36:37 MC: comments I made over at the HTML spc 06:36:42 s/spc/spec 06:36:45 MC: Just putting in a comment over at the HTML spec 06:37:31 MC: OK, that addresses both the test and the feature per se as it relates to deep links 06:38:05 TOPIC: General moving forward 06:38:30 MC: Let's have a look again at the milestones 06:38:38 https://github.com/w3c/manifest/milestone/1 06:39:26 "Support a way to update explicitly" 06:39:30 MC: Kenneth have you had a chance to support updates? 06:39:30 https://github.com/w3c/manifest/issues/446 06:39:41 s/updates/update 06:39:52 KC: Not yet 06:40:05 MC: Are there user interventions? 06:41:10 TS: Here's what Chrome does: https://web.dev/manifest-updates/ 06:41:32 ...Nothing standardized quite yet, but since Marcos was calling for behavior documentation 06:42:01 MC: Added that link to the issue 446 06:42:03 https://github.com/w3c/manifest/issues/446#issuecomment-716340037 06:42:32 MC: That's enough for now, thanks to Tom, side thanks to Pete 06:43:05 MC: Is there anything that anyone is itching to work on? 06:43:07 KC: No 06:43:14 CL: Tasks 380, examples of scope 06:43:21 ...Was waiting for some PR to land 06:43:37 ...Did we decide on the scope thing? Forgot the exact history 06:44:05 https://github.com/w3c/manifest/issues/380 06:44:25 CL: This is my issue, not sure whtat's blocking it now 06:44:29 https://github.com/w3c/manifest/pull/880 06:44:35 ...I think it's the (pasted link) PR 06:46:38 AK: There's another web.dev article https://web.dev/add-manifest/#scope 06:46:46 MC: We were close to finishing this… 06:47:01 CL: Also open to resume weekly calls or take on other issues 06:47:37 MC: The discussion is a wall of text 06:47:54 ...Christian brough tthis up. Should we resume the working sessions 06:48:05 s/brough tthis/brought this/ 06:48:14 MC: I would also agree 06:48:32 MC: Not sure how much you got out of this, Kenneth 06:48:38 KC: The first ones were good 06:48:52 AK: If we focus on issue, pre-triage and then we can prepare 06:49:14 MC: Agree. If we need specific expertise, we should do it that way 06:49:32 KC: Same issue as Anssi, always takes time to warm up and get context 06:49:45 AK: If you think others point of views could help, let us know 06:49:57 ...Then we can have a short chat, very focused 06:50:10 MC: Don't have many of those, but that's a good problem to have 06:50:31 MC: Hoping to re-engage with the spec, starting this week. Will drag people in as needed 06:50:45 MC: Given we had the lapse in working on this, we have all lost track a bit 06:50:56 ...That's fair, we can catch up 06:51:08 CL: Exact same thing. Was the same status already back in May 06:51:26 KC: For something that's a living standard that's good 06:51:34 AK: Do we have a ton of feature requests? 06:51:40 MC: Yes 06:51:45 https://github.com/w3c/manifest/issues?q=is%3Aissue+is%3Aopen+label%3A%22Feature+Request%22 06:51:52 Feature Requests ^^^ 06:51:54 AK: Do we have a plan? 06:52:14 MC: Right now the plan is to defer all feature requests until we can proceed the spec to CR 06:52:19 ...Not taking any new features 06:52:31 ...Unless they are of siginificant prio to implementors 06:52:49 AK: Is it fair to say Chrome/Google implement, and then sometimes Apple follows? 06:53:09 MC: Yes and no, mostly no. Hopeful Apple folks will continue to talk to us 06:53:17 ...about the things they plan to support 06:53:44 TS: Who was the Apple contact? 06:53:48 MC: No one really 06:54:04 AK: The second implementor doesn't make a contact available 06:54:16 AK: Who is the more likely 2nd implementor? 06:54:20 MC: Mozilla 06:54:31 AK: OK, happy to have Mozilla then 06:54:47 MC: I'm pushing Mozilla's impl forward 06:54:56 AK: Do you have funding? 06:55:20 MC: No funding, but it's my impl, it's an easy spec 06:55:28 AK: Are you looking for funding? 06:55:35 MC: I like my independence 06:55:41 AK: Just asking? 06:56:35 MC: Not a big deal really, it's simple enough, I wrote the code and know it 06:56:44 MC: No compiling involved 06:57:18 MC: We will use Firefox as the second impl, having Safari as the 3rd impl is also good. Safari adheres pretty closely. 06:57:28 ...Impl is open source and we can fix things 06:57:34 KC: Not icons, though 06:57:45 AK: Has Igalia been doing any manifest work? 06:57:49 MC: No 06:57:57 AK: You can throw money at Igalia 06:58:47 MC: Let's wrap this up 06:58:53 https://github.com/w3c/manifest/issues/905 06:58:53 CL: Quick question 06:59:09 ...It's about the monochrome purpose 06:59:24 Related chrome bug https://bugs.chromium.org/p/chromium/issues/detail?id=1096388 07:00:29 TS: The Chrome bug is marked fix, Matt was the reported, glenrob@chromium the owner 07:00:44 TS: Matt is our contact 07:01:03 CL: Judging from the description, it seems to be a simple rename 07:01:15 ...Question would be: is this actually implemented? 07:01:22 MC: Looks like this landed? 07:01:57 TS: Can someone fill in the context? 07:02:32 CL: For notifications before you had the badge icon, so we decided to intro monochrome where you have different color reqs, so it's basically a new name 07:02:52 TS: Let's ping Matt on the GitHub thread 07:02:55 CL: Sure 07:03:03 CL: I do it 07:04:14 "Renamed Manifest::Purpose::BADGE to MONOCHROME to match the spec." 07:04:28 TS: According to the first comment in the bug, monochrome just is there, but doesn't do anything 07:05:08 TS: Why monochrome, and no colors? System req? 07:05:24 MC: Changes to monochrome, so it could be re-colored 07:05:29 ...and used generically 07:06:08 MC: And I think even Safari uses something related 07:06:18 TS: Yes, there is something for the touch bar on Macs 07:06:27 MC: It's in a similar vein 07:06:53 MC: Any other topics? 07:06:58 TOPIC: Adjourn 07:07:03 RRSAgent, draft minutes v2 07:07:03 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html anssik 10:21:32 xiaoqian has joined #webapps 21:01:54 RRSAgent has joined #webapps 21:01:54 logging to https://www.w3.org/2020/10/26-webapps-irc 21:02:09 Meeting: Web Manifest 2 21:02:23 Chair: Marcosc 21:02:31 +p 21:02:41 present+ 21:02:51 present+ 21:02:56 TOPIC: Agenda 21:03:51 christianliebel has joined #WebApps 21:03:58 * "Add a unique identifier for a PWA" - https://github.com/w3c/manifest/issues/586 21:03:59 * "Adding field `display_override` to the manifest" - https://github.com/w3c/manifest/pull/932 21:04:11 present+ 21:07:13 present+ Tiger Oakes 21:07:43 present+ Aaron Gustanson 21:08:12 present+ Alex Russell 21:08:49 aarongu has joined #webapps 21:08:57 krosylight has joined #webapps 21:09:07 here+ 21:09:09 present+ 21:09:19 present+ krosylight 21:09:21 scribenick: slightlyoff 21:09:26 present+ 21:09:27 present+ 21:09:47 TOPIC: Add a unique identifier for a PWA 21:09:55 https://github.com/w3c/manifest/issues/586 21:10:56 dmurph: I can give an overview...added it to the agenda before some of the end of the bug's discussion, but to summarize, "what is a web app?", "how do we uniquely identify a webapp?". Need to solve htis for associated issues: udpates, reviews, etc. 21:12:15 dmurph: currently done 2 different ways in Chromium. On mobile, it's tied to manifest URL. Nice, but you have to have a URL to be a webapp. Some folks have a goal of "let's just have the manifest by itself uniquely identify a site"...well, manifest + origin. Some efforts to decouple the manifest from the document URL...one thing still tying the webapp to something else... 21:12:50 dmurph: desktop does this differently; uses the `start_url`. Downside: if a manifest updates the `start_url`, silently breaks the app. Icons now fail to update, etc. 21:13:04 q+ 21:13:23 dmurph: so ew're already in a bad state, but how do we get to a state where they're standardised? 21:14:09 aarongu: is it disregarding query string in the `start_url` case? 21:14:12 dmurph: don't know 21:14:25 dmurph: we'd need to test. Using a hash of the `start_url` internally. 21:14:36 dmurph: summary of the thread is origin + full manifest URL 21:15:21 dmurph: there's no restriction on having a webapp manifest being on the same origin as the webapp. E.g., `https://example.com/manifest.json` can be pointed to by `https://b.com/` 21:15:39 aarongu: we were trying to resolve that because we were wondering if 3rd parties should be able to install 21:16:01 aarongu: there's a discussion tomorrow about triggering install from a 3rd party....so a PWA app store could trigger an install....kind of related 21:16:19 aarongu: if I understand correctly, want to create an association of a PWA with a storefront? 21:16:22 dmurph: and updates 21:17:04 aarongu: one of the things I've been looking at (no explainer yet) is the ratings and reviews piece; looking at tying to he `related_applications` entries unique identifiers 21:17:22 aarongu: maybe that's a way to resolve it in the context of app stores? 21:17:30 dmurph: haven't thought about how this related to app stores 21:17:41 dmurph: origin + identifier (manifest URL or start_url) 21:18:06 dmurph: my proposal was `start_url` but have it be overridable by the developer...we simplified down to manifest URL 21:18:26 dmurph: ben francis mentioned that it was manifest url 21:18:43 tiger: mozilla uses `start_url` on mobile 21:19:07 dmurph: we're going to need an escape hatch somehow...a field for "override my unique identifier URL" 21:19:38 aarongu: or for instance if your URL changes 21:19:44 (changing domains/ownership, e.g.( 21:19:55 dmurph: for this we were explicitly not considering an origin change in the scope of this bug 21:22:11 there are also first party origin sets 21:22:31 slightlyoff: when we originally designing this, I'd suggested SW scope + manifest URL, so happy to see origin + manifest URL 21:24:21 21:24:31 dmurph: thoughts on manifest URL vs. `start_url`? 21:24:57 aarongu: based on the query-string issue w/ `start_url`, I'd prefer manifest_url 21:26:08 slightlyoff: I suspect we'll have some behaviors that won't work w/ query params across cache claering, both manifest URL and start_url 21:26:30 aarongu: we use query params on manifests to do language differentiation 21:26:49 aarongu: we are going to look into this to see if fingerprinting is happenign at scale 21:27:01 dmurph: are we happy to couple to manifest URL? 21:28:15 slightlyoff: we could perhaps solve the hermetic issue in Web Bundles? Is there a situation that isn't addressed that way? 21:28:26 dmurph: perhaps the problems related to CDN hosting of manifests? 21:28:48 marcosc: looking at the history here...we haven't worked out the update mechanism and how it relates back to this 21:29:11 marcosc: when we originally designed, thought some impl detail would identify things...wouldn't be developer visible 21:29:38 marcosc: the use-case of storefronts...how do I surface these apps. Right now, need to solve the update mechanism 21:30:20 marcosc: looking at the implementations for install time, an implementation detail across all engines? 21:30:32 marcosc: by settling on something...needs to be in the spec? 21:31:43 slightlyoff: proposed resolutions: can we summarize, put in non-normative manifest spec text? And if taht's not palletable, write up as a separate incubation/doc? Important to have it written down 21:31:53 marcosc: sounds ok; dmurph can you write this up? 21:31:54 dmurph: yes 21:32:11 ACTION: dmurph to write up conclusion from this discussion for inclusion 21:33:13 Android code: https://github.com/mozilla-mobile/android-components/blob/master/components/feature/pwa/src/main/java/mozilla/components/feature/pwa/db/ManifestEntity.kt 21:33:38 marcosc: how does this work on Firefox for Android? 21:34:06 NotWoods: this is in a SQL db...can be migrated. Older identifiers could be detected and handled differently 21:34:19 NotWoods: a wrapper around the manifest could determine what these are 21:34:30 dmurph: migration in Chromium is likely to be complex 21:34:59 marcosc: likely as far as we can go on this issue; final thoughts? 21:35:45 dmurph: final thought: do we know what Safari does? Maybe we can add an identifier field before we have to do a big migration? 21:37:52 q+ 21:40:20 slightlyoff: we could use the service worker's scope URL in conjunction with the start URL, where the start URL must be in-scope of the service worker scope. 21:40:42 slightlyoff: `start_url` doesn't seem as clearly to identify the app's "identiy" as the manifest URL (SW scope + manifest were my old proposal) 21:41:33 21:42:28 marcosc / slightlyoff: 21:42:42 TOPIC: Adding field `display_override` to the manifest 21:42:43 dmurph: I have enough to go on 21:42:47 https://github.com/w3c/manifest/pull/932 21:43:27 dmurph: quick overview: simplest way to understand the problem: if a site wants `minimal-ui`, only compatible w/ developers that support it. 21:43:39 dmurph: we have a hard-coded fallback chain today 21:44:11 dmurph: fullscreen -> standalone -> minimal -> browser is strict 21:44:45 dmurph: what about sites/browsers that don't overlap this way? e.g., site that would want to be `minimal-ui` if available, but browser if not, but still installable? 21:45:05 dmurph: want to let developers have control over their preferred fallback order 21:45:12 q+ 21:45:33 dmurph: this unlocks future explorations for display; e,g. tabs and control overlay. Unclear where to put these in the fallback list 21:46:18 dmurph: standalone and minimal relationship to tabs? Hard to make a single call. Adds flexibility to better support those additions. More ideas around "create your own display mode" for allowing more optionality around features. Starting with custom fallback list. 21:46:49 aarongu: had the same question...marked resolve, but matt brought up the example of fallback order 21:47:14 aarongu: how to handle situations where browsrers don't support `display_override`? Missing from the PR 21:47:26 21:47:40 dmurph: will handle it; can you re-open the discussion? 21:48:13 dmurph: blocked on getting feedback from others. Signals from Mozilla and Apple would be helpful. What aren't we seeing? What should be done differently? 21:48:42 marcosc: krosylight, I know you're just observing, but perhaps you can figure out who can look at this from Mozilla? 21:48:57 krosylight: I can try to poke at someone who can look at this 21:49:10 https://github.com/mozilla/standards-positions/issues/447 21:49:13 marcosc: was a Standards Position filed on Mozilla? 21:49:21 21:50:16 q+ 21:50:17 NotWoods: how will this look for a devloper writing a manifest that only targets new browsers? would you _only_ provide this field? 21:50:48 dmurph: you'd still need `display`, I htink. Could just be `browser`, but you'd add `display_override` in addition 21:51:02 NotWoods: is that confusing? Could we have a world where you only use override if you don't care about back-compat? 21:51:53 dmurph: primary issue was back-compat, as you say. JSON parsers do weird stuff w/ ordering, so we didn't want to touch `display`. Could change this back to be "either"...not require `display`...odd situation, but I'm imagining that developers are looking for docs for each field, but docs would explain fallback chain 21:52:03 marcosc: can you discuss JSON ordering issue? 21:52:43 dmurph: you could set a `display` w/ an array, and a second `display` property w/ a string...one would win, not what folks wnat, would require more hacking around JSON parsing 21:53:12 dmurph: would like to still support `display` for compat reasons...you're right, though, that this is weird 21:53:44 aarongu: my only other comment is that we need to make this clear to developers that this is only necessary that you only need this if you want _different_ fallback behavior 21:54:01 aarongu: as for only having one or the other, technically nothing is required 21:54:13 NotWoods: should we support the new fields in `display` too? 21:54:27 NotWoods: should we require the array for newer types? 21:54:52 21:55:14 dmurph: I'd prefer that be in the array; would otherwise need to spec the strict fallback ordering 21:55:33 dmurph: we can think of cases where folks don't want the set-in-stone-fallback-order 21:55:48 NotWoods: would be confusing to say "use `display`, except for these cases..." 21:56:36 slightlyoff: to NotWoods point, supporting a valid value in _either_ location seems like a good "v2" solution 21:57:00 21:57:41 aarongu: tabbed is one of these situati8ons where feature set configuration with 4 modes with options might prevent the need to add new modes in the future? 21:58:24 dmurph: there's a section on this in the explainer; e.g. pieces around back button...proposed a way for the developer to create an alias (e.g. "tab without back button"), with explicit fallback order 21:58:30 https://github.com/WICG/display-override/blob/master/explainer.md 21:58:58 21:59:19 aarongu: I was arguing for "fallback" in the name...but if it's going to do more work futher down the road, maybe that doesn't make as much sense? 21:59:35 dmurph: how do folks think about `display_fallback_chain` or `display_fallback_list`? 21:59:46 Discussion of display_modifiers: https://github.com/WICG/window-controls-overlay/blob/master/explainer.md 21:59:55 dmurph: could do `fallbacks`? descriptive enough? 22:00:13 slightlyoff: timebox the bike-shedding? 22:03:25 TOPIC: Badge renamed to monochrome 22:03:29 https://github.com/w3c/manifest/issues/905 22:03:39 MC: we were wondering if it had landed in Chrome 22:03:56 TO: It looks like it did land. 22:04:29 DM: Not sure if I can answer if this has shipped or anything yet, but will get confirmation. 22:04:57 TOPIC: Adjourned 22:05:13 RRSAgent make minutes public 22:05:29 rrsagent, make log public 22:05:35 rrsagent, draft minutes v2 22:05:35 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html marcosc 22:06:28 Present- Anssi_Kostiainen 22:06:34 rrsagent, draft minutes v2 22:06:34 I have made the request to generate https://www.w3.org/2020/10/26-webapps-minutes.html marcosc 22:06:40 jsbell has joined #webapps 22:13:58 rrsagent, bye 22:13:58 I see 1 open action item saved in https://www.w3.org/2020/10/26-webapps-actions.rdf : 22:13:58 ACTION: dmurph to write up conclusion from this discussion for inclusion [1] 22:13:58 recorded in https://www.w3.org/2020/10/26-webapps-irc#T21-32-11