Live data from Hacker News

Gotify – a self-hosted push-notifications service

github.com

61–70 of 100 posts

Re: Gotify – a self-hosted push-notifications service

#61
post #18

The 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?

There are more repos on the parent account. They may be in one of those.

Re: Gotify – a self-hosted push-notifications service

#62
post #53

Is there a standard understanding of what are push notifications? Are they the same for android and iOS? I’m not sure what this project is about!

I think Push API is an industry standard but there is this W3 draft https://www.w3.org/TR/push-api/ But yes, it's essentially implemented the same across iOS/Android and browsers like Chrome, FF, Edge etc. There are services such as Amazon SNS or Google Firebase that provide a single interface which can talk to all the slightly different implementations. In a nutshell the device registers to the server and receives a…

Thank you! I’ve never actually implemented push notifications. Will soon so I was wondering...

Re: Gotify – a self-hosted push-notifications service

#63

Earlier quoted context omitted.

Right but as the article shows, there are many "push technologies"... what is this project about? Someone subscribed for notifications and then this server sends them?

iOS does its own thing, FWIW: APNS ( https://en.wikipedia.org/wiki/Apple_Push_Notification_Servic... )

Thank you!

Re: Gotify – a self-hosted push-notifications service

#64
post #58

FCM 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?

Re: Gotify – a self-hosted push-notifications service

#65
I 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

#66

I 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.

Privacy? Keep in mind that not everyone intends to build a user-supporting platform on this tech. I like the concept because it's an easy way for me to push notifications from my homebrew IoT stuff and news streams without it flowing through ad companies.

Re: Gotify – a self-hosted push-notifications service

#67

It is worth noting that this will use a noticeable amount of power more than Google cloud messaging. The basic idea of how is works is about the same, but the devil is in the details. If you look at an idle connection over LTE, you will notice that after a while your carrier will close it. You need keepalives. If you look at the connection for Google cloud messaging, you might notice that it needs much fewer keep ali…

In my experience it's not bad enough to worry about. I have: - Signal - Whatsapp - Etesync - Conversations.im - Syncthing all whitelisted from battery optimisation, and I've not noticed any huge drain (I expected it to be unusable and have to go back to google play services or micro-g).

Signal uses gcm to push to the phone thus waking it so it can download any messages. Not sure about the others though.

Re: Gotify – a self-hosted push-notifications service

#68

I 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.

I think the major reason this was created was for apps on the F-Droid store and for people who prefer not to have Google Play Services installed on their phone.

Re: Gotify – a self-hosted push-notifications service

#69
post #67

Earlier quoted context omitted.

In my experience it's not bad enough to worry about. I have: - Signal - Whatsapp - Etesync - Conversations.im - Syncthing all whitelisted from battery optimisation, and I've not noticed any huge drain (I expected it to be unusable and have to go back to google play services or micro-g).

Signal uses gcm to push to the phone thus waking it so it can download any messages. Not sure about the others though.

If you don't have Google Play Services, it doesn't use GCM.

Re: Gotify – a self-hosted push-notifications service

#70
post #64
post #58

FCM 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?

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 another (eg. Across country boundaries)

Post reply on HN