- Add getOrigin() helper function to check for X-Rondevu-Global header
- When X-Rondevu-Global: true, use https://ronde.vu as origin for session isolation
- Update all endpoints to use getOrigin() instead of reading Origin header directly
- Add X-Rondevu-Global to CORS allowed headers
- This enables browser clients to connect to global sessions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implements scheduled() function to handle cron triggers
- Cleans up expired sessions every 5 minutes
- Fixes 'Handler does not export a scheduled() function' error
- Deletes sessions where expires_at < current timestamp
Storage changes:
- Remove KV storage adapter
- Add D1 storage adapter for Cloudflare Workers
- Update schema to use peer_id instead of info field
- Add database migrations for D1
Documentation:
- Simplify README to be more concise
- Update deployment instructions for D1
- Add D1_SETUP.md explaining migration from KV
- Update DEPLOYMENT.md with D1 setup steps
API changes:
- Replace info field with peerId in session creation
- Update all storage interfaces and implementations
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed CORS issue where 'Access-Control-Allow-Origin' header was missing.
The problem was that using `origin: '*'` with `credentials: true` is not
allowed by browsers. Changed to use a dynamic origin function that returns
the actual requesting origin, which is compatible with credentials mode.
Changes:
- Use dynamic origin function instead of static array
- Return requesting origin for wildcard (*) configuration
- Added 'Origin' to allowHeaders list
- Maintains compatibility with specific origin restrictions
This fixes CORS errors in browser-based clients.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Open signaling and tracking server for peer discovery in distributed P2P applications.
Features:
- REST API for WebRTC peer discovery and signaling
- Origin-based session isolation
- Multiple storage backends (SQLite, in-memory, Cloudflare KV)
- Docker and Cloudflare Workers deployment support
- Automatic session cleanup and expiration
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>