diff --git a/docs/docs/durable-sessions.mdx b/docs/docs/durable-sessions.mdx index 6b74362abe..928bded848 100644 --- a/docs/docs/durable-sessions.mdx +++ b/docs/docs/durable-sessions.mdx @@ -12,10 +12,6 @@ Keep your remote SSH shell sessions alive through network changes, computer slee ## Overview -:::info Remote Connections Only -Durable sessions are designed for **remote SSH connections only**. Local terminals and WSL connections use standard sessions, as they're not affected by network interruptions and remain active as long as Wave is running. -::: - Durable sessions protect your terminal state when working with remote SSH connections, similar to tmux or screen but built directly into Wave. Unlike standard SSH sessions that terminate when the connection drops, durable sessions maintain your: - **Shell state** - Current directory, environment variables, and shell history @@ -24,13 +20,17 @@ Durable sessions protect your terminal state when working with remote SSH connec Durable sessions automatically reconnect when your connection is restored, picking up right where you left off. +:::info Remote Connections Only +Durable sessions are designed for **remote SSH connections only**. Local terminals and WSL connections use standard sessions, as they're not affected by network interruptions and remain active as long as Wave is running. +::: + ## How It Works -When you start a durable session, Wave launches a persistent job manager on the remote server. This manager: +When you start a durable session, Wave launches a lightweight job manager on the remote server. Similar to how tmux and screen work, this manager: 1. Keeps your shell process running independently of the Wave connection 2. Buffers terminal output while disconnected -3. Automatically reattaches when you reconnect +3. Enables Wave to seamlessly reattach when you reconnect 4. Survives Wave restarts and network interruptions The session continues running on the remote server even if you close Wave, put your computer to sleep, or switch networks. diff --git a/frontend/app/onboarding/onboarding-common.tsx b/frontend/app/onboarding/onboarding-common.tsx index cb3d892431..b91bf81fa8 100644 --- a/frontend/app/onboarding/onboarding-common.tsx +++ b/frontend/app/onboarding/onboarding-common.tsx @@ -1,4 +1,4 @@ -// Copyright 2025, Command Line Inc. +// Copyright 2026, Command Line Inc. // SPDX-License-Identifier: Apache-2.0 -export const CurrentOnboardingVersion = "v0.13.1"; +export const CurrentOnboardingVersion = "v0.14.0"; diff --git a/frontend/app/onboarding/onboarding-upgrade-patch.tsx b/frontend/app/onboarding/onboarding-upgrade-patch.tsx index 282b8ea87a..fc2a0ee3ac 100644 --- a/frontend/app/onboarding/onboarding-upgrade-patch.tsx +++ b/frontend/app/onboarding/onboarding-upgrade-patch.tsx @@ -1,4 +1,4 @@ -// Copyright 2025, Command Line Inc. +// Copyright 2026, Command Line Inc. // SPDX-License-Identifier: Apache-2.0 import Logo from "@/app/asset/logo.svg"; @@ -20,6 +20,7 @@ import { UpgradeOnboardingModal_v0_12_2_Content } from "./onboarding-upgrade-v01 import { UpgradeOnboardingModal_v0_12_3_Content } from "./onboarding-upgrade-v0123"; import { UpgradeOnboardingModal_v0_13_0_Content } from "./onboarding-upgrade-v0130"; import { UpgradeOnboardingModal_v0_13_1_Content } from "./onboarding-upgrade-v0131"; +import { UpgradeOnboardingModal_v0_14_0_Content } from "./onboarding-upgrade-v0140"; interface VersionConfig { version: string; @@ -56,6 +57,12 @@ const versions: VersionConfig[] = [ version: "v0.13.1", content: () => , prevText: "Prev (v0.13.0)", + nextText: "Next (v0.14.0)", + }, + { + version: "v0.14.0", + content: () => , + prevText: "Prev (v0.13.1)", }, ]; diff --git a/frontend/app/onboarding/onboarding-upgrade-v0140.tsx b/frontend/app/onboarding/onboarding-upgrade-v0140.tsx new file mode 100644 index 0000000000..d2b7b18215 --- /dev/null +++ b/frontend/app/onboarding/onboarding-upgrade-v0140.tsx @@ -0,0 +1,115 @@ +// Copyright 2026, Command Line Inc. +// SPDX-License-Identifier: Apache-2.0 + +import { getApi } from "@/app/store/global"; + +const UpgradeOnboardingModal_v0_14_0_Content = () => { + return ( +
+
+

+ Wave v0.14 introduces Durable Sessions. Enable them to keep your remote sessions alive through + network interruptions, computer sleep, and restarts — they'll automatically reconnect when your + connection is restored. +

+
+ +
+
+ +
+
+
+ Durable SSH Sessions{" "} + +
+
+
    +
  • + Session Protection - Programs and shell state survive disconnects +
  • +
  • + Visual Status Indicators - Shield icons show status +
  • +
  • + Flexible Configuration - Enable globally, per-connection, or + per-terminal +
  • +
+
+
+
+ +
+
+ +
+
+
+ Enhanced Connection Monitoring +
+
+
    +
  • + Connection Keepalives - Active monitoring with keepalive probes +
  • +
  • + Stalled Connection Detection - Visual feedback for network issues +
  • +
+
+
+
+ +
+
+ +
+
+
Wave AI Updates
+
+
    +
  • + Image Support - Vision capabilities for BYOK providers +
  • +
  • + Stop Generation - Ability to stop AI responses mid-generation +
  • +
  • + Improved Auto-scrolling +
  • +
+
+
+
+ +
+
+ +
+
+
Terminal Improvements
+
+
    +
  • + Enhanced Context Menu - Quick access to splits, themes, and more +
  • +
  • + OSC 52 Clipboard Support - CLI apps can copy to system clipboard +
  • +
+
+
+
+
+ ); +}; + +UpgradeOnboardingModal_v0_14_0_Content.displayName = "UpgradeOnboardingModal_v0_14_0_Content"; + +export { UpgradeOnboardingModal_v0_14_0_Content };