- From: Kagami Sascha Rosylight <notifications@github.com>
- Date: Mon, 10 Feb 2025 08:35:47 -0800
- To: w3c/push-api <push-api@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/push-api/pull/385/review/2606180526@github.com>
@saschanaz commented on this pull request. Can we split `mutable` out of this PR for now? > @@ -56,7 +56,8 @@ }; </script> </head> - <body data-cite="service-workers FILEAPI secure-contexts hr-time permissions ECMASCRIPT"> + <body data-cite= + "service-workers FILEAPI secure-contexts hr-time permissions ECMASCRIPT NOTIFICATIONS BADGING"> Err, is this case sensitive or can we make things consistent? > + </p> + </dd> + <dt> + <code>require_interaction</code> + </dt> + <dd> + <p> + A boolean. + </p> + </dd> + <dt> + <code>data</code> + </dt> + <dd> + <p> + Any JSON value. Do we know how many existing callers set binary data (arraybuffer/blob etc) here? One can still use base64 though (and Gecko serializes it to base64 anyway). > + <ol> + <li> + <p> + Let <var>message</var> be the result of [=parse JSON bytes to an Infra + value|parsing JSON bytes to an Infra value=] given <var>bytes</var>. If that throws + an exception, then return failure. + </p> + </li> + <li> + <p data-cite="INFRA"> + If <var>message</var> is not a [=/map=], then return failure. + </p> + </li> + <li> + <p> + If <var>message</var>["`web_push`"] does not [=map/exist=] or is not 8030, then Is this kind of check common for web APIs handling JSON payload? Feels sorta random, I wonder what about using [JSON-LD](https://www.w3.org/TR/json-ld/) like `"@context": "https://www.w3.org/ns/web-push"` as [ActivityPub does](https://w3c.github.io/activitypub/#Overview). > + </dt> + <dd> + <p> + A boolean. + </p> + </dd> + <dt> + <code>silent</code> + </dt> + <dd> + <p> + A boolean. + </p> + </dd> + <dt> + <code>require_interaction</code> Sorta understandable from infra point but I guess the callers would have to deal with this casing in that case, like: ```js onpush = async (ev) => { // Err, our little cute browser doesn't support declarative web push, // so we are here for nice progressive web. const { notification } = await ev.data.json(); // This will mostly work until you use requireInteraction. // await registration.showNotification(notification.title, notification); const notificationOptions = { ...notification, requireInteraction: notification.require_interaction, // 😅 }; await registration.showNotification(notification.title, notificationOptions); }; ``` I wonder it would make sense to have an exception here to prevent extra boilerplate and head-scratching? -- Reply to this email directly or view it on GitHub: https://github.com/w3c/push-api/pull/385#pullrequestreview-2606180526 You are receiving this because you are subscribed to this thread. Message ID: <w3c/push-api/pull/385/review/2606180526@github.com>
Received on Monday, 10 February 2025 16:35:51 UTC