Implement Time To Live (TTL) for messages in API
This request appears similar but not identical to other requests such as https://joaoapps.helprace.com/i574-automatic-timeout-for-join-send-push-tasker-action and https://joaoapps.helprace.com/i559-add-timeout-to-api-flags (my request is about Join's usage of google FCM protocol, whereas those other requests seem to be about Join's usage of Android notifications).
Most messages I get join to send to my phone are meant to be realtime. If a message didn't get through because the phone lacked reception, then I might as well drop the message immediately. Some other messages I send might have a lifetime of 10 minutes before they lose meaningfulness (my server will want to send an updated state anyway). But join specifies a default Time To Live (TTL) that seems to be weeks in length, and I can sometimes see that in the number of unhandled Android notifications piling up.
As per Google's FCM api documentation:
https://firebase.google.com/docs/cloud-messaging/concept-options
"Another advantage of specifying the lifespan of a message is that FCM never throttles messages with a time-to-live value of 0 seconds. In other words, FCM guarantees best effort for messages that must be delivered "now or never." Keep in mind that a time_to_live
value of 0 means messages that can't be delivered immediately are discarded. However, because such messages are never stored, this provides the best latency for sending notification messages."
Messages may be greatly throttled (once per 9 minutes) if the user asks Join to send messages frequently enough to the phone.
So I'd benefit twice by being able to set my own TTL - for those messages that were meant to be either realtime or ignored, I'd set a TTL of 0. I have a feeling autoremote used to implement this with the old Google Cloud Messaging.