Skip to content

Commit 4b77ce6

Browse files
authored
patch onboarding modal for v0.14 (#2852)
1 parent 02c5134 commit 4b77ce6

4 files changed

Lines changed: 131 additions & 9 deletions

File tree

docs/docs/durable-sessions.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ Keep your remote SSH shell sessions alive through network changes, computer slee
1212

1313
## Overview
1414

15-
:::info Remote Connections Only
16-
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.
17-
:::
18-
1915
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:
2016

2117
- **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
2420

2521
Durable sessions automatically reconnect when your connection is restored, picking up right where you left off.
2622

23+
:::info Remote Connections Only
24+
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.
25+
:::
26+
2727
## How It Works
2828

29-
When you start a durable session, Wave launches a persistent job manager on the remote server. This manager:
29+
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:
3030

3131
1. Keeps your shell process running independently of the Wave connection
3232
2. Buffers terminal output while disconnected
33-
3. Automatically reattaches when you reconnect
33+
3. Enables Wave to seamlessly reattach when you reconnect
3434
4. Survives Wave restarts and network interruptions
3535

3636
The session continues running on the remote server even if you close Wave, put your computer to sleep, or switch networks.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025, Command Line Inc.
1+
// Copyright 2026, Command Line Inc.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
export const CurrentOnboardingVersion = "v0.13.1";
4+
export const CurrentOnboardingVersion = "v0.14.0";

frontend/app/onboarding/onboarding-upgrade-patch.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025, Command Line Inc.
1+
// Copyright 2026, Command Line Inc.
22
// SPDX-License-Identifier: Apache-2.0
33

44
import Logo from "@/app/asset/logo.svg";
@@ -20,6 +20,7 @@ import { UpgradeOnboardingModal_v0_12_2_Content } from "./onboarding-upgrade-v01
2020
import { UpgradeOnboardingModal_v0_12_3_Content } from "./onboarding-upgrade-v0123";
2121
import { UpgradeOnboardingModal_v0_13_0_Content } from "./onboarding-upgrade-v0130";
2222
import { UpgradeOnboardingModal_v0_13_1_Content } from "./onboarding-upgrade-v0131";
23+
import { UpgradeOnboardingModal_v0_14_0_Content } from "./onboarding-upgrade-v0140";
2324

2425
interface VersionConfig {
2526
version: string;
@@ -56,6 +57,12 @@ const versions: VersionConfig[] = [
5657
version: "v0.13.1",
5758
content: () => <UpgradeOnboardingModal_v0_13_1_Content />,
5859
prevText: "Prev (v0.13.0)",
60+
nextText: "Next (v0.14.0)",
61+
},
62+
{
63+
version: "v0.14.0",
64+
content: () => <UpgradeOnboardingModal_v0_14_0_Content />,
65+
prevText: "Prev (v0.13.1)",
5966
},
6067
];
6168

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
// Copyright 2026, Command Line Inc.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
import { getApi } from "@/app/store/global";
5+
6+
const UpgradeOnboardingModal_v0_14_0_Content = () => {
7+
return (
8+
<div className="flex flex-col items-start w-full mb-2 unselectable">
9+
<div className="text-secondary leading-relaxed mb-4">
10+
<p className="mb-0">
11+
Wave v0.14 introduces Durable Sessions. Enable them to keep your remote sessions alive through
12+
network interruptions, computer sleep, and restarts — they'll automatically reconnect when your
13+
connection is restored.
14+
</p>
15+
</div>
16+
17+
<div className="flex w-full items-start gap-4 mb-4">
18+
<div className="flex-shrink-0">
19+
<i className="text-[24px] text-sky-500 fa-sharp fa-solid fa-shield"></i>
20+
</div>
21+
<div className="flex flex-col items-start gap-2 flex-1">
22+
<div className="text-foreground text-base font-semibold leading-[18px]">
23+
Durable SSH Sessions{" "}
24+
<button
25+
onClick={() => getApi().openExternal("https://docs.waveterm.dev/durable-sessions")}
26+
className="text-accent text-sm font-normal cursor-pointer hover:underline"
27+
>
28+
[see docs]
29+
</button>
30+
</div>
31+
<div className="text-secondary leading-5">
32+
<ul className="list-disc list-outside space-y-1 pl-5">
33+
<li>
34+
<strong>Session Protection</strong> - Programs and shell state survive disconnects
35+
</li>
36+
<li>
37+
<strong>Visual Status Indicators</strong> - Shield icons show status
38+
</li>
39+
<li>
40+
<strong>Flexible Configuration</strong> - Enable globally, per-connection, or
41+
per-terminal
42+
</li>
43+
</ul>
44+
</div>
45+
</div>
46+
</div>
47+
48+
<div className="flex w-full items-start gap-4 mb-4">
49+
<div className="flex-shrink-0">
50+
<i className="text-[24px] text-accent fa-solid fa-network-wired"></i>
51+
</div>
52+
<div className="flex flex-col items-start gap-2 flex-1">
53+
<div className="text-foreground text-base font-semibold leading-[18px]">
54+
Enhanced Connection Monitoring
55+
</div>
56+
<div className="text-secondary leading-5">
57+
<ul className="list-disc list-outside space-y-1 pl-5">
58+
<li>
59+
<strong>Connection Keepalives</strong> - Active monitoring with keepalive probes
60+
</li>
61+
<li>
62+
<strong>Stalled Connection Detection</strong> - Visual feedback for network issues
63+
</li>
64+
</ul>
65+
</div>
66+
</div>
67+
</div>
68+
69+
<div className="flex w-full items-start gap-4 mb-4">
70+
<div className="flex-shrink-0">
71+
<i className="text-[24px] text-accent fa-solid fa-sparkles"></i>
72+
</div>
73+
<div className="flex flex-col items-start gap-2 flex-1">
74+
<div className="text-foreground text-base font-semibold leading-[18px]">Wave AI Updates</div>
75+
<div className="text-secondary leading-5">
76+
<ul className="list-disc list-outside space-y-1 pl-5">
77+
<li>
78+
<strong>Image Support</strong> - Vision capabilities for BYOK providers
79+
</li>
80+
<li>
81+
<strong>Stop Generation</strong> - Ability to stop AI responses mid-generation
82+
</li>
83+
<li>
84+
<strong>Improved Auto-scrolling</strong>
85+
</li>
86+
</ul>
87+
</div>
88+
</div>
89+
</div>
90+
91+
<div className="flex w-full items-start gap-4">
92+
<div className="flex-shrink-0">
93+
<i className="text-[24px] text-accent fa-solid fa-terminal"></i>
94+
</div>
95+
<div className="flex flex-col items-start gap-2 flex-1">
96+
<div className="text-foreground text-base font-semibold leading-[18px]">Terminal Improvements</div>
97+
<div className="text-secondary leading-5">
98+
<ul className="list-disc list-outside space-y-1 pl-5">
99+
<li>
100+
<strong>Enhanced Context Menu</strong> - Quick access to splits, themes, and more
101+
</li>
102+
<li>
103+
<strong>OSC 52 Clipboard Support</strong> - CLI apps can copy to system clipboard
104+
</li>
105+
</ul>
106+
</div>
107+
</div>
108+
</div>
109+
</div>
110+
);
111+
};
112+
113+
UpgradeOnboardingModal_v0_14_0_Content.displayName = "UpgradeOnboardingModal_v0_14_0_Content";
114+
115+
export { UpgradeOnboardingModal_v0_14_0_Content };

0 commit comments

Comments
 (0)