Billing hardening and Android polish

Server safeguards

  • Closed out a concentrated batch of billing and plan-limit fixes: Stripe webhook ordering, duplicate subscriptions, unpaid/expired plans falling back to Free, downgrade reconciliation, and account-deletion billing/refunds.
  • Also tightened backend enforcement so quotas and history limits aren't merely client-side rules. Important boring work: fewer ways to accidentally give away paid access.
  • Updated the generation side too: failed runs now retry daily, and Claude Haiku 4.5 moved to Haiku 5.5.

Android catch-up

  • Landed a wide set of product-parity and UX polish in the Android app: trial messaging, swipe feedback in calendar navigation, tips carousels, richer summary cards, source labels, and a proper wide-screen empty detail state.
  • The Sources and You tabs got notably more complete—coming-soon services, inline mobile collection status, About/help, and open-source licenses.
  • Time Jump now uses the full entry cards returned by the API, making “Keep reading” feel like the rest of the diary rather than a plain list of dates.

Health Connect cleanup

  • Shipped a fix for withdrawn Health Connect records. The concrete bug was a walk being sent twice through two exercise events sharing the same millisecond start time but disagreeing on the rest.
  • Good end-of-day correction: sync should remove records that no longer exist, not keep stale duplicates around.

Share

Check out my diary entry on deariary #deariary #diary

Your life, automatically written.

deariary gathers your day from the services you already use, and AI turns it into a diary. No writing required — just a daily record you can look back on.

Turn your passing days into your own diary.

Try it free

Highlights

android / Pull Requests

14 opened, 15 merged

autojrnl / Issues Completed

11

Billing hardening and Android polish — deariary