NextExpense/internal
cclohmar 90c9df6cce fix: receipt images missing from filed event ZIP + feat: delete individual expenses
- Fix createReceiptZip path traversal guard blocking new ImagePath entries
  (UploadReceipt stores bare filenames, guard required 'storage/' prefix)
- Add DeleteExpense DB function, handler with ownership verification,
  DELETE /expenses/{id} route, and 🗑️ button in both expense templates
- Uses existing htmx.trigger confirm pattern for delete UX
2026-06-14 11:46:43 +00:00
..
ai refactor: implement best-practice recommendations from code review 2026-05-31 02:13:07 +00:00
auth fix: resolve 7 critical security findings from code review 2026-05-31 01:50:08 +00:00
database fix: receipt images missing from filed event ZIP + feat: delete individual expenses 2026-06-14 11:46:43 +00:00
email fix: OTP email subject 'Your ExpenseFlow OTP' → 'Your ReceiptNext OTP' 2026-06-03 08:01:00 +00:00
handlers fix: receipt images missing from filed event ZIP + feat: delete individual expenses 2026-06-14 11:46:43 +00:00
utils refactor: implement best-practice recommendations from code review 2026-05-31 02:13:07 +00:00