-
Notifications
You must be signed in to change notification settings - Fork 687
v0.12.2 release notes, onboarding flow #2518
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
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughAdds Wave v0.12.2 release notes and Wave AI documentation (file editing, diff preview, rollback, CLI integration, widget updates). Introduces a new telemetry event type Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Areas requiring extra attention:
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (1 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
frontend/app/onboarding/onboarding-upgrade-patch.tsx (1)
27-38: Consider using component references or render functions instead of pre-instantiated JSX elements.The versions array creates JSX elements at module load time. While this works for stateless content components, it's an unconventional pattern that could cause issues if these components ever gain internal state or depend on dynamic context.
Consider refactoring to:
const versions: VersionConfig[] = [ { version: "v0.12.1", - content: <UpgradeOnboardingModal_v0_12_1_Content />, + content: () => <UpgradeOnboardingModal_v0_12_1_Content />, nextText: "Next (v0.12.2)", }, { version: "v0.12.2", - content: <UpgradeOnboardingModal_v0_12_2_Content />, + content: () => <UpgradeOnboardingModal_v0_12_2_Content />, prevText: "Prev (v0.12.1)", }, ];Then update the interface:
interface VersionConfig { version: string; - content: React.ReactNode; + content: () => React.ReactNode; prevText?: string; nextText?: string; }And render with:
-{currentVersion.content} +{currentVersion.content()}This ensures each navigation creates fresh component instances.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
docs/docs/releasenotes.mdx(1 hunks)docs/docs/telemetry.mdx(2 hunks)docs/docs/waveai.mdx(2 hunks)frontend/app/onboarding/onboarding-common.tsx(1 hunks)frontend/app/onboarding/onboarding-features.tsx(2 hunks)frontend/app/onboarding/onboarding-upgrade-patch.tsx(1 hunks)frontend/app/onboarding/onboarding-upgrade-v0121.tsx(1 hunks)frontend/app/onboarding/onboarding-upgrade-v0122.tsx(1 hunks)frontend/app/onboarding/onboarding-upgrade.tsx(2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-15T03:21:02.229Z
Learnt from: sawka
Repo: wavetermdev/waveterm PR: 2433
File: pkg/aiusechat/tools_readfile.go:197-197
Timestamp: 2025-10-15T03:21:02.229Z
Learning: In Wave Terminal's AI tool definitions (pkg/aiusechat/tools_*.go), the Description field should not mention approval requirements even when ToolApproval returns ApprovalNeedsApproval. This prevents the LLM from asking users for approval before calling the tool, avoiding redundant double-approval prompts since the runtime will enforce approval anyway.
Applied to files:
docs/docs/waveai.mdxfrontend/app/onboarding/onboarding-features.tsx
📚 Learning: 2025-10-21T05:09:26.916Z
Learnt from: sawka
Repo: wavetermdev/waveterm PR: 2465
File: frontend/app/onboarding/onboarding-upgrade.tsx:13-21
Timestamp: 2025-10-21T05:09:26.916Z
Learning: The onboarding upgrade modal in frontend/app/onboarding/onboarding-upgrade.tsx intentionally freezes the lastVersion at mount using a ref to prevent the modal from changing or disappearing mid-interaction when the user is going through the onboarding flow.
Applied to files:
frontend/app/onboarding/onboarding-common.tsxfrontend/app/onboarding/onboarding-upgrade-patch.tsxfrontend/app/onboarding/onboarding-upgrade-v0121.tsxfrontend/app/onboarding/onboarding-upgrade-v0122.tsxfrontend/app/onboarding/onboarding-upgrade.tsx
🧬 Code graph analysis (2)
frontend/app/onboarding/onboarding-upgrade-patch.tsx (9)
frontend/app/onboarding/onboarding-upgrade-v0121.tsx (1)
UpgradeOnboardingModal_v0_12_1_Content(80-80)frontend/app/onboarding/onboarding-upgrade-v0122.tsx (1)
UpgradeOnboardingModal_v0_12_2_Content(82-82)frontend/app/store/keymodel.ts (3)
disableGlobalKeybindings(688-688)enableGlobalKeybindings(689-689)globalRefocus(691-691)frontend/app/store/global.ts (2)
atoms(816-816)WOS(866-866)frontend/app/store/wshclientapi.ts (1)
RpcApi(602-602)frontend/app/store/wshrpcutil.ts (1)
TabRpcClient(37-37)frontend/app/onboarding/onboarding-common.tsx (1)
CurrentOnboardingVersion(4-4)frontend/app/store/modalmodel.ts (1)
modalsModel(45-45)frontend/app/modals/modal.tsx (1)
FlexiModal(116-116)
frontend/app/onboarding/onboarding-upgrade.tsx (1)
frontend/app/onboarding/onboarding-upgrade-patch.tsx (1)
UpgradeOnboardingPatch(165-165)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: Analyze (go)
- GitHub Check: Analyze (javascript-typescript)
- GitHub Check: Build Docsite
- GitHub Check: Build for TestDriver.ai
- GitHub Check: merge-gatekeeper
🔇 Additional comments (13)
frontend/app/onboarding/onboarding-features.tsx (1)
103-103: Accurate text update reflecting new capabilities.The change from "access files" to "read/write files" correctly reflects the new file writing capabilities introduced in v0.12.2, as documented in the release notes and Wave AI documentation.
frontend/app/onboarding/onboarding-upgrade-v0121.tsx (1)
4-80: Well-executed refactoring to content-only component.The conversion from a full modal component to a content-only component is clean and intentional. The content accurately describes v0.12.1 features (shell integration, Wave AI improvements), and the new structure supports the multi-version patch-based upgrade flow introduced elsewhere in the PR.
frontend/app/onboarding/onboarding-common.tsx (1)
4-4: Correct version bump for v0.12.2 release.The version constant update aligns with the broader v0.12.2 release effort and is referenced consistently throughout the onboarding flow.
docs/docs/waveai.mdx (2)
45-56: Helpful CLI integration documentation.The new CLI integration section provides clear examples of
wsh aiusage with proper syntax and explains the available flags (-nfor new chat,-sto auto-submit). The examples cover common use cases like piping output and attaching files.
65-65: Accurate capability update for file writing.The addition of "Write Text Files" with diff preview and approval requirements accurately reflects the new v0.12.2 functionality documented in the release notes.
docs/docs/releasenotes.mdx (1)
9-28: Comprehensive and well-structured v0.12.2 release notes.The release notes clearly document the headline file editing feature along with supporting enhancements and bug fixes. The content aligns well with the Wave AI documentation updates and onboarding content changes in this PR.
docs/docs/telemetry.mdx (1)
79-79: Well-documented telemetry expansion for AI usage tracking.The new
waveai:postevent type and associated properties provide comprehensive AI usage metrics while maintaining privacy by explicitly excluding prompts and responses. The property descriptions are clear and the naming conventions are consistent with existing telemetry fields.Also applies to: 119-136
frontend/app/onboarding/onboarding-upgrade.tsx (1)
10-10: Correct upgrade flow updates for v0.12.2.The version gating threshold is properly updated to v0.12.2, and the switch to the
UpgradeOnboardingPatchcomponent correctly implements the new multi-version upgrade navigation pattern. Users on v0.12.0 or v0.12.1 will see the patch component that shows both version contents, while users at v0.12.2+ won't see the modal.Also applies to: 23-23, 28-28, 32-34
frontend/app/onboarding/onboarding-upgrade-v0122.tsx (1)
4-82: Well-structured v0.12.2 upgrade content component.The new content component accurately describes v0.12.2 features with clear sections for file editing capabilities, AI improvements, and bug fixes. The content aligns with the release notes and documentation updates, and follows the established pattern from the v0.12.1 content component.
frontend/app/onboarding/onboarding-upgrade-patch.tsx (4)
1-18: LGTM! Imports are well-organized and properly used.All dependencies are correctly imported and utilized throughout the component.
40-77: LGTM! State management and effects are well-implemented.The component correctly:
- Initializes to the latest version (v0.12.2) by starting at
versions.length - 1- Manages responsive height with debounced resize handling
- Properly disables/enables global keybindings to prevent conflicts
- Cleans up event listeners and restores keybindings on unmount
Based on learnings
79-103: LGTM! Event handlers are correctly implemented.The close handler properly:
- Persists the onboarding version (v0.12.2) via RPC
- Closes the modal state
- Refocuses the UI after a brief delay
Navigation handlers correctly guard against out-of-bounds indices.
105-165: LGTM! Render structure is well-designed.The modal layout correctly implements:
- Responsive padding based on compact mode
- Proper FlexiModal ref forwarding (React 19 compatible)
- Scrollable content area with OverlayScrollbarsComponent
- Three-column footer layout with conditional Prev/Next navigation
- Centered Continue button as the primary action
The component is properly exported with a displayName for debugging.
No description provided.