- 
                Notifications
    You must be signed in to change notification settings 
- Fork 116
chore: remove legacy lineage panel #1684
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
base: master
Are you sure you want to change the base?
Conversation
| WalkthroughThis change removes all code, assets, and configuration related to the legacy lineage panel. The project now exclusively uses the new lineage panel, eliminating the toggle and associated settings. All references to the legacy implementation, including UI elements and configuration flags, have been deleted from both backend and frontend components. Changes
 Sequence Diagram(s)sequenceDiagram
    participant User
    participant VSCode Extension
    participant NewLineagePanel
    User->>VSCode Extension: Opens Lineage Panel
    VSCode Extension->>NewLineagePanel: Initialize and display panel
    NewLineagePanel-->>VSCode Extension: Interact (messages, telemetry)
    Note over VSCode Extension,NewLineagePanel: Legacy panel is no longer referenced or invoked
Assessment against linked issues
 Possibly related PRs
 Suggested reviewers
 Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
 npm error Exit handler never called! Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
 ✨ Finishing Touches
 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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit: 
 SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
 Other keywords and placeholders
 CodeRabbit Configuration File ( | 
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.
Important
Looks good to me! 👍
Reviewed everything up to d833b2a in 40 seconds. Click for details.
- Reviewed 346lines of code in6files
- Skipped 1files when reviewing.
- Skipped posting 2draft comments. View those below.
- Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. src/webview_provider/lineagePanel.ts:147
- Draft comment:
 The telemetry event for React errors uses ambiguous operator precedence. Currently it does "ReactError:" + typeMapper[type] || "Unknown" which always concatenates the string, even if typeMapper[type] is undefined. Consider rewriting as "ReactError:" + (typeMapper[type] || "Unknown") to ensure the fallback is applied.
- Reason this comment was not posted:
 Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. src/webview_provider/lineagePanel.ts:86
- Draft comment:
 For better maintainability and refactoring, please add explicit return type annotations to utility functions such as the 'init' arrow function and 'handleWebviewMessage'.
- Reason this comment was not posted:
 Confidence changes required:50%<= threshold50%None
Workflow ID: wflow_yzC58dm9aYRzyfJk
You can customize  by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
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 (3)
src/webview_provider/lineagePanel.ts (3)
41-44: Refactor for clarity: rename injected panel instanceThe constructor now exclusively injects
NewLineagePanelunder the generic namelineagePanel. Renaming this parameter/property tonewLineagePanelwould improve readability and clearly distinguish it from the provider class itself.-export class LineagePanel implements WebviewViewProvider, Disposable { - public constructor( - private lineagePanel: NewLineagePanel, +export class LineagePanel implements WebviewViewProvider, Disposable { + public constructor( + private newLineagePanel: NewLineagePanel, private dbtProjectContainer: DBTProjectContainer, private telemetry: TelemetryService, private dbtTerminal: DBTTerminal, ) { // ...
63-65: Remove redundant indirection: inlinegetPanel()Since
getPanel()simply returns the singleNewLineagePanelinstance, consider inlining its calls or removing this helper altogether to reduce indirection. If you keep it, rename togetNewPanel()for clarity.
107-109: Extract telemetry event name into a constantHard-coding
"NewLineagePanelActive"increases risk of typos and divergence. Define this event string as a shared constant or enum inTelemetryServiceor a dedicatedEventNamesmodule, then reference it here:- this.telemetry.sendTelemetryEvent("NewLineagePanelActive"); + this.telemetry.sendTelemetryEvent(EventNames.NewLineagePanelActive);
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
- lineage_panel/assets/g6.min.jsis excluded by- !**/*.min.js
📒 Files selected for processing (6)
- lineage_panel/index.html(0 hunks)
- lineage_panel/main.js(0 hunks)
- lineage_panel/style.css(0 hunks)
- package.json(0 hunks)
- src/webview_provider/lineagePanel.ts(3 hunks)
- webview_panels/src/modules/lineage/ActionWidget.tsx(0 hunks)
💤 Files with no reviewable changes (5)
- package.json
- webview_panels/src/modules/lineage/ActionWidget.tsx
- lineage_panel/style.css
- lineage_panel/index.html
- lineage_panel/main.js
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: test (windows-latest)
- GitHub Check: build (windows-latest)
- GitHub Check: Analyze (javascript-typescript)
- GitHub Check: test (ubuntu-latest)
- GitHub Check: test (macos-latest)
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.
Please don't do it. Currently dbt lineage is not showing the batch incremental models (databricks adapter), but they are available in the legacy version.
| @mateuszbroja : CAn you show some screenshots? | 
| @mateuszbroja : all nodes should be displayed in both panels. If there is a bug in the new lineage panel we should resolve it there. We are planning to remove the legacy panel soon. Please create a ticket and we will resolve the bug. | 
Remove the deprecated ModelGraphViewPanel and its dependency injection bindings. This cleanup simplifies the lineage panel architecture by removing the old G6-based graph visualization in favor of the NewLineagePanel implementation. Changes: - Delete src/webview_provider/modelGraphViewPanel.ts - Remove ModelGraphViewPanel from inversify.config.ts bindings - Update LineagePanel constructor to remove ModelGraphViewPanel dependency - Fix duplicate import in lineagePanel.ts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
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.
Important
Looks good to me! 👍
Reviewed f583655 in 1 minute and 17 seconds. Click for details.
- Reviewed 359lines of code in3files
- Skipped 0files when reviewing.
- Skipped posting 6draft comments. View those below.
- Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. src/inversify.config.ts:141
- Draft comment:
 Good job removing the legacy ModelGraphViewPanel import and its container binding. This cleanup ensures that only the new lineage panel is used.
- Reason this comment was not posted:
 Confidence changes required:0%<= threshold50%None
2. src/webview_provider/modelGraphViewPanel.ts:1
- Draft comment:
 The entire legacy ModelGraphViewPanel file has been removed as intended. This removal confirms that the legacy lineage panel is no longer part of the codebase.
- Reason this comment was not posted:
 Confidence changes required:0%<= threshold50%None
3. src/webview_provider/lineagePanel.ts:58
- Draft comment:
 Consider adding the disposable returned by window.onDidChangeActiveTextEditor to the disposables array to ensure the event listener is properly cleaned up.
- Reason this comment was not posted:
 Comment was not on a location in the diff, so it can't be submitted as a review comment.
4. src/webview_provider/lineagePanel.ts:105
- Draft comment:
 Consider capturing the disposable returned by panel.webview.onDidReceiveMessage and adding it to the disposables array for proper cleanup.
- Reason this comment was not posted:
 Comment was not on a location in the diff, so it can't be submitted as a review comment.
5. src/webview_provider/lineagePanel.ts:112
- Draft comment:
 Similarly, consider storing the disposable returned by panel.onDidChangeVisibility into the disposables collection.
- Reason this comment was not posted:
 Comment was not on a location in the diff, so it can't be submitted as a review comment.
6. src/webview_provider/lineagePanel.ts:143
- Draft comment:
 To ensure the fallback works as intended, wrap the type mapping lookup in parentheses. For example, use "ReactError:" + (typeMapper[type] || "Unknown") to avoid operator precedence issues.
- Reason this comment was not posted:
 Comment was not on a location in the diff, so it can't be submitted as a review comment.
Workflow ID: wflow_3TjC9V3qsF4oX81J
You can customize  by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
Overview
Problem
Fixes #1682
Solution
Describe the implemented solution. Add external references if needed.
Screenshot/Demo
A picture is worth a thousand words. Please highlight the changes if applicable.
How to test
Checklist
README.mdupdated and added information about my changeImportant
Remove legacy lineage panel, making the new panel the default and only option.
lineage_panel/index.html,lineage_panel/main.js, andlineage_panel/style.css.ModelGraphViewPanelfrominversify.config.tsandlineagePanel.ts.modelGraphViewPanel.ts.dbt.enableNewLineagePanelfrompackage.json.ActionWidget.tsx.This description was created by for f583655. You can customize this summary. It will automatically update as commits are pushed.
 for f583655. You can customize this summary. It will automatically update as commits are pushed.
Summary by CodeRabbit