Re: [Webpush] Message update PR

Martin Thomson <martin.thomson@gmail.com> Thu, 28 January 2016 04:32 UTC

Return-Path: <martin.thomson@gmail.com>
X-Original-To: webpush@ietfa.amsl.com
Delivered-To: webpush@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6A4C1B32D5 for <webpush@ietfa.amsl.com>; Wed, 27 Jan 2016 20:32:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] autolearn=ham
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 oYcJioFIzVCB for <webpush@ietfa.amsl.com>; Wed, 27 Jan 2016 20:32:50 -0800 (PST)
Received: from mail-ig0-x22f.google.com (mail-ig0-x22f.google.com [IPv6:2607:f8b0:4001:c05::22f]) (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 090CA1B32D1 for <webpush@ietf.org>; Wed, 27 Jan 2016 20:32:50 -0800 (PST)
Received: by mail-ig0-x22f.google.com with SMTP id mw1so4771580igb.1 for <webpush@ietf.org>; Wed, 27 Jan 2016 20:32:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=NyNPOGb+j3T5ehUPmLwTNQ0/5BmNL9IwINUfsgbvbro=; b=rJt7l1mcbgRyArZCIhZ/BxjInN/vDjE2LayGhmasN/d9jEZ3ilomY+Vmqk1Y/zjuM3 5FLAw8NMfXLDjiLA5FRVMnrIcpQDoWU6MJf6dqMsKp10yHBDfywvjBYV7zSOZArPxVuk zDKsNZGDJKZNVfwS2SIFS960N+0eLFqcYnCFEpq/825TIxs5CgI4kewBv4rFcBiGGIuY kI5VV6EsLO1dsG/SYPohlAGdJMuVFtNyNvahJtQLKag7l23MUstzc1LyC7gWDBZmmQhm lrO7MU+gDI1vzx4+jqncbQDdMBrz5R88b35bOUFeYLCNOfOmfvI5Z4CsrVhHFz4bDOAY Y5rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=NyNPOGb+j3T5ehUPmLwTNQ0/5BmNL9IwINUfsgbvbro=; b=gSJSgEwgmnzMdYOTpTNtGS1Iq7cBqg8H7JEDKxG3HvOk2D4bNJhuSn0JNgiLuUG4bz BZmwuuWRfWdgp4/fIgM2P8U+Y8UKZ7JsmznvEKlA7/W7/jnOwhBbCusW5ZsN2VkopCQ8 Z0vbppimEz2fWTK2WT3WsqXL/eQC8A0TlJk7T5pAjXhyMrgMB2WppoIHe4BRZDqrvkm0 lj5FZq8qJ0G+dZumjRVWWteh4/h0nWqBcfgFLy2DBXm5HtpJKQ4BHupFe65axVWOBjOX Flc9YoL358xkpBkhIMeIwD5FhzjXDVS2PGxIXT30BVokT2yqKvPbc2CTmnxH7Vo/Onj5 7UrQ==
X-Gm-Message-State: AG10YORfLL7A2RzkZsukzemFoKTqmpmVcjz4fREr/dJkKCQwwcUhZUjU0LdPs7jFyFQUIXiPbeJwNaygoEJs3Q==
MIME-Version: 1.0
X-Received: by 10.50.13.102 with SMTP id g6mr1015822igc.77.1453955569340; Wed, 27 Jan 2016 20:32:49 -0800 (PST)
Received: by 10.36.149.130 with HTTP; Wed, 27 Jan 2016 20:32:49 -0800 (PST)
In-Reply-To: <CAP8-Fq=P3KQ4mAP=Ouycmn4vvNLB1n30pBf1aBaAJ30kqM-k3Q@mail.gmail.com>
References: <CABkgnnX-oO5yc58zp3CzLhsp8UQv_QW6RZw_xEPOd9nUukCoCg@mail.gmail.com> <BY2PR0301MB06470F90FC2A3801FEB0917983F70@BY2PR0301MB0647.namprd03.prod.outlook.com> <CAP8-FqkTkKSQHEHz=HREjkgAd_PuiUcEMLdTJT+fTY4uf_p0Rg@mail.gmail.com> <CABkgnnVmF0_tw5Yn2w9=QZwWAZmLGDt1bapv0bXWFtp17av_dw@mail.gmail.com> <CAP8-Fq=P3KQ4mAP=Ouycmn4vvNLB1n30pBf1aBaAJ30kqM-k3Q@mail.gmail.com>
Date: Thu, 28 Jan 2016 15:32:49 +1100
Message-ID: <CABkgnnU-Geek1w_9w21pnOxrfseCrar2F81Z6CZ8spFG6k2ALw@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Costin Manolache <costin@gmail.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <http://mailarchive.ietf.org/arch/msg/webpush/-X6WDkBnxvvM4kD1CYGz1K_UeHk>
Cc: Brian Raymor <Brian.Raymor@microsoft.com>, "webpush@ietf.org" <webpush@ietf.org>
Subject: Re: [Webpush] Message update PR
X-BeenThere: webpush@ietf.org
X-Mailman-Version: 2.1.15
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, 28 Jan 2016 04:32:51 -0000

Sorry about the much-belated response.  I'm updating the PR with a
length restriction.  Still not sure about the

On 12 January 2016 at 12:04, Costin Manolache <costin@gmail.com> wrote:
> I know broadcast is not in scope for this release - but if/when we add it,
> it will make things
> more confusing with topic.

Hmm, that may be right.  But a short name that isn't already taken is
hard to find.  Collapse-Key is highly application-specific and I know
that HTTP have a problem with single-purpose header fields.  I was
tempted to suggest "Subject" actually as being similar, but not the
same.

>> Would the base64(url) alphabet suit you well enough?  I didn't add
>> that restriction.
>>
>> What about a length restriction?  I think that Ben and I discussed
>> just rejecting push messages with ridiculously long topic names.
>>
>
> Agreed, base64(url) with a reasonable size is good.

UUID runs to quite a few characters, so how about 32 characters from
the base64 URL-safe alphabet.  I'll put that in the PR.

> Current patch requires the messages to include the topic header, and it
> still
> generates 3 message IDs ( "creates a new push message resource")

Yes, you are right.  Though I think that you only need a single message ID here.

> Alternative would be to just allow updating the original resource, if it was
> not sent.

Yes, but that requires knowing the identity of the original resource,
something that requires additional state at the application server.
The discussion at the last meeting revealed that many application
servers don't like this as it imposes restrictions on how they operate
and a bunch of extra state.

> BTW - there is one important change in the patch, allowing push senders to
> DELETE
> the resource. Allowing update would be consistent with that.

Yes, DELETE is very useful, though it does require some state.  This
isn't really new though.

Note that you can also push with the same topic and a very short TTL
to in-effect reduce the TTL of an existing message.  I struggled to
explain that clearly in the PR as Brian will tell you, but it's an
option for those who don't like maintaining the extra state.