Skip to content

release: v0.2.2#79

Merged
d0dg3r merged 1 commit intomainfrom
release/v0.2.2
Mar 25, 2026
Merged

release: v0.2.2#79
d0dg3r merged 1 commit intomainfrom
release/v0.2.2

Conversation

@d0dg3r
Copy link
Owner

@d0dg3r d0dg3r commented Mar 25, 2026

Automated release PR for v0.2.2

Copilot AI review requested due to automatic review settings March 25, 2026 01:00
@d0dg3r d0dg3r merged commit 51f1a3e into main Mar 25, 2026
1 check passed
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +127 to +128
- **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.
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
}}
onDoubleClick={(e) => {
e.stopPropagation();
openDir(row.name);
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
openDir(row.name);

Copilot uses AI. Check for mistakes.
Comment on lines +511 to 514
onDoubleClick={(e) => {
e.stopPropagation();
openDir(row.name);
}}
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
onDoubleClick={(e) => {
e.stopPropagation();
openDir(row.name);
}}

Copilot uses AI. Check for mistakes.
Comment on lines +73 to +86
{
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)",
},
Copy link

Copilot AI Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants