Skip to content

Merge develop into main#48

Merged
pallyoung merged 81 commits into
mainfrom
develop
May 21, 2026
Merged

Merge develop into main#48
pallyoung merged 81 commits into
mainfrom
develop

Conversation

@pallyoung

Copy link
Copy Markdown
Contributor

Summary

  • merge the current develop branch into main
  • include the recent LSP runtime mode work, supervisor/runtime persistence changes, and UI foundation updates already landed on develop
  • include the latest follow-up fixes such as supervisor cycle counting and unified overlay backdrop behavior

Test Plan

  • pnpm --filter @coder-studio/server exec vitest run src/supervisor/target-store.test.ts src/tests/supervisor-manager.test.ts
  • pnpm --filter @coder-studio/web exec vitest run src/styles/components.theme.test.ts src/components/ui/modal/index.test.ts src/components/ui/drawer/index.test.ts src/components/ui/confirm-dialog/index.test.ts src/components/ui/sheet/index.test.ts

pallyoung added 30 commits May 13, 2026 00:22
# Conflicts:
#	packages/server/src/server.ts
#	packages/server/src/ws/dispatch.ts
#	packages/web/src/app/providers.tsx
#	packages/web/src/features/code-editor/actions/use-code-editor-actions.ts
#	packages/web/src/features/workspace/views/shared/file-tree-panel.test.tsx
- Anchor stripCodeFence so a mid-payload ``` snippet inside a string
  value (e.g. guidance) no longer destroys the surrounding JSON.
- Auto-repair literal control characters (\n, \r, \t, other <0x20)
  that appear inside JSON string literals, so payloads like
  `"guidance":"line1<LF>line2"` no longer fail with
  "Unterminated string in JSON at position X".
- Log the raw payload preview on parse failure and tag the error
  with code "supervisor_eval_failed" so the existing
  retryOnEvaluatorError path picks it up instead of dropping the
  supervisor into an error state.
pallyoung added 27 commits May 21, 2026 09:12
The workspace watcher recursively watched `.git/`, which on Windows
let chokidar race transient files like `.git/index.lock` and emit
`EPERM: operation not permitted, watch '...index.lock'`. With no
`error` listener on the FSWatcher, EventEmitter turned it into an
uncaughtException.

- Tighten DEFAULT_WATCHER_IGNORED_PATTERNS to skip `.git/index.lock`
  / `.git/**/*.lock` / `.git/objects` / `.git/lfs` / `.git/logs` /
  `.git/hooks` / `.git/info`. Branch and worktree state
  (HEAD, refs/, packed-refs, worktrees/, index, config) is still
  observed so the UI keeps reacting to git operations.
- Attach an `error` listener that swallows transient FS error codes
  (EPERM/ENOENT/EBUSY/EACCES) at debug level and surfaces unknown
  errors via `logger.warn`. The watcher now accepts an optional
  `WatcherLogger`; WorkspaceManager late-binds Fastify's `app.log`
  via a new `setLogger`, mirroring the existing wsHub pattern.
@pallyoung
pallyoung merged commit 6afe8c3 into main May 21, 2026
2 checks passed
pallyoung added a commit that referenced this pull request Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant