Windows keeps the legacy path; Linux X11 uses a native XGrabKey hotkey (ctypes libX11) with native capture; Wayland captures through xdg-desktop-portal and degrades gracefully with explicit capability-unavailable logs when the portal/protocol is missing.
- merge duplicated eventFilter paths and gate send-by-Enter (P0-02)
- display bash task layers in reverse start-time order while reusing
layer instances and preserving scroll/expand state (P2-01)
- add scoped 8px scrollbars with matching corner for the bash code box
(P2-02)
- rewrite RenameOverlay as a top-level transparent tool window so it
can cover the native WebView2 child HWND (P2-03)
Add render_window.js: Python-driven incremental pagination with id+chainIndex state, anchor restore, batch guard and streaming auto-detect; wired through chat_bridge and the page shell.
Windows prefers WebView2, Linux uses QtWebEngine only; pythonnet deps are win32-marked. Each QtWebEngine instance gets its own profile under data/webengine, and Chromium flags are sanitized before QApplication (--no-sandbox accepted only for explicit root/container use).
Import the pre-repair source tree as the history baseline.
Runtime data (data/), virtualenvs, bytecode caches and logs are
gitignored so local secrets and user state stay out of the repo.