2026-06-03T07:45:04Z - 2026-07-03T07:45:04Z
Overview
28 Issues closed from 1 user
Closed
#67 Column labels need larger font (not bold — bills are already bold)
Closed
#5 Projected Cash Flow
Closed
#60 Client computeLiveProjection ignores snowball_exempt bills
Closed
#33 Consistent form state management pattern
Closed
#14 Keyboard navigation and shortcuts
Closed
#42 Project-wide Data Input & Sync — Manual + CSV Import + Provider Abstraction
Closed
#59 Dual-block migration structure in database.js duplicates every migration entry
Closed
#81 LOW: LIVE constant interpolated into SQL queries in payments.js
Closed
#78 MEDIUM: No pagination on core list endpoints - returns all records
Closed
#54 Imported payments have no payment_source
Closed
#47 Phase 5: SimpleFIN Provider Sync
Closed
#53 PATCH /api/snowball/order doesn't exclude soft-deleted bills
Closed
#50 Mortgage category not auto-detected as debt (snowball DEBT_LIKE_CLAUSES gap)
Closed
#49 Imported payments don't update debt balance (balance_delta always NULL)
Closed
#38 Recurring bill generation from cycle rules
Closed
#55 Client snowball projection duplicates server simulation (drift risk)
Closed
#52 PATCH /api/snowball/order silently swallows invalid rows
Closed
#58 isRamseyMode() called twice per snowball projection request
Closed
#51 rotateSessionId uses raw BEGIN/COMMIT/ROLLBACK instead of db.transaction()
Closed
#1 Overdue Command Center
Closed
#10 Filtered Exports
Closed
#13 Payment method tracking and summary
Closed
#66 Month navigation arrows should bracket the month name (< MAY >)
Closed
#79 MEDIUM: Admin routes use req.params.id without integer validation
Closed
#84 LOW: OIDC client secret stored in plaintext in user_settings table
Closed
#48 Phase 6: Background Sync & Polish
Closed
#62 Analytics — Expense vs Spend color key partially covered by bar graph on desktop
Closed
#64 Calendar shows Due dot on days with no bills due (e.g. Saturday 16th)