Repository navigation
Conversation
Batch D of the OSS repo cleanup (dkurokawa/move#33). Performance / correctness: - Replace blocking execSync (memory/disk/cpu/gpu) with non-blocking execFile via a shared exec helper, so the extension host event loop no longer stalls on every 5s collection tick. Collector Promise.all is now genuinely parallel. - Stop collecting the top-CPU-process list every tick: it was never rendered by the webview and spawned an extra `ps` subprocess each update (dead output). - Report disk I/O read speed on macOS only; the fixed `iostat` column index produced wrong numbers on Linux (different output format / units). HTML/JS drift: - Restore the header (chip name + uptime) the webview HTML had dropped, so the values the frontend already computes render again (uses existing orphan CSS). Header update moved into the shared dispatch so it works in both view modes. Maintainability / tests: - Extract the fragile regex output parsers into pure functions and cover them with vitest unit tests using fixtures captured from real command output. - Deduplicate the per-process memory breakdown copy-pasted across the macOS/Linux/Windows paths into one buildBreakdown helper. - Add GitHub Actions CI (compile + tests, Node 18/20), Marketplace/CI README badges, CHANGELOG, version bump to 0.2.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Batch D of the OSS repo cleanup (dkurokawa/move#33). Local
compile+typecheck+testall green.Performance / correctness
execSync(memory/disk/cpu/gpu) with a shared asyncexecFilehelper (src/metrics/exec.ts). The extension host event loop no longer stalls on every 5-second tick;MetricsCollector'sPromise.allis now genuinely parallel. No shell is spawned (pipes/redirects moved into JS), which also removes shell-injection surface.getCpuTopProcesses()ranpsevery tick but its output (cpuTop) was never rendered by the webview. Dropped it (and the unusedCpuTopProcesstype).iostatlayout and produced wrong numbers on Linux (different format/units).HTML/JS drift
main.jswrote#mp-chip-nameand#mp-uptime, but those elements had been dropped from the provider HTML (their CSS.mp-header*/.mp-pulsewas left orphaned). Restored the header so the already-computed chip name + uptime render again. Header update moved into the shared dispatch so it works in both detailed and compact views.Maintainability / tests
test/parsers.test.ts), using fixtures captured from real command output.buildBreakdownhelper.Note for the maintainer (out of scope here)
This PR targets
master, which holds the live 0.2.x code. The repo's default branch ismain, which is diverged and stale (onlyfeat: initial release v0.1.0). Visitors to the repo currently land on the older branch. Worth reconcilingmain/masterseparately (pick one canonical branch) — I left it untouched rather than force-reconcile branches.