Skip to content

Add chat thread font-size setting - #518

Closed
raphaelluethy wants to merge 91 commits into
pingdotgg:mainfrom
raphaelluethy:t3code/add-chat-thread-font-size-setting
Closed

raphaelluethy wants to merge 91 commits into
pingdotgg:mainfrom
raphaelluethy:t3code/add-chat-thread-font-size-setting

Add configurable chat thread font size setting

7ef4315
Select commit
Loading
Failed to load commit list.
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 toSessionError uses an overly broad substring check normalized.includes("not found") to classify session errors. This causes common operational errors (e.g., "File not found", "Command not found") to be misclassified as a ProviderAdapterSessionNotFoundError. 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 nativeEventLogger and canonicalEventLogger are initialized using the same providerEventLogPath. The makeEventNdjsonLogger implementation (visible in references) calculates the output log file path as path.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.Literals is not a standard export of the effect library (likely Schema.Literal was 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))) or Schema.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 for gpt-5.4. While gpt-5.4 supports reasoning (line 84), and resolveCursorReasoning correctly handles low, high, and xhigh suffixes, resolveCursorModelFamily only explicitly handles high and xhigh (lines 160-165). It misses gpt-5.4-low. As a result, parseCursorModelSelection will fail to correctly identify the family for gpt-5.4-low, falling back to the default family instead. [ Out of scope ]
  • line 234: In resolveCursorModelFromSelection, the code appends the -fast suffix based solely on input.fast without checking if the model actually supports fast mode (capability.supportsFast). [ Skipped comment generation ]