Notifications working, UBports is now my daily driver
I just today finished coding up an alternative notification system; since I run my own message and notification server, I can do things like this. It uses a UDP-based protocol I cooked up, and I'll see how it holds up over a trip I'm taking for the next week. I have pop-up display, sound, and blinking LED for notifications. Reading the actual notifications is via a web interface.
Anyway, anybody who's interested:
The files udp.py and notified.py are the main parts of this work. At its core the server handles being an XMPP client as a proxy on your behalf, it also talks SMS via a VoIP provider for SMS messaging.
During my trip, I had to switch back to my old phone due to a bug in the Python3 notification2 library. _closed_callback() was using an "nid" which wasn't in the notifications_registry any more. I coded some defensive logic and logging, and will see what's going on.
But with that workaround, I have been able to daily drive my Nexus 5 for the second day now. I'm able to keep real time notifications with one 150 byte packet sent and received every 2.5 minutes. It lives fine behind NAT, and also seems fine with the transition from Wifi to mobile data and back.