mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Neither fetch() call had a timeout, and the BC session (Mcp-Session-Id) plus the underlying HTTP connection were reused for the bridge process's entire lifetime with no proactive refresh. A long-running Claude Code session with gaps between calls can leave either stale. Observed today: a 30-minute hang on one call (no timeout meant it never failed on its own), and separately an "Internal_CompanyNotFound" on two machines that likely wasn't a real company problem but a dead session -- Michael noticed the pattern independently: Summatim's frequent quick calls never have this issue, longer sessions with gaps do. Added REQUEST_TIMEOUT_MS (30s) via AbortSignal.timeout on both fetch calls, and wrapped forward() to retry once with sessionId cleared on any failure -- self-heals a stale session/connection without the developer noticing. Tested end to end: full initialize + tools/call succeeds normally (no retry needed), and a forced-failure path correctly retries once then surfaces the real error if it persists. |
||
|---|---|---|
| .. | ||
| machine | ||
| templates | ||
| bc-mcp-bridge.js | ||
| curabis-standard.agent.md | ||
| support-users-onboarded.md | ||
| sync-bcquality-knowledge.ps1 | ||