Compare commits

...

2 Commits

Author SHA1 Message Date
jkunz 3bd6d2f2de v13.43.4
Docker (tags) / release (push) Failing after 1s
Release / build-and-release (push) Successful in 5m50s
2026-06-03 14:28:26 +00:00
jkunz 2c8cc93952 fix(remoteingress): track tunnel streams using summary events 2026-06-03 14:24:43 +00:00
7 changed files with 35 additions and 60 deletions
+11
View File
@@ -4,6 +4,17 @@
## 2026-06-03 - 13.43.4
### Fixes
- track tunnel streams using summary events (remoteingress)
- Enable summary stream event mode for the RemoteIngress hub.
- Synchronize active tunnel counts and stream totals from stream summary events.
- Bump @serve.zone/remoteingress to ^4.23.0.
- Remove obsolete Deno import map entries.
## 2026-06-03 - 13.43.3
### Fixes
+1 -40
View File
@@ -1,49 +1,10 @@
{
"name": "@serve.zone/dcrouter",
"version": "13.43.3",
"version": "13.43.4",
"exports": "./binary/dcrouter.ts",
"compile": {
"include": [
"dist_serve"
]
},
"imports": {
"@api.global/typedrequest": "npm:@api.global/typedrequest@^3.3.2",
"@api.global/typedrequest-interfaces": "npm:@api.global/typedrequest-interfaces@^3.0.19",
"@api.global/typedserver": "npm:@api.global/typedserver@^8.4.7",
"@api.global/typedsocket": "npm:@api.global/typedsocket@^4.1.4",
"@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@^7.1.0",
"@idp.global/sdk/server": "npm:@idp.global/sdk@^1.4.0/server",
"@push.rocks/lik": "npm:@push.rocks/lik@^6.4.1",
"@push.rocks/projectinfo": "npm:@push.rocks/projectinfo@^5.1.0",
"@push.rocks/qenv": "npm:@push.rocks/qenv@^6.1.4",
"@push.rocks/smartacme": "npm:@push.rocks/smartacme@^9.5.0",
"@push.rocks/smartdata": "npm:@push.rocks/smartdata@^7.1.7",
"@push.rocks/smartdb": "npm:@push.rocks/smartdb@^2.10.2",
"@push.rocks/smartdns": "npm:@push.rocks/smartdns@^7.9.3",
"@push.rocks/smartfs": "npm:@push.rocks/smartfs@^1.5.1",
"@push.rocks/smartguard": "npm:@push.rocks/smartguard@^3.1.0",
"@push.rocks/smartjwt": "npm:@push.rocks/smartjwt@^2.2.2",
"@push.rocks/smartlog": "npm:@push.rocks/smartlog@^3.2.2",
"@push.rocks/smartmetrics": "npm:@push.rocks/smartmetrics@^3.0.3",
"@push.rocks/smartmigration": "npm:@push.rocks/smartmigration@1.4.1",
"@push.rocks/smartmta": "npm:@push.rocks/smartmta@^5.3.3",
"@push.rocks/smartnetwork": "npm:@push.rocks/smartnetwork@^4.7.2",
"@push.rocks/smartpath": "npm:@push.rocks/smartpath@^6.0.0",
"@push.rocks/smartpromise": "npm:@push.rocks/smartpromise@^4.2.4",
"@push.rocks/smartproxy": "npm:@push.rocks/smartproxy@^27.12.6",
"@push.rocks/smartradius": "npm:@push.rocks/smartradius@^1.3.0",
"@push.rocks/smartrequest": "npm:@push.rocks/smartrequest@^5.0.3",
"@push.rocks/smartrx": "npm:@push.rocks/smartrx@^3.0.10",
"@push.rocks/smartstate": "npm:@push.rocks/smartstate@^2.3.1",
"@push.rocks/smartunique": "npm:@push.rocks/smartunique@^3.0.9",
"@push.rocks/smartvpn": "npm:@push.rocks/smartvpn@1.20.0",
"@push.rocks/taskbuffer": "npm:@push.rocks/taskbuffer@^8.0.2",
"@serve.zone/interfaces": "npm:@serve.zone/interfaces@^6.2.1",
"@serve.zone/remoteingress": "npm:@serve.zone/remoteingress@^4.22.5",
"@tsclass/tsclass": "npm:@tsclass/tsclass@^9.5.1",
"lru-cache": "npm:lru-cache@^11.5.1",
"qrcode": "npm:qrcode@^1.5.4",
"uuid": "npm:uuid@^14.0.0"
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@serve.zone/dcrouter",
"private": false,
"version": "13.43.3",
"version": "13.43.4",
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
"type": "module",
"bin": {
@@ -71,7 +71,7 @@
"@push.rocks/taskbuffer": "^8.0.2",
"@serve.zone/catalog": "^2.12.7",
"@serve.zone/interfaces": "^6.2.1",
"@serve.zone/remoteingress": "^4.22.5",
"@serve.zone/remoteingress": "^4.23.0",
"@tsclass/tsclass": "^9.5.1",
"@types/qrcode": "^1.5.6",
"lru-cache": "^11.5.1",
+5 -5
View File
@@ -114,8 +114,8 @@ importers:
specifier: ^6.2.1
version: 6.2.1
'@serve.zone/remoteingress':
specifier: ^4.22.5
version: 4.22.5
specifier: ^4.23.0
version: 4.23.0
'@tsclass/tsclass':
specifier: ^9.5.1
version: 9.5.1
@@ -1695,8 +1695,8 @@ packages:
'@serve.zone/interfaces@6.2.1':
resolution: {integrity: sha512-t2wrpBmd8zDdnyeeY/LG2hfjCXdm/uTHB6oovJ/xHgOws1E2VimYJPFiN7zqs1aEJAmFukfgOq79+eZeq3hfWw==}
'@serve.zone/remoteingress@4.22.5':
resolution: {integrity: sha512-P2aQ/0VLPATbIBMYm4DT2XqLnBa15WXB1HcyE7RMVNC5RntGbmfj5FES3R5OgxY1V00E7wTMTCNrkfbKhj5xqQ==}
'@serve.zone/remoteingress@4.23.0':
resolution: {integrity: sha512-ddF7k3ZfgpPn9rwfprDMWZR2CNzwQlmiETpST2obJPN5VrAZMLj2aT7yQYGiqLgVqUQBSXeSz9St2ygYyQ8PSQ==}
hasBin: true
'@smithy/chunked-blob-reader-native@4.2.3':
@@ -6938,7 +6938,7 @@ snapshots:
'@push.rocks/smartlog-interfaces': 3.0.2
'@tsclass/tsclass': 9.5.1
'@serve.zone/remoteingress@4.22.5':
'@serve.zone/remoteingress@4.23.0':
dependencies:
'@push.rocks/qenv': 6.1.4
'@push.rocks/smartnftables': 1.2.0
+1 -1
View File
@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/dcrouter',
version: '13.43.3',
version: '13.43.4',
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
}
+14 -11
View File
@@ -1,5 +1,5 @@
import * as plugins from '../plugins.js';
import type { IRemoteIngressStatus } from '../../ts_interfaces/data/remoteingress.js';
import type { IRemoteIngressPerformanceConfig, IRemoteIngressStatus } from '../../ts_interfaces/data/remoteingress.js';
import type { RemoteIngressManager } from './classes.remoteingress-manager.js';
export interface ITunnelManagerConfig {
@@ -9,7 +9,7 @@ export interface ITunnelManagerConfig {
certPem?: string;
keyPem?: string;
};
performance?: import('../../ts_interfaces/data/remoteingress.js').IRemoteIngressPerformanceConfig;
performance?: IRemoteIngressPerformanceConfig;
}
/**
@@ -46,18 +46,20 @@ export class TunnelManager {
this.edgeStatuses.delete(data.edgeId);
});
this.hub.on('streamOpened', (data: { edgeId: string; streamId: number }) => {
this.hub.on('streamSummary', (data: {
edgeId: string;
activeStreams: number;
streamsOpenedTotal: number;
streamsClosedTotal: number;
}) => {
const existing = this.edgeStatuses.get(data.edgeId);
if (existing) {
existing.activeTunnels++;
existing.activeTunnels = data.activeStreams;
existing.lastHeartbeat = Date.now();
}
});
this.hub.on('streamClosed', (data: { edgeId: string; streamId: number }) => {
const existing = this.edgeStatuses.get(data.edgeId);
if (existing && existing.activeTunnels > 0) {
existing.activeTunnels--;
if (existing.traffic) {
existing.traffic.streamsOpenedTotal = data.streamsOpenedTotal;
existing.traffic.streamsClosedTotal = data.streamsClosedTotal;
}
}
});
}
@@ -73,6 +75,7 @@ export class TunnelManager {
targetHost: this.config.targetHost ?? '127.0.0.1',
tls: this.config.tls,
...(this.config.performance ? { performance: this.config.performance } : {}),
streamEventMode: 'summary',
} as any);
if (this.stopped) return;
+1 -1
View File
@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/dcrouter',
version: '13.43.3',
version: '13.43.4',
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
}