John Mizerek
336aef8685
Fix HTTPS detection and file permissions for ZIP upload
...
- Check X-Forwarded-Proto header for HTTPS (reverse proxy)
- chmod extracted files to be world-readable for Playwright
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:43:28 -08:00
John Mizerek
ddaac523bf
Add auto-cleanup of old temp extractions (>1 hour)
...
Security: Also added nginx rule on dev server to block CFM/PHP
execution in /temp/menu-import/ directory.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:40:10 -08:00
John Mizerek
093a3b8bce
Fix struct-to-string comparison in uploadSavedPage.cfm
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:37:19 -08:00
John Mizerek
3df4659830
Add debug logging for ZIP upload response
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:11:43 -08:00
John Mizerek
06ca5462c2
Read images from disk for local ZIP uploads
...
When scanning extracted ZIP content from /temp/menu-import/, read
images directly from the filesystem instead of re-downloading via HTTP.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:07:33 -08:00
John Mizerek
3eee356ac0
Add uploadSavedPage.cfm to public endpoints
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:06:34 -08:00
John Mizerek
8aeca335fd
Add ZIP upload for saved webpage import
...
For Cloudflare-protected sites, users can now:
1. Save the page from their browser (Webpage, Complete)
2. ZIP the HTML and assets folder
3. Upload the ZIP in the wizard
4. Server extracts to temp folder, Playwright scans local copy
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:02:51 -08:00
John Mizerek
1438267af6
Use wrapper script for Playwright to set browser path
2026-02-12 21:54:02 -08:00
John Mizerek
5c50ce2cf9
Use Playwright for JS-rendered menu scraping
...
- Replace cfhttp with Playwright headless browser
- Capture images from network requests during page render
- No longer needs to fetch subpages (JS renders everything)
- Should capture subcategory items that load dynamically
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:43:37 -08:00
John Mizerek
22fc113461
Add NOW() for AddedOn in business INSERT
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:24:28 -08:00
John Mizerek
40c91c82cf
Fix add new business link to point to setup-wizard.html
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:12:02 -08:00
John Mizerek
a32614be17
Restore CommunityMealType column in business INSERT (added column to dev DB)
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:06:28 -08:00
John Mizerek
f8afbb57e9
Add bulk item image upload: accept all sizes, pick best, upload after save
2026-02-12 20:56:27 -08:00
John Mizerek
04f65e3495
Fix image matching to use Toast item ID from filename, not alt text
2026-02-12 20:51:37 -08:00
John Mizerek
4471ddc92b
Add automatic image downloading from URLs during menu import
2026-02-12 20:48:17 -08:00
John Mizerek
f882e84704
Add image type breakdown to setup wizard summary
2026-02-12 20:44:42 -08:00
John Mizerek
1a7c342ac9
Remove manual image upload step - use automatic matching
2026-02-12 20:36:43 -08:00
John Mizerek
dbe05a8b12
Update prompt to extract imageUrl from item containers in HTML
2026-02-12 20:36:16 -08:00
John Mizerek
112f343ecf
Fix wizard: header preview uses cover, add image matching step after HTML import
2026-02-12 20:31:29 -08:00
John Mizerek
a1b557cdc7
Look for embedded JSON data in menu pages
2026-02-12 20:22:35 -08:00
John Mizerek
361e54c17a
Add debug: Beverages HTML snippet to see subcategory structure
2026-02-12 20:06:07 -08:00
John Mizerek
794d2ceee5
Add debug for menuGroup/menuSection structure detection
2026-02-12 20:01:43 -08:00
John Mizerek
bed088d0ff
Explicit subcategory rule: outer section = parent, inner sections = subcats
2026-02-12 19:56:29 -08:00
John Mizerek
2163bb3009
Explicit subcategory detection with HTML structure example
2026-02-12 19:55:00 -08:00
John Mizerek
99c2a6aa10
Add HTML snippet debug to see actual structure
2026-02-12 19:50:56 -08:00
John Mizerek
549f3cb31f
Explicit Toast subcategory instructions: parent in category, subcat in subcategory
2026-02-12 19:44:10 -08:00
John Mizerek
436861970e
Add h4 tag debug to find subcategory tags
2026-02-12 19:40:51 -08:00
John Mizerek
3e9f07df1a
Simplify: categories as strings, subcategory on items
2026-02-12 19:37:04 -08:00
John Mizerek
dfb264eba6
Simplify image extraction to single imageUrl per item
2026-02-12 19:29:41 -08:00
John Mizerek
89adfbc92e
Add JSON parse error handling with debug output
2026-02-12 19:29:00 -08:00
John Mizerek
ec59f05814
Restore working prompt, add subcategory support without breaking item extraction
2026-02-12 19:22:45 -08:00
John Mizerek
d8dacb198e
Fix CFML hash escape in system prompt
2026-02-12 19:17:28 -08:00
John Mizerek
e372f67901
Improve Toast POS subcategory detection with explicit h3 search and debug output
2026-02-12 19:14:15 -08:00
John Mizerek
813628cecb
Add HTML file upload option for menu import
...
- Backend now accepts either url or html content in request body
- Frontend adds HTML file upload option below URL input
- Useful when websites block the crawler (403 errors)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 17:13:32 -08:00
John Mizerek
31773b0acf
Add analyzeMenuUrl to public endpoints
2026-02-12 16:44:33 -08:00
John Mizerek
f6518932db
Add URL-based menu import to setup wizard
2026-02-12 16:43:37 -08:00
John Mizerek
fccbc17fe3
Escape # symbol in CFML prompt
2026-02-12 14:34:54 -08:00
John Mizerek
2905d0f9f8
Fix missing closing tag in CFML
2026-02-12 14:26:17 -08:00
John Mizerek
800d1f1246
Add brand color extraction and auto-header detection to setup wizard
2026-02-12 14:20:35 -08:00
John Mizerek
02d77b662a
Fix hours extraction to explicitly require weekend hours
2026-02-12 14:08:50 -08:00
John Mizerek
0d04ae8463
Resolve merge conflict in myBusinesses.cfm - keep ActiveTaskCount
2026-02-11 22:33:44 -08:00
John Mizerek
e4422996b2
Fix column names in saveWizard.cfm for production DB
...
- BusinessCommunityMealType → CommunityMealType
- BusinessAddedOn → AddedOn
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 22:33:20 -08:00
John Pinkyfloyd
a2be30b952
Add UUID to getDetail.cfm response for receipt link
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:54:02 -08:00
John Pinkyfloyd
237f09ef93
Add beacon-sharding/get_shard_pool.cfm to public allowlist
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:33:49 -08:00
John Mizerek
7745e1ed86
Fix pending task count to exclude completed tasks
...
The PendingTaskCount subquery was only checking ClaimedByUserID = 0
but not CompletedOn IS NULL, causing completed-but-unclaimed tasks
to show up in the business selection screen count.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 17:20:30 -08:00
John Pinkyfloyd
d2985e193a
Fix submit.cfm: remove ServicePoints join that was causing column name errors
2026-02-09 16:32:00 -08:00
John Pinkyfloyd
add65346c9
Fix submit.cfm: correct column names for OrderLineItems and ServicePoints queries
2026-02-09 15:58:13 -08:00
John Pinkyfloyd
abf444ffe6
Use PayfritFee from database in Stripe payment intent
2026-02-09 15:50:05 -08:00
John Pinkyfloyd
1787671239
Add PayfritFee to cart API responses
2026-02-09 15:42:57 -08:00
John Pinkyfloyd
e03e021ea2
Add all biz debug
2026-02-09 14:33:25 -08:00