canvas-website/worker
Jeff Emmett 8cf0bad804 feat: Gemini image generation for MycroZine + Tailscale dev support
MycroZine Generator:
- Implement actual Gemini image generation (replaces placeholders)
- Use Nano Banana Pro (gemini-2.0-flash-exp-image-generation) as primary
- Fallback to Gemini 2.0 Flash experimental
- Graceful degradation to placeholder if no API key

Client Config:
- Add geminiApiKey to ClientConfig interface
- Add isGeminiConfigured() and getGeminiConfig() functions
- Support user-specific API keys from localStorage

Local Development:
- Fix CORS to allow Tailscale IPs (100.x) and all private ranges
- Update cryptidEmailService to use same host for worker URL on local IPs
- Supports localhost, LAN (192.168.x, 10.x, 172.16-31.x), and Tailscale

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:35:20 -05:00
..
migrations feat: flip permissions model - everyone edits by default, protected boards opt-in 2025-12-15 12:43:14 -05:00
shapes pin object, fix fathom, and a bunch of other things 2025-11-11 22:32:36 -08:00
AutomergeDurableObject.ts feat: improve social network presence handling and cleanup 2025-12-15 00:01:28 -05:00
assetUploads.ts fix asset upload rendering errors 2025-03-19 18:30:15 -07:00
automerge-init.ts feat: implement binary Automerge CRDT sync and open-mapping module 2025-12-04 19:45:02 -08:00
automerge-r2-storage.ts feat: implement binary Automerge CRDT sync and open-mapping module 2025-12-04 19:45:02 -08:00
automerge-sync-manager.ts feat: add version history, Resend email, CryptID registration flow 2025-12-10 14:21:50 -08:00
boardPermissions.ts fix: use verified jeffemmett.com domain for admin request emails 2025-12-15 14:25:44 -05:00
cryptidAuth.ts feat: add user dropdown menu, fix auth tool visibility, improve network graph 2025-12-12 18:41:53 -05:00
networkingApi.ts feat: add canvas users to CryptID connections dropdown 2025-12-05 23:08:16 -08:00
schema.sql feat: flip permissions model - everyone edits by default, protected boards opt-in 2025-12-15 12:43:14 -05:00
types.ts feat: flip permissions model - everyone edits by default, protected boards opt-in 2025-12-15 12:43:14 -05:00
wasm.d.ts feat: implement binary Automerge CRDT sync and open-mapping module 2025-12-04 19:45:02 -08:00
worker.ts feat: Gemini image generation for MycroZine + Tailscale dev support 2025-12-18 21:35:20 -05:00