GitLab Notifications on Android Without Firebase

GitAlchemy shows GitLab notifications on Android without Firebase and without any Google service. It is a free open source client that you install from F-Droid. A background job asks the GitLab Todos API for new to-dos and posts one Android notification for each, with a Mark done button. It does not use push, so a notification can arrive late. That is the price of needing no Google account and no server of ours.

Why no Firebase
Push notifications on Android normally go through Firebase Cloud Messaging, which means a Google service on the phone and a relay server that sees your events. A client built for F-Droid and de-Googled phones cannot count on either. GitAlchemy asks GitLab directly instead. Your token talks to your instance, and no third party sits in between.
Turn notifications on
- Sign in. The app asks for the Android notification permission the first time it has an account to check.
- Allow the permission. Without it Android hides the notifications.
- Open Settings and find Polling.
- Switch on Notify while the app is closed.
- Read the battery line under the switch. When the battery setting slows the checks, the line says so and a Battery settings button opens Android's page for the app.
What arrives
Each new to-do on your account becomes one notification. GitLab creates a to-do when you are assigned something, when someone mentions you, when your review is requested and in a few more cases. With several accounts signed in, every account is checked and each notification says which account it belongs to.
- Mark done clears the to-do on GitLab without opening the app.
- Tapping a notification about one to-do opens its merge request or issue.
- Tapping a notification about several to-dos opens your to-do list.
The to-do list itself is covered in the GitLab to-do list on Android.
Battery and timing
Android decides how often a closed app may run. The app reads the battery setting and says what it means for you:
- Unrestricted: checks run about every 15 minutes.
- Optimized: Android may wait an hour or more between checks while the phone is idle.
- Restricted: Android never lets the app check while it is closed, so no notifications arrive.
For steady notifications, tap Battery settings and choose Unrestricted. The app asks once when the battery setting blocks background checks.
The Notification polling interval in Settings > Polling offers Every 5 min, Every 15 min, Every 30 min, Every hour and Disabled, and the default is 15 minutes. Android wakes a closed app at most every 15 minutes, so a shorter interval only applies while the app is open.
A tip for a quieter phone
You do not need to keep every event. Use GitLab's own notification settings to decide which events create to-dos, since the app mirrors what GitLab puts in your list. Fewer to-dos means fewer notifications.
Limits
- Notifications cover to-dos only. A pipeline that fails shows up only if GitLab creates a to-do for it. The app does not watch pipelines by itself.
- Delivery is not instant. About every 15 minutes is the best case when the app is closed, and Android may stretch it to an hour or more unless the app is Unrestricted.
- Nothing here works on iOS, and there is no iOS app. GitAlchemy is Android only.
- The token needs to be valid. When GitLab rejects it, the app asks you to sign in again for that server.
Related
This is one step of the GitAlchemy for Android walkthrough. With more than one server, see how to use several GitLab accounts.
FAQ
Does GitAlchemy need Google Play Services?
No. It runs on phones without them. Notifications come from polling the GitLab Todos API, not from Firebase.
Why is my notification late?
Android limits background work. On an Unrestricted battery setting checks run about every 15 minutes, and on Optimized they can be an hour apart. Tap Battery settings in the app's Settings to change it.
Can I answer a notification without opening the app?
You can mark a to-do done from its notification. To reply, tap the notification and write the comment in the app.
Take GitLab with you
Gitalchemy is free and open source. Install it on Android from F-Droid.
Questions, or want to follow the work? Reach us at contact@gitalchemy.com or star the project on GitLab.
