Skip to content

[desktop] Renderer freezes when adding a project (v2.0.26) #54441

Closed as duplicate

Description

@PaulShroom

Description

title: [desktop] Renderer freezes when adding a project (v2.0.26)

Summary

The OpenCode desktop app (Windows) renderer becomes unresponsive for several
seconds when a project is added from the Home page. It's a heavy main-thread
stall, not a crash — devtools logs "renderer unresponsive". Worse with many
projects/worktrees/sessions loaded, but reproducible with a small set too.

Steps to reproduce

  1. Open the OpenCode desktop app (v2.0.26).
  2. Go to the Home page (project list).
  3. Add a project.
  4. Observe the renderer hang / become unresponsive during and briefly after.

Expected: the project list updates smoothly.
Actual: the renderer stalls ("renderer unresponsive" in the devtools console).

Environment

  • Platform: Windows
  • App: OpenCode desktop 2.0.26 (latest stable channel)
  • Local LLM sidecar running; ~12 projects, 8 worktrees, ~230 sessions.
  • Confirmed the shipped 2.0.26 bundle matches the repo source byte-for-byte,
    so this is the released build, not a custom install.

Root cause (confirmed against source)

In packages/app/src/runtime/server/runtime.tsx, createServerController():

const projectsList = createMemo(() => projects.list().map(enrich))
const recentlyClosedList = createMemo(() => { ... projects.recentlyClosed()...map(enrich) })

where enrich(project) (runtime.tsx) does, on every call:

const [childStore] = sync.child(project.worktree, { bootstrap: false })
... merge { ...metadata, ...projectMeta, ...project } ... + icon override

and projects.list() resolves to input.store.projects[scope()] (a SolidJS
store read, registry.tsx createServerProjects).

Every project-list change recomputes these deriveds and enrich() returns a
fresh object per project while also reading the per-directory child store
and full server metadata. That churns identities through the home-model memos
(home/model.ts: projects/recentlyClosed) and the project-list UI, forcing
a large rebuild on the main thread.

Honest caveat: SolidJS createMemo only recomputes on dependency change, so
this looks like heavy re-derivation + identity churn rather than an infinite
loop — but it's enough to stall the renderer on "add project".

Suggested fix

Give each enriched project a stable identity (cache enrichment per worktree, or
stabilize the projects.list() array/object identity) so the memos don't
rebuild new objects on every project change.

Plugins

hindsight-coding-agents (@vectorize-io/hindsight-coding-agents) v0.8.0

OpenCode version

2.0.26

Steps to reproduce

  1. Open the OpenCode desktop app (v2.0.26).
  2. Go to the Home page (project list).
  3. Add a project.
  4. Observe the renderer hang / become unresponsive during and briefly after.

Expected: the project list updates smoothly.
Actual: the renderer stalls ("renderer unresponsive" in the devtools console).

Environment

  • Platform: Windows
  • App: OpenCode desktop 2.0.26 (latest stable channel)
  • Local LLM sidecar running; ~12 projects, 8 worktrees, ~230 sessions.
  • Confirmed the shipped 2.0.26 bundle matches the repo source byte-for-byte,
    so this is the released build, not a custom install.

Screenshot and/or share link

No response

Operating System

Windows

Terminal

No response

Activity

  1. opencode-agent commented on Oct 11, 2026

    @opencode-agent
    Contributor

    Thanks for the detailed report and the source analysis! I think this is a duplicate of #52236, which reports the same freeze on Windows desktop when adding a project with many projects loaded.

    Possible duplicates and related issues, ordered by likelihood:

    Your enrich()/identity-churn analysis in runtime.tsx would be useful on #52236, so please consider adding it there. The bot will close this issue as a duplicate in 1 day unless you reply explaining how your problem is different.

  2. opencode-agent commented on Oct 12, 2026

    @opencode-agent
    Contributor

    We haven't heard back since this was flagged as a possible duplicate, so I'm closing it as a duplicate of #52236. That issue reports the same freeze on Windows desktop when you add a project with many projects loaded. Please follow #52236 for updates, and consider adding your enrich()/identity-churn analysis from runtime.tsx there, since it could help whoever picks it up. If your problem turns out to be different, reply here with how it differs and we can reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions