Gotify – a self-hosted push-notifications service
71–80 of 100 posts
Re: Gotify – a self-hosted push-notifications service
#72Earlier quoted context omitted.
TCP connection can be open and idle for hours without keep alives. This can easily be configured with kernel parameters: https://www.tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepaliv... I suspect the hard bit for normal apps is keeping the app active on the device while it is in the background. Google has their FCM receiver running as a low level service so can make sure it is always running.
You can configure it locally in your kernel, but your ISP will most likely close your connections for you, especially if you're behind a CGNAT.
Re: Gotify – a self-hosted push-notifications service
#73Earlier quoted context omitted.
I get why that's "yuck" but if I'd hedge a bet...it's probably done because it's easier to make a GET than it is a POST or PUT request and the length of a text message will never exceed the query string uri length limits. Not saying I disagree, but i don't know it changes a whole lot in this case.
In this case maybe, but generally GET should be avoided for any creative/transactional action because many systems will replay/cache GET requests, assuming that they’re idempotent.
Re: Gotify – a self-hosted push-notifications service
#74Re: Gotify – a self-hosted push-notifications service
#75In particular I would suggest to get to know MQTT an open protocol with several (open and close) implementation that is know for its flexibility and scalability (if nothing has changed it is used to power the Messager Facebook platform, but don't quote me on that).
verneMQ is the server implementation I would suggest if you are interested in such topic.
Re: Gotify – a self-hosted push-notifications service
#76FCM is integrated in kernel, so it cannot be killed. And it starts a persistent TCP connection to Google server. If all apps uses FCM, then all notification would route through this connection, and this significantly reduce battery consumption than the alternative, where each app uses its own web socket server. So, assume using a degoogled android, can this notification replaced FCM if more apps use this notification…
>FCM is integrated in kernel, so it cannot be killed. What do you mean it's "integrated in kernel"? Are you saying google play services includes a kernel module?
Play services can also instruct Google's servers to stop sending notifications when the device is in deep doze and re-open the connection when the device is active again -- thus saving power (messages are queued at Google's servers)
Re: Gotify – a self-hosted push-notifications service
#77Earlier quoted context omitted.
>FCM is integrated in kernel, so it cannot be killed. What do you mean it's "integrated in kernel"? Are you saying google play services includes a kernel module?
It does not. It's a plain-old TCP connection in GMSCore, but has special permissions to ignore various power save modes. I personally wish Google would work with mobile networks to replace it with something lower level (eg. Based on the same thing used to initiate phone calls), because a hanging TCP connection open for many hours gets unreliable as NAT drops it and as the phone migrates from one mobile network to ano…
Re: Gotify – a self-hosted push-notifications service
#78I like the idea of the project, but I'm curious. Why would you need a self-hosted (or really, any other push-notif service) other than the official one from Apple/Goggle? They're optimized (for each respective platform), no need to maintain a server, and free. If you need "cross-platform", you can use Firebase(?) that abstracts that away.
Re: Gotify – a self-hosted push-notifications service
#79The documentation states that End2End tests are included. I didn't find them in the repository. I want to learn from the tests - Can somebody please help me and point me to the End2End tests?
Re: Gotify – a self-hosted push-notifications service
#80I like the idea of the project, but I'm curious. Why would you need a self-hosted (or really, any other push-notif service) other than the official one from Apple/Goggle? They're optimized (for each respective platform), no need to maintain a server, and free. If you need "cross-platform", you can use Firebase(?) that abstracts that away.