diff --git a/changelog.md b/changelog.md index ddd18c8..93192d6 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2026-02-18 - 6.13.0 - feat(remoteingress) +include listenPorts for allowed edges sent to the Rust hub and always resync allowed edges when edge properties change + +- getAllowedEdges now returns listenPorts for each allowed edge (uses getEffectiveListenPorts) +- remoteingress handler now calls tunnelManager.syncAllowedEdges() whenever tunnelManager exists so ports/tags/enabled changes are propagated +- Improves Rust hub routing by providing per-edge listening ports and ensuring allowed-edge list is kept up-to-date + ## 2026-02-18 - 6.12.0 - feat(remote-ingress) add Remote Ingress hub integration, OpsServer UI, APIs, and docs diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 61d67d1..cd2c751 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '6.12.0', + version: '6.13.0', description: 'A multifaceted routing service handling mail and SMS delivery functions.' } diff --git a/ts/opsserver/handlers/remoteingress.handler.ts b/ts/opsserver/handlers/remoteingress.handler.ts index f2d4a26..28fea97 100644 --- a/ts/opsserver/handlers/remoteingress.handler.ts +++ b/ts/opsserver/handlers/remoteingress.handler.ts @@ -117,8 +117,8 @@ export class RemoteIngressHandler { return { success: false, edge: null as any }; } - // Sync allowed edges if enabled status changed - if (tunnelManager && dataArg.enabled !== undefined) { + // Sync allowed edges — ports, tags, or enabled may have changed + if (tunnelManager) { await tunnelManager.syncAllowedEdges(); } diff --git a/ts/remoteingress/classes.remoteingress-manager.ts b/ts/remoteingress/classes.remoteingress-manager.ts index 23064a2..1f9af64 100644 --- a/ts/remoteingress/classes.remoteingress-manager.ts +++ b/ts/remoteingress/classes.remoteingress-manager.ts @@ -242,11 +242,15 @@ export class RemoteIngressManager { /** * Get the list of allowed edges (enabled only) for the Rust hub. */ - public getAllowedEdges(): Array<{ id: string; secret: string }> { - const result: Array<{ id: string; secret: string }> = []; + public getAllowedEdges(): Array<{ id: string; secret: string; listenPorts: number[] }> { + const result: Array<{ id: string; secret: string; listenPorts: number[] }> = []; for (const edge of this.edges.values()) { if (edge.enabled) { - result.push({ id: edge.id, secret: edge.secret }); + result.push({ + id: edge.id, + secret: edge.secret, + listenPorts: this.getEffectiveListenPorts(edge), + }); } } return result; diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 61d67d1..cd2c751 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '6.12.0', + version: '6.13.0', description: 'A multifaceted routing service handling mail and SMS delivery functions.' }