Commit Graph

7 Commits

Author SHA1 Message Date
685692dee1 Add topics endpoint and refactor to topic-based discovery
- Add GET /topics endpoint with pagination and peer counts
- Refactor offers to support multiple topics per offer
- Add stateless authentication with AES-256-GCM
- Add bloom filter support for peer exclusion
- Update database schema for topic-based discovery
- Add comprehensive API documentation to README

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 18:31:17 +01:00
28ef5eb1d1 Simplify API: remove topics, rename session→offer
- Remove topic-based grouping and discovery
- Rename sessions to offers for clarity
- Simplify to just POST /offer, POST /answer, POST /poll
- Add version to health endpoint
- Update database schema (sessions→offers table)
- Reduce offer timeout to 1 minute
- Server version: 0.0.1

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 23:17:38 +01:00
bc147f4527 Fix TypeScript error: use cleanupExpiredSessions() method
- Replace direct db access with the public cleanupExpiredSessions() method
- This fixes the TS2341 error about private property access
- Also improves logging to show count of deleted sessions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 11:46:35 +01:00
8cb56142cd Fix Cloudflare Worker compatibility for version endpoint
- Add version parameter to AppConfig interface
- Pass version from environment config instead of using process.env
- Update worker.ts to pass VERSION environment variable
- Update wrangler.toml with VERSION variable
- Update deploy script to automatically set VERSION to git commit hash

This fixes the 'process is not defined' error in Cloudflare Workers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 11:45:41 +01:00
5d8a432de0 Add scheduled handler for cron-based session cleanup
- 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
2025-11-07 23:00:58 +01:00
02d460fa7e Replace KV storage with D1, add peer_id field, simplify README
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>
2025-11-07 21:21:13 +01:00
82c0e8b065 Initial commit: Rondevu signaling server
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>
2025-11-02 14:32:25 +01:00