• Joined on 2026-05-03
null opened issue null/BillTracker#83 2026-05-31 12:04:08 -05:00
LOW: Login rate limiter bypassed when no users exist (first-run timing window)
null opened issue null/BillTracker#82 2026-05-31 12:04:04 -05:00
LOW: CORS_ORIGIN accepts comma-separated origins without URL validation
null opened issue null/BillTracker#81 2026-05-31 12:03:59 -05:00
LOW: LIVE constant interpolated into SQL queries in payments.js
null opened issue null/BillTracker#80 2026-05-31 12:03:55 -05:00
MEDIUM: CSRF cookie defaults to httpOnly=false - XSS bypasses CSRF protection
null opened issue null/BillTracker#79 2026-05-31 12:03:48 -05:00
MEDIUM: Admin routes use req.params.id without integer validation
null opened issue null/BillTracker#78 2026-05-31 12:03:44 -05:00
MEDIUM: No pagination on core list endpoints - returns all records
null opened issue null/BillTracker#77 2026-05-31 12:03:40 -05:00
MEDIUM: TrackerPage.jsx is 2386 lines with 44 hooks - maintainability and re-render risks
null opened issue null/BillTracker#76 2026-05-31 12:03:34 -05:00
MEDIUM: 10x .catch(() => {}) silently swallowing errors in client code
null opened issue null/BillTracker#75 2026-05-31 12:03:28 -05:00
MEDIUM: Floating-point REAL type for monetary amounts in SQLite
null opened issue null/BillTracker#74 2026-05-31 12:03:21 -05:00
HIGH: No explicit JSON body size limit on express.json() - default 100KB
null opened issue null/BillTracker#73 2026-05-31 12:03:14 -05:00
HIGH: No process-level unhandledRejection/uncaughtException handler
null opened issue null/BillTracker#72 2026-05-31 12:03:07 -05:00
HIGH: Payment UPDATE/DELETE lack user_id in WHERE clause (defense-in-depth)
null opened issue null/BillTracker#71 2026-05-31 12:02:53 -05:00
HIGH: SQL injection surface in analyticsService.js - string interpolation in WHERE clause
null opened issue null/BillTracker#70 2026-05-31 12:02:46 -05:00
CRITICAL: Incomplete user deletion - orphaned data risk
null opened issue null/BillTracker#69 2026-05-31 12:02:35 -05:00
CRITICAL: SMTP password stored in plaintext in SQLite
null opened issue null/BillTracker#68 2026-05-31 12:02:21 -05:00
CRITICAL: Async route handlers lack try/catch - unhandled rejections crash process
null pushed to dev at null/BillTracker 2026-05-30 22:05:44 -05:00
0fda211e37 chore: seed demo data overhaul with modern bill data, security audit update (v0.34.2)
null pushed to dev at null/BillTracker 2026-05-30 21:52:05 -05:00
c6cd81e33a chore: bump to v0.34.2, subscription badge fix on Tracker rows
null pushed to dev at null/BillTracker 2026-05-30 21:20:55 -05:00
90cfed035b feat: Payoff Custom mode, Summary reordering, unifed billing schedule, SimpleFIN + backup fixes (batch v0.34.1.3)
null pushed to dev at null/BillTracker 2026-05-30 20:04:54 -05:00
c23cae1107 feat: reordering across management pages (Bills, Subscriptions, Categories, Snowball) — batch v0.34.1.2