Repository navigation
v0.1.14 — the nightly review actually arrives
The nightly review that 0.1.12 promised never actually arrived. Now it does.
Install
Open this page on the phone, tap constanza-0.1.14.apk, install over the previous version. No database change.
The review notification was never arriving
0.1.12 added a look at the day before the day closes. It never reached you once.
The job that posts it did one thing too early: before reading anything, it booked tomorrow's run. Booking tomorrow's run cancels whatever is currently running under that same booking — and what was currently running was itself. So every night it scheduled its successor, then stopped dead before it could read a single habit, and tomorrow's booking sat there looking perfectly healthy. A notification that was never written, on a schedule that never broke.
That ordering is now the other way round: read the day, post, and only then book tomorrow.
And it could still have been lost, for a second reason
Fixing that was not enough to trust it.
The review was being run by Android's background job scheduler, which is not allowed to wake a sleeping phone at a particular minute — it waits for the phone to wake up anyway. Left overnight on a bedside table, that wait can run past midnight, and past midnight the review deliberately says nothing: the day has closed, the unanswered habits are already marked, and reporting them then would be wrong.
Silence was the correct behaviour. The lateness was the bug.
So the review now uses a real alarm, the same mechanism your habit reminders already use — the one that is allowed to wake the phone, and that this project measured surviving Android's deep sleep. And it moves from 23:30 to 23:00, so there is an hour of room before the day closes instead of thirty minutes.
If you ever revoke the app's exact-alarm permission, it degrades to a ten-minute window rather than failing — and the "say nothing after midnight" rule stays, because a late review is still better silent than wrong.
Reminders now say "Buenos hábitos"
The habit reminder's title read just "Hábitos", which named the subject rather than the point. The app on your home screen is still Constanza; only the notification title changed.
What this release does NOT verify
Whether it arrives on your phone, on a real night. Everything here was proven on emulators, where midnight is a clock a test moves by hand. This is the same sentence 0.1.12 shipped with — and that time it was hiding a real bug, which is exactly why it is worth repeating rather than quietly dropping.
A green matrix still says nothing about One UI throttling or background-kill. That check has been open since the first release and needs a real phone left alone for several days; no emulator can answer it.
So: over the next few nights, the thing to watch is simply whether the notification shows up at 23:00.
Verification
App unit tests 341/341, domain 57/57, detekt clean on main sources.
Instrumented: API 31 (205 tests) and API 37 (205 tests), zero failures on either.
The fix for the cancellation was proven by breaking it again: with the old ordering restored, the new test fails and the five pre-existing tests still pass. Those five could never have caught it — they ran the job without ever booking it under its real name, which is precisely the condition that triggers the bug.
APK signed with the release key and verified with apksigner (CN=Constanza, OU=jjrapps, v2 scheme), aapt2 confirming versionCode 15, versionName 0.1.14.