You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Desktop renderer freezes on large file diffs (synchronous diff parsing on UI thread) #34437
OpenCode Desktop freezes on Windows when working with large file diffs — for example, C++ projects like llama.cpp or sessions with many modified files. The renderer becomes unresponsive for seconds at a time.
Root Cause
execEditLength runs synchronously on the UI render thread during diff computation. The call chain:
Session Review eagerly parses every file while building reactive component state, before expansion or virtualization. A sufficiently large diff can block the renderer for hundreds of milliseconds while messages continue streaming.
Impact
Windows users experience multi-second freezes when opening sessions with large diffs
Makes OpenCode Desktop nearly unusable for C++ or other large-file projects
Fix
PR #31309 by @Hona moves diff preparation off the render thread into a Web Worker, reducing max frame gap from 233ms to 67ms (71% reduction). A clean rebase is available at #34415
These issues all describe the same underlying problem: execEditLength (Myers diff algorithm) running synchronously on the renderer thread for large files.
Activity
github-actions commentedon Jun 29, 2026
This issue might be a duplicate of existing issues. Please check:
execEditLengthwhen computing large file diffsexecEditLengthon the render threadThese issues all describe the same underlying problem:
execEditLength(Myers diff algorithm) running synchronously on the renderer thread for large files.github-actions commentedon Aug 29, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.