bc0b92bcdc
docs: add agent handoff docs, verification guide, and repair evidence Add docs/agent-handoff (backlog, execution state, verification, platform plan, per-task evidence), repo AGENTS.md, and architecture notes updated for the dual-renderer design.
sorrow404null2026-09-17 16:40:06 +08:00
75b2ec4123
test: add cross-platform test aggregator (run_all) Subprocess-based runner with logic/offscreen groups: per-entry temp dirs, explicit timeouts, dependency/platform SKIP gates, UTF-8 safe output, and an exit code that reflects failures without blocking on a single crash or timeout.
sorrow404null2026-09-17 16:40:06 +08:00
acbf73f2c3
test: update smoke and regression suites for dual-renderer paths Offscreen harnesses now resize+show before load, use per-instance webengine profile dirs and explicit exit codes; compaction and bash stream suites follow the renamed internals.
sorrow404null2026-09-17 16:40:06 +08:00
0a62877cde
feat(ui): cross-platform screenshot hotkey and portal-based capture 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.
sorrow404null2026-09-17 16:40:05 +08:00
95024785ae
fix(ui): main window fixes - event filter, bash layer order, scrollbar styles, rename overlay - 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)
sorrow404null2026-09-17 16:40:04 +08:00
ef00f64435
feat(web): incremental render-window batch rendering engine 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.
sorrow404null2026-09-17 16:40:04 +08:00
156f94e840
fix(webview2): fall back to byte[] assembly load and guard instance lock Assembly.LoadFrom can fail on volumes .NET misclassifies as remote; fall back to Assembly.Load(byte[]). Broaden exception handling to BaseException for pythonnet, and skip WebView2 warmup/taskkill when the instance lock is held by another process.
sorrow404null2026-09-17 16:40:03 +08:00
554be4f92b
feat(renderer): platform-gated dual renderer backend with isolated QtWebEngine profiles 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).
sorrow404null2026-09-17 16:40:03 +08:00
342e53df02
fix(agent): make compaction settings dataclass compatible with Python 3.11+ Use field(default_factory=...) instead of a mutable-default-class instance, which Python 3.11+ dataclasses reject at import time.
sorrow404null2026-09-17 16:40:02 +08:00
60200260ab
feat(agent): unified cross-platform shell execution contract (cmd/bash) Windows runs 'cmd.exe /d /s /c <command>' as a string command line; Linux uses ['/bin/bash', '-lc', command]. Removes implicit shell=True behavior and aligns the agent system prompt per platform.
sorrow404null2026-09-17 16:40:02 +08:00
ce56c77023
feat(config): isolate config and database via HAOCODE_CONFIG_FILE override core/config_paths.py resolves a single override so tests and multiple instances can run against isolated temp config/db without touching user data.
sorrow404null2026-09-17 16:40:02 +08:00