Skip to content

Commit

Permalink
fix: Drop 0 TTL WebPush notifications if they aren't delivered the fi…
Browse files Browse the repository at this point in the history
…rst time (#210)

* Drop 0 TTL WebPush notifications if they aren't delivered the first time

This follows the logic used in Python autoendpoint.

* Update tests
  • Loading branch information
AzureMarker committed Aug 6, 2020
1 parent f943659 commit a28cb29
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
8 changes: 8 additions & 0 deletions autoendpoint/src/routers/webpush.rs
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,14 @@ impl Router for WebPushRouter {
}
}

if notification.headers.ttl == 0 {
trace!(
"Notification has a TTL of zero and was not successfully \
delivered, dropping it"
);
return Ok(self.make_delivered_response(notification));
}

// Save notification, node is not present or busy
trace!("Node is not present or busy, storing notification");
self.store_notification(notification).await?;
Expand Down
2 changes: 1 addition & 1 deletion tests/test_integration_all_rust.py
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ def test_ttl_0_not_connected(self):
data = str(uuid.uuid4())
client = yield self.quick_register()
yield client.disconnect()
yield client.send_notification(data=data, ttl=0)
yield client.send_notification(data=data, ttl=0, status=201)
yield client.connect()
yield client.hello()
result = yield client.get_notification(timeout=0.5)
Expand Down

0 comments on commit a28cb29

Please sign in to comment.