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

Costin Manolache <costin@gmail.com> Fri, 03 June 2016 14:56 UTC

Return-Path: <costin@gmail.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 6813912D1E7 for <webpush@ietfa.amsl.com>; Fri, 3 Jun 2016 07:56:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 CZrPMIBuzr0W for <webpush@ietfa.amsl.com>; Fri, 3 Jun 2016 07:56:41 -0700 (PDT)
Received: from mail-pf0-x231.google.com (mail-pf0-x231.google.com [IPv6:2607:f8b0:400e:c00::231]) (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 2913112D6A9 for <webpush@ietf.org>; Fri, 3 Jun 2016 07:56:35 -0700 (PDT)
Received: by mail-pf0-x231.google.com with SMTP id b124so44522723pfb.0 for <webpush@ietf.org>; Fri, 03 Jun 2016 07:56:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=q3ejmLFDPMA+nnfHFbvPpqVnD0osHFC0u9LCW+DBT7Y=; b=jwjxF4+1nKrgDB0priklaZcLtGx/1ssWAlUjd8RyWnQduIMWbFeKteP7HaS0gwP6hG qmdWNNaxEwIj+szKmYQsCeH9/TiGUSydUoDvlZAB16VoHBtFpayijeTBt5M1uBHOYXhl 51/v6CxKwfE4LJ5H573rkSvMXorHodlXv2yNvlwHG3g53Lzik0Pco8FZNAZ1nwbPzNL/ XKyYV0rMaBCpu0eg/5p84JOWBw2BASWGTPlB++VzoPc5ck5U+0Nc+5Osvlk7qyCZBiQl n2ospRwdxr/pz68tGEtvcgoEuzKDLfM6OvF5hWCRDQNdmxRATdVxA1a+ZRBRYgvexIxS OpRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=q3ejmLFDPMA+nnfHFbvPpqVnD0osHFC0u9LCW+DBT7Y=; b=V+HLM1ZoHTw4ZFFNsRnnLbpz6dxp430TAAXhWdsiD73Z0rXoRZUmn/mSe/EXiyugoB +dU/I/urtlUo8afBMJA8xadZScT2VU8FJhUXJ9By0v27M7m+AC/zzH3X9Vk21cIQIw5y UKWbHHQNsRUJIvZ0QAyG4BhocrnAuYQsd1QK3zGY+o+JXmtc0Ei9+cgwXDXngZpXCGM7 w4tb7/Fh46Pl3UuDRZyI8Hwkfddw9mMjlRKXw1s3VgiBqn+eCrHPY4a5+//LEeB22bFQ NSgVeGkMng2sM6w5vE5yZZPsDxZt1GtwoFwcv9cwiqwEzojbiIAOQaIT8YZTzCqBgszh yIUw==
X-Gm-Message-State: ALyK8tIgTWKWB7cqni+JKnlO0tvMiWOCbLtTIB2jLqZdZ41HQi05ThWgJ0yQ4cihqFYcL6ERT3ZlyPZGjVpArQ==
X-Received: by 10.98.85.66 with SMTP id j63mr6566998pfb.90.1464965794677; Fri, 03 Jun 2016 07:56:34 -0700 (PDT)
MIME-Version: 1.0
References: <CALt3x6=_yc9TegOut_g+6W5fvhP7sfW+_gwRZnEVFA5PNgER6Q@mail.gmail.com> <6af49c2baf1b4e4f884b812d573b947e@Antiope.crf.canon.fr> <CABkgnnWebfxnPOLMXK+n+2G=c8DOG4Eb4AWMsWXJmmdnE4pUwg@mail.gmail.com> <989D9268-BE9A-47F7-9181-C0F323D1DA1F@mozilla.com>
In-Reply-To: <989D9268-BE9A-47F7-9181-C0F323D1DA1F@mozilla.com>
From: Costin Manolache <costin@gmail.com>
Date: Fri, 03 Jun 2016 14:56:25 +0000
Message-ID: <CAP8-Fq=ccph+RcKH9byKD6f-05zHYkUvMVG=OR=4=rq06dc7DA@mail.gmail.com>
To: Kit Cambridge <kcambridge@mozilla.com>, Martin Thomson <martin.thomson@gmail.com>
Content-Type: multipart/alternative; boundary=94eb2c0cdac8ccccbf053460ed4f
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/V09jv55cXUIlmLPZ-b5AUSd2OaU>
Cc: Brian Raymor <Brian.Raymor@microsoft.com>, RUELLAN Herve <Herve.Ruellan@crf.canon.fr>, "webpush@ietf.org" <webpush@ietf.org>, Peter Beverloo <beverloo@google.com>
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: Fri, 03 Jun 2016 14:56:51 -0000

On Thu, Jun 2, 2016 at 12:01 AM Kit Cambridge <kcambridge@mozilla.com>
wrote:

> 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.
>

Would generate too much traffic and load, and would increase the
implementation costs. In some cases
the messages can be expired by the storage system, in batch - it wouldn't
be a problem if 'nack'
would be a rare case, but in mobile a very large number of devices (
tablets, etc ) are offline for
long time so nack would be very frequent.



>
> * 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).
>

One thing to keep in mind is that some PS may use nosql and be distributed
and use eventual consistency.
Messages have a timestamp, so either they will be collapsed, or both will
be sent. If the new one has shorter
TTL, it may get lost.


>
> 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?)
>

Batch acks would be useful, but with resource URL it's trickier. If ACK
would be implemented at lower level it may be possible
( i.e. UA would ack the H2 stream IDs of the messages ), but it's an
optimization that can be done later.

I expect PS will re-deliver on the next connection or monitor request.


> * 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).
>

It would add costs to the PS, and I don't think it's a common use case. To
'nack', the UA needs to first get the message to know the ID.


>
> 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.
>

+1

Costin


>
> 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
>
> _______________________________________________
> Webpush mailing list
> Webpush@ietf.org
> https://www.ietf.org/mailman/listinfo/webpush
>