mirror of
https://github.com/xtr-dev/rondevu-server.git
synced 2025-12-15 13:23:23 +00:00
Compare commits
6 Commits
add-claude
...
v0.5.4
| Author | SHA1 | Date | |
|---|---|---|---|
| b5cdc1ef14 | |||
| 8752cd9751 | |||
| 76539c4b65 | |||
| d486283c01 | |||
| 100a86e3ce | |||
|
|
1d9ba69a5f |
@@ -254,6 +254,13 @@ All authenticated operations require Ed25519 signatures:
|
|||||||
|
|
||||||
See [ADVANCED.md](./ADVANCED.md#security) for detailed security documentation.
|
See [ADVANCED.md](./ADVANCED.md#security) for detailed security documentation.
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### v0.5.3 (Latest)
|
||||||
|
- Fix RPC method calls using non-existent storage methods
|
||||||
|
- Replace `storage.getServicesByName()` with `storage.discoverServices()` and `storage.getRandomService()`
|
||||||
|
- Ensures compatibility with Storage interface specification
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT
|
MIT
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@xtr-dev/rondevu-server",
|
"name": "@xtr-dev/rondevu-server",
|
||||||
"version": "0.5.2",
|
"version": "0.5.4",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@xtr-dev/rondevu-server",
|
"name": "@xtr-dev/rondevu-server",
|
||||||
"version": "0.5.2",
|
"version": "0.5.4",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@hono/node-server": "^1.19.6",
|
"@hono/node-server": "^1.19.6",
|
||||||
"@noble/ed25519": "^3.0.0",
|
"@noble/ed25519": "^3.0.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@xtr-dev/rondevu-server",
|
"name": "@xtr-dev/rondevu-server",
|
||||||
"version": "0.5.2",
|
"version": "0.5.4",
|
||||||
"description": "DNS-like WebRTC signaling server with username claiming and service discovery",
|
"description": "DNS-like WebRTC signaling server with username claiming and service discovery",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ const handlers: Record<string, RpcHandler> = {
|
|||||||
const pageLimit = Math.min(Math.max(1, limit), MAX_PAGE_SIZE);
|
const pageLimit = Math.min(Math.max(1, limit), MAX_PAGE_SIZE);
|
||||||
const pageOffset = Math.max(0, offset || 0);
|
const pageOffset = Math.max(0, offset || 0);
|
||||||
|
|
||||||
const allServices = await storage.getServicesByName(parsed.service, parsed.version);
|
const allServices = await storage.discoverServices(parsed.serviceName, parsed.version, 1000, 0);
|
||||||
const compatibleServices = filterCompatibleServices(allServices);
|
const compatibleServices = filterCompatibleServices(allServices);
|
||||||
|
|
||||||
// Get unique services per username with available offers
|
// Get unique services per username with available offers
|
||||||
@@ -260,14 +260,12 @@ const handlers: Record<string, RpcHandler> = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Mode 3: Random discovery without username
|
// Mode 3: Random discovery without username
|
||||||
const allServices = await storage.getServicesByName(parsed.service, parsed.version);
|
const randomService = await storage.getRandomService(parsed.serviceName, parsed.version);
|
||||||
const compatibleServices = filterCompatibleServices(allServices);
|
|
||||||
|
|
||||||
if (compatibleServices.length === 0) {
|
if (!randomService) {
|
||||||
throw new Error('No services found');
|
throw new Error('No services found');
|
||||||
}
|
}
|
||||||
|
|
||||||
const randomService = compatibleServices[Math.floor(Math.random() * compatibleServices.length)];
|
|
||||||
const availableOffer = await findAvailableOffer(randomService);
|
const availableOffer = await findAvailableOffer(randomService);
|
||||||
|
|
||||||
if (!availableOffer) {
|
if (!availableOffer) {
|
||||||
|
|||||||
Reference in New Issue
Block a user