Skip to content

Improve dependency management#1537

Open
ChinthakaJ98 wants to merge 1 commit into
wso2:release-4.2.xfrom
ChinthakaJ98:improve-dependency-management
Open

Improve dependency management#1537
ChinthakaJ98 wants to merge 1 commit into
wso2:release-4.2.xfrom
ChinthakaJ98:improve-dependency-management

Conversation

@ChinthakaJ98

@ChinthakaJ98 ChinthakaJ98 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@ChinthakaJ98
ChinthakaJ98 requested a review from rosensilva as a code owner July 14, 2026 14:42
@ChinthakaJ98 ChinthakaJ98 added Checks/Run MI UI Tests Force run MI UI tests Checks/Run LS Tests Force run LS tests labels Jul 14, 2026
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 30bc57da-1c71-45bf-aa6a-e6c9677921e0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description only lists linked issues and a screenshot, missing the required template sections and implementation details. Add the required sections: Purpose, Goals, Approach, User stories, Release note, Documentation, tests, security checks, and the remaining template items.
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and accurately summarizes the main change to dependency management.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (7)
packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts (1)

4129-4144: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use the existing top-level XMLParser binding here instead of requiring it inline.
fast-xml-parser is already loaded at module scope in this file, so the local require is redundant.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts` around
lines 4129 - 4144, Update extractMavenCoordinates to remove the inline
require("fast-xml-parser") and reuse the existing top-level XMLParser binding
when constructing the parser. Keep the current XML parsing options and Maven
coordinate extraction behavior unchanged.

Sources: Path instructions, Linters/SAST tools

packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts (1)

150-151: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Consider moving the dependency import to the top of the file.

Using an inline require works, but moving the import to the top of the file aligns with standard module practices and avoids re-evaluating the module mapping every time the method is invoked.

As per path instructions, this helps enforce standard best practices.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts` around
lines 150 - 151, Move the fast-xml-parser dependency import out of the inline
require near the visualizer RPC logic and place it with the file’s top-level
imports, preserving the existing XMLParser initialization options and behavior.

Source: Path instructions

packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx (1)

142-157: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Handle extraction failures for malformed pom.xml files.

extractMavenCoordinates is awaited with no error handling. If the selected file can't be parsed, the rejection is unhandled and the user gets no feedback that the selection failed.

🔧 Suggested fix
     const handleSelectPom = async () => {
         const res = await rpcClient.getMiDiagramRpcClient().browseFile({
             canSelectFiles: true,
             canSelectFolders: false,
             canSelectMany: false,
             defaultUri: "",
             title: "Select pom.xml",
             filters: { "POM File": ["xml"] }
         });
         if (!res?.filePath) {
             return;
         }
-        const gav = await rpcClient.getMiDiagramRpcClient().extractMavenCoordinates({ pomPath: res.filePath });
-        setPrefill({ groupId: gav.groupId, artifact: gav.artifactId, version: gav.version });
-        setMode("pom");
+        try {
+            const gav = await rpcClient.getMiDiagramRpcClient().extractMavenCoordinates({ pomPath: res.filePath });
+            setPrefill({ groupId: gav.groupId, artifact: gav.artifactId, version: gav.version });
+            setMode("pom");
+        } catch (e) {
+            console.error("Failed to extract Maven coordinates from pom.xml", e);
+        }
     };
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx`
around lines 142 - 157, Update handleSelectPom to catch extraction failures from
extractMavenCoordinates after a file is selected, preventing rejected promises
from going unhandled and providing user feedback that the pom.xml could not be
parsed. Keep the existing prefill and mode updates only for successful
extraction.
packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx (3)

309-313: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Two divergent "is this dependency manually-added" predicates.

isManuallyAdded (line 309-310) requires !defaultVersion && (isOverridden || overriddenVersion || localPath), while isAddedDep (line 703) only checks !dep.defaultVersion. In the normal case these agree, but for a dependency that has no defaultVersion yet hasn't been flagged isOverridden/overriddenVersion/localPath, the two diverge: the badge (lines 718-730, keyed off isOverridden) would render without an "added" label while the action buttons (785-826, keyed off isAddedDep) would still switch to the full-coordinate edit/delete UI. Consider deriving isAddedDep from the same isManuallyAdded helper to keep the predicate single-sourced.

Also applies to: 703-703

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`
around lines 309 - 313, Unify the manual-dependency predicate by updating
isAddedDep to reuse isManuallyAdded instead of independently checking
defaultVersion. Keep the badge and action-button behavior aligned for
dependencies lacking defaultVersion but without manual-addition markers.

321-417: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

New driver handlers swallow RPC errors silently.

handleDriverEditSave, handleAddDriverSave, and handleBrowseLocalJar wrap their RPC calls in try/finally with no catch; on failure the saving indicator clears but nothing tells the user the save/add/browse failed (this mirrors the existing pattern for the unchanged driver handlers in this file). Since this PR already introduces a better pattern in ProjectInformation/index.tsx's handleReloadDependencies (catch + showNotification), consider applying the same here for the new handlers.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`
around lines 321 - 417, Update handleDriverEditSave, handleAddDriverSave, and
handleBrowseLocalJar to catch RPC failures and notify the user using the
existing showNotification pattern from handleReloadDependencies in
ProjectInformation/index.tsx. Preserve the finally blocks so isSaving is always
cleared, and ensure each failed operation reports an appropriate error instead
of failing silently.

650-690: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicate coordinate-entry form (Add driver vs. added-dependency edit).

The "Add driver" form (650-690) and the "added" branch of the per-row edit UI (733-758) render nearly identical groupId/artifactId/version VSCodeTextField + Save/Cancel markup against two different state shapes (addDriverForm vs driverEditState). Consider extracting a shared coordinate-form subcomponent to avoid maintaining two copies of this markup.

Also applies to: 733-758

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`
around lines 650 - 690, The coordinate-entry markup is duplicated between the
add-driver form and the added-dependency edit branch. Extract the shared Group
ID, Artifact ID, Version fields and Save/Cancel controls into a reusable
coordinate-form component, parameterized for the differing state values, change
handlers, save action, and saving/validation state; replace both inline
renderings while preserving their existing behavior.
packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx (1)

58-68: 🚀 Performance & Scalability | 🔵 Trivial | ⚡ Quick win

useEffect dependency array [props] triggers refetch on every re-render.

ProjectInformationProps is an empty interface, so props is a fresh object reference each render; using it as the effect dependency means fetchData() (an RPC call) re-runs whenever the parent re-renders, not just on mount.

🐛 Proposed fix
         fetchData();
-    }, [props]);
+    }, []);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx`
around lines 58 - 68, Update the useEffect in ProjectInformation to use an empty
dependency array instead of [props], so fetchData performs the project-details
RPC request only on mount. Remove the unused props dependency while preserving
the existing fetch and error-handling behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/mi-extension/src/test/e2e-playwright-tests/components/Overview.ts`:
- Around line 41-47: Update the guard in the Overview navigation flow to compare
iframeTitle against overviewTitle instead of MACHINE_VIEW.Overview, ensuring the
existing Overview iframe is skipped in both single- and multi-workspace modes.
Preserve the ManageDependencies exception and the subsequent switchToIFrame
target.

In `@packages/mi-visualizer/src/views/ManageDependencies/ConnectorAddPanel.tsx`:
- Around line 149-189: Handle errors in both handleDownloadConnector and
handleImportZip by adding catch logic around their sequential RPC/update flows,
reporting the failure through the panel’s existing user-facing error mechanism.
Preserve the current success sequence and finally cleanup, while ensuring RPC
failures are not silently swallowed and the panel remains usable after an error.

In `@packages/mi-visualizer/src/views/ManageDependencies/DependencyTab.tsx`:
- Around line 231-244: Wrap the sequential RPC and refresh operations in
handleDeleteDependency, handleEditDependency, addDependencyToProject, and
handleConfirmOverwrite with try/finally blocks. Set each loading flag before the
try block and reset it in finally so isUpdating or isAddingDependency is cleared
even when an awaited operation throws; preserve the existing success-path
operations and values.
- Around line 196-207: Update fetchInboundStoreConnectors to use an
AbortController with a short timeout when calling the inbound store endpoint,
pass its signal to fetch, and reliably clear the timeout after completion.
Preserve the existing response parsing, state update, and catch logging while
ensuring stalled requests are aborted.
- Around line 328-359: Update addDependencyToProject to handle failures from
reloadDependencies after updateDependenciesFromOverview persists the dependency:
catch the reload error, revert the saved dependency or invoke the existing
rollback behavior used by handleEditDependency, surface the failure through the
established error state/UI, and ensure isAddingDependency is reset. Preserve the
successful reload flow and add-mode transition.

---

Nitpick comments:
In `@packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts`:
- Around line 4129-4144: Update extractMavenCoordinates to remove the inline
require("fast-xml-parser") and reuse the existing top-level XMLParser binding
when constructing the parser. Keep the current XML parsing options and Maven
coordinate extraction behavior unchanged.

In `@packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts`:
- Around line 150-151: Move the fast-xml-parser dependency import out of the
inline require near the visualizer RPC logic and place it with the file’s
top-level imports, preserving the existing XMLParser initialization options and
behavior.

In `@packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx`:
- Around line 142-157: Update handleSelectPom to catch extraction failures from
extractMavenCoordinates after a file is selected, preventing rejected promises
from going unhandled and providing user feedback that the pom.xml could not be
parsed. Keep the existing prefill and mode updates only for successful
extraction.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`:
- Around line 309-313: Unify the manual-dependency predicate by updating
isAddedDep to reuse isManuallyAdded instead of independently checking
defaultVersion. Keep the badge and action-button behavior aligned for
dependencies lacking defaultVersion but without manual-addition markers.
- Around line 321-417: Update handleDriverEditSave, handleAddDriverSave, and
handleBrowseLocalJar to catch RPC failures and notify the user using the
existing showNotification pattern from handleReloadDependencies in
ProjectInformation/index.tsx. Preserve the finally blocks so isSaving is always
cleared, and ensure each failed operation reports an appropriate error instead
of failing silently.
- Around line 650-690: The coordinate-entry markup is duplicated between the
add-driver form and the added-dependency edit branch. Extract the shared Group
ID, Artifact ID, Version fields and Save/Cancel controls into a reusable
coordinate-form component, parameterized for the differing state values, change
handlers, save action, and saving/validation state; replace both inline
renderings while preserving their existing behavior.

In `@packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx`:
- Around line 58-68: Update the useEffect in ProjectInformation to use an empty
dependency array instead of [props], so fetchData performs the project-details
RPC request only on mount. Remove the unused props dependency while preserving
the existing fetch and error-handling behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9a22b9ed-e6ff-4643-81b4-0e77fa2dc8c4

📥 Commits

Reviewing files that changed from the base of the PR and between 43f014a and 0696b2f.

📒 Files selected for processing (27)
  • packages/mi-core/src/rpc-types/mi-diagram/index.ts
  • packages/mi-core/src/rpc-types/mi-diagram/rpc-type.ts
  • packages/mi-core/src/rpc-types/mi-diagram/types.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/index.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/rpc-type.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/types.ts
  • packages/mi-extension/src/rpc-managers/mi-diagram/rpc-handler.ts
  • packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts
  • packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-handler.ts
  • packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts
  • packages/mi-extension/src/test/e2e-playwright-tests/components/Overview.ts
  • packages/mi-extension/src/test/e2e-playwright-tests/overviewPageTests/projectSettingPage.spec.ts
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/ConnectorConfigService.java
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/DependencyOverride.java
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/UpdateConnectorDependencyRequest.java
  • packages/mi-language-server/org.eclipse.lemminx/src/test/java/org/eclipse/lemminx/synapse/connector/inbound/ConnectorInfoEndpointTest.java
  • packages/mi-rpc-client/src/rpc-clients/mi-diagram/rpc-client.ts
  • packages/mi-rpc-client/src/rpc-clients/mi-visualizer/rpc-client.ts
  • packages/mi-visualizer/src/MainPanel.tsx
  • packages/mi-visualizer/src/PopupPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/ConnectorAddPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/DependencyTab.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/index.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyManager.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx
💤 Files with no reviewable changes (2)
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyManager.tsx
  • packages/mi-visualizer/src/PopupPanel.tsx

@ChinthakaJ98
ChinthakaJ98 force-pushed the improve-dependency-management branch from 0696b2f to a702ae0 Compare July 15, 2026 04:34

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx (1)

306-313: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Consolidate "added dependency" detection logic.

isManuallyAdded (Lines 309-310) requires !defaultVersion and one of isOverridden/overriddenVersion/localPath, while the new isAddedDep (Line 703) only checks !dep.defaultVersion. If a driver entry ever lacks defaultVersion without being overridden (e.g. a data anomaly from the backend), it would be treated as "added" for action-button branching (full coordinate edit/delete) even though isManuallyAdded would classify it differently for the active/inactive split. Reusing isManuallyAdded(dep) for isAddedDep would keep the two definitions in sync and avoid future divergence.

♻️ Suggested consolidation
-                            const isAddedDep = !dep.defaultVersion;
+                            const isAddedDep = isManuallyAdded(dep);

Also applies to: 703-703

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`
around lines 306 - 313, Consolidate added-dependency detection by updating the
isAddedDep logic near the action-button branching to reuse isManuallyAdded(dep)
instead of checking only !dep.defaultVersion. Keep the active/inactive filtering
based on the same isManuallyAdded predicate so both behaviors classify
dependencies consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts`:
- Around line 4129-4144: Update extractMavenCoordinates to validate pomPath
before reading, verify the file exists and is a safe readable target, and wrap
the synchronous read and XMLParser.parse operations in error handling. Return
the established error response or propagate a clear controlled error instead of
allowing filesystem or parsing exceptions to escape unhandled.

In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`:
- Around line 700-703: Update the isEditing comparison in the dependency row
logic to also require driverEditState?.groupId to equal dep.groupId, while
preserving the existing connectionType and artifactId checks. This must
disambiguate manually added drivers that share an artifactId but have different
groupIds.
- Around line 321-357: Update handleDriverEditSave so that when coordsChanged is
true, it creates the new connector dependency override with
updateConnectorDependencyOverride before removing the previous coordinates via
resetConnectorDependencyOverrides. Preserve the existing validation,
saving-state cleanup, and unchanged-coordinate behavior.

---

Nitpick comments:
In
`@packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx`:
- Around line 306-313: Consolidate added-dependency detection by updating the
isAddedDep logic near the action-button branching to reuse isManuallyAdded(dep)
instead of checking only !dep.defaultVersion. Keep the active/inactive filtering
based on the same isManuallyAdded predicate so both behaviors classify
dependencies consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 88bd97f7-c1b7-424b-8d0a-0422b99e6cb7

📥 Commits

Reviewing files that changed from the base of the PR and between 0696b2f and a702ae0.

📒 Files selected for processing (27)
  • packages/mi-core/src/rpc-types/mi-diagram/index.ts
  • packages/mi-core/src/rpc-types/mi-diagram/rpc-type.ts
  • packages/mi-core/src/rpc-types/mi-diagram/types.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/index.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/rpc-type.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/types.ts
  • packages/mi-extension/src/rpc-managers/mi-diagram/rpc-handler.ts
  • packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts
  • packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-handler.ts
  • packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts
  • packages/mi-extension/src/test/e2e-playwright-tests/components/Overview.ts
  • packages/mi-extension/src/test/e2e-playwright-tests/overviewPageTests/projectSettingPage.spec.ts
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/ConnectorConfigService.java
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/DependencyOverride.java
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/UpdateConnectorDependencyRequest.java
  • packages/mi-language-server/org.eclipse.lemminx/src/test/java/org/eclipse/lemminx/synapse/connector/inbound/ConnectorInfoEndpointTest.java
  • packages/mi-rpc-client/src/rpc-clients/mi-diagram/rpc-client.ts
  • packages/mi-rpc-client/src/rpc-clients/mi-visualizer/rpc-client.ts
  • packages/mi-visualizer/src/MainPanel.tsx
  • packages/mi-visualizer/src/PopupPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/ConnectorAddPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/DependencyTab.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/index.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyItem.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyManager.tsx
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx
💤 Files with no reviewable changes (2)
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/DependencyManager.tsx
  • packages/mi-visualizer/src/PopupPanel.tsx
🚧 Files skipped from review as they are similar to previous changes (21)
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/DependencyOverride.java
  • packages/mi-core/src/rpc-types/mi-visualizer/rpc-type.ts
  • packages/mi-core/src/rpc-types/mi-diagram/rpc-type.ts
  • packages/mi-extension/src/rpc-managers/mi-visualizer/rpc-handler.ts
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/UpdateConnectorDependencyRequest.java
  • packages/mi-core/src/rpc-types/mi-visualizer/index.ts
  • packages/mi-core/src/rpc-types/mi-diagram/types.ts
  • packages/mi-rpc-client/src/rpc-clients/mi-visualizer/rpc-client.ts
  • packages/mi-core/src/rpc-types/mi-visualizer/types.ts
  • packages/mi-core/src/rpc-types/mi-diagram/index.ts
  • packages/mi-visualizer/src/MainPanel.tsx
  • packages/mi-extension/src/rpc-managers/mi-diagram/rpc-handler.ts
  • packages/mi-rpc-client/src/rpc-clients/mi-diagram/rpc-client.ts
  • packages/mi-language-server/org.eclipse.lemminx/src/test/java/org/eclipse/lemminx/synapse/connector/inbound/ConnectorInfoEndpointTest.java
  • packages/mi-visualizer/src/views/ManageDependencies/index.tsx
  • packages/mi-language-server/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/customservice/synapse/parser/connectorConfig/ConnectorConfigService.java
  • packages/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/ProjectAddPanel.tsx
  • packages/mi-extension/src/test/e2e-playwright-tests/components/Overview.ts
  • packages/mi-visualizer/src/views/ManageDependencies/ConnectorAddPanel.tsx
  • packages/mi-visualizer/src/views/ManageDependencies/DependencyTab.tsx

Comment thread packages/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts
@ChinthakaJ98 ChinthakaJ98 removed Checks/Run MI UI Tests Force run MI UI tests Checks/Run LS Tests Force run LS tests labels Jul 15, 2026
@ChinthakaJ98
ChinthakaJ98 force-pushed the improve-dependency-management branch from a702ae0 to a132e6d Compare July 15, 2026 05:05
@ChinthakaJ98 ChinthakaJ98 added Checks/Run MI UI Tests Force run MI UI tests Checks/Run LS Tests Force run LS tests labels Jul 15, 2026
@ChinthakaJ98
ChinthakaJ98 marked this pull request as draft July 15, 2026 09:12
@ChinthakaJ98
ChinthakaJ98 marked this pull request as ready for review July 15, 2026 09:12
try {
const { XMLParser } = require("fast-xml-parser");
const xmlData = fs.readFileSync(pomPath, "utf8");
const parser = new XMLParser({ ignoreAttributes: false });

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to pass parseTagValue: false here. wdyt?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Fixed in 1e03953

localPath: '',
additionalDependency: true,
});
if (coordsChanged) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to first reset the override and add a new override to prevent duplicates if there is an error in the second step. WDYT?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Fixed in 1e03953

@ChinthakaJ98
ChinthakaJ98 force-pushed the improve-dependency-management branch from a132e6d to 1e03953 Compare July 24, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Checks/Run LS Tests Force run LS tests Checks/Run MI UI Tests Force run MI UI tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants