-
-
Notifications
You must be signed in to change notification settings - Fork 913
Comparing changes
Open a pull request
base repository: wavetermdev/waveterm
base: v0.14.2-beta.0
head repository: wavetermdev/waveterm
compare: v0.14.2-beta.1
- 18 commits
- 101 files changed
- 5 contributors
Commits on Mar 6, 2026
-
Configuration menu - View commit details
-
Copy full SHA for c6f6124 - Browse repository at this point
Copy the full SHA c6f6124View commit details
Commits on Mar 7, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 76f78f0 - Browse repository at this point
Copy the full SHA 76f78f0View commit details -
Remove dead “move block to new window” path and dependent unused APIs (…
…#3002) `WindowService.MoveBlockToNewWindow` appears to be unreferenced, and its supporting path had become isolated. This change removes that dead RPC surface and the backend/eventbus helpers that existed only for that flow. - **Window service cleanup (backend RPC)** - Removed `MoveBlockToNewWindow_Meta` and `MoveBlockToNewWindow` from `pkg/service/windowservice/windowservice.go`. - Dropped now-unused imports tied to that method (`log`, `eventbus`). - **Store cleanup** - Removed `MoveBlockToTab` from `pkg/wstore/wstore.go`. - Removed now-unused `utilfn` import from the same file. - **Eventbus cleanup** - Removed unused event constant `WSEvent_ElectronNewWindow`. - Removed `getWindowWatchesForWindowId` and `BusyWaitForWindowId`, which were only used by the deleted move-to-new-window path. - Removed now-unused `time` import. - **Generated frontend service surface** - Regenerated service bindings and removed `WindowServiceType.MoveBlockToNewWindow(...)` from `frontend/app/store/services.ts`. Example of removed RPC surface: ```ts // removed from frontend/app/store/services.ts MoveBlockToNewWindow(currentTabId: string, blockId: string): Promise<void> { return WOS.callBackendService("window", "MoveBlockToNewWindow", Array.from(arguments)) } ``` <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/wavetermdev/waveterm/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3f4484a - Browse repository at this point
Copy the full SHA 3f4484aView commit details -
preview updates (mock electron api, wos checks) (#2986)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7ef0bcd - Browse repository at this point
Copy the full SHA 7ef0bcdView commit details -
Update aiusechat read_dir tests for typed entry output (#3007)
`pkg/aiusechat/tools_readdir_test.go` was still asserting the old `entries` payload shape after `read_dir` moved to returning typed directory entries. This caused the `pkg/aiusechat` test failures even though the tool behavior itself was already correct. - **Align test expectations with current callback output** - Update `TestReadDirCallback` to treat `entries` as `[]fileutil.DirEntryOut` - Assert directory/file classification via the `Dir` field instead of map lookups - **Fix truncation/sorting coverage** - Update `TestReadDirSortBeforeTruncate` to validate the typed slice returned by `readDirCallback` - Preserve the existing intent of the test: directories should still be sorted ahead of files before truncation - **Keep scope limited to stale tests** - No changes to `read_dir` implementation or output contract - Only the broken test assumptions were corrected ```go entries, ok := resultMap["entries"].([]fileutil.DirEntryOut) if !ok { t.Fatalf("entries is not a slice of DirEntryOut") } for _, entry := range entries { if entry.Dir { // directory assertions } } ``` <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/wavetermdev/waveterm/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for 56c1829 - Browse repository at this point
Copy the full SHA 56c1829View commit details -
Add Release Notes entry to the settings menu (#3005)
This adds a **Release Notes** action to `SettingsFloatingWindow` in the requested position: after **Secrets** and before **Help**. It also wires that action to open the existing `onboarding-upgrade-patch.tsx` UI as a standalone modal, so release notes remain accessible even when automatic upgrade onboarding would not render for up-to-date clients. - **Settings menu** - Adds a new **Release Notes** item to `frontend/app/workspace/widgets.tsx` - Places it between **Secrets** and **Help** - Uses the existing modal system rather than creating a new view/block path - **Release notes launch path** - Registers `UpgradeOnboardingPatch` in the modal registry - Opens it from the settings menu via `modalsModel.pushModal("UpgradeOnboardingPatch", { isReleaseNotes: true })` - **Standalone modal behavior** - Extends `UpgradeOnboardingPatch` with a lightweight `isReleaseNotes` mode - In release-notes mode, closing the modal pops the stacked modal instead of toggling `upgradeOnboardingOpen` - Preserves the existing automatic upgrade-onboarding flow and version metadata update behavior for the original path ```tsx { icon: "book-open", label: "Release Notes", onClick: () => { modalsModel.pushModal("UpgradeOnboardingPatch", { isReleaseNotes: true }); onClose(); }, } ``` - **<screenshot>** - Release notes modal content:  <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/wavetermdev/waveterm/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for 46593b9 - Browse repository at this point
Copy the full SHA 46593b9View commit details -
Fix connparse handling for scheme-less
//...WSH shorthand URIs (#3006) `pkg/remote/connparse` was failing on shorthand WSH inputs that omit the `wsh://` scheme, including remote hosts, WSL targets, and Windows local paths. The parser was splitting on `://` too early and misclassifying leading `//` inputs before WSH shorthand handling ran. - **What changed** - Detect scheme-less WSH shorthand up front with `strings.HasPrefix(uri, "//")` - Route those inputs through the existing WSH path parsing flow instead of the generic `://` split path - Reuse the same shorthand flag when deciding whether to parse as remote/local WSH vs current-path shorthand - **Behavioral impact** - `//conn/path/to/file` now parses as host `conn` with path `path/to/file` - `//wsl://Ubuntu/path/to/file` now preserves the WSL host and absolute path shape - `//local/C:\path\to\file` now parses as local Windows shorthand instead of being treated as a current-path string - **Scope** - Keeps the existing test expectations intact - Limits the change to `pkg/remote/connparse/connparse.go` ```go isWshShorthand := strings.HasPrefix(uri, "//") if isWshShorthand { rest = strings.TrimPrefix(uri, "//") } else if len(split) > 1 { scheme = split[0] rest = strings.TrimPrefix(split[1], "//") } ``` <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com> Co-authored-by: sawka <mike@commandline.dev>
Configuration menu - View commit details
-
Copy full SHA for 6871998 - Browse repository at this point
Copy the full SHA 6871998View commit details -
Configuration menu - View commit details
-
Copy full SHA for 71f7e98 - Browse repository at this point
Copy the full SHA 71f7e98View commit details
Commits on Mar 9, 2026
-
Configuration menu - View commit details
-
Copy full SHA for e41aabf - Browse repository at this point
Copy the full SHA e41aabfView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6e559c - Browse repository at this point
Copy the full SHA e6e559cView commit details -
Remove invalid
forwardReffrom preview directory table row (#3018)Wave was emitting React’s `forwardRef render functions accept exactly two parameters` warning on startup with no useful stack trace. The warning came from the preview directory row component being wrapped in `React.forwardRef` even though it neither accepted nor used a forwarded ref. - **Root cause** - `frontend/app/view/preview/preview-directory.tsx` defined `TableRow` with `React.forwardRef(...)`, but the render function was effectively a plain props-only component. - **Change** - Removed the unnecessary `forwardRef` wrapper from `TableRow`. - Kept the component behavior unchanged; it still uses its internal drag ref wiring for DnD. - **Impact** - Eliminates the startup warning. - Aligns the component definition with its actual usage: callers render `TableRow` as a normal component and do not pass refs. ```tsx // before const TableRow = React.forwardRef(function ({ row, idx, ...props }: TableRowProps) { return <div ref={dragRef}>...</div>; }); // after function TableRow({ row, idx, ...props }: TableRowProps) { return <div ref={dragRef}>...</div>; } ``` <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/wavetermdev/waveterm/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>Configuration menu - View commit details
-
Copy full SHA for 39b68fb - Browse repository at this point
Copy the full SHA 39b68fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1aee6e2 - Browse repository at this point
Copy the full SHA 1aee6e2View commit details
Commits on Mar 10, 2026
-
Configuration menu - View commit details
-
Copy full SHA for f5480cb - Browse repository at this point
Copy the full SHA f5480cbView commit details -
Expose platform metadata on WaveEnv and preview mocks (#3021)
WaveEnv did not surface platform information, so platform-aware behavior could not be added through the shared environment contract. This updates the contract, production implementation, and preview mock to carry platform state without wiring it into any consumers yet. - **WaveEnv contract** - Add `platform: NodeJS.Platform` - Add `isWindows()` and `isMacOS()` helpers - **Production implementation** - Populate `platform` from `PLATFORM` in `frontend/util/platformutil.ts` - Forward `isWindows` / `isMacOS` from the same utility into `makeWaveEnvImpl()` - **Preview mock** - Add optional `platform` override to `MockEnv` - Default mock platform to macOS - Expose `platform`, `isWindows()`, and `isMacOS()` on the mock env - Preserve platform overrides through `applyMockEnvOverrides()` Example: ```ts const env = useWaveEnv(); env.platform; // "darwin" | "win32" | ... env.isMacOS(); // boolean env.isWindows(); // boolean ``` <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/wavetermdev/waveterm/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com> Co-authored-by: sawka <mike@commandline.dev>
Configuration menu - View commit details
-
Copy full SHA for e087a4c - Browse repository at this point
Copy the full SHA e087a4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7119970 - Browse repository at this point
Copy the full SHA 7119970View commit details -
fix: search bar clipboard and focus improvements (#3025)
Two small fixes to the in-app search feature: - **Skip copy-on-select during search navigation** — when iterating through search results in the terminal, the clipboard kept getting overwritten with the matched text on every step. This was annoying on its own, but also polluted paste history managers. The root cause was that xterm.js updates the terminal selection programmatically to highlight each match, which triggered the copy-on-select handler. The fix skips the clipboard write whenever an element inside `.search-container` is the active element. - **Refocus search input on repeated Cmd+F** — pressing Cmd+F while the search bar was already open was a no-op (setting the `isOpen` atom to `true` again has no effect). The fix detects the already-open case and directly calls `focus()` + `select()` on the input, so the user can immediately type a new query.
Configuration menu - View commit details
-
Copy full SHA for 29f49dc - Browse repository at this point
Copy the full SHA 29f49dcView commit details -
Expanding WaveEnv to cover all of frontend/app/block components (#3024)
* lots of updates to WaveEnv to make it cover more functionality * Create BlockEnv as a narrowing of WaveEnv that covers all of frontend/app/block functionality * Fixed a lot of dependencies in the block components that caused unnecessarily re-renders * Added atom caching to WOS
Configuration menu - View commit details
-
Copy full SHA for cb8166e - Browse repository at this point
Copy the full SHA cb8166eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a327921 - Browse repository at this point
Copy the full SHA a327921View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.14.2-beta.0...v0.14.2-beta.1