v0.36.0-beta.11
Pre-releaseDelta since previous beta (v0.36.0-beta.10) — 4 new changesets.
Patch Changes
-
Allow overriding the per-step server-shutdown timeout via
OK_DESTROY_STEP_TIMEOUT_MSEach server teardown step is capped (default 5s) so a stuck step can't hang exit. That cap is now overridable with the
OK_DESTROY_STEP_TIMEOUT_MSenvironment variable (milliseconds), which gives slower or heavily loaded environments headroom without changing the default. Normal usage is unaffected. -
Feat: share links now work with GitHub Enterprise Server remotes
(PRD-7351). The construct side threads the origin host into the share URL,
and the receive pipeline carries the host as part of the repo identity end
to end — so a GHESowner/reposhare never resolves to a same-named
github.com clone. Because a decoded deep link is untrusted input, a share
pointing at a non-github.com host is gated: it proceeds silently only for a
host the recipient is already authenticated to, otherwise the app prompts to
open the link in a browser instead. The web splash renders enterprise shares
with the host shown prominently. -
Consolidate the server's inline link recognizers (backlink index, rename rewriting, link suggestions, referenced-asset scanning) onto one shared grammar, so a link that counts for backlinks can no longer be silently missed by rename rewriting or the asset sidebar. The backlink/rename grammar is the canonical one; the asset scanner picks up small correctness fixes from the alignment: links with parenthesized titles (
[doc](file.pdf (title))) and titles containing the other quote character ([doc](file.pdf "it's here")) now count as asset references, malformed mismatched-quote titles no longer do, and wiki-link targets are trimmed before resolution. -
Add WebSocket-lifecycle and MCP-tool observability to the server (all opt-in via OpenTelemetry, zero overhead when disabled):
- New observable gauges:
ok.ws.connections.active(live collab connections, labeledkind ∈ {websocket, direct}),ok.sessions.active, andok.sessions.limit— a session-cap stall now shows up as active pinned at the limit instead of undiagnosable 503s. - The
traceparentthe browser already appends to the collab WebSocket URL is now extracted server-side, so thesync.handshakespan parents to the user's browser trace instead of starting a disconnected root. - Every MCP tool invocation now gets a
mcp.tool.<name>span plus anok.mcp.tool.durationhistogram andok.mcp.tool.errorscounter (bounded tool-name labels), instrumented once at the dispatch spine — including the HTTP MCP endpoint, which previously had no per-tool instrumentation at all.
- New observable gauges: