Chris
|
095bd54684
|
Add canonical base URL support via APP_URL, reverse proxy trust, and dynamic client configuration
|
2026-11-01 02:00:22 -05:00 |
|
Chris
|
eb1bae3b06
|
Exclude node_modules and data from Docker build context
Prevents host-built native modules (better-sqlite3) from overwriting the image's Linux build and keeps the live database/backups out of image layers.
|
2026-11-01 01:44:58 -05:00 |
|
Chris
|
454f676499
|
Update default model list from live API discovery and filter out TTS/music/agent models
|
2026-11-01 01:43:44 -05:00 |
|
Chris
|
ca6d9b2db6
|
Add direct Google API fallback for model discovery and graceful non-JSON handling
|
2026-11-01 01:29:15 -05:00 |
|
Chris
|
423334db4d
|
Add structured logging (Pino), Docker log rotation, and OpenObserve + Fluent Bit observability stack
- logger.js: Pino JSON logger with console-style helpers and pino-http request logging (static assets skipped, headers not logged, secrets redacted)
- server.js: replace 89 console.* calls with log.info/warn/error; add request logging middleware
- docker-compose.yml: json-file rotation (10m x 5, compressed), LOG_LEVEL, 'forkfolio' log tag
- observability/: standalone OpenObserve + Fluent Bit stack routing tagged container logs to per-app streams
- .dockerignore: exclude observability stack from app image
|
2026-11-01 01:17:21 -05:00 |
|
Chris
|
311c03136c
|
Support dynamic Gemini AI model selection with model discovery and default to gemini-2.0-flash
|
2026-11-01 01:44:40 -04:00 |
|
Chris
|
a098ea3bca
|
Use local heuristic engine first for extraction and offer user-initiated AI Polish action
|
2026-11-01 01:22:40 -04:00 |
|
Chris
|
e283f238cc
|
Enhance TikTok heuristic parser for unstructured single-line captions
|
2026-11-01 01:12:50 -04:00 |
|
Chris
|
36b8706548
|
Implement Option 1: TikTok caption recipe extraction with Gemini AI and heuristic parser
|
2026-11-01 01:05:19 -04:00 |
|
Chris
|
50b94bb190
|
Remove color gradients from buttons and hero heading text
|
2026-11-01 00:34:00 -04:00 |
|
Chris
|
a1a6637577
|
Apply Midnight Gastro-Bar theme with Savory Olive accent
|
2026-11-01 00:25:57 -04:00 |
|
Chris
|
c7fb78a139
|
fix: serve backup user inspection from metadata and avoid Google Drive quota bursts
|
2026-10-31 01:36:47 -04:00 |
|
Chris
|
c34ce4122b
|
fix: include application/json Content-Type in getAuthHeaders for backup inspect and restore POST bodies
|
2026-10-31 01:25:20 -04:00 |
|
Chris
|
b44c4ba333
|
fix: eliminate Google Drive API burst rate-limit errors and cache inspected backup buffers
|
2026-10-31 01:20:11 -04:00 |
|
Chris
|
906d448dba
|
feat: support selective single-user data restore from cloud and local backups
|
2026-10-31 01:06:07 -04:00 |
|
Chris
|
6e8e948ce1
|
feat: add live cloud backup scanner and one-click cloud restore modal for Google Drive and S3
|
2026-10-31 00:52:45 -04:00 |
|
Chris
|
12dbf04b8e
|
feat: add one-click Google Drive authorization and folder picker with zero manual credential input
|
2026-10-31 00:40:59 -04:00 |
|
Chris
|
90373d3cc3
|
feat: add admin cloud and manual database backup and recovery console
|
2026-10-31 00:23:35 -04:00 |
|
Chris
|
01ed916a51
|
chore: add GEMINI.md workspace rule for automatic git commit and push
|
2026-10-29 17:56:30 -04:00 |
|
Chris
|
dc6f500045
|
feat: add multiple shareable shopping lists with smart consolidation toggle and default user setting
|
2026-10-29 17:46:43 -04:00 |
|
Chris
|
72b965743e
|
fix: sticky mobile modal footer, inline copy feedback, and PerimeterX scraper fallback
|
2026-10-29 14:52:27 -04:00 |
|
Chris
|
7043f1afe1
|
feat: implement admin public shared links dashboard with visitor tracking and revocation override
|
2026-05-30 00:32:11 -04:00 |
|
Chris
|
0895a97588
|
feat: migrate database to SQLite and implement secure recipe sharing, unique visitor tracking, and link revocation
|
2026-05-29 23:57:13 -04:00 |
|
Chris
|
b9016991eb
|
Mobile Optimizations
|
2026-05-28 22:30:24 -04:00 |
|
Chris
|
02f0ecb587
|
Image
|
2026-05-27 00:04:36 -04:00 |
|
Chris
|
97733b8570
|
Initial commit: GourmetVault recipe manager
|
2026-05-26 19:57:35 -04:00 |
|