Add chat thread font-size setting - #518
Closed
raphaelluethy wants to merge 91 commits into
Closed
raphaelluethy wants to merge 91 commits into
raphaelluethy wants to merge 91 commits into
MacroscopeApp / Macroscope - Correctness Check
completed
Mar 8, 2026 in 8m 36s
7 issues identified (236 code objects reviewed).
• Merge Base:
c97c6b7
• Head:7ef4315
Details
| ✅ | File Path | Comments Posted |
|---|---|---|
| ➖ | package.json |
|
| ➖ | bun.lock |
|
| ➖ | .plans/17-claude-code.md |
|
| ✅ | apps/web/src/lib/clipboard.ts |
0 |
| ❌ | scripts/cursor-acp-probe.mjs |
1 |
| ➖ | .plans/18-cursor-agent-provider.md |
|
| ➖ | apps/server/package.json |
|
| ❌ | apps/web/src/runningCommandExecutions.ts |
1 |
| ✅ | packages/contracts/src/workspaceTarget.ts |
0 |
| ➖ | apps/server/src/main.test.ts |
|
| ✅ | apps/web/src/wsNativeApi.ts |
0 |
| ➖ | apps/web/src/runningCommandExecutions.test.ts |
|
| ✅ | apps/server/src/provider/Services/CursorAdapter.ts |
0 |
| ❌ | apps/server/src/provider/Layers/CursorAdapter.ts |
2 |
| ✅ | packages/contracts/src/index.ts |
0 |
| ✅ | apps/server/src/provider/Services/ClaudeCodeAdapter.ts |
0 |
| ❌ | apps/server/src/provider/Layers/ClaudeCodeAdapter.ts |
2 |
| ➖ | apps/server/src/provider/Layers/CursorAdapter.test.ts |
|
| ➖ | apps/server/src/provider/Services/CursorAdapter.test.ts |
|
| ✅ | packages/contracts/src/ipc.ts |
0 |
| ➖ | apps/server/src/provider/Layers/ClaudeCodeAdapter.test.ts |
|
| ✅ | packages/contracts/src/server.ts |
0 |
| ✅ | packages/contracts/src/ws.ts |
0 |
| ✅ | apps/server/src/orchestration/decider.ts |
0 |
| ✅ | apps/web/src/composerDraftStore.ts |
0 |
| ➖ | apps/server/src/open.test.ts |
|
| ✅ | apps/server/src/serverLayers.ts |
0 |
| ✅ | packages/contracts/src/providerRuntime.ts |
|
| ✅ | apps/web/src/appSettings.ts |
0 |
| ✅ | apps/web/src/components/Sidebar.tsx |
0 |
| ✅ | apps/server/src/provider/Layers/CodexAdapter.ts |
0 |
| ➖ | apps/web/src/index.css |
|
| ✅ | packages/contracts/src/provider.ts |
0 |
| ✅ | apps/server/src/provider/Services/ProviderService.ts |
0 |
| ✅ | apps/web/src/session-logic.ts |
0 |
| ✅ | apps/server/src/provider/Layers/ProviderService.ts |
0 |
| ✅ | apps/server/src/wsServer.ts |
0 |
| ➖ | apps/server/integration/TestProviderAdapter.integration.ts |
|
| ✅ | apps/server/src/provider/Layers/ProviderSessionDirectory.ts |
0 |
| ✅ | apps/web/src/store.ts |
0 |
| ✅ | apps/server/src/provider/Services/ProviderAdapter.ts |
0 |
| ✅ | apps/server/src/open.ts |
0 |
| ➖ | apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts |
|
| ✅ | apps/server/src/provider/Layers/ProviderAdapterRegistry.ts |
0 |
| ➖ | apps/server/src/provider/Layers/ProviderService.test.ts |
|
| ➖ | apps/server/src/orchestration/Layers/CheckpointReactor.test.ts |
|
| ✅ | packages/contracts/src/model.ts |
0 |
| ✅ | apps/web/src/components/ChatView.browser.tsx |
0 |
| ✅ | apps/web/src/components/ChatMarkdown.tsx |
0 |
| ✅ | packages/contracts/src/orchestration.ts |
0 |
| ✅ | apps/web/src/routes/_chat.settings.tsx |
0 |
| ➖ | apps/server/src/provider/Layers/ProviderAdapterRegistry.test.ts |
|
| ✅ | apps/server/src/orchestration/Layers/ProviderCommandReactor.ts |
0 |
| ✅ | apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts |
0 |
| ➖ | apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts |
|
| ❌ | packages/shared/src/model.ts |
1 |
| ➖ | apps/server/src/wsServer.test.ts |
|
| ✅ | apps/web/src/components/ChatView.tsx |
0 |
Filtered Issues Details
apps/server/src/provider/Layers/CursorAdapter.ts
- line 130: The error mapping logic in
toSessionErroruses an overly broad substring checknormalized.includes("not found")to classify session errors. This causes common operational errors (e.g., "File not found", "Command not found") to be misclassified as aProviderAdapterSessionNotFoundError. This replaces the actual error message with a confusing "Unknown adapter thread" message and may trigger incorrect session teardown logic upstream. [ Cross-file consolidated ]
apps/server/src/serverLayers.ts
- line 53: Both
nativeEventLoggerandcanonicalEventLoggerare initialized using the sameproviderEventLogPath. ThemakeEventNdjsonLoggerimplementation (visible in references) calculates the output log file path aspath.join(path.dirname(filePath),${threadSegment}.log), effectively ignoring the filename (events.log) and relying only on the directory and thread ID. Because both loggers share the same directory path, they will both attempt to write to the same file (.../logs/provider/<threadId>.log) for any given thread. This will cause race conditions, resulting in corrupted/interleaved log data and potential file locking errors. [ Out of scope ]
packages/contracts/src/workspaceTarget.ts
- line 13:
Schema.Literalsis not a standard export of theeffectlibrary (likelySchema.Literalwas intended). Furthermore, passing the array result of.map()directly to a schema factory typically creates a schema that matches the array instance itself, not a union of the items. To create a schema that matches any of the IDs (a Union), you likely need to construct it differently (e.g.,Schema.Union(...WORKSPACE_TARGETS.map(t => Schema.Literal(t.id)))orSchema.Literal(...ids)if the types allow). As written, this will cause a runtime crash (undefined function) or incorrect validation (expecting an array instead of a string). [ Out of scope (triage) ]
packages/shared/src/model.ts
- line 190: The logic in
resolveCursorModelFamily(lines 140-180) is incomplete forgpt-5.4. Whilegpt-5.4supports reasoning (line 84), andresolveCursorReasoningcorrectly handleslow,high, andxhighsuffixes,resolveCursorModelFamilyonly explicitly handleshighandxhigh(lines 160-165). It missesgpt-5.4-low. As a result,parseCursorModelSelectionwill fail to correctly identify the family forgpt-5.4-low, falling back to the default family instead. [ Out of scope ] - line 234: In
resolveCursorModelFromSelection, the code appends the-fastsuffix based solely oninput.fastwithout checking if the model actually supports fast mode (capability.supportsFast). [ Skipped comment generation ]
Loading