Commit Graph

69 Commits

Author SHA1 Message Date
Knee Cola
8685ac36b8 refactor: make workspaces fully self-contained
Removed shared dependencies from root package.json. Each workspace now
manages its own dependencies independently.

- Removed prettier from root devDependencies
- Removed prettier scripts from root (available in web-app workspace)
- Root package.json now only manages workspace configuration

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 12:19:13 +01:00
Knee Cola
57dcebd640 refactor: convert repository to monorepo with npm workspaces
Restructured the repository into a monorepo to better organize application code
and maintenance scripts.

## Workspace Structure
- web-app: Next.js application (all app code moved from root)
- housekeeping: Database backup and maintenance scripts

## Key Changes
- Moved all application code to web-app/ using git mv
- Moved database scripts to housekeeping/ workspace
- Updated Dockerfile for monorepo build process
- Updated docker-compose files (volume paths: ./web-app/etc/hosts/)
- Updated .gitignore for workspace-level node_modules
- Updated documentation (README.md, CLAUDE.md, CHANGELOG.md)

## Migration Impact
- Root package.json now manages workspaces
- Build commands delegate to web-app workspace
- All file history preserved via git mv
- Docker build process updated for workspace structure

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 12:13:04 +01:00
Knee Cola
d3f109ea4b chore: update version to 2.20.0 in package.json and package-lock.json 2025-12-24 23:43:17 +01:00
043c6efbd2 chore: update version to 2.19.0 in package.json and package-lock.json 2025-12-22 15:16:52 +01:00
20af876316 chore: update version to 2.18.0 in package.json and package-lock.json 2025-12-22 13:53:04 +01:00
cd154f9e24 fix: improve PDF417 barcode generation and data handling
- Fix newline corruption: URL-encode hub3aText to prevent browser form submission from converting \n to \r\n
- Align with HUB3A specs: Set error correction level to 4 and pixel size to 4x3 for better barcode scanning reliability
- Fix barcode sizing: Add responsive width constraints (max-w-[35rem], sm:max-w-[25rem]) across all barcode displays
- Update package dependencies: Remove peer dependency flags

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 13:51:08 +01:00
Knee Cola
1420cfe2d9 2.17.0
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 21:03:25 +01:00
Knee Cola
a91c635fa4 2.16.1 2025-12-20 09:54:49 +01:00
Knee Cola
bacc067c52 2.16.0 2025-12-20 08:53:12 +01:00
Knee Cola
9679246f62 chore: remove legacy @zxing packages and old decoder implementation
Remove @zxing/browser and @zxing/library dependencies as they have been fully replaced by zxing-wasm. Delete old barcodeDecoder.ts file which is no longer used after migration to barcodeDecoderWasm.ts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-20 01:15:09 +01:00
Knee Cola
5b0497891a feat: migrate PDF417 barcode decoder from @zxing/browser to zxing-wasm
Replace @zxing/browser with zxing-wasm for better performance and smaller WebAssembly bundle size (919KB). Added middleware exclusion for .wasm files to prevent i18n routing interference.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-19 18:01:44 +01:00
7467f9d595 @zxing udpated to latest version 2025-12-19 12:55:49 +01:00
0241645872 2.15.0 2025-12-19 10:01:40 +01:00
82c7c938ba 2.14.0 2025-12-18 18:00:24 +01:00
Knee Cola
1c80caee9c 2.13.0 2025-12-08 01:24:22 +01:00
Knee Cola
f8aa7233de 2.12.1 2025-12-07 18:54:30 +01:00
Knee Cola
621146f839 2.12.0 2025-12-07 17:03:59 +01:00
Knee Cola
6a86ebd747 Fix per-bill proof of payment field name and add environment config
- Updated uploadProofOfPayment to expect 'proofOfPayment' field name
  instead of 'utilBillsProofOfPayment' for semantic clarity
- Removed old not-found.tsx from deprecated route structure
- Added required environment variables for file upload validation:
  - MAX_BILL_ATTACHMENT_UPLOAD_SIZE_KB=1024
  - MAX_PROOF_OF_PAYMENT_UPLOAD_SIZE_KB=1024
- Updated package-lock.json with peer dependency metadata

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 13:16:37 +01:00
Knee Cola
9b5dd98c6c 2.11.0 2025-11-29 13:14:33 +01:00
Knee Cola
68d843f214 2.10.0 2025-11-26 20:56:19 +01:00
Knee Cola
08b3564810 2.9.0 2025-11-26 20:33:20 +01:00
9460c605ea 2.8.0 2025-11-26 14:09:58 +01:00
b3356ccf18 Update browserslist database and Claude Code settings
- Update caniuse-lite from 1.0.30001588 to 1.0.30001757
- Add npm run build to Claude Code auto-approved commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 14:09:40 +01:00
Knee Cola
1856a07027 2.7.0 2025-11-25 22:06:44 +01:00
Knee Cola
f8d578faf6 2.6.2 2025-11-25 21:12:46 +01:00
Knee Cola
4bf7494820 2.6.0 2025-11-25 20:08:48 +01:00
51aa4b1891 2.5.0 2025-11-25 14:52:44 +01:00
Knee Cola
1b5d6b91a6 2.4.0 2025-11-24 23:10:01 +01:00
Knee Cola
90e24a5739 2.3.0 2025-11-24 22:18:21 +01:00
Knee Cola
58108a61d3 npm i 2025-11-24 18:42:26 +01:00
Knee Cola
6af9c029e3 2.2.0 2025-11-24 18:40:14 +01:00
3ef9e411e9 feat: add QR code for Revolut payment link
- Install react-qr-code package for QR code generation
- Replace placeholder with actual QR code component in ViewLocationCard
- QR code displays Revolut payment URL with amount, currency, and profile
- Center-aligned QR code (200x200px) in white container with border
- Extract revolutPaymentUrl to single variable for reuse in QR code and link

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:25:06 +01:00
686bec6c10 feat: add Revolut payment link support alongside IBAN
- Add NoteBox component for displaying warning messages with icon
- Add Revolut profile name field to user settings schema
- Update UserSettingsForm to support payment instruction selection (disabled/IBAN/Revolut)
- Add Croatian and English translations for new payment options
- Reserve fields for future per-instruction enable/disable functionality

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 13:37:54 +01:00
Knee Cola
b3126d6ef3 chore: update version to 2.1.2 in package.json and package-lock.json 2025-11-23 23:03:02 +01:00
Knee Cola
3cbd60767e chore: update version to 2.1.1 in package.json and package-lock.json 2025-11-23 23:00:32 +01:00
Knee Cola
f8ae0c780e 2.1.0 2025-11-23 22:51:45 +01:00
Knee Cola
8998bbae7d 2.0.1 2025-11-23 12:54:25 +01:00
Knee Cola
ab9cead175 2.0.0 2025-11-23 12:08:39 +01:00
Knee Cola
9d53fb1753 chore: Upgrade pdfjs-dist from 4.0.379 to 4.10.38
Updated PDF.js library to version 4.10.38 for improved PDF rendering
and barcode scanning capabilities.

Changes:
- package.json: Updated pdfjs-dist dependency to ^4.10.38
- package-lock.json: Updated dependency tree
- public/pdf.worker.min.mjs: Updated PDF.js worker file
- app/lib/pdf/barcodeDecoder.ts: Removed unused import

This is a minor version update within v4, maintaining API compatibility
while receiving bug fixes and improvements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:48:51 +01:00
Knee Cola
2cfafa6cde chore: Update npm dependencies
- Removed @napi-rs/canvas optional dependencies from package-lock.json
- Added pdf.sandbox.mjs.map to public directory

These changes optimize the dependency tree by removing unused canvas
rendering dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:45:08 +01:00
Knee Cola
701b9b5d58 Refactor Pdf417Barcode to accept payment params as props
Changes Pdf417Barcode component from using hardcoded payment data to
accepting paymentParams as a prop, making it reusable. Updates useEffect
dependency array to regenerate barcode when payment params change.

Also updates hub-3a-payment-encoder to v1.1.0 for PaymentParams type support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:47:25 +01:00
Knee Cola
d1436a9783 Remove pdf417 npm dependency
Removing the external pdf417 package in favor of custom implementation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 14:18:35 +01:00
Knee Cola
547692f0a2 Add pdf417 dependency to package.json and package-lock.json 2025-11-22 07:23:09 +01:00
Knee Cola
969baf35ae Add project name to package-lock.json 2025-11-22 07:20:29 +01:00
Knee Cola
c72fd78750 Add hub-3a-payment-encoder dependency to package.json and package-lock.json 2025-11-22 07:17:05 +01:00
Knee Cola
221f588b71 1.65.0 2025-11-20 18:54:51 +01:00
Knee Cola
216b08c12b Add IBAN validation using iban.js library
Implemented optional IBAN validation for the account form profile:
- Installed iban.js package for robust IBAN validation
- Added Zod validation with IBAN.isValid() for format checking
- Normalizes IBAN (removes spaces, uppercase) before storage
- Validates country-specific formats and checksums
- Added validation error messages in English and Croatian

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 20:23:11 +01:00
Knee Cola
80f4c92755 Add user account settings page with profile management
- Add /account route with profile form (firstName, lastName, address, IBAN)
- Create UserProfile type and MongoDB users collection
- Implement server actions for getting and updating user profile
- Add Account Circle icon to PageHeader linking to /account
- Install Material UI icons for account icon
- Add form input disabling during save with loading spinner
- Add cancel button to discard changes and return home
- Add English and Croatian translations for account page
- Update locale names with flag emojis in language selector

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 18:37:59 +01:00
Knee Cola
cc147e8726 fix: resolve 14 npm security vulnerabilities via npm audit fix
Updated dependencies to patch the following security issues:
- @babel/helpers & @babel/runtime: RegExp complexity vulnerability
- brace-expansion: ReDoS vulnerabilities
- braces: Uncontrolled resource consumption
- cookie: Out of bounds character handling
- cross-spawn: ReDoS vulnerability
- js-yaml: Prototype pollution in merge
- micromatch: ReDoS vulnerability
- nanoid: Predictable results with non-integer values
- next: Multiple critical vulnerabilities (SSRF, cache poisoning, DoS, auth bypass)
- pdfjs-dist: Arbitrary JavaScript execution vulnerability
- tar: DoS vulnerability due to lack of folder count validation

Severity: 1 critical, 3 high, 7 moderate, 3 low

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 13:19:52 +01:00
f86d2e2404 chore: update package version to 1.59.0 in package.json and package-lock.json 2025-09-08 14:00:44 +02:00