Skip to content

Commit 2e4f871

Browse files
docs(qa): D17/D18 fixed (connector errored on fail; bounded concurrent load)
1 parent 0091b9b commit 2e4f871

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

docs/DEVICE_TEST_LOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ value had zero coverage.
4242

4343
- 🔁 **D15 ACTION-AFTER-CANCEL** — FIXED (needs on-device confirm). Stop mid-round still ran the assembled tool (incl. MCP writes — send message/create event), invisibly. Fix: `toolChat` returns immediately after a round if `signal.aborted`, before `runTool`. Test: `tools-abort.test.ts` (fake MCP tool's side effect never fires after abort; red on HEAD → green). **On-device:** connect an MCP write connector (Slack/Calendar), ask something that triggers its tool, hit Stop as it "thinks" → confirm NO message/event is actually created. `tools.ts:374+`
4444
- 🔁 **D16 WRONG/EMPTY** — FIXED (needs on-device confirm). Image attached to a text-only model was embedded as `image_url` unconditionally (no main-side guard). Fix: gate embed on `llm.hasVision()` in main (single source of truth). Test: `tools-vision-guard.test.ts` (crosses both vision values; no-vision → no image_url at the engine boundary; red on HEAD). **On-device:** with a text-only chat model active + Tools on, attach an image → the model answers text-only without erroring (no vision garbage). `tools.ts:346`
45-
- [ ] **D17 SILENT-DROP**A connector shown "connected" whose token expired / refresh fails silently drops its tools from the turn (model says "I can't access that"); the DB status is never updated to error. `mcpConnectorToolExtension.ts:30-33`
46-
- [ ] **D18 SLOW/STUCK**Every enabled connector runs a full MCP connect+listTools on EVERY chat turn (no cache / timeout / concurrency), inside the held chat-queue slot → one slow/unreachable connector adds seconds (or hangs) to every turn. `mcpConnectorToolExtension.ts:30-45`
45+
- 🔁 **D17 SILENT-DROP**FIXED (needs on-device confirm). A connector whose token expired / server is down silently lost its tools with no status change. Fix: the loader marks it `error` via `setConnectorStatus`. Test: `mcp-connector-status.dbtest.ts` (real DB; failed load → status 'error'; red on HEAD). **On-device:** connect a connector, revoke/expire its token, chat → the connector shows an error/reconnect state in Integrations (not a phantom "connected"). `mcpConnectorToolExtension.ts`, `mcp.ts`
46+
- 🔁 **D18 SLOW/STUCK**FIXED (needs on-device confirm). Per-turn connector loads were serial + unbounded → one dead connector hung every turn. Fix: `fetchTools` races an 8s timeout; the loader fetches all connectors concurrently. **On-device:** with several connectors (one unreachable), a chat turn still starts promptly (≤~8s worst case, not a hang). `mcp.ts` (fetchTools), `mcpConnectorToolExtension.ts`
4747
- [ ] **D19 WASTED-CYCLE** (minor) — Cancel between a `generate_image` tool turn and the deferred image job triggers a needless LLM evict/re-warm → the next turn stalls seconds for nothing. `MemoryChat.tsx:933-940`
4848

4949
## Projects

0 commit comments

Comments
 (0)