Commit Graph

30 Commits

Author SHA1 Message Date
Jeff Emmett f9208719b0 fix: address multiple runtime issues
- Register missing shape types in Automerge schema (CalendarEvent, HolonBrowser, PrivateWorkspace, GoogleItem, WorkflowBlock)
- Improve connections API error handling to detect HTML responses gracefully
- Clean up Vite config debug logs
- Add static PWA manifest and link to index.html for proper manifest serving

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 21:06:20 -05:00
Jeff Emmett bba1f7955a fix: prevent stale cache issues with proper no-cache headers
- Add no-cache headers for index.html, sw.js, registerSW.js, manifest.webmanifest
- Add skipWaiting and clientsClaim to workbox config for immediate SW updates
- This ensures new deployments are picked up immediately without manual cache clearing

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 10:43:25 -05:00
Jeff Emmett 525ea694b5 feat: add PWA support for offline cold load
- Add vite-plugin-pwa with Workbox caching strategy
- Cache all static assets (JS, CSS, HTML, fonts, WASM)
- Enable service worker in dev mode for testing
- Add PWA manifest with app name and icons
- Add SVG icons for PWA (192x192 and 512x512)
- Increase cache limit to 10MB for large chunks (Board ~8MB)
- Add runtime caching for API responses and Google Fonts

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:34:05 -05:00
Jeff Emmett c2469a375d perf: optimize bundle size with lazy loading and dependency removal
- Add route-level lazy loading for all pages (Default, Board, Dashboard, etc.)
- Remove gun, webnative, holosphere dependencies (175 packages removed)
- Stub HoloSphereService for future Nostr integration (keeps h3-js for holon calculations)
- Stub FileSystemContext (webnative removed)
- Defer Daily.co initialization until needed
- Add loading spinner for route transitions
- Remove large-utils manual chunk from vite config

Initial page load significantly reduced - heavy Board component (7.5MB)
now loads on-demand instead of upfront.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:59:52 -05:00
Jeff Emmett 637f05b715 fix: enable open-mapping module with TypeScript fixes
- Fix unused parameter errors (prefix with underscore)
- Fix TrustCircleManager API: add getTrustLevel/setTrustLevel methods
- Fix MyceliumNetwork method calls: addNode→createNode, addHypha→createHypha
- Fix createCommitment signature to use CommitmentParams object
- Fix GeohashCommitment type with proper geohash field
- Fix PRECISION_CELL_SIZE usage (returns {lat,lng} object)
- Add type assertions for fetch response data
- Fix MapCanvas attributionControl type
- Fix GPSCollaborationLayer markerStyle merge with defaults
- Update MapShapeUtil with better event handling:
  - Raise z-index to 10000 for all map buttons
  - Add pointerEvents: auto for button clickability
  - Add handleWheel with preventDefault to enable map zoom
  - Add capturePointerEvents for proper interaction

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 11:48:49 -08:00
Jeff Emmett 2dd8f90d5b feat: implement binary Automerge CRDT sync and open-mapping module
Binary Automerge Sync:
- CloudflareAdapter: binary sync messages with documentId tracking
- Message buffering for early server messages before documentId set
- Worker sends initial sync on WebSocket connect
- Removed JSON HTTP POST sync in favor of native Automerge protocol
- Multi-client binary sync verified working

Worker CRDT Infrastructure:
- automerge-init.ts: WASM initialization for Cloudflare Workers
- automerge-sync-manager.ts: sync state management per peer
- automerge-r2-storage.ts: binary document persistence to R2
- AutomergeDurableObject: integrated CRDT sync handling

Open Mapping Module:
- Collaborative map component with real-time sync
- MapShapeUtil for tldraw canvas integration
- Presence layer with location sharing
- Privacy system with ZK-GPS protocol concepts
- Mycelium network for organic route visualization
- Conic sections for map projection optimization
- Discovery system (spores, hunts, collectibles, anchors)
- Geographic transformation utilities

UI Updates:
- ConnectionStatusIndicator for offline/sync status
- Map tool in toolbar
- Context menu updates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 19:45:02 -08:00
Jeff Emmett 380ea0ad3c perf: optimize bundle size with code splitting and disable sourcemaps
- Split large libraries into separate chunks:
  * tldraw: 1.97 MB → 510 KB gzipped
  * large-utils (gun, webnative): 1.54 MB → 329 KB gzipped
  * markdown editors: 1.52 MB → 438 KB gzipped
  * ml-libs (@xenova/transformers): 1.09 MB → 218 KB gzipped
  * AI SDKs: 182 KB → 42 KB gzipped
  * automerge: 283 KB → 70 KB gzipped

- Disable sourcemaps in production builds
- Main bundle reduced to 616 KB gzipped
- Improves initial page load time with on-demand chunk loading

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 21:03:10 -07:00
Jeff Emmett e727deea19 everything working in dev 2025-11-10 11:06:13 -08:00
Jeff Emmett a2e9893480 automerge, obsidian/quartz, transcribe attempt, fix AI APIs 2025-09-21 11:43:06 +02:00
Jeff Emmett 38566e1a75 separate worker and buckets between dev & prod, fix cron job scheduler 2025-09-04 15:12:44 +02:00
Jeff Emmett 190bc7c860 fix worker url in prod 2025-09-02 13:16:15 +02:00
Shawn Anderson 5223b09a81 Revert "fix daily API key in prod"
This reverts commit ce1148e1ef.
2025-04-16 13:05:54 -07:00
Jeff-Emmett ce1148e1ef fix daily API key in prod 2025-04-08 14:45:54 -07:00
Jeff-Emmett 4380a7bdd6 working video calls 2025-02-13 20:38:01 +01:00
Jeff Emmett 2d763c669a videochat working 2024-12-09 03:42:44 -05:00
Jeff Emmett baf1efce43 fix domain url 2024-12-08 23:14:22 -05:00
Jeff Emmett 3e3556c010 fixing daily domain on vite config 2024-12-08 19:10:39 -05:00
Jeff Emmett 46ed093b74 fixing daily domain on vite config 2024-12-08 19:08:40 -05:00
Jeff Emmett 73731d94f8 prettify and cleanup 2024-12-07 22:01:02 -05:00
Jeff Emmett 63a3121f38 fix vite config 2024-12-07 15:50:37 -05:00
Jeff Emmett d6a5019b72 fix prod env 2024-12-07 13:43:56 -05:00
Jeff Emmett de3ca11f5b fix VITE_ worker URL 2024-12-07 13:27:37 -05:00
Jeff Emmett 6f89446ad8 fix worker url 2024-11-27 11:31:16 +07:00
Jeff Emmett 06cc47a23b fixing final 2024-11-27 11:26:25 +07:00
Jeff Emmett 7fbf64af7e fix env vars in vite 2024-11-27 11:17:29 +07:00
Jeff Emmett d89624b801 fix vite and asset upload 2024-11-27 11:14:52 +07:00
Jeff Emmett 2e70d75a66 CRDTs working, still finalizing local board state browser storage for offline board access 2024-11-25 16:18:05 +07:00
Jeff Emmett 7f94094de9 multiplayer 2024-08-29 21:15:13 +02:00
Jeff Emmett c576c4e241 multiplayer 2024-08-29 20:20:12 +02:00
Jeff Emmett ea9f47e48c oriomimicry 2024-08-09 23:14:58 -04:00