Plan: Extract QML-embedded logic into testable JavaScript modules
Tracer Bullet 1 — Clipboard whitelist validation + safe command builder
Scope: Add validateClipboardCmd(cmd) and…
Proposed Path Forward — Permissions & Accessibility (Revised)
Resolves: #16 (over-declared permissions), #23 (hardcoded popout dimensions), partial #28 (accessible attributes only)
…
Proposed Path Forward — Process Safety & binaryAvailable Cleanup (Revised)
Resolves: #11 (redundant binaryAvailable guard), #15 (no concurrent invocation guard)
Overview
#11…
Proposed Path Forward — QML Layout Fixes (Revised)
Resolves: #18 (Layout.fillWidth in plain Row), #19 (conflicting anchors.fill + anchors.verticalCenter), #27 (redundant boundsBehavior),…
_I'm arguing with myself. @jtmorris invoked a different model and asked for a 2nd opinion since QML is not his area of expertise, but he suspected there were holes in the plan. So... EAT THIS QWEN…
Proposed Path Forward — Error Handling Consolidation (Revised)
Resolves: #13 (double error toast spam), #14 (stale isConnected in error message), #29 (umbrella: fragmented error…
Proposed Path Forward — Clipboard Security Overhaul (Revised)
Resolves: #12 (shell injection), #17 (premature Copied toast), #25 (no stderr capture)
Overview
Per @jtmorris's…
Proposed Path Forward — Permissions & Accessibility
Resolves: #16 (over-declared permissions), #23 (hardcoded popout dimensions), #28 (no accessibility + hardcoded strings)
###…
Proposed Path Forward — lib.js Cleanup & Test Coverage
Resolves: #20 (for...in without hasOwnProperty), #21 (missing edge-case tests), #22 (redundant duplicate keys in errorMessage), #24…