- I2: .wd-row now wraps and .wd-output takes the full row width, so streamed output no longer gets crushed beside the button on the filename's line. - I3: split .webinar-dash into token scope + a new .wd-bar toolbar above a .wd-grid two-pane layout. Extracted renderAll (called from onload) which renders a global "Sync coverage" button, generalised runIngest's subprocess handling into a shared runClaude keyed by run id, and added spawnGate to preflight-disable both the sync and per-file ingest buttons when claude can't be spawned (no desktop Obsidian / no child_process). A successful ingest or sync now re-renders the dashboard instead of requiring reopen. - I6: the right pane now shows the tracked script path and last-synced date from the coverage file's metadata, and flags when cfg.script disagrees with it. - Minors: documented the unescaped-pipe split regex, added role="img" to the coverage meter alongside its aria-label.
21 KiB
21 KiB