Re: [Webpush] Message update PR

Costin Manolache <> Mon, 11 January 2016 17:00 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 16AB01A8ABB for <>; Mon, 11 Jan 2016 09:00:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 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, SPF_PASS=-0.001] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id VukqeQA5z1St for <>; Mon, 11 Jan 2016 09:00:43 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4003:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AA5891A8AC0 for <>; Mon, 11 Jan 2016 09:00:43 -0800 (PST)
Received: by with SMTP id w75so23838953oie.0 for <>; Mon, 11 Jan 2016 09:00:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=e2hIQT9nZ5sY6HR06QtHcdZmOrWxZme+RrSuoDPb6g0=; b=MAYJ7FDjh9B1c9P9uQP5udS3/jz3OvRc3FJDqEf0fLIJRQyFM4tmO/R93MJMASPQqT oShH6B+TPAWgjUBy/unehR3xlls8MmzqeF1ari+siUwEQwKCaAa3Vi2HXG9jsX4PqpAv u8hI0XmuYh/aF56kYnWtYSKuQReC4bi9dWBhKIpnG6nPnloEGVjrtyEoA61iVY/9irna /mMhLBDtyrEkmBFLWfExUvLXJ3kb/VTDFuINIm/Sr6526gmYHTYXIaUqOfBBrZEzgpvs nwnTYl19jukeAP06d0iTwTI6jQgcTaQrfUmOVKAaoBX8NM+cEXyGpEQg7bw4aIuQ4V8y X0XA==
MIME-Version: 1.0
X-Received: by with SMTP id c130mr91921203oig.93.1452531643034; Mon, 11 Jan 2016 09:00:43 -0800 (PST)
Received: by with HTTP; Mon, 11 Jan 2016 09:00:42 -0800 (PST)
In-Reply-To: <>
References: <> <>
Date: Mon, 11 Jan 2016 17:00:42 +0000
Message-ID: <>
From: Costin Manolache <>
To: Brian Raymor <>
Content-Type: multipart/alternative; boundary=001a1137b1129bba49052911e031
Archived-At: <>
Cc: Martin Thomson <>, "" <>
Subject: Re: [Webpush] Message update PR
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of potential IETF work on a web push protocol <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 11 Jan 2016 17:00:46 -0000

- +1 in general

- Doubts about the name "Topic" - many pubsub users will be confused, it is
not really a topic,
just a key

-  We may relax the '4 collapse keys' limit for GCM, shouldn't be a problem
for webpush.

Can we change a bit the wording to allow some optimizations we do: a
message with topic (collapse
key) may be optimized for 'sync usage' - i.e. even if the device is online,
if push service detects
frequent messages in a topic (for example user receives lots of email) it
may delay and collapse
messages. I.e. not only " If the user agent is offline".

Also I would prefer (for implementation purpose) a simpler ID syntax
instead of quoted string.
It's going to be a database key, short an unambiguous seems better. URI
path component would
be nice.

Finally, a more generic approach would be to allow the sender to specify a
MessageID - than
multiple messages with the same ID could override each other ( identical
with topic ), but the main
benefit is that senders will avoid a lookup and mapping push-service IDs to
their internal IDs in
acks. Push service can internally combine the subscription ID with the
sender-provided message ID.


On Sat, Jan 9, 2016 at 1:10 AM, Brian Raymor <>

> Is there any further feedback for Martin's pull request below?
> Thanks,
> ...Brian
> -----Original Message-----
> From: Webpush [] On Behalf Of Martin
> Thomson
> Sent: Thursday, November 12, 2015 1:00 PM
> To:
> Subject: [Webpush] Message update PR
> The above pull request and commit is the substance of what we
> discussed in Yokohama regarding push message updates.  This proposes a
> new header field, Topic, which can be added to a push message.
> This doesn't really replace messages in the same way that the last one
> does.  Instead, it causes the old message to be acknowledged/deleted
> at the same time that the new message is created.  This avoids all the
> nasty race conditions we discussed at the meeting.  If the old message
> is being delivered, then this causes it to be acknowledged early;
> since acknowledgment is idempotent, there are no race conditions.
> --Martin
> _______________________________________________
> Webpush mailing list
> _______________________________________________
> Webpush mailing list