The persistent notification for foreground services is mandatory for apps to implement but entirely optional for users. The notification channel can simply be toggled off to hide it. Apps are required to make a notification for each foreground service to provide transparency. It gives apps a way to explain why they're doing it to end users and the notification be toggled off if the user doesn't want it. It can also be kept enabled but collapsed at the bottom with no lockscreen or status bar display. Apps are required to use at least low importance themselves so the user needs to opt in to collapsing and hiding it or turning it off.
Fully open source apps can use UnifiedPush as the Molly fork of Signal does instead of their own push connection. Similarly to FCM, UnifiedPush providers can provide reliable and efficient push messaging including push notifications. Unlike FCM, users can choose the local implementation and the service providing it including the option to self-host it. There are multiple options available as an existing service. There are a growing number of apps supporting UnifiedPush.
Signal's own fallback push messaging for push notifications when FCM isn't present is very inefficient. It substantially reduces battery life even if it's the only app doing push with another mechanism. Molly's UnifiedPush support works much better.
Using a single push messaging connection or at least only a couple (FCM and UnifiedPush) is definitely far more efficient than using dozens. Using many push messaging connections will drain a lot of power due to each needing to be maintained with regular checks which will typically not align well. Having many causes a drastically higher number of wakes from sleep and non-idle time. That's especially true if the push messaging connections aren't implemented very efficiently. Even a single inefficient one can drain a lot of power.
Signal's fallback isn't as bad as it used to be but it's not efficient. They should support UnifiedPush as Molly does for a better non-FCM push experience. Signal's fallback push is a common way people ruin battery life on GrapheneOS.
In any case, many thanks for your work. GrapheneOS is a breath of fresh air in the consumer electronics nightmare.
You may want to peruse the various sections of their site before switching to see if you think it'll work for you: https://grapheneos.org/features
It is sometimes annoying to me. I cycle a lot and sometimes my wife or somebody else sends a message when I'm on the go (like picking up some extra groceries) and then I miss it.
There is a longer discussion with various people here:
So yeah, I can totally accept that this may be a thing.
Or somehow broke the device-side wakeup for that keepalive.