[x] Trim message body so we don't exceed 4096 characters
[x] Log when returned TTL header is lower than request
[x] Support events_only flag on push data, as web push clients can't clear all notifications in response to a push message; the standard says that a notification should always be visible after processing a push event when the page is in the background, if not the browser shows a generic one for you.
So in the case where you tap notification, close the page again, and the unread=0 notification arrives because the room is marked as read somewhere, you'll receive the unread=0 notification and you don't have the previous notification visible any more, you'll have no choice to either show a generic notification or let the browser show its generic notification in response to the event, where you really don't want to show anything. For this case, you can set events_only: true in the push data and these kind of push messages won't be forwarded, so you don't have the problem.
[x] Set Urgency header based on prio field in notification:
"high" or absent => "normal"
"low" => "low"
[x] Support push messages within a room replacing previous ones if immediate delivery is not possible by setting the Topic header to a hash of the room id. This should be enabled with a flag in the push data.
TTL
header is lower than requestevents_only
flag on push data, as web push clients can't clear all notifications in response to a push message; the standard says that a notification should always be visible after processing a push event when the page is in the background, if not the browser shows a generic one for you. So in the case where you tap notification, close the page again, and theunread=0
notification arrives because the room is marked as read somewhere, you'll receive theunread=0
notification and you don't have the previous notification visible any more, you'll have no choice to either show a generic notification or let the browser show its generic notification in response to the event, where you really don't want to show anything. For this case, you can setevents_only: true
in the push data and these kind of push messages won't be forwarded, so you don't have the problem.Urgency
header based onprio
field in notification:Topic
header to a hash of the room id. This should be enabled with a flag in the push data.