v1.6.1 — Push that actually arrives, pay what's left, nine more issuer logos
Pre-releaseSummary
Admin tools you can actually run a product with, a Rewards page that helps you pick a card (and keeps your rates when the catalog updates), manual-first bank balance suggestions and subscription confirms — now reliable across more than one linked bank — a History tab that charts what you earned against what you spent, cards that lead with the amount you pick, a Pay flow that counts what you've already paid, real brand logos for nine more issuers, push notifications that actually arrive, web billing on Paddle, redesigned notification emails with one-click unsubscribe, safer production auth / store webhooks, and native Plaid + social sign-in that return into the app.
Builds: iOS 1.6.1 (17) · Android 1.6.1 (versionCode 39) · Web live at fihaven.app
Changes (Jul 29)
Push notifications actually arrive now
- Turning on push asks for permission. It didn't. iOS hands out a delivery token whether or not you've allowed notifications, so the server was sending to phones that had never been asked and iOS threw every reminder away — silently, and indistinguishable from push simply being broken. If you'd already turned it on, the app asks next launch; a deliberate "Don't Allow" is never re-asked (#231)
- On Android, pushed reminders land in "Bill reminders" again. They were going to a channel Android invents on the spot called "Miscellaneous", so they ignored the sound, importance and mute settings you'd chosen — and vanished entirely if you'd muted that unfamiliar channel. The channel is now named on the server payload as well as in the app, so this is fixed for already-installed apps too
- When registration fails, we can tell why — the underlying reason is recorded and kept after the app closes, and the server now reports a device it can't deliver to or a dead token it drops. That prune was the one failure that left no trace anywhere
Paying something lowers what it asks for
- Every figure in the Pay flow — Minimum, Recommended, a loan's monthly payment, a bill's full amount — is what's left toward that target this period, and a target you've covered drops off instead of offering itself twice. Where a figure shrank, it says why: "Minimum payment · $35.00 of $35.00 paid" (#231)
- Open Pay on something already paid and the amount starts empty rather than pre-filling the whole recommendation again — which is how you record a payment twice
- The "Suggested" figure on a card shrinks as you pay it and disappears once there's nothing left
Real logos for nine more issuers
- Citi, Capital One, U.S. Bank, Bilt, Fifth Third, T-Mobile, Best Buy, Lowe's and Hyatt were showing initials on a colored chip. They now draw their actual logo in full color — Citi's blue and red, Best Buy's yellow tag, Fifth Third's 5/3 shield, T-Mobile's magenta T — on web, iPhone and Android alike (#231)
- A full-color logo sits on a white tile in both themes, because that's what it was drawn for; it's also what keeps Bilt's black wordmark visible in dark mode. Wordmarks keep their real proportions instead of being squeezed into a square
- "Citizens Bank" no longer shows Citi's logo, and Capital City Bank no longer shows Capital One's — a short brand name hiding inside a longer, unrelated one used to count as a match
- "Barclay" and "Barclaycard" find Barclays; a Centurion Card shows American Express
- Care Credit, Mission Lane, Aven, OpenSky, Indigo and LMCU have no logo we can license, so they keep initials — now on their own brand color, with the shorthand each uses for itself
Refund windows: what the stores actually allow
- Our 14-day, no-questions refund is a promise about fihaven.app, and the policy now says so plainly instead of implying it everywhere (#231)
- Google Play: 48 hours self-service, then come to us — after 48 hours Google stops handling it, and we refund from the Play Console on the same 14-day terms as a web purchase
- Apple: no published window, and Apple's decision — we can't issue, override or appeal an App Store refund. But you won't be worse off for buying through a store: if Apple refuses one we think you should have had, we make it right with equivalent Pro access
- EU / EEA / UK withdrawal rights, Paddle's Buyer Terms, and Paddle's 60-day tax/VAT-only refund path are all spelled out
Changes (Jul 28)
Income vs. spending in History
- The income panel was one bar per month scaled against your biggest month — income barely moves, so every bar ran nearly full width and they all looked the same. It's a two-line chart now: income vs. spending, oldest month first, the gap shaded as your net (#230)
- New headline: average net per month, with average income and average spending beside it
- Card payments no longer count as spending — the purchases they settle were already counted, so including both doubled your card spending. Bills and purchases merge into one figure; a bill both typed into Spending and marked paid counts once
- Months we can't account for are left blank, not drawn as zero. Card payments with nothing logged behind them break the line and shade the month rather than plotting $0 (which would read as a great month). Those months stay out of your averages
- The chart starts at your first recorded month, so it can't show a fake surplus for the years before you started logging
- Same chart and same rules on iPhone and Android
Cards lead with the amount you choose
- Utilization now measures against your current balance, not the statement — a card that closed at zero but has been used since no longer reads 0% (#230)
- Pick which of a card's three amounts gets the big figure: amount due, current balance, or what's left to pay this period
- What's due moved to the top-right corner of every card — amount, date, and urgency color in one place
Card logos on iPhone and Android
- Real brand marks instead of a colored dot, matching web; 26 more logos on every platform (#230)
- Every other issuer gets its initials on a brand-colored chip — C1, US, NF — with the real brand color where we know it
- "Bilt Mastercard" shows Bilt, not Mastercard; marks stay readable in dark mode
Changes (Jul 26–27)
- Cards ↔ bank accounts, part two: matching is reliable across more than one linked bank; cards show which account they matched and can be told don't link this one (#229)
- Push notifications fixed — iOS build 13 was the first with working push; Android push fixed in versionCode 35 (#225, #226)
- Web billing moves to Paddle; refund policy published
- Notification emails redesigned with one-click unsubscribe
Changes (Jul 18–25)
- Android Google Custom Tab sign-in returns into the app; native Plaid OAuth returns to iOS/Android instead of the web redirect (#194, #195)
- App-level MFA after Google/Apple when enrolled; verify Apple StoreKit JWS; auth Google Play RTDN (#185)
- Expanded Rewards catalog with Update / Keep mine when admin rates change — never a silent overwrite (#183)
- Family plan & trials; ownership & licensing; category icons; list spacing
Earlier in 1.6.1
- Admin user/promo console; Rewards redesign + report wrong rate
- Debt payoff redesign;
user_dataencryption; Play upload automation; health probe
Full notes: CHANGELOG.md