Skip to content

v1.2.1 — Native branding, Android sync & bill frequency parity

Choose a tag to compare

@Greigh Greigh released this 14 Jun 21:33

Polish release: bill frequency parity, Spending/Subscriptions tabs, native
branding, Android production sync, and payment-history editing.

Added

  • Bill frequency scheduling — Weekly, Bi-weekly, Quarterly, and Annually
    bills drive real due dates across web, iOS, Android, and the server
    (calendar, upcoming, budget obligations, autopay, reminders).
  • Bill active windows — optional startDate / endDate; Next: {date}
    on Bills and Subscriptions.
  • Spending tab — manual spend logging moved out of Budget into its own tab
    on web, iOS, and Android.
  • Subscriptions screens — dedicated iOS and Android views (web already had
    the panel).
  • Hide fully paid on dashboard setting — fully paid items drop out of
    Upcoming.
  • Bio-lock grace period — Never, Immediately, or 1 / 5 / 15 / 30 minutes
    (Android also supports a custom 1–60 minute delay).
  • Payment history edit/delete — long-press a row on iOS and Android to
    edit amount/date/note or delete.
  • Card preset auto-detect — adding/editing a card suggests a preset from
    the rewards database (web, iOS, Android).
  • Android Turnstile captcha on the auth screen.
  • Web navbar “More” dropdown — Subscriptions, Calendar, History, Payoff,
    Rewards live under More; primary tabs stay Dashboard / Bills / Cards / Loans
    / Budget / Spending.
  • Loans page hero styling on web.
  • Vitest suite for core web logic (~92% coverage).

Changed

  • Dashboard period model — prorate income for rolling / custom start-day
    periods; obligations filter to bills due in the active period.
  • Card payments decrement live balance (applyCardPaymentDelta).
  • RewardspointValue, rotating 5% category pools, expanded card
    presets.
  • Pro paywall perks aligned across web, iOS, and Android.
  • Cards tab (native) — card-only summary (balance / credit / utilization);
    net worth and asset accounts removed from Cards (still on Budget).
  • FiHaven branding (native) — app icons regenerated from
    client/public/icon.svg; toolbar Fi monogram on every iOS tab and
    branded headers on Android; Settings paid-goal control uses segmented / pill
    UI instead of a cramped menu.
  • Android defaults to the production API (https://fihaven.app); lenient
    JSON decode for legacy payment IDs; loading gate with retry/error screen
    after sign-in.
  • iOS project — Xcode 26 recommended settings in project.yml, launch
    screen assets, deployment target 18.6.
  • Dependency bumps: nodemailer 9, Android billing/crypto/lifecycle/coroutines
    libraries.

Fixed

  • Android data load — strict JSON decoding no longer wipes the whole
    dataset when the server returns legacy numeric payment IDs.
  • Bills UX (native) — business/name on separate lines; tap status to
    pay, undo, or un-skip.
  • Rolling shiftPeriod bug in web period logic.
  • CI / security — green Codecov, AES-GCM biometric key hardening, looped
    HTML sanitization fix.