diff --git a/.changeset/dialog-scroll-pin.md b/.changeset/dialog-scroll-pin.md deleted file mode 100644 index e6671b88b..000000000 --- a/.changeset/dialog-scroll-pin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/server": patch ---- - -Dialogs and drawers scroll again on the iPhone. A tap-selected option can leave iOS focus on the page body, and the terminal's scroll pin read that as an idle page and snapped an open dialog's own scroller back to the top the moment a form grew past its height cap. A scroller inside an open modal is now exempt from the pin, by surface rather than by focus. diff --git a/.changeset/directory-picker-walk.md b/.changeset/directory-picker-walk.md deleted file mode 100644 index 880bcc994..000000000 --- a/.changeset/directory-picker-walk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/server": patch ---- - -The folder picker now pages through huge listings instead of stopping at the first thousand entries. It walks the server's cursor as you scroll, virtualizes the rows so a 30,000-folder directory stays smooth, says so when a browse hit the server's cap, and stops re-replaying a walk every time the picker reopens. Starring a folder updates the cached listing in place instead of refetching every page. diff --git a/.changeset/explore-cursor-boundary.md b/.changeset/explore-cursor-boundary.md deleted file mode 100644 index 21d09b412..000000000 --- a/.changeset/explore-cursor-boundary.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/server": patch ---- - -The explore endpoint now checks its cursor at the boundary: a malformed or oversized one gets a clear 400 instead of a confusing listing, and a huge-but-legal one simply answers empty. A browse that hits the folder cap now carries a `truncated` flag through the API so callers can say some folders are missing. diff --git a/.changeset/fresh-navigation-media.md b/.changeset/fresh-navigation-media.md deleted file mode 100644 index 1dd309de1..000000000 --- a/.changeset/fresh-navigation-media.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/docs": patch ---- - -Refresh screenshots and navigation instructions for the sidebar bottom bar, and explain the walking folder picker. diff --git a/.changeset/mcp-sdk-2-3-1.md b/.changeset/mcp-sdk-2-3-1.md deleted file mode 100644 index 095cf0337..000000000 --- a/.changeset/mcp-sdk-2-3-1.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@internal/server": patch -"@internal/node": patch ---- - -The MCP SDKs move to 2.3.1, taking the published fixes for the transport -advisories. The pane MCP server and its e2e client speak stdio, so nothing was -exposed: this is hygiene, not a patch for a live hole. diff --git a/.changeset/preserve-relay-reply-slot.md b/.changeset/preserve-relay-reply-slot.md deleted file mode 100644 index ee7ae4850..000000000 --- a/.changeset/preserve-relay-reply-slot.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"@internal/server": patch -"@internal/node": patch -"@internal/desktop-server": patch -"@internal/desktop-client": patch ---- - -Keep a failed SSH-agent request pending until its genuine reply is discarded after a forged reply is rejected, so a later connection cannot receive the earlier request’s response. diff --git a/.changeset/remove-last-pane-retires.md b/.changeset/remove-last-pane-retires.md deleted file mode 100644 index 67163a97c..000000000 --- a/.changeset/remove-last-pane-retires.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@internal/server": patch ---- - -Removing a workspace's last tab now retires the workspace instead of -refusing, matching how closing a subshell already behaved. The pane's -subshell keeps running; it just no longer sits in a workspace. Tab close -buttons and the rail's drag-out are enabled for the final tab, and the page -that lost its workspace lands somewhere sensible. diff --git a/.changeset/sidebar-bar-height.md b/.changeset/sidebar-bar-height.md deleted file mode 100644 index 8923a0101..000000000 --- a/.changeset/sidebar-bar-height.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@internal/server": patch ---- - -The sidebar's bottom bar sits tighter on mouse-and-keyboard setups: its cells -drop from 44px to 36px on a fine pointer, pulling the bar from 53px to 45px. -Phones and other touch setups keep the roomy 44px touch targets. diff --git a/.changeset/sidebar-bottom-bar.md b/.changeset/sidebar-bottom-bar.md deleted file mode 100644 index aec5c68af..000000000 --- a/.changeset/sidebar-bottom-bar.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -"@internal/server": patch -"@internal/desktop-server": patch ---- - -The sidebar's narrow icon rail is gone, and the panel is now the whole -sidebar. Its section cells dock as a centered icon-button bar at the panel's -bottom: Workspaces and Settings are links, Subshell for Mobile opens the -install dialog, and Account opens the profile card, its trigger keeping the -amber update dot. Inside Subshell Server, "Open in -browser" joins as the bar's last button, and the server status rows sit on -their own strip below it. Clicking a section link still lands on the page you -last visited there. - -Panel collapse retires with the rail, so the Subshell Server menu no longer -offers "Toggle Sidebar" and Cmd+B is free. - -Renaming a subshell now re-titles its open dock tab right away. The live feed -invalidates the workspace read a rename touches, so the old title no longer -sticks until the pane remounts. - -The touch key bar gained a Shift-Left key, so a touch user can send the -modified left arrow, for example to extend a selection, without a keyboard. - -The sidebar's workspace section sits tighter now that the header and its pane -list give back their extra bottom padding. diff --git a/.changeset/website-media-refresh.md b/.changeset/website-media-refresh.md deleted file mode 100644 index 6f5e04a69..000000000 --- a/.changeset/website-media-refresh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/website": patch ---- - -Refresh the desktop and phone demonstrations, posters, and feature screenshots for the sidebar bottom bar and current workspace layout. diff --git a/.changeset/workspace-picker-spacing.md b/.changeset/workspace-picker-spacing.md deleted file mode 100644 index b867ca2cd..000000000 --- a/.changeset/workspace-picker-spacing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@internal/server": patch ---- - -The sidebar workspace picker sits tighter. The section heading drops its extra bottom padding and the pane list closes the gap under it, matching the tightened bottom bar. diff --git a/apps/client/desktop/CHANGELOG.md b/apps/client/desktop/CHANGELOG.md index f70fe6dc1..7345754ab 100644 --- a/apps/client/desktop/CHANGELOG.md +++ b/apps/client/desktop/CHANGELOG.md @@ -1,5 +1,13 @@ # @internal/desktop-client +## 1.3.3 + +### Patch Changes + +- [#409](https://github.com/subshell-ai/subshell/pull/409) [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381) Thanks [@theogravity](https://github.com/theogravity)! - Keep a failed SSH-agent request pending until its genuine reply is discarded after a forged reply is rejected, so a later connection cannot receive the earlier request’s response. +- Updated dependencies [[`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56), [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381)]: + - @internal/node@2.2.2 + ## 1.3.2 ### Patch Changes diff --git a/apps/client/desktop/package.json b/apps/client/desktop/package.json index 872652172..5cf4826c9 100644 --- a/apps/client/desktop/package.json +++ b/apps/client/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@internal/desktop-client", "description": "Subshell Client: a Tauri shell that registers this machine as a subshell node and manages its node daemon", - "version": "1.3.2", + "version": "1.3.3", "license": "Apache-2.0", "type": "module", "private": true, diff --git a/apps/docs/CHANGELOG.md b/apps/docs/CHANGELOG.md index 4a8303020..533acc1e3 100644 --- a/apps/docs/CHANGELOG.md +++ b/apps/docs/CHANGELOG.md @@ -1,5 +1,11 @@ # @internal/docs +## 0.10.1 + +### Patch Changes + +- [#409](https://github.com/subshell-ai/subshell/pull/409) [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381) Thanks [@theogravity](https://github.com/theogravity)! - Refresh screenshots and navigation instructions for the sidebar bottom bar, and explain the walking folder picker. + ## 0.10.0 ### Minor Changes diff --git a/apps/docs/package.json b/apps/docs/package.json index 9d9e63c1e..54d77abc4 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -1,7 +1,7 @@ { "name": "@internal/docs", "description": "Public documentation site for Subshell — Fumadocs, statically exported", - "version": "0.10.0", + "version": "0.10.1", "license": "Apache-2.0", "type": "module", "private": true, diff --git a/apps/node/agent/CHANGELOG.md b/apps/node/agent/CHANGELOG.md index 234d2e09f..b820b924d 100644 --- a/apps/node/agent/CHANGELOG.md +++ b/apps/node/agent/CHANGELOG.md @@ -1,5 +1,15 @@ # @internal/node +## 2.2.2 + +### Patch Changes + +- [#401](https://github.com/subshell-ai/subshell/pull/401) [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56) Thanks [@theogravity](https://github.com/theogravity)! - The MCP SDKs move to 2.3.1, taking the published fixes for the transport + advisories. The pane MCP server and its e2e client speak stdio, so nothing was + exposed: this is hygiene, not a patch for a live hole. + +- [#409](https://github.com/subshell-ai/subshell/pull/409) [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381) Thanks [@theogravity](https://github.com/theogravity)! - Keep a failed SSH-agent request pending until its genuine reply is discarded after a forged reply is rejected, so a later connection cannot receive the earlier request’s response. + ## 2.2.1 ### Patch Changes diff --git a/apps/node/agent/package.json b/apps/node/agent/package.json index 7e6da7f20..ce69ea218 100644 --- a/apps/node/agent/package.json +++ b/apps/node/agent/package.json @@ -1,7 +1,7 @@ { "name": "@internal/node", "description": "subshell — node daemon: enrolls with the control plane and executes signed commands", - "version": "2.2.1", + "version": "2.2.2", "license": "Apache-2.0", "type": "module", "private": true, diff --git a/apps/server/api/CHANGELOG.md b/apps/server/api/CHANGELOG.md index dc8af354c..d23e60579 100644 --- a/apps/server/api/CHANGELOG.md +++ b/apps/server/api/CHANGELOG.md @@ -1,5 +1,55 @@ # @internal/server +## 2.4.1 + +### Patch Changes + +- [#408](https://github.com/subshell-ai/subshell/pull/408) [`be3c798`](https://github.com/subshell-ai/subshell/commit/be3c7983e125fa7a6eb052b2a1237633308a8898) Thanks [@theogravity](https://github.com/theogravity)! - Dialogs and drawers scroll again on the iPhone. A tap-selected option can leave iOS focus on the page body, and the terminal's scroll pin read that as an idle page and snapped an open dialog's own scroller back to the top the moment a form grew past its height cap. A scroller inside an open modal is now exempt from the pin, by surface rather than by focus. + +- [#405](https://github.com/subshell-ai/subshell/pull/405) [`946b662`](https://github.com/subshell-ai/subshell/commit/946b6620faa8544aef45a31633530ec668840fbf) Thanks [@theogravity](https://github.com/theogravity)! - The folder picker now pages through huge listings instead of stopping at the first thousand entries. It walks the server's cursor as you scroll, virtualizes the rows so a 30,000-folder directory stays smooth, says so when a browse hit the server's cap, and stops re-replaying a walk every time the picker reopens. Starring a folder updates the cached listing in place instead of refetching every page. + +- [#404](https://github.com/subshell-ai/subshell/pull/404) [`edeb198`](https://github.com/subshell-ai/subshell/commit/edeb1987f30e4731588ecdce16a0297cecf53109) Thanks [@theogravity](https://github.com/theogravity)! - The explore endpoint now checks its cursor at the boundary: a malformed or oversized one gets a clear 400 instead of a confusing listing, and a huge-but-legal one simply answers empty. A browse that hits the folder cap now carries a `truncated` flag through the API so callers can say some folders are missing. + +- [#401](https://github.com/subshell-ai/subshell/pull/401) [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56) Thanks [@theogravity](https://github.com/theogravity)! - The MCP SDKs move to 2.3.1, taking the published fixes for the transport + advisories. The pane MCP server and its e2e client speak stdio, so nothing was + exposed: this is hygiene, not a patch for a live hole. + +- [#409](https://github.com/subshell-ai/subshell/pull/409) [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381) Thanks [@theogravity](https://github.com/theogravity)! - Keep a failed SSH-agent request pending until its genuine reply is discarded after a forged reply is rejected, so a later connection cannot receive the earlier request’s response. + +- [#406](https://github.com/subshell-ai/subshell/pull/406) [`78724d0`](https://github.com/subshell-ai/subshell/commit/78724d0c43fe839a416fc19f6c7d49813de2824e) Thanks [@theogravity](https://github.com/theogravity)! - Removing a workspace's last tab now retires the workspace instead of + refusing, matching how closing a subshell already behaved. The pane's + subshell keeps running; it just no longer sits in a workspace. Tab close + buttons and the rail's drag-out are enabled for the final tab, and the page + that lost its workspace lands somewhere sensible. + +- [#403](https://github.com/subshell-ai/subshell/pull/403) [`2bc4db0`](https://github.com/subshell-ai/subshell/commit/2bc4db04a0cea324a325bc4ae6a7895b6927e34a) Thanks [@theogravity](https://github.com/theogravity)! - The sidebar's bottom bar sits tighter on mouse-and-keyboard setups: its cells + drop from 44px to 36px on a fine pointer, pulling the bar from 53px to 45px. + Phones and other touch setups keep the roomy 44px touch targets. + +- [#401](https://github.com/subshell-ai/subshell/pull/401) [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56) Thanks [@theogravity](https://github.com/theogravity)! - The sidebar's narrow icon rail is gone, and the panel is now the whole + sidebar. Its section cells dock as a centered icon-button bar at the panel's + bottom: Workspaces and Settings are links, Subshell for Mobile opens the + install dialog, and Account opens the profile card, its trigger keeping the + amber update dot. Inside Subshell Server, "Open in + browser" joins as the bar's last button, and the server status rows sit on + their own strip below it. Clicking a section link still lands on the page you + last visited there. + + Panel collapse retires with the rail, so the Subshell Server menu no longer + offers "Toggle Sidebar" and Cmd+B is free. + + Renaming a subshell now re-titles its open dock tab right away. The live feed + invalidates the workspace read a rename touches, so the old title no longer + sticks until the pane remounts. + + The touch key bar gained a Shift-Left key, so a touch user can send the + modified left arrow, for example to extend a selection, without a keyboard. + + The sidebar's workspace section sits tighter now that the header and its pane + list give back their extra bottom padding. + +- [#407](https://github.com/subshell-ai/subshell/pull/407) [`bcad421`](https://github.com/subshell-ai/subshell/commit/bcad421651cea8dfe410c8edef7d0f161a8098d0) Thanks [@theogravity](https://github.com/theogravity)! - The sidebar workspace picker sits tighter. The section heading drops its extra bottom padding and the pane list closes the gap under it, matching the tightened bottom bar. + ## 2.4.0 ### Minor Changes diff --git a/apps/server/api/package.json b/apps/server/api/package.json index 47c1fb9e9..eac8cce5e 100644 --- a/apps/server/api/package.json +++ b/apps/server/api/package.json @@ -1,7 +1,7 @@ { "name": "@internal/server", "description": "", - "version": "2.4.0", + "version": "2.4.1", "license": "AGPL-3.0-only", "type": "module", "private": true, diff --git a/apps/server/desktop/CHANGELOG.md b/apps/server/desktop/CHANGELOG.md index c915dfa90..0e018d362 100644 --- a/apps/server/desktop/CHANGELOG.md +++ b/apps/server/desktop/CHANGELOG.md @@ -1,5 +1,35 @@ # @internal/desktop-server +## 1.5.4 + +### Patch Changes + +- [#409](https://github.com/subshell-ai/subshell/pull/409) [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381) Thanks [@theogravity](https://github.com/theogravity)! - Keep a failed SSH-agent request pending until its genuine reply is discarded after a forged reply is rejected, so a later connection cannot receive the earlier request’s response. + +- [#401](https://github.com/subshell-ai/subshell/pull/401) [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56) Thanks [@theogravity](https://github.com/theogravity)! - The sidebar's narrow icon rail is gone, and the panel is now the whole + sidebar. Its section cells dock as a centered icon-button bar at the panel's + bottom: Workspaces and Settings are links, Subshell for Mobile opens the + install dialog, and Account opens the profile card, its trigger keeping the + amber update dot. Inside Subshell Server, "Open in + browser" joins as the bar's last button, and the server status rows sit on + their own strip below it. Clicking a section link still lands on the page you + last visited there. + + Panel collapse retires with the rail, so the Subshell Server menu no longer + offers "Toggle Sidebar" and Cmd+B is free. + + Renaming a subshell now re-titles its open dock tab right away. The live feed + invalidates the workspace read a rename touches, so the old title no longer + sticks until the pane remounts. + + The touch key bar gained a Shift-Left key, so a touch user can send the + modified left arrow, for example to extend a selection, without a keyboard. + + The sidebar's workspace section sits tighter now that the header and its pane + list give back their extra bottom padding. +- Updated dependencies [[`be3c798`](https://github.com/subshell-ai/subshell/commit/be3c7983e125fa7a6eb052b2a1237633308a8898), [`946b662`](https://github.com/subshell-ai/subshell/commit/946b6620faa8544aef45a31633530ec668840fbf), [`edeb198`](https://github.com/subshell-ai/subshell/commit/edeb1987f30e4731588ecdce16a0297cecf53109), [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56), [`9ab6c38`](https://github.com/subshell-ai/subshell/commit/9ab6c38ec2b6701cda16420928b19c7cb5915381), [`78724d0`](https://github.com/subshell-ai/subshell/commit/78724d0c43fe839a416fc19f6c7d49813de2824e), [`2bc4db0`](https://github.com/subshell-ai/subshell/commit/2bc4db04a0cea324a325bc4ae6a7895b6927e34a), [`082da99`](https://github.com/subshell-ai/subshell/commit/082da99cb6518a00de0394e89953f5eb9d35dd56), [`bcad421`](https://github.com/subshell-ai/subshell/commit/bcad421651cea8dfe410c8edef7d0f161a8098d0)]: + - @internal/server@2.4.1 + ## 1.5.3 ### Patch Changes diff --git a/apps/server/desktop/package.json b/apps/server/desktop/package.json index 1d136cbb3..6e4079d45 100644 --- a/apps/server/desktop/package.json +++ b/apps/server/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@internal/desktop-server", "description": "Subshell Server — a Tauri shell that installs, runs and manages a local subshell-server", - "version": "1.5.3", + "version": "1.5.4", "license": "AGPL-3.0-only", "type": "module", "private": true, diff --git a/apps/website/CHANGELOG.md b/apps/website/CHANGELOG.md index 8056adedd..bfde3d2bc 100644 --- a/apps/website/CHANGELOG.md +++ b/apps/website/CHANGELOG.md @@ -1,5 +1,11 @@ # @internal/website +## 0.2.17 + +### Patch Changes + +- [#410](https://github.com/subshell-ai/subshell/pull/410) [`42a68e3`](https://github.com/subshell-ai/subshell/commit/42a68e35b379781ba2f28093d27b4d4b55779d7a) Thanks [@theogravity](https://github.com/theogravity)! - Refresh the desktop and phone demonstrations, posters, and feature screenshots for the sidebar bottom bar and current workspace layout. + ## 0.2.16 ### Patch Changes diff --git a/apps/website/package.json b/apps/website/package.json index 51ef0917b..a4366891e 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -1,7 +1,7 @@ { "name": "@internal/website", "description": "Public marketing site for Subshell: static export at subshell.sh", - "version": "0.2.16", + "version": "0.2.17", "license": "Apache-2.0", "type": "module", "private": true, diff --git a/bun.lock b/bun.lock index 1aafc86e6..579e94d12 100644 --- a/bun.lock +++ b/bun.lock @@ -31,7 +31,7 @@ }, "apps/client/desktop": { "name": "@internal/desktop-client", - "version": "1.3.2", + "version": "1.3.3", "dependencies": { "@base-ui/react": "1.7.0", "@internal/assistant": "workspace:*", @@ -103,7 +103,7 @@ }, "apps/docs": { "name": "@internal/docs", - "version": "0.10.0", + "version": "0.10.1", "dependencies": { "beautiful-mermaid": "1.1.3", "fumadocs-core": "16.15.11", @@ -126,7 +126,7 @@ }, "apps/node/agent": { "name": "@internal/node", - "version": "2.2.1", + "version": "2.2.2", "dependencies": { "@clack/prompts": "1.8.1", "@internal/backend-errors": "workspace:*", @@ -179,7 +179,7 @@ }, "apps/server/api": { "name": "@internal/server", - "version": "2.4.0", + "version": "2.4.1", "dependencies": { "@better-auth/api-key": "1.7.1", "@better-auth/passkey": "1.7.1", @@ -226,7 +226,7 @@ }, "apps/server/desktop": { "name": "@internal/desktop-server", - "version": "1.5.3", + "version": "1.5.4", "dependencies": { "@base-ui/react": "1.7.0", "@internal/assistant": "workspace:*", @@ -315,7 +315,7 @@ }, "apps/website": { "name": "@internal/website", - "version": "0.2.16", + "version": "0.2.17", "dependencies": { "@internal/subshell-protocol": "workspace:*", "class-variance-authority": "0.7.1",