Commit graph

  • 22d2507d52 fix: CSV reports now include claim currency column, claim totals, and total claim header main cclohmar 2026-07-14 14:33:45 +0000
  • f1b029949e feat: PDF — total claim in header, wider merchant column (52mm) cclohmar 2026-07-14 13:48:31 +0000
  • e9460a6a7d fix: UpdateEvent now saves the event name, not just currency/rate cclohmar 2026-07-14 12:21:40 +0000
  • 47fb82d109 fix: PDF reports show local+claim columns, totals in claim currency, remove grand total cclohmar 2026-07-14 12:17:42 +0000
  • a7f7dca41d fix: auto-calculate claim conversion when converted_amount is empty using event exchange rate cclohmar 2026-07-14 11:47:26 +0000
  • 2fcce08cff fix: remove nested #receipt-form wrapper causing duplicate IDs on edit cclohmar 2026-07-14 11:33:24 +0000
  • dfefd0208c fix: allow editing expenses in pre-migration events (empty month_id) cclohmar 2026-07-14 11:24:24 +0000
  • 2f2fbf7630 fix: bump upload limit to 11MB, add .gitignore for build artifacts cclohmar 2026-07-14 10:40:49 +0000
  • 949d4f277c fix: expense edit form — restore description value, use event's exchange rate cclohmar 2026-07-14 10:26:28 +0000
  • 10e6b78940 feat: prepend user name to email report subjects (Claus Lohmar | Monthly Expense Report: ...) cclohmar 2026-07-14 10:18:18 +0000
  • 6d641cf8c9 fix: correct curl pipe syntax in README cclohmar 2026-07-14 10:11:28 +0000
  • 3bc3eddd5b chore: install.sh with --install/--update/--remove flags, help, update README cclohmar 2026-07-14 10:09:50 +0000
  • 64844baa83 fix: landscape PDF reports, full text, wider columns, include CSV+PDF in monthly ZIP cclohmar 2026-07-14 10:06:31 +0000
  • d65c0cd5fa feat: add month hierarchy, AI categories, and UI polish cclohmar 2026-07-14 09:28:33 +0000
  • 1c9ab4554a chore: always include both CSV and PDF in report ZIP instead of picking one format cclohmar 2026-07-13 09:10:12 +0000
  • 517e95adc2 chore: rebrand ReceiptNext to NextExpense cclohmar 2026-06-21 18:39:48 +0000
  • ce08681d81 chore: add profile editor — edit name/department via dashboard cclohmar 2026-06-17 15:15:23 +0000
  • 24451b4f4f chore: put currency labels in proper CSV/PDF columns, not jammed into number cells cclohmar 2026-06-17 13:05:18 +0000
  • 95762cd1ae chore: add base currency to CSV totals row too cclohmar 2026-06-17 12:58:33 +0000
  • b50699fc0e chore: add base currency label to PDF totals row cclohmar 2026-06-17 12:57:41 +0000
  • 7c84c0858f chore: add totals row to PDF reports (local + converted currency) cclohmar 2026-06-17 12:54:16 +0000
  • a943c258bb chore: use request Host header for download links, not BASE_URL cclohmar 2026-06-17 12:41:38 +0000
  • 5e66e849fc chore: add Close Event button + cleanup download tokens on reopen cclohmar 2026-06-17 12:38:21 +0000
  • 5aa5523e8b chore: remove eager token cleanup on regenerate to prevent breaking emailed links cclohmar 2026-06-17 12:34:22 +0000
  • 64d7494e33 chore: flat ZIP structure + event-name download filenames (/dl/{token}/{name}.zip) cclohmar 2026-06-17 12:28:20 +0000
  • 4bc9fe52ae chore: add onboarding flow — capture user name/department, inject into CSV/PDF reports cclohmar 2026-06-17 12:23:21 +0000
  • 8759b31e47 chore: log addToZip errors instead of silently dropping cclohmar 2026-06-17 12:14:37 +0000
  • be3aa7a036 chore: add postbox — generate report package, download or email link cclohmar 2026-06-17 12:13:34 +0000
  • cc56d1ac9f chore: resize receipt images on upload (max 2048px, JPEG 85%) to prevent SMTP attachment size rejections cclohmar 2026-06-17 11:50:46 +0000
  • 44309dc189 chore: surface SMTP error message to user on filing failure cclohmar 2026-06-17 11:45:45 +0000
  • 290f803996 chore: fix upload error visibility + install.sh update mode ownership bug cclohmar 2026-06-17 11:27:33 +0000
  • 422aaa08ab chore: fix invisible filing errors — add HTMX error feedback and loading indicator cclohmar 2026-06-17 11:08:01 +0000
  • 90c9df6cce fix: receipt images missing from filed event ZIP + feat: delete individual expenses cclohmar 2026-06-14 11:46:43 +0000
  • 09b2ddfc79 chore: final project handover — update README, AGENTS.md with project context cclohmar 2026-06-05 15:01:11 +0000
  • c83b2ccc83 refactor: install.sh always installs Go and builds from source — no binary downloads cclohmar 2026-06-05 12:37:48 +0000
  • ce2efd9be7 feat: persistent session + logout button + auto-redirect for authenticated users cclohmar 2026-06-05 11:24:05 +0000
  • aa07ff3c50 feat: changing event exchange rate recalculates all expense converted amounts cclohmar 2026-06-03 08:24:46 +0000
  • b0dfb5fad3 fix: reset ownership at start of update mode before any file operations cclohmar 2026-06-03 08:20:23 +0000
  • afd4b6a1cf fix: use sudo_if rm -f app — delete root-owned binary as app user cclohmar 2026-06-03 08:18:17 +0000
  • 5abe8c49d9 fix: stop service before build so old binary can be removed cclohmar 2026-06-03 08:17:05 +0000
  • f8d3cb6b33 fix: remove old binary before rebuild — prevents permission denied when overwriting root-owned file cclohmar 2026-06-03 08:15:58 +0000
  • 433b5a4ed8 fix: chown .go build cache before build to prevent permission errors cclohmar 2026-06-03 08:14:18 +0000
  • 67f1a6c845 fix: add -buildvcs=false to go build to prevent VCS errors cclohmar 2026-06-03 08:11:53 +0000
  • 6e61740f0a fix: update mode chowns .go build cache to app user cclohmar 2026-06-03 08:10:57 +0000
  • 0d42a35cb8 refactor: remove duplicate edit from event page, add delete to edit form cclohmar 2026-06-03 08:09:31 +0000
  • b9721a9bab fix: event edit and delete now use htmx.trigger() instead of .submit() / hx.trigger() cclohmar 2026-06-03 08:03:47 +0000
  • c815e022b5 fix: OTP email subject 'Your ExpenseFlow OTP' → 'Your ReceiptNext OTP' cclohmar 2026-06-03 08:01:00 +0000
  • e547eee57f fix: install.sh backup preserves database owner using stat cclohmar 2026-06-03 07:59:02 +0000
  • 91534ed8bd fix: renderOTPForm in auth.go now uses cached single-field template cclohmar 2026-06-03 07:57:56 +0000
  • cb42efa395 fix: database ownership preserved during backup — app user must be able to write cclohmar 2026-06-03 07:52:23 +0000
  • bb34528bf5 feat: single OTP field, event metadata on page, delete event cclohmar 2026-06-03 07:46:12 +0000
  • 0748af7c26 fix: EditEvent returns standalone form fragment, not full page cclohmar 2026-06-03 07:41:29 +0000
  • 0f39f3dc24 fix: Edit button shows hidden form — added onclick to remove hidden class cclohmar 2026-06-03 07:38:52 +0000
  • 5f5f2be75b feat: event editing — change exchange rate and currency cclohmar 2026-06-03 07:33:37 +0000
  • 4ea3d63b29 feat: OTP inputs auto-advance to next field when digit is typed cclohmar 2026-06-02 00:00:57 +0000
  • 7ab94a14d0 feat: add × close button to image lightbox cclohmar 2026-06-01 23:57:17 +0000
  • 2d259a2b7c fix: add 'unsafe-inline' to script-src CSP so onclick handlers work cclohmar 2026-06-01 23:51:39 +0000
  • 814cba1f53 fix: image lightbox overlay hidden not working — display:flex overrode hidden class cclohmar 2026-06-01 23:35:35 +0000
  • 0b55ac1fac fix: normalize ImagePath for old database entries with storage/ prefix cclohmar 2026-06-01 23:30:56 +0000
  • bb2c06fa3a fix: validate sudo access upfront in install.sh and update mode cclohmar 2026-06-01 23:27:04 +0000
  • 9c239e565b docs: update README — binary name, update process, config table, structure cclohmar 2026-06-01 23:21:21 +0000
  • 5aca6c06a5 fix: update mode backs up database before making changes cclohmar 2026-06-01 23:20:14 +0000
  • c386b150c4 fix: update mode now copies templates, static assets, install.sh cclohmar 2026-06-01 23:18:40 +0000
  • 8ff1a4175a feat: view receipt image from expense list cclohmar 2026-06-01 23:16:35 +0000
  • 4593dd1f66 refactor: replace currency dropdowns with simple text inputs cclohmar 2026-06-01 23:14:16 +0000
  • e49b184be8 fix: install.sh installs git, curl, python3 if missing cclohmar 2026-05-31 03:02:01 +0000
  • 92f070440f refactor: implement best-practice recommendations from code review cclohmar 2026-05-31 02:13:07 +0000
  • 6a902f0b85 chore: remove last DeepSeek reference from main.go header cclohmar 2026-05-31 02:02:02 +0000
  • a7381bde0c fix: final vulnerability sweep — storage auth, security headers, body limits, cookie flags cclohmar 2026-05-31 02:01:12 +0000
  • e831fcf617 fix: resolve 7 critical security findings from code review cclohmar 2026-05-31 01:50:08 +0000
  • 2f26abfb2f docs: update README — remove Ollama references, update config table cclohmar 2026-05-30 17:44:13 +0000
  • 9f52198647 fix: remove orphaned fallthrough after ollama removal cclohmar 2026-05-30 17:40:40 +0000
  • 3327fd4fac feat: use glm-ocr as default Ollama model (specialized OCR, not a general LLM) cclohmar 2026-05-30 17:17:06 +0000
  • 1eca4ae777 fix: qwen3.5 reasoning model outputs to thinking field not content cclohmar 2026-05-30 16:51:43 +0000
  • 59f73830fb fix: chown /usr/share/ollama after install so ollama user can write to it cclohmar 2026-05-30 16:45:00 +0000
  • 51c5d9a23e fix: set GOCACHE alongside GOMODCACHE for users without home write access cclohmar 2026-05-30 16:13:26 +0000
  • de29841341 docs: remove sudo from local clone install command cclohmar 2026-05-30 16:11:18 +0000
  • 0ab9f1e1be fix: go build module cache permission + README sudo cclohmar 2026-05-30 16:10:42 +0000
  • b7fddf0069 fix: set OLLAMA_HOST explicitly for model pull cclohmar 2026-05-30 16:06:03 +0000
  • bc5a5172dc fix: git safe.directory + ownership after clone/pull cclohmar 2026-05-30 16:02:44 +0000
  • bb11a7f32c fix: wait for Ollama API before pulling model cclohmar 2026-05-30 16:00:08 +0000
  • 378c8e5b98 docs: update help text — no global sudo needed cclohmar 2026-05-30 15:56:41 +0000
  • e977907da3 fix: install.sh syntax errors from sed replacements cclohmar 2026-05-30 15:55:28 +0000
  • e20a484ebc chore: rename binary from receiptnext to app cclohmar 2026-05-30 15:53:24 +0000
  • f9a7df1580 feat: greenfield deployment — no Go required cclohmar 2026-05-30 15:49:05 +0000
  • 59788ba0c8 fix: app runs as dedicated user, not root cclohmar 2026-05-30 15:44:10 +0000
  • b6c2c3f99d fix: Ollama timeout + image compression + selective sudo in install.sh cclohmar 2026-05-30 15:41:47 +0000
  • 357483cfd2 fix: install zstd dependency before Ollama installer cclohmar 2026-05-30 15:22:03 +0000
  • 57f501e0c8 docs: update one-liner install command in README cclohmar 2026-05-30 15:21:25 +0000
  • 1aa5ec456e chore: install.sh asks for domain name instead of raw URL cclohmar 2026-05-30 15:08:26 +0000
  • c0d3002e22 fix: remove hardcoded credentials from .env.example and source cclohmar 2026-05-30 15:08:01 +0000
  • 7fdfba8095 chore: change install dir from /opt/rx to /opt/receiptnext cclohmar 2026-05-30 15:06:20 +0000
  • 39fa7f6a12 chore: rewrite install.sh with AI provider choice + -update flag + pure Go cclohmar 2026-05-30 15:03:39 +0000
  • 6de9c27f9c chore: switch from mattn/go-sqlite3 (CGO) to modernc.org/sqlite (pure Go) cclohmar 2026-05-30 15:02:07 +0000
  • b780ac1e1f chore: interactive install.sh — prompts user for credentials, installs to /opt/rx cclohmar 2026-05-30 14:23:42 +0000
  • f50048e833 chore: rename to ReceiptNext + deployment scripts cclohmar 2026-05-30 14:20:49 +0000
  • 5ca3ff7555 feat: configurable AI provider system (Gemini, OpenAI, Ollama) cclohmar 2026-05-30 14:05:19 +0000
  • 646378df64 feat: gallery upload + PDF receipt support cclohmar 2026-05-30 13:50:22 +0000
  • dcb43b08a0 feat: send receipt images as ZIP attachment with report cclohmar 2026-05-30 13:38:23 +0000
  • e22bd56169 fix: form fields too tight - increased spacing and padding cclohmar 2026-05-30 13:08:28 +0000