Re: [Webpush] Non-blocking comments on -05

Kit Cambridge <kcambridge@mozilla.com> Thu, 02 June 2016 07:01 UTC

Return-Path: <kcambridge@mozilla.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D807912B02D for <webpush@ietfa.amsl.com>; Thu, 2 Jun 2016 00:01:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mozilla-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rpp1YxG-9anX for <webpush@ietfa.amsl.com>; Thu, 2 Jun 2016 00:01:17 -0700 (PDT)
Received: from mail-pa0-x229.google.com (mail-pa0-x229.google.com [IPv6:2607:f8b0:400e:c03::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 23B3412D580 for <webpush@ietf.org>; Thu, 2 Jun 2016 00:01:17 -0700 (PDT)
Received: by mail-pa0-x229.google.com with SMTP id um11so3539849pab.0 for <webpush@ietf.org>; Thu, 02 Jun 2016 00:01:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Bmr9EuGwV1dBrcs8k2rNoFai1YIJwhLaRIYI+O9J9fc=; b=0rnt8jciebPBkrNhgFY7ipWO1vKouYPOUKtywLXHlDdsz7OGVPO8KvIx5E4hZi4TPy FHYZPMiMuC+gQ1EbNbRTy1hC12LwdeognEMkocpKaQuptDnezLfAHoXQDTqKZr1oM5et 2d2MLcm9rg58zm6lHSPigqEqGBjS+cb3mwpJvVai4wTZVXLPTYbAComwMkVKCy4jF6OK IGuUSejxxBQ/5nCm76z5HbDNh7fVUE+gZ04P8GpGxyDTNO6XKjCeVJLX+gQ/w4uhgPcS nwltlZtPn35liOWnUgS5eS3s7QJvUqvUufvv+be7HgaQ6PnSkIl5gw+A5ZWtUeYP+7dp FvpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=Bmr9EuGwV1dBrcs8k2rNoFai1YIJwhLaRIYI+O9J9fc=; b=XuN0G5UYMO7DrH7QwImjth9AKx+oMatP9tyCCKQKMC6xNtkrvuYlu7W3CFfWpgkVaG 822s7SwX88HnhfKAY+kftlCSndo/goT6EqX+WP8aP7K4EFS9YePY45v1YQnPWLSl3TAP 6YNCpzU6RJERcKZ5dlrGEZeivBTMGMIlNCi//9QkyvprfKXMU+ZMnB/YWMGhdIYkbyAO kZv6HWbRx/57SHYKXLYSNsWIXL09wIWqCaknwLz+69CGfsMhKUoTqIKh23fHB2tvVxbS ZxhQbqw05KssGQ4QdGHWqhu7RjBxapT8qRCquRgW0eGCAP9enhTXS37zJcHzV3DWj734 ChGA==
X-Gm-Message-State: ALyK8tIrfvgd2U+wE8OmRA2ppGcP9vL2GHqCbh5jik8secljsyat1s+tY1Vpw9FzHHziQh71
X-Received: by 10.66.22.134 with SMTP id d6mr3162670paf.35.1464850876479; Thu, 02 Jun 2016 00:01:16 -0700 (PDT)
Received: from [172.20.10.2] ([172.56.38.248]) by smtp.gmail.com with ESMTPSA id 7sm17477370pfe.3.2016.06.02.00.01.14 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Jun 2016 00:01:15 -0700 (PDT)
Content-Type: text/plain; charset=iso-8859-1
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Kit Cambridge <kcambridge@mozilla.com>
In-Reply-To: <CABkgnnWebfxnPOLMXK+n+2G=c8DOG4Eb4AWMsWXJmmdnE4pUwg@mail.gmail.com>
Date: Thu, 2 Jun 2016 00:01:32 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <989D9268-BE9A-47F7-9181-C0F323D1DA1F@mozilla.com>
References: <CALt3x6=_yc9TegOut_g+6W5fvhP7sfW+_gwRZnEVFA5PNgER6Q@mail.gmail.com> <6af49c2baf1b4e4f884b812d573b947e@Antiope.crf.canon.fr> <CABkgnnWebfxnPOLMXK+n+2G=c8DOG4Eb4AWMsWXJmmdnE4pUwg@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/k9DDGCeh_cwWRqnbPI0rMCyNyJI>
Cc: Brian Raymor <Brian.Raymor@microsoft.com>, Peter Beverloo <beverloo@google.com>, "webpush@ietf.org" <webpush@ietf.org>, RUELLAN Herve <Herve.Ruellan@crf.canon.fr>
Subject: Re: [Webpush] Non-blocking comments on -05
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <webpush.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webpush>, <mailto:webpush-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webpush/>
List-Post: <mailto:webpush@ietf.org>
List-Help: <mailto:webpush-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webpush>, <mailto:webpush-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Jun 2016 07:01:24 -0000

Hi all,

First, I'd like to echo Peter's "thank you". I'm very grateful for all your work in putting this standard together and marshaling feedback, here and on GitHub! In addition to the comments from Peter, JR, and Hervé, I have a few questions and suggestions. None of them block the WGLC.

In section 4.1, I'm not clear what "unable to receive push messages that are aggregated for the lifetime of the subscription" means. If the UA is forwarding requests, could it still disaggregate messages sent to a subscription set before delivering them to the other clients?

In section 5.1...

* It might help to include the `Link: </r/3ZtI4YVNBnUUZhuoChl6omUvG4ZM>; rel="urn:ietf:params:push:receipt"` header in the `POST` example. The prose suggests a symmetry with subscription sets, but I was confused how the app server specifies the receipt subscription URL on the first reading.
* I agree with Peter that clarifying whether receipts are sent for TTL=0 messages would be nice.
* Does it make sense for the push server to use a 400-class status code in a receipt to report a nack? For example, if the UA failed to decrypt the message, or the app threw an exception. IIUC, the spec allows 204 for successful deliveries and 410 for expired messages, but it's not clear if the PS can send other statuses in receipts.

* I'm also curious to hear implementer feedback about receipts in general.

In section 5.4...

* Could we restrict the `Topic` grammar to just `token`? ISTM base64url already fits this definition.
* If the replaced and new message specify TTLs, and the new TTL is shorter...does it just replace the old TTL? (This is implied by "the information that is stored for the push message is updated", as well as the restriction that the response TTL must be <= request TTL, but I wanted to double-check).

In section 6, are non-zero `wait` values allowed? (I'm assuming not, since the UA can disconnect at any time).

In section 6.2...

* Is there a way for the push server to indicate to the UA how long it's willing to wait for acks before re-delivering? (For instance, so that the UA can batch acks for a burst of incoming messages. Or does this not make sense with H2?)
* Can a UA "nack" a message, or would this be implementation-specific? (Related to my note above about reporting nacks to the AS in the receipt subscription).

In section 7.2, could we consider allowing push servers to reject messages < 4k? If the PS is proxying the message to a third-party server, which Mozilla's server does on iOS and Android, it might not be able to control the size limit.

In section 7.3.1, if the UA deletes a subscription that belongs to a subscription set, does it receive a 410 for the deleted subscription on the subscription set stream?

Cheers,
- kit