Commit Graph

17 Commits

Author SHA1 Message Date
René Schober
597e0d9390 fix: async SecureStore token read + prod env fallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 16:31:27 +01:00
René Schober
51f0028883 security: WS membership check, rate limiting, Zod WS validation, remove /repair
- WebSocket upgrade now verifies user is member of the household (prevents cross-household access)
- Rate limiting: invite/join 10/h, scanner 50/h, auth sign-in 10/min
- WebSocket commands validated via Zod discriminatedUnion (no unsafe cast)
- Removed /repair endpoint (dev artifact, bypassed tenant middleware)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 13:14:45 +01:00
René Schober
f5c4b33f60 fix: add hostname and port configuration to export 2026-03-20 13:00:55 +01:00
René Schober
4d6424e82e fix: use Hono Bun WebSocket pattern (export default fetch+websocket)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:56:51 +01:00
René Schober
033eba1eac fix: use upgradeWebSocket and websocket directly from hono/bun
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:52:44 +01:00
René Schober
b7a4dcf150 fix: use websocket from createBunWebSocket instead of injectWebSocket
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:51:56 +01:00
René Schober
71fc14f86f fix: extract createBunWebSocket to avoid circular import
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:50:17 +01:00
René Schober
b751fe26fb fix: migrate WebSocket to Hono createBunWebSocket (single Bun.serve)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:48:13 +01:00
René Schober
1e10b980c2 fix: temporarily disable WebSocket server to unblock deployment
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:42:19 +01:00
René Schober
bba33d0f00 chore: upgrade Docker base image to Bun 1.3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:36:12 +01:00
René Schober
ec8bec4528 Fix: remove bun.lock from image (incompatible with bun 1.1) 2026-03-20 12:28:46 +01:00
René Schober
66fe21d090 Fix: use bun 1.1-alpine (ARM64 EADDRINUSE bug in 1.3) 2026-03-20 12:28:25 +01:00
René Schober
66cba490ae Fix: empty .env in container + smol flag removed 2026-03-20 12:16:57 +01:00
René Schober
9b6fc37a23 Fix: single worker mode + configurable port 2026-03-20 11:58:30 +01:00
René Schober
4966e1b1c4 Use PORT env var for server port 2026-03-20 11:56:24 +01:00
René Schober
9ddc7c6d7a Production deployment setup + feature complete
- Dockerfile + deploy.sh for Hetzner server
- Email verification via Better Auth + Resend
- Invite code flow (6-digit OTP, generate/join)
- Settlement share percent fix (payer vs debtor)
- OCR scanner fixes (date display, retry, viewfinder)
- app.json icon/splash/adaptive-icon configured
- iOS deployment target 15.5 (ML Kit requirement)
- DB migration 0014: household_invitations table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 11:54:22 +01:00
René Schober
4e34270786 initial commit 2026-03-13 06:23:06 +01:00