Skip to content

Suppress the expected tunnel intake idle-cap warnings - #1

Merged
dimavrem22 merged 1 commit into
mainfrom
suppress-tunnel-idle-cap-warnings
Jul 13, 2026
Merged

dimavrem22 merged 1 commit into
mainfrom
suppress-tunnel-idle-cap-warnings

Conversation

@dimavrem22

Copy link
Copy Markdown
Contributor

Why

The tunnel server idle-caps parked intake slots on a timer, and the SDK's tunnel runtime (@inkbox/sdk 0.4.19) reports each one via bare console.warn:

/_system/intake slot=N -> status=408 reason=intake-idle-cap

On a healthy gateway this line repeats forever and buries real warnings.

How

openTransport installs a narrow console.warn wrapper before connect() (the single tunnel-provisioning funnel). A call is dropped only when its first argument is a string containing all of /_system/intake slot=, status=408, and reason=intake-idle-cap; everything else — 401s, other 408 reasons, non-string args — passes through to the original warn unchanged (fail-open). A Symbol.for tag makes the install idempotent so repeat opens never stack wrappers.

Mirrors inkbox-ai/hermes-agent-plugin#56, following the same TS adaptation as inkbox-ai/openclaw-plugin#34.

The tunnel server idle-caps parked intake slots on a timer, and the SDK's
runtime reports each one via bare console.warn ("/_system/intake slot=N ->
status=408 reason=intake-idle-cap") — on a healthy gateway that one line
repeats forever and buries real warnings. openTransport now installs a
narrow console.warn filter before connect(): a call is dropped only when
its first argument is a string containing all three markers; everything
else (401s, disconnects, non-string args) passes through to the original
warn unchanged. A Symbol.for tag makes the install idempotent, so gateway
restarts within one process never stack wrappers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dimavrem22
dimavrem22 marked this pull request as ready for review July 13, 2026 00:06
@dimavrem22
dimavrem22 merged commit 5a863f1 into main Jul 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant