Commit Graph
256 Commits
Author SHA1 Message Date
soconnor 67ab6b78bd Add scheduled invoice delivery 2026-08-17 13:54:45 -04:00
soconnor 29589c1f32 Render signup policy dynamically 2026-08-17 01:55:41 -04:00
soconnor dafa62b9bb Make Coolify service ports configurable 2026-08-17 01:14:39 -04:00
soconnor 24a1307a96 Add PostgreSQL-backed background worker 2026-08-17 01:02:44 -04:00
soconnor 9929d7321d Polish mobile and web experience 2026-08-17 00:18:55 -04:00
soconnor 6c74436092 Convert Beenvoice to a Turborepo monorepo 2026-08-16 22:13:42 -04:00
soconnor d057ba208d Add 'apps/mobile/' from commit '5fa30f365f21531094cd4d2045042bb4f1370ac3'
git-subtree-dir: apps/mobile
git-subtree-mainline: 86f8987dff
git-subtree-split: 5fa30f365f
2026-08-16 21:42:59 -04:00
soconnor 86f8987dff Add 'apps/web/' from commit '1e7174fa604b11e7c3983cd8ad01c596f6e77e96'
git-subtree-dir: apps/web
git-subtree-mainline: 068a51b46b
git-subtree-split: 1e7174fa60
2026-08-16 21:42:59 -04:00
soconnor 068a51b46b Initialize Beenvoice workspace 2026-08-16 21:42:57 -04:00
soconnor 5fa30f365f Make iOS release signing deterministic 2026-08-15 14:18:09 -04:00
soconnor b9c7fb325a Add in-app account deletion 2026-08-15 13:46:47 -04:00
soconnor 1e7174fa60 Add permanent account deletion 2026-08-15 13:46:42 -04:00
soconnor 9eadb0d7fb Document public App Store demo login 2026-08-15 00:17:57 -04:00
soconnor 5f6987b84b Restore public demo review password 2026-08-15 00:17:57 -04:00
soconnor fa42ffb767 Add App Store review screenshots 2026-08-14 19:48:21 -04:00
soconnor d2fa050c05 Bump iOS build to 27 2026-08-14 18:51:49 -04:00
soconnor 66a53f25f2 Harden demo access and restore clean checks 2026-08-14 16:45:02 -04:00
soconnor f493fd20f2 Upgrade to Expo 57 and add parity smoke tests 2026-08-14 16:45:02 -04:00
soconnor 29d7b498ae Add business logo branding support 2026-08-14 16:26:43 -04:00
soconnor 31ae51cf9e Add offline caching and refine Live Activity 2026-08-14 16:26:43 -04:00
soconnorandClaude Opus 4.8 3f3b1362a9 Fix clock-in failing when no client is selected
clockIn and create used `input.clientId?.trim() ?? null`, but clients
always send `""` (not undefined) for no-client. `??` doesn't catch the
empty string, so `""` was inserted into time_entries.client_id,
violating the foreign key to clients.id. Use `|| null` to normalize a
blank string to null, matching updateRunning.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 15:43:21 -04:00
soconnor fa3b9bf6a0 update app.json 2026-07-06 21:12:22 -04:00
soconnor ae7350dae6 Prevent swipe rows from opening items 2026-07-02 00:52:50 -04:00
soconnor 40624f6e6f Document recurring invoice scheduler setup 2026-07-02 00:49:48 -04:00
soconnorandClaude Sonnet 5 d589b94580 Make CRON_SECRET optional; fix docker env validation failure
CRON_SECRET was required (min 32 chars) in production by env.js, but
neither docker-compose.yml nor docker-compose.coolify.yml passed it
through. Since the release container isn't covered by
SKIP_ENV_VALIDATION (build-stage only), bun run start failed env
validation on every docker deploy unless CRON_SECRET was manually
configured — even though it only gates the optional recurring-invoice
cron endpoint, which already handles being unset gracefully.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 14:43:20 -04:00
soconnor da219b287e Support mobile home and live activity data 2026-07-01 02:55:16 -04:00
soconnor 530d0dc34d Refresh home and more navigation 2026-07-01 02:46:39 -04:00
soconnor 6497ee4dec Wire live activity widget patches 2026-07-01 02:45:30 -04:00
soconnor 107b593002 Center live activity timer layout 2026-07-01 02:37:58 -04:00
soconnor 316edb4b3e Prefer mobile auth cookie for app requests 2026-06-29 22:01:41 -04:00
soconnor b7eef743bd Fix mobile account session selection 2026-06-29 22:01:41 -04:00
soconnor 9498a09b5b Bump iOS build number 2026-06-29 18:40:11 -04:00
soconnor 0aa1b0b431 Send Better Auth session token with tRPC 2026-06-29 18:38:47 -04:00
soconnor 8866335c50 Accept mobile Better Auth session token header 2026-06-29 18:38:35 -04:00
soconnor 57e1aa658a Stabilize mobile auth session handling 2026-06-29 17:58:50 -04:00
soconnor fb731885de Support chunked Better Auth session cookies 2026-06-29 17:57:38 -04:00
soconnor 1605322bc9 Improve expense dialog button layout 2026-06-29 15:30:19 -04:00
soconnor ef826dffa9 Harden auth and mobile session handling 2026-06-29 15:21:31 -04:00
soconnor 477459edd4 Fix iOS Podfile generation for receipt OCR 2026-06-29 01:44:12 -04:00
soconnor 21268ddd39 Refine receipt item expense selection 2026-06-29 01:38:00 -04:00
soconnor 7bc8559b44 Expose mobile More tools 2026-06-29 01:38:00 -04:00
soconnor 8ad4210908 Add mobile expenses and receipt OCR 2026-06-29 01:35:00 -04:00
soconnor d0c916d659 Polish expenses dashboard 2026-06-29 01:30:20 -04:00
soconnor a66d05f24f Remove default access and secret keys for S3 in Docker Compose files for security enhancement 2026-06-29 01:15:05 -04:00
soconnor 122a3c64f5 Refactor Coolify deployment from MinIO to Garage
- Updated README and documentation to reflect the transition from MinIO to Garage for S3-compatible storage.
- Removed the MinIO-specific docker-compose files and replaced them with Garage configurations.
- Adjusted environment variables and service dependencies in docker-compose files to accommodate Garage.
- Modified application code to log hints for Garage instead of MinIO.
- Ensured all references to MinIO in the codebase and documentation are replaced with Garage.
2026-06-29 00:59:27 -04:00
soconnorandCursor 31151e7f39 Sync time entries with invoice lines and harden auth for mobile.
Link clocked time to invoice items with bidirectional sync, add entry editing on web, broaden session cookie detection for Expo clients, and handle API rate limits without signing users out.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 21:44:19 -04:00
soconnorandCursor c267b3e1c8 Improve expenses receipts UX and Coolify MinIO deployment.
Extract receipt UI components, add view/edit/create dialog modes with list receipt previews, add docker-compose.coolify.yml and clearer COOLIFY/S3 path-style guidance for Application + MinIO setups.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-27 00:47:59 -04:00
soconnor 5e6e51337a enable react compiler 2026-06-27 00:05:42 -04:00
soconnor b9a9b813d2 add receipts support 2026-06-26 23:07:43 -04:00
soconnorandCursor 85df7c4627 Default signups off, improve Docker deploy, fix onboarding step UI.
Show a disabled-registration state on the register page when DISABLE_SIGNUPS is true (default), document docker-deploy.sh with git-SHA image tags, and align onboarding progress circles and labels on a shared grid.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 13:14:25 -04:00