So, looking at @ropeta comments and having same issue with not having native notifications on my Garmin watch, I’ve spent almost entire weekend trying to port what I found on Gadgetbridge and also Amazfish.
Here’s the code: https://codefloe.com/sznowicki-sailfish/vapaamin
What works:
- it builds, runs
- it installs a daemon that listens to SFOS notifications
- app does the GFDI handshake with the watch so it thinks it talks to a real Garmin Connect app
- when notification reaches the app, it forwards it to the watch
It was surprisingly lot of work, most of it I understand only to some degree. So if @piggz solution will work for me I guess I’m more than happy to take what I’ve learned these days with me and archive this one.
However, the Amazfish support message reached to me exactly as I opened Forum to post about how happy I am that this worked out in the end and I have my notifications now on my wrist…
One comment about the API. It should not be necessary to run some crazy privilidged daemons and disable sandboxing of the entire app, just to be able to read global notifications. This should be a permission, and a nice API provided by SFOS itself, with a big-ass warning to the users on what kind of permission they grant to that app and what are the consequences.
LLM learnings:
While working on it I approached it like usual, with Opencode and Kimi/GLM models and unfortunately it ended up in a mess of guess work. At one point I decided to pay for Claude again to see if I would be able to wrap my head around Garmin watch auth parts. Claude did amazing job in explaining me how this works on Gadgetbridge so I guess I could do right choices and steer it into doing what you can check as a result.
We have that joke in Polish:
A coal salesman approaches a delivery address and shouts: I’ve bring your coal!
Horse looks at him thinking: yeah, you bring it…
So, I’ve made myself an app. I’m not sure if I’m proud of it tbh but I’m sure it sends me my notifications to my wrist.
