wayland desktop environment using webtech
Find a file
Stephen Hellings b82a9ca9c3 fix: clear IPC socket timeout after handshake, add vblank recovery and render diagnostics
Three bugs addressed:

1. SO_RCVTIMEO(5s) on the IPC socket was never cleared after the HELLO
   handshake. When the web page becomes static (no paint events for >5s),
   the blocking read_exact in recv_message times out, the IPC reader thread
   exits, and the socket is closed — causing ECONNRESET on the Electron
   side and permanently stalling frame delivery. Fix: clear SO_RCVTIMEO
   to zero (infinite) immediately after successful HELLO exchange.

2. If a VBlank event is lost or delayed (e.g. during DRM master transitions),
   vblank_pending stays true and all subsequent render_frame calls bail out
   permanently. Fix: if vblank_pending has been stuck for >500ms, force-clear
   it with a warning so rendering can resume.

   making it impossible to diagnose the black screen from logs. Fix: add
   INFO-level logging for first render, first page flip, first texture
   import, swapchain exhaustion on first frame, and vblank recovery events.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-09 13:08:59 -04:00
electron Fix types + build issue 2026-03-08 23:38:12 -04:00
packaging/wayland-sessions Initial commit 2026-03-08 23:04:02 -04:00
src fix: clear IPC socket timeout after handshake, add vblank recovery and render diagnostics 2026-03-09 13:08:59 -04:00
.gitignore Initial commit 2026-03-08 23:04:02 -04:00
Cargo.lock Initial commit 2026-03-08 23:04:02 -04:00
Cargo.toml Initial commit 2026-03-08 23:04:02 -04:00
config.example.toml Attempt 3 to fix launching permission denied 2026-03-09 11:21:08 -04:00
LICENSE Create LICENSE 2026-03-08 23:12:27 -04:00
PKGBUILD Do not use npm for pkg 2026-03-08 23:39:36 -04:00
README.md Initial commit 2026-03-08 23:04:02 -04:00
whatever.txt Attempt 2 to fix launching permission denied 2026-03-09 09:45:30 -04:00

wo compositor

don't bother (woe)