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
[Bug] SessionReview blocks UI thread due to synchronous file diff calculation (compounded by corporate encryption systems) #35531
The UI rendering thread experiences a complete freeze (renderer unresponsive) during the rendering of the SessionReview component.
Investigation of the logs revealed a severe frontend performance issue: the SessionReview component synchronously executes heavy file diff calculations on the main thread for all modified files without any chunking or offloading to a Web Worker. For large projects (such as FPGA repositories), this freezes the UI for several minutes.
Root Cause Stack Trace (captured twice in window.log):
Encryption Interference: The host machine uses a corporate file encryption/DLP system. When Git attempts to perform background operations (git gc / git repack), the encryption software interferes with file access or blocks temporary object creation, throwing false-positive repository corruption errors in opencode.log:
Plaintext
cleanup failed: unable to normalize alternate object path: E:\1_code\sw640.git\objects
fatal: bad tree object 012e04dcc134f9fe7120e142fba8d5460f759c77
fatal: failed to run repack
Vicious Cycle: Each time the encryption software blocks or disrupts Git, it triggers abnormal .git state change events. This alerts the OpenCode watcher backend, forcing a snapshot / project copy refresh, which ultimately re-triggers the synchronous SessionReview diff calculation in an endless loop.
Periodic Re-trigger: The watcher backend re-initializes every 60 minutes by design. Each hourly restart triggers a project copy refresh + booting location services, worsening the freeze cycle under encrypted environments.
Plugins
Can’t you just give us a damn switch to turn off those fucking censorship scans? Batshit
OpenCode version
all
Steps to reproduce
Open a large project or FPGA repository containing many/large files on a workstation with corporate file encryption (DLP/Endpoint Protection enabled).
Allow OpenCode or Git to run background maintenance (git gc), which will fail or throw object access errors due to the encryption wrapper.
Trigger the SessionReview component rendering (or wait for the 60-minute watcher backend automatic restart to force a project refresh).
Observe that the UI completely freezes (renderer unresponsive) for several minutes while the main thread synchronously executes diffLines.
Activity
github-actions commentedon Jul 6, 2026
This issue might be a duplicate of an existing issue. Please check:
execEditLength → diffLines → structuredPatch → ... → SessionReview) and the same freeze symptom on large projects. PR fix(ui): prepare diffs off the render thread #31309/fix(ui): prepare diffs off the render thread #34415 is already tracking a fix.github-actions commentedon Sep 5, 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.