-
Notifications
You must be signed in to change notification settings - Fork 787
v0.14.1 Release Notes and Onboarding #2966
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
d4ae943
965808f
fc65664
f851f9e
2d9c10a
ae29f2e
5b65b67
d6dec03
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,10 @@ | ||
| // Copyright 2026, Command Line Inc. | ||
| // SPDX-License-Identifier: Apache-2.0 | ||
|
|
||
| export const CurrentOnboardingVersion = "v0.14.0"; | ||
| export const CurrentOnboardingVersion = "v0.14.1"; | ||
|
|
||
| export function OnboardingGradientBg() { | ||
| return ( | ||
| <div className="absolute inset-0 bg-gradient-to-br from-accent/[0.25] via-transparent to-accent/[0.05] pointer-events-none rounded-[10px]" /> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,122 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Copyright 2026, Command Line Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // SPDX-License-Identifier: Apache-2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import Logo from "@/app/asset/logo.svg"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { Button } from "@/app/element/button"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { ClientModel } from "@/app/store/client-model"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import * as WOS from "@/app/store/wos"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { RpcApi } from "@/app/store/wshclientapi"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { TabRpcClient } from "@/app/store/wshrpcutil"; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| type StarAskPageProps = { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onClose: () => void; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| page?: string; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export function StarAskPage({ onClose, page = "upgrade" }: StarAskPageProps) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const handleStarClick = async () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RpcApi.RecordTEventCommand( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TabRpcClient, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| event: "onboarding:githubstar", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| props: { "onboarding:githubstar": "star", "onboarding:page": page }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { noresponse: true } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const clientId = ClientModel.getInstance().clientId; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| await RpcApi.SetMetaCommand(TabRpcClient, { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| oref: WOS.makeORef("client", clientId), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| meta: { "onboarding:githubstar": true }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| window.open(`https://github.com/wavetermdev/waveterm?ref=${page}`, "_blank"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onClose(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+17
to
+33
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: find . -name "onboarding-starask.tsx" -type fRepository: wavetermdev/waveterm Length of output: 112 🏁 Script executed: cat -n ./frontend/app/onboarding/onboarding-starask.tsxRepository: wavetermdev/waveterm Length of output: 5951 Wrap If Suggested pattern const handleMaybeLater = async () => {
RpcApi.RecordTEventCommand(
TabRpcClient,
{
event: "onboarding:githubstar",
props: { "onboarding:githubstar": "later", "onboarding:page": page },
},
{ noresponse: true }
);
- const clientId = ClientModel.getInstance().clientId;
- await RpcApi.SetMetaCommand(TabRpcClient, {
- oref: WOS.makeORef("client", clientId),
- meta: { "onboarding:githubstar": false },
- });
- onClose();
+ try {
+ const clientId = ClientModel.getInstance().clientId;
+ await RpcApi.SetMetaCommand(TabRpcClient, {
+ oref: WOS.makeORef("client", clientId),
+ meta: { "onboarding:githubstar": false },
+ });
+ } finally {
+ onClose();
+ }
};Also applies to 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const handleAlreadyStarred = async () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RpcApi.RecordTEventCommand( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TabRpcClient, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| event: "onboarding:githubstar", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| props: { "onboarding:githubstar": "already", "onboarding:page": page }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { noresponse: true } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const clientId = ClientModel.getInstance().clientId; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| await RpcApi.SetMetaCommand(TabRpcClient, { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| oref: WOS.makeORef("client", clientId), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| meta: { "onboarding:githubstar": true }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onClose(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const handleRepoLinkClick = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RpcApi.RecordTEventCommand( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TabRpcClient, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| event: "action:link", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| props: { "action:type": "githubrepo", "onboarding:page": page }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { noresponse: true } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| window.open("https://github.com/wavetermdev/waveterm", "_blank"); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+52
to
+62
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: find . -name "onboarding-starask.tsx" -o -name "*starask*"Repository: wavetermdev/waveterm Length of output: 112 🏁 Script executed: wc -l ./frontend/app/onboarding/onboarding-starask.tsxRepository: wavetermdev/waveterm Length of output: 116 🏁 Script executed: cat -n ./frontend/app/onboarding/onboarding-starask.tsxRepository: wavetermdev/waveterm Length of output: 5951 Use a semantic link for the repo target to enable keyboard accessibility. The Accessible alternative- <div
+ <a
+ href="https://github.com/wavetermdev/waveterm"
+ target="_blank"
+ rel="noopener noreferrer"
className="group flex items-center justify-center gap-2 text-secondary text-sm mt-1 cursor-pointer transition-colors"
onClick={handleRepoLinkClick}
>
<i className="fa-brands fa-github text-foreground text-lg group-hover:text-accent transition-colors" />
<span className="text-foreground font-mono text-sm group-hover:text-accent group-hover:underline transition-colors">
wavetermdev/waveterm
</span>
- </div>
+ </a>🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const handleMaybeLater = async () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RpcApi.RecordTEventCommand( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TabRpcClient, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| event: "onboarding:githubstar", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| props: { "onboarding:githubstar": "later", "onboarding:page": page }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { noresponse: true } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| const clientId = ClientModel.getInstance().clientId; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| await RpcApi.SetMetaCommand(TabRpcClient, { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| oref: WOS.makeORef("client", clientId), | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| meta: { "onboarding:githubstar": false }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onClose(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex flex-col h-full"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <header className="flex flex-col gap-2 border-b-0 p-0 mt-1 mb-6 w-full unselectable flex-shrink-0"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex justify-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Logo /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="text-center text-[25px] font-normal text-foreground">Support open-source. Star Wave. ⭐</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </header> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex-1 flex flex-col items-center justify-center gap-5 unselectable"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex flex-col items-center gap-4 max-w-[460px] text-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="text-secondary text-sm leading-relaxed"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wave is free, open-source, and open-model. Stars help us stay visible against closed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| alternatives. One click makes a difference. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| className="group flex items-center justify-center gap-2 text-secondary text-sm mt-1 cursor-pointer transition-colors" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| onClick={handleRepoLinkClick} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <i className="fa-brands fa-github text-foreground text-lg group-hover:text-accent transition-colors" /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <span className="text-foreground font-mono text-sm group-hover:text-accent group-hover:underline transition-colors"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| wavetermdev/waveterm | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <footer className="unselectable flex-shrink-0 mt-6"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="flex flex-row items-center justify-center gap-2.5 [&>button]:!px-5 [&>button]:!py-2 [&>button]:text-sm [&>button]:!h-[37px]"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Button className="outlined grey font-[600]" onClick={handleAlreadyStarred}> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 🙏 Already Starred | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </Button> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Button className="outlined green font-[600]" onClick={handleStarClick}> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ⭐ Star Now | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </Button> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Button className="outlined grey font-[600]" onClick={handleMaybeLater}> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maybe Later | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </Button> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </footer> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix spelling typo in the release notes.
Line 32 uses “intermittant”; it should be “intermittent”.
✏️ Suggested fix
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[grammar] ~32-~32: Ensure spelling is correct
Context: ...er presets Other Changes: - Fixed intermittant bugs with connection switching in termi...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents