Re: [Webpush] When UA should send an acknowledgement?

Martin Thomson <martin.thomson@gmail.com> Wed, 08 June 2016 04:37 UTC

Return-Path: <martin.thomson@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 82BA212D51A for <webpush@ietfa.amsl.com>; Tue, 7 Jun 2016 21:37:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 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, 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 1ne2_y7P5-jk for <webpush@ietfa.amsl.com>; Tue, 7 Jun 2016 21:37:03 -0700 (PDT)
Received: from mail-qk0-x235.google.com (mail-qk0-x235.google.com [IPv6:2607:f8b0:400d:c09::235]) (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 814D012D180 for <webpush@ietf.org>; Tue, 7 Jun 2016 21:36:57 -0700 (PDT)
Received: by mail-qk0-x235.google.com with SMTP id s186so79575709qkc.1 for <webpush@ietf.org>; Tue, 07 Jun 2016 21:36:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=FILMZGW4BL4U6eOq9wFH+vQy+3CA95ftv/fj5BuwZBQ=; b=z8cpAAo1xsc1BZSXv0VP4JM43BxObDtNfAWCZ3mD/+m21zgHG1smDqbIDN3WhuhsKT 6RAWaF3310w+1auYCxaDDbzxr3fmcGbPl+uwtVb5jqrjnvv7rvN9zi626W40dtH31DBv Jzc9Stcz2RdBhwCTlrJmFdMtLoLopE3oGktCtjVN/YHK+3Yu77jD7ck/MIbSOyZt5+l0 Q/MnSCihuRGmAOo2fAcGP7c0j/768Uj+vELzK6z80Sx6sZEnuE9Vqo56N2OZds2cEhb9 iwASF76iWGu4oTOw3Ii0sNaXgU9G533aQzsw+9i/TesuiY5Nr217fCxr+zwRJPqVe67v W00g==
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:from:date :message-id:subject:to:cc; bh=FILMZGW4BL4U6eOq9wFH+vQy+3CA95ftv/fj5BuwZBQ=; b=bcPgiQDpSCXi42N+zEXC1uyzvsNWdgBXGCk/JHIxJy2sKUw29tbH8R+5nru6g/UX0J Of8XMdICwZ7mDlv7Bl2xK0nlLpEUVXBAjAzjmW+hiWzV1fmwN1iBA4tJP2TZ25ky2/UM T3ov97Ox9q0NjcbyYAyAHPbEEHosIUjROxhijoxctMru8sO/7nArVyU7d0p9wrcZ3WQq w2AVpZ4VjVlIZd4I5smUaL4rT4S2A3b8j6A0a/32oSNHyKQvD8Q58xXkCaUnVTXHpJ+X DwDZwivNjWQeJ43p4JOz1kWjuqoekfjif/BsoURodY+k8SfNx6ElYdio4IH7akfSR2TQ Tilw==
X-Gm-Message-State: ALyK8tJ7f2YiaUse/eFhZfu95rafkHKPiAEmfs0Q3WwBFH4FmaP+oavWj2FfPMqDUX6Mept4b3T3wzAlihycGQ==
X-Received: by 10.55.138.194 with SMTP id m185mr3001354qkd.48.1465360616651; Tue, 07 Jun 2016 21:36:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.104.110 with HTTP; Tue, 7 Jun 2016 21:36:56 -0700 (PDT)
In-Reply-To: <CABp8EuLYHufcLSnJjCvKGsCqgXDeAzrwn3N2XdoK4x6Px+0w5w@mail.gmail.com>
References: <CAN+BUJpdSB-HvT6VQzVcAPqzwb_pn=HzLOC3r4ntSKjDh3ffLA@mail.gmail.com> <CABkgnnVSrKp8sf31qpBztp1FH=AQHFCoAH9XVQx6JyU4BoEQaQ@mail.gmail.com> <CABp8EuLYHufcLSnJjCvKGsCqgXDeAzrwn3N2XdoK4x6Px+0w5w@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Wed, 8 Jun 2016 14:36:56 +1000
Message-ID: <CABkgnnVcyFcd2MPUFKORkkyHpMDfALjAP34ByVJpLBEMSiZ=ZA@mail.gmail.com>
To: Benjamin Bangert <bbangert@mozilla.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <https://mailarchive.ietf.org/arch/msg/webpush/0mGkAG_7fAt1tLX4EpgXWLSub68>
Cc: "webpush@ietf.org" <webpush@ietf.org>, Idel Pivnitskiy <idel.pivnitskiy@gmail.com>
Subject: Re: [Webpush] When UA should send an acknowledgement?
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: Wed, 08 Jun 2016 04:37:04 -0000

On 8 June 2016 at 13:17, Benjamin Bangert <bbangert@mozilla.com> wrote:
> For our implementation, we will actually never send more notifications
> until all sent ones are ack'd. This means if a message is malformed or
> causes a UA error in a UA that actually follows the DOM spec, it will
> never get a notification again (except the notification it won't ack).


This is fine, as long as you regard unacknowledged messages that you
thought were delivered as poisonous after a certain amount of time (or
retries, if you do that).  If you follow that advice, then progress
will eventually be made.

I expect that Costin will agree with you, but we've discussed this in
the past.  The problem here is that an acknowledgment from the user
agent doesn't constitute a useful signal.  You have moved the problem
to a second middle-man.  When the user agent acknowledges prior to
processing the message, how will the application know that it was
processed?  Can you guarantee that?  When the browser crashes, your
message is still lost.

The only way for this to be a good signal is to have the
acknowledgment be end-to-end.

(p.s., I don't know if your assertion is true or not.  I don't think
that it matters.  I should know that code, but it's an absolute rats
nest, despite Kit's recent efforts at cleanup.)