Skip to content

Conversation

@skydoves
Copy link
Owner

@skydoves skydoves commented Nov 8, 2025

Enhance the window tool header guides.

Summary by CodeRabbit

  • New Features
    • Added clickable GitHub links within the stability tree that open directly in your browser on single-click
    • Enhanced empty-state view with structured steps and integrated GitHub link navigation
    • Preserved double-click navigation functionality for composables while enabling link interaction

@skydoves skydoves self-assigned this Nov 8, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 8, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

The changes add a new GitHubLink node type to the stability tree and implement UI interactions for it. The node is integrated into tree rendering with single-click browser navigation, while the empty-state display is restructured to include steps and a GitHub link as child nodes.

Changes

Cohort / File(s) Summary
Node Type Definition
compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData.kt
Adds GitHubLink data class to sealed StabilityNodeData with text and url fields to represent clickable GitHub links in the tree.
Tree Rendering & Interaction
compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/StabilityToolWindow.kt
Implements single-click navigation for GitHubLink nodes using BrowserUtil, updates empty-state rendering to include structured header with steps and GitHub link children, extends tree details renderer to support the new node type, and preserves double-click navigation for composables.

Sequence Diagram

sequenceDiagram
    actor User
    participant Tree as Tree View
    participant Handler as Click Handler
    participant Browser as Browser Navigation

    User->>Tree: Single-click GitHubLink node
    Tree->>Handler: Trigger click event
    Handler->>Handler: Check node type
    alt GitHubLink node
        Handler->>Browser: BrowserUtil.browse(url)
        Browser->>Browser: Open link
    else Composable node
        Note over Handler: Preserve existing<br/>double-click behavior
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Click handling logic — Verify that single-click navigation on GitHubLink doesn't interfere with tree selection or existing double-click behavior on composables
  • Empty-state restructuring — Ensure the new structured header with steps and GitHub link children renders correctly and doesn't break existing empty-state functionality
  • Node type integration — Confirm the GitHubLink node is properly handled in all rendering paths and tree operations
  • Browser navigation — Validate BrowserUtil.browse() usage and error handling for invalid URLs

Poem

🐰 A link to GitHub, now clickety-click!
Tree nodes expanded with a URL trick,
Single-tap magic through browser so grand,
Stability insights across the code land! ✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/windowtool-header-guide

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 492e479 and 1ead108.

📒 Files selected for processing (2)
  • compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/StabilityNodeData.kt (1 hunks)
  • compose-stability-analyzer-idea/src/main/kotlin/com/skydoves/compose/stability/idea/toolwindow/StabilityToolWindow.kt (4 hunks)

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@skydoves skydoves merged commit 8aa02ce into main Nov 8, 2025
9 of 11 checks passed
@skydoves skydoves deleted the feature/windowtool-header-guide branch November 8, 2025 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants