Lots of fixes, big and small for processviewer (frontend and backend)#3224
Lots of fixes, big and small for processviewer (frontend and backend)#3224
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThis pull request introduces a Process Viewer feature for Wave. Changes include Taskfile updates to treat Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
Taskfile.yml (1)
150-159:⚠️ Potential issue | 🟠 MajorAdd
package.jsonto quickdev task sources to invalidate cached binaries on version changes.The main build tasks now include
package.jsonin sources, butbuild:server:quickdevandbuild:backend:quickdev:windowsstill define their ownsourcesblocks without it. This causes quickdev binaries to be reused afterpackage.jsonchanges, leaving them with outdated embedded version information.Required changes
build:server:quickdev: desc: Build the wavesrv component for quickdev (arm64 macOS only, no generate). platforms: [darwin] cmds: - task: build:server:internal vars: ARCHS: arm64 deps: - go:mod:tidy sources: - "cmd/server/*.go" - "pkg/**/*.go" - "pkg/**/*.json" - "pkg/**/*.sh" - "tsunami/**/*.go" + - package.json generates: - dist/bin/wavesrv.* build:backend:quickdev:windows: desc: Build only the wavesrv component for quickdev (Windows amd64 only, no generate, no wsh). platforms: [windows] cmds: - task: build:server:internal vars: ARCHS: amd64 GO_ENV_VARS: CC="zig cc -target x86_64-windows-gnu" deps: - go:mod:tidy sources: - "cmd/server/*.go" - "pkg/**/*.go" - "pkg/**/*.json" - "pkg/**/*.sh" - "tsunami/**/*.go" + - package.json generates: - dist/bin/wavesrv.x64.exe🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@Taskfile.yml` around lines 150 - 159, The quickdev tasks reuse cached binaries because their local sources blocks omit package.json; update the sources arrays in the build:server:quickdev and build:backend:quickdev:windows Task definitions to include "package.json" alongside the existing entries (e.g., keep go.mod, go.sum, pkg/**/*.go, etc.), so changes to package.json invalidate the cache and rebuild binaries with correct embedded version info.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/docs/widgets.mdx`:
- Around line 137-141: The new "### Process Viewer" heading breaks the Codeedit
section hierarchy by becoming a parent of the subsequent "#### Exit Edit Mode
Without Saving" subsection; to fix, relocate the "### Process Viewer" block so
it appears after all Codeedit-related subsections, or alternatively move the
"#### Exit Edit Mode Without Saving" block so it comes before "### Process
Viewer", ensuring the "Codeedit" section and its "####" subsections remain
siblings (search for the literal heading text "### Process Viewer" and "####
Exit Edit Mode Without Saving" to make the change).
In `@frontend/app/view/processviewer/processviewer.tsx`:
- Line 477: The "User" column is removed from the Windows grid template but
ProcessRow still always renders the user cell, causing misaligned cells; update
ProcessRow to skip rendering the cell for the column with key "user" when its
corresponding column config has hideOnPlatform including "windows" (or when
current platform === "windows"), i.e., read the columns config (or platform
flag) used to build the header and conditionally omit the user cell rendering in
ProcessRow so row grid items match the header.
---
Outside diff comments:
In `@Taskfile.yml`:
- Around line 150-159: The quickdev tasks reuse cached binaries because their
local sources blocks omit package.json; update the sources arrays in the
build:server:quickdev and build:backend:quickdev:windows Task definitions to
include "package.json" alongside the existing entries (e.g., keep go.mod,
go.sum, pkg/**/*.go, etc.), so changes to package.json invalidate the cache and
rebuild binaries with correct embedded version info.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 7c5c7f12-7b58-497e-82a2-b48822020949
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (8)
Taskfile.ymldocs/docs/keybindings.mdxdocs/docs/releasenotes.mdxdocs/docs/widgets.mdxfrontend/app/onboarding/onboarding-upgrade-v0145.tsxfrontend/app/view/processviewer/processviewer.tsxpkg/wconfig/defaultconfig/widgets.jsonpkg/wshrpc/wshremote/processviewer.go
| ### Process Viewer <VersionBadge version="v0.14.5" /> | ||
|
|
||
| The Process Viewer shows a live list of running processes on any connected host. It is similar to `top` or `htop`, displaying PID, command, CPU%, and memory usage. On Linux it also shows process status and thread count. | ||
|
|
||
| Columns are sortable by clicking their headers. Right-clicking a row lets you send Unix signals (SIGTERM, SIGKILL, etc.) or copy the PID. You can filter the list by pressing <Kbd k="Cmd:f"/> and typing a search term. Press <Kbd k="Space"/> to pause live updates (useful when inspecting a specific process); press it again to resume. |
There was a problem hiding this comment.
This heading breaks the Codeedit section hierarchy.
Adding ### Process Viewer here makes the following #### Exit Edit Mode Without Saving subsection a child of Process Viewer instead of Codeedit. Move this new section below the remaining Codeedit subsection, or move that #### block above it.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/docs/widgets.mdx` around lines 137 - 141, The new "### Process Viewer"
heading breaks the Codeedit section hierarchy by becoming a parent of the
subsequent "#### Exit Edit Mode Without Saving" subsection; to fix, relocate the
"### Process Viewer" block so it appears after all Codeedit-related subsections,
or alternatively move the "#### Exit Edit Mode Without Saving" block so it comes
before "### Process Viewer", ensuring the "Codeedit" section and its "####"
subsections remain siblings (search for the literal heading text "### Process
Viewer" and "#### Exit Edit Mode Without Saving" to make the change).
The big fix is not spawning a goroutine per process. other fixes are more minor, but improve the quality and clean up some edge cases.