Conversation
There was a problem hiding this comment.
Pull request overview
Automated release PR for v0.2.2, updating desktop app versioning plus aligning documentation/UI copy with recent Settings/Plugins/PROXMUX UX changes and new Help/About surfaces.
Changes:
- Bump desktop app version to 0.2.2 across Tauri + npm + Rust metadata.
- Update in-app Help/About + related docs (settings tab names, plugin IDs, support links).
- Improve file pane UX (column sizing helpers, selection count, NSS-Commander workspace affordances).
Reviewed changes
Copilot reviewed 44 out of 45 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| services/license-server/README.md | Updates Settings navigation text for license activation. |
| docs/terms-of-sale.md | Updates Settings navigation text for license activation. |
| docs/roadmap.md | Updates plugin IDs and Settings navigation references (NSS-Commander/PROXMUX). |
| docs/releases.md | Advances “Current release” guidance from 0.2.1 → 0.2.2. |
| docs/licensing.md | Updates NSS-Commander built-in plugin id reference. |
| docs/license-server-runbook.md | Updates Settings navigation text for license activation/status. |
| docs/architecture.md | Aligns architecture notes with new Settings tab structure and plugin IDs. |
| docs/USER_HELP.md | New maintainer guide for in-app Help content structure and update workflow. |
| docs/CHANGELOG.md | Adds v0.2.2 release notes and updates older entries to new Settings naming. |
| apps/desktop/src/styles.css | Adds/adjusts styling for Help, About links, PROXMUX settings chrome, file pane selection count, NSS-Commander rail. |
| apps/desktop/src/hooks/useWorkspaceLocalStorage.ts | Restores NSS-Commander workspace file views on bootstrap. |
| apps/desktop/src/hooks/useFilePaneTableResize.ts | Refactors column sizing to use shared helpers and English headers. |
| apps/desktop/src/features/workspace-snapshot.ts | Introduces workspace kind and NSS-Commander snapshot creator + migration logic. |
| apps/desktop/src/features/workspace-snapshot.test.ts | Adds tests for NSS-Commander snapshot creation/migration behavior. |
| apps/desktop/src/features/repo-links.ts | New centralized GitHub/repo URLs for Help/About. |
| apps/desktop/src/features/plugin-store-catalog.ts | Updates catalog mapping to new NSS-Commander plugin ID constant. |
| apps/desktop/src/features/plugin-store-catalog.test.ts | Tests that store items reference correct built-in plugin IDs. |
| apps/desktop/src/features/keyboard-shortcuts-types.ts | Adds NSS-Commander shortcut command IDs. |
| apps/desktop/src/features/keyboard-shortcuts-registry.ts | Adds default shortcut definitions for NSS-Commander copy/switch. |
| apps/desktop/src/features/help-app-copy.ts | New shared Help/About copy constants. |
| apps/desktop/src/features/file-pane-column-sizing.ts | New helper to compute “optimal” resizable column widths. |
| apps/desktop/src/features/file-pane-column-sizing.test.ts | Unit tests for new file pane column sizing helper. |
| apps/desktop/src/features/builtin-plugin-ids.ts | Renames file workspace plugin id constant to NSS_COMMANDER_PLUGIN_ID. |
| apps/desktop/src/e2e/tauri-core-shim.ts | Updates mocked plugin manifest id for NSS-Commander in e2e shim. |
| apps/desktop/src/components/settings/tabs/AppSettingsProxmuxTab.tsx | Significant PROXMUX settings UI restructure and copy alignment. |
| apps/desktop/src/components/settings/tabs/AppSettingsHelpTab.tsx | Adds Help width controls + loading fallback + external link opener wiring. |
| apps/desktop/src/components/settings/tabs/AppSettingsAboutTab.tsx | Expands About page with version, links, licensing/support copy. |
| apps/desktop/src/components/settings/app-settings-types.ts | Moves PROXMUX under Connection subtabs; removes Integrations subtab typing. |
| apps/desktop/src/components/settings/app-settings-panel-props.ts | Removes Integrations subtab props (now single “Plugins” tab). |
| apps/desktop/src/components/settings/app-settings-constants.ts | Updates Settings tabs/subtabs layout (Plugins tab, Connection→PROXMUX). |
| apps/desktop/src/components/TerminalWorkspaceDock.tsx | Adds “+ NSS-Commander” workspace creation and optional action rail slot. |
| apps/desktop/src/components/SplitWorkspace.tsx | Plumbs file-pane Tab/F5 actions and remote path reporting through renderer bridge. |
| apps/desktop/src/components/RemoteFilePane.tsx | Adds selection count, F5/Tab hooks, path change callback, and new directory activation behavior. |
| apps/desktop/src/components/ProxmuxSidebarPanel.tsx | Updates Settings navigation text references. |
| apps/desktop/src/components/LocalFilePane.tsx | Adds selection count, F5/Tab hooks, and new directory activation behavior. |
| apps/desktop/src/components/HelpPanel.tsx | Major Help content rewrite + support links/actions via repo-links + shared copy. |
| apps/desktop/src/components/FilePaneTableHead.tsx | Changes optimal-width control to compact icon-only button with aria-label. |
| apps/desktop/src/components/FilePaneTableHead.test.tsx | Adds test for icon-only optimal-width control accessibility. |
| apps/desktop/src/components/AppSettingsPanel.tsx | Removes Integrations subtabs and routes PROXMUX under Connection. |
| apps/desktop/src/App.tsx | Wires new workspace kind behavior, NSS-Commander workspace creation, F5 copy actions, PROXMUX settings routing, and plugin ID rename. |
| apps/desktop/src-tauri/tauri.conf.json | Bumps app version to 0.2.2. |
| apps/desktop/src-tauri/src/plugins/file_workspace.rs | Renames built-in plugin id constant to dev.nosuckshell.plugin.nss-commander. |
| apps/desktop/src-tauri/Cargo.toml | Bumps Rust crate version to 0.2.2. |
| apps/desktop/package.json | Bumps npm package version to 0.2.2. |
| apps/desktop/package-lock.json | Bumps lockfile package version entries to 0.2.2. |
Files not reviewed (1)
- apps/desktop/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - **PROXMUX integration** — Built-in plugin `dev.nosuckshell.plugin.proxmox`: Proxmox cluster configuration, guest/resource browsing in the sidebar when entitled, **Connection** → **PROXMUX** for credentials and options (including opening Proxmox web consoles in an embedded pane vs the system browser), adaptive polling and startup warmup behavior. | ||
| - **App settings** — Restructured **Settings** with clearer sub-tabs; **Plugins** for built-in plugins and license; **Visual style** reset for appearance. |
There was a problem hiding this comment.
dev.nosuckshell.plugin.proxmox looks like a typo/inconsistent with the actual PROXMUX plugin id used elsewhere in the repo (dev.nosuckshell.plugin.proxmux). This changelog entry should use the correct id to avoid breaking copy/paste references and documentation lookups.
| }} | ||
| onDoubleClick={(e) => { | ||
| e.stopPropagation(); | ||
| openDir(row.name); |
There was a problem hiding this comment.
The new single-click/second-click directory activation conflicts with the onDoubleClick handler: a double-click will fire two onClicks (the second one already calls openDir) and then onDoubleClick calls openDir again. Because openDir uses a functional setPath, this can enqueue two updates and navigate into dir/dir unexpectedly. Remove the onDoubleClick navigation (or make it a no-op) when using the Total-Commander-like activation logic, or gate onDoubleClick so it doesn't trigger a second navigation.
| openDir(row.name); |
| onDoubleClick={(e) => { | ||
| e.stopPropagation(); | ||
| openDir(row.name); | ||
| }} |
There was a problem hiding this comment.
Same issue as LocalFilePane: with the new Total-Commander-like activation, a double-click triggers openDir from the second click (via handleDirectoryActivate) and again from onDoubleClick, which can navigate into dir/dir due to the functional setPath update. Remove/adjust the onDoubleClick navigation so directory entry only happens once per user action.
| onDoubleClick={(e) => { | |
| e.stopPropagation(); | |
| openDir(row.name); | |
| }} |
| { | ||
| id: "nssCommanderCopy", | ||
| label: "NSS-Commander: copy selection to other pane", | ||
| defaultChord: { code: "F5" }, | ||
| scope: "appUi", | ||
| helpAction: "Copy to other pane (file browser)", | ||
| }, | ||
| { | ||
| id: "nssCommanderSwitchPane", | ||
| label: "NSS-Commander: switch to other file pane", | ||
| defaultChord: { code: "Tab" }, | ||
| scope: "appUi", | ||
| helpAction: "Switch file pane (file browser)", | ||
| }, |
There was a problem hiding this comment.
New shortcut definitions (nssCommanderCopy on F5 and nssCommanderSwitchPane on Tab) are registered in KEYBOARD_SHORTCUT_DEFINITIONS, so the global capture-phase shortcut engine will preventDefault()/stopPropagation() when those keys are pressed in app UI (including inside .file-pane). However, the engine doesn’t implement any actions for these command IDs, so the keystrokes do nothing and also won’t reach the file pane’s own onKeyDown handlers. Tab in particular will also break normal focus navigation throughout the app. Either wire these command IDs into the shortcut engine actions (and scope them so they only trigger when appropriate), or remove them from the global shortcut definitions and keep them as file-pane-local key handling.
Automated release PR for v0.2.2