Skip to content

[devant migration] Add Develop [integration, API info & Plans] pages#749

Merged
sm1990 merged 6 commits into
wso2:devant-migrationfrom
sm1990:devlop-pages
Jul 16, 2026
Merged

[devant migration] Add Develop [integration, API info & Plans] pages#749
sm1990 merged 6 commits into
wso2:devant-migrationfrom
sm1990:devlop-pages

Conversation

@sm1990

@sm1990 sm1990 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Purpose

$subject

Screen.Recording.2026-07-15.at.00.05.03.mov

Plans page

Screen.Recording.2026-07-15.at.14.42.30.mov

Resolves - https://github.com/wso2-enterprise/integration-engineering/issues/691 & https://github.com/wso2-enterprise/integration-engineering/issues/1895 & https://github.com/wso2-enterprise/integration-engineering/issues/1897

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

  • Unit tests

    Code coverage information

  • Integration tests

    Details about the test cases and coverage

Security checks

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

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

Run ID: 82142d29-9440-4836-92f8-31987a58a5ac

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:

  • ✅ Review completed - (🔄 Check again to review again)
📝 Walkthrough

Walkthrough

Adds component Integration and API Info routes with sidebar navigation. API Info now supports Marketplace, Developer Portal, and General tabs, including marketplace data, Markdown overviews, thumbnails, labels, business information, and custom properties. New APIM helpers and React Query hooks provide the related fetch and update operations. Integration cards launch Cloud Editor or Integrator IDE workflows. Several documentation, formatting, dependency, configuration, and presentation-only changes are also included.

Sequence Diagram(s)

sequenceDiagram
  participant ComponentApiInfo
  participant ApiInfoTab
  participant useApim
  participant APIMService
  ComponentApiInfo->>ApiInfoTab: render selected API metadata
  ApiInfoTab->>useApim: load or save API data
  useApim->>APIMService: perform authenticated request
  APIMService-->>useApim: return request result
  useApim-->>ApiInfoTab: update query or mutation state
Loading
sequenceDiagram
  participant ComponentIntegration
  participant ComponentHooks
  participant IntegrationCards
  participant CloudEditor
  participant IntegratorIDE
  ComponentIntegration->>ComponentHooks: load project, component, commit, and sample image
  ComponentIntegration->>IntegrationCards: render launch cards
  IntegrationCards->>CloudEditor: open editor with component context
  IntegrationCards->>IntegratorIDE: open vscode URL with extension context
Loading
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 7.69% 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 is mostly placeholder text; only Purpose has real content, so the required sections are largely incomplete. Fill in the required sections with concrete details for Goals, Approach, User stories, Release note, Documentation, tests, Security checks, Samples, Related PRs, Migrations, Test environment, and Learning.
✅ 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 related to the main change, but it is a bit broad and mentions Plans, which are not part of the diff.
✨ 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: 11

🧹 Nitpick comments (2)
ipaas/src/components/AGENTS.md (1)

42-44: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Remove the semicolon inside the JSX expression.

If this code snippet is intended to be used directly inside a JSX return block, including a semicolon inside the expression braces {} will result in a syntax error. Removing it ensures the snippet is valid.

♻️ Proposed fix
 {
-  IS_WIP && <CopilotButton />;
+  IS_WIP && <CopilotButton />
 }
🤖 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 `@ipaas/src/components/AGENTS.md` around lines 42 - 44, Remove the semicolon
from the JSX expression containing IS_WIP and CopilotButton, leaving the
conditional render expression valid when used inside a JSX return block.
ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx (1)

115-299: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Move these static styles into co-located styles files.

These components exceed the repository’s sx thresholds.

  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx#L115-L299: extract repeated and large accordion, layout, and thumbnail styles.
  • ipaas/src/pages/ComponentApiInfo.tsx#L99-L192: extract track-picker and page-state styles.
  • ipaas/src/components/ApiInfo/GeneralTab.tsx#L52-L105: extract accordion and table styles.
  • ipaas/src/components/DeploymentTrackBar.tsx#L67-L138: extract the large container and selector styles.

As per coding guidelines, “When a component has more than five sx usages [or] an sx object has more than six properties… move styles to a co-located <name>.styles.ts file.”

🤖 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 `@ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx` around lines 115 - 299,
Move the static sx styles into co-located styles files, preserving all existing
behavior: in ipaас/src/components/ApiInfo/DeveloperPortalTab.tsx lines 115-299
extract the accordion, layout, and thumbnail styles; in
ipaас/src/pages/ComponentApiInfo.tsx lines 99-192 extract track-picker and
page-state styles; in ipaас/src/components/ApiInfo/GeneralTab.tsx lines 52-105
extract accordion and table styles; and in
ipaас/src/components/DeploymentTrackBar.tsx lines 67-138 extract the large
container and selector styles. Update each component to import and reuse its new
styles file, including styles for the visible symbols and nearby elements
currently using large or repeated sx objects.

Source: Coding guidelines

🤖 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 `@ipaas/src/api/wip/apim.ts`:
- Around line 26-42: Move the MarketplaceService interface from the API file
into a shared declaration under src/types/, preserving all fields and the index
signature. Update every API, hook, and component import or reference to use the
new shared type, and remove the inline definition from apim.ts.
- Line 47: Guard the crypto.subtle usage in the digest flow around the raw input
encoding so environments without SubtleCrypto do not throw a TypeError. Check
availability before calling digest, then use the existing fallback if one exists
or throw a clear descriptive error; preserve SHA-256 behavior when crypto.subtle
is available.
- Around line 56-88: Expose matching fetchMarketplaceService and
saveMarketplaceService helpers in the cloud and icp APIM modules, reusing the
APIM-specific implementations where supported. If either product does not
support these operations, export the same functions with the matching signatures
and return the established product-specific not-implemented error.

In `@ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx`:
- Around line 76-82: Update the apimInfo synchronization useEffect to reset
thumbnailFile and thumbnailPreview whenever the selected API changes, and clear
the associated file input element so the previous API’s thumbnail cannot be
submitted for the new endpoint.
- Around line 107-113: Update handleSave so uploadThumbnail failures are caught
and routed through the page’s existing save-error callback or alert, matching
metadata-save failures. Ensure onSave is not invoked when thumbnail upload
rejects, and preserve the existing thumbnail reset behavior only after a
successful upload.
- Around line 132-173: Make the thumbnail picker around fileInputRef and
handleThumbnailChange keyboard-accessible by replacing the clickable Box with a
labeled button or adding equivalent button semantics, including keyboard
activation and an accessible name. Preserve the existing thumbnail preview and
file-selection behavior.
- Around line 291-295: Update the Cancel button flow around onCancel so it first
resets all local form fields and the selected thumbnail from the current
apimInfo values, then invokes the existing callback to clear the parent alert.
Ensure the reset applies to every editable draft field before cancellation
completes.

In `@ipaas/src/components/ApiInfo/GeneralTab.tsx`:
- Around line 37-50: Update GeneralTab and its parent page save flow so changes
managed by pairs are exposed through an onSave contract and included in
handleSave. Add or connect a save control as needed, and construct
additionalProperties by combining the edited visible pairs with existing hidden
properties so hidden entries are preserved while additions, edits, and removals
persist.

In `@ipaas/src/components/ApiInfo/MarketplaceTab.tsx`:
- Around line 82-377: Extract the static and repeated sx styles from PreviewCard
and MarketplaceTab into named multiline as const objects in co-located
ipaas/src/components/ApiInfo/MarketplaceTab.styles.ts, then import and reuse
them while preserving dynamic styles and behavior. Apply the same extraction to
the sx objects in StepItem, CloudEditorCard, and IntegratorIDECard in
ipaas/src/components/Integration/IntegrationCards.tsx, placing the named as
const styles in ipaas/src/components/Integration/IntegrationCards.styles.ts.
- Around line 215-224: Update handleSave to wrap updateMarketplaceService in a
try/catch, handling mutation failures without producing an unhandled rejection
and ensuring onSave(patch) still runs after the attempt. Preserve the existing
marketplaceService guard and payload, and use the component’s established
error-feedback mechanism if available.

In `@ipaas/src/layouts/AppLayout.tsx`:
- Line 177: Update the `'api-info'` entry in the navigation parent map to
reference the `develop` group instead of `manage`, matching its containing
`Sidebar.Item id="develop"` and preserving automatic expansion during direct
navigation.

---

Nitpick comments:
In `@ipaas/src/components/AGENTS.md`:
- Around line 42-44: Remove the semicolon from the JSX expression containing
IS_WIP and CopilotButton, leaving the conditional render expression valid when
used inside a JSX return block.

In `@ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx`:
- Around line 115-299: Move the static sx styles into co-located styles files,
preserving all existing behavior: in
ipaас/src/components/ApiInfo/DeveloperPortalTab.tsx lines 115-299 extract the
accordion, layout, and thumbnail styles; in ipaас/src/pages/ComponentApiInfo.tsx
lines 99-192 extract track-picker and page-state styles; in
ipaас/src/components/ApiInfo/GeneralTab.tsx lines 52-105 extract accordion and
table styles; and in ipaас/src/components/DeploymentTrackBar.tsx lines 67-138
extract the large container and selector styles. Update each component to import
and reuse its new styles file, including styles for the visible symbols and
nearby elements currently using large or repeated sx objects.
🪄 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: 75cfef5e-6179-4990-b64a-7d333f7bff36

📥 Commits

Reviewing files that changed from the base of the PR and between b7aa2cd and 8981294.

⛔ Files ignored due to path filters (1)
  • ipaas/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (33)
  • ipaas/AGENTS.md
  • ipaas/index.html
  • ipaas/package.json
  • ipaas/public/config.json
  • ipaas/src/api/AGENTS.md
  • ipaas/src/api/wip/AGENTS.md
  • ipaas/src/api/wip/README.md
  • ipaas/src/api/wip/apim.ts
  • ipaas/src/api/wip/components.ts
  • ipaas/src/components/AGENTS.md
  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
  • ipaas/src/components/ApiInfo/GeneralTab.tsx
  • ipaas/src/components/ApiInfo/MarketplaceTab.tsx
  • ipaas/src/components/ApiInfo/menuItems.json
  • ipaas/src/components/DeploymentTrackBar.tsx
  • ipaas/src/components/HealthChecks/ProbeConfigFields.tsx
  • ipaas/src/components/Integration/IntegrationCards.tsx
  • ipaas/src/components/Overview/README.md
  • ipaas/src/components/Overview/_shared/ScheduleDialog.tsx
  • ipaas/src/components/Overview/rag-ingestion/RagRetrievalChat.tsx
  • ipaas/src/components/RagIngestion/steps/EmbeddingModelStep.tsx
  • ipaas/src/config/routes.tsx
  • ipaas/src/config/runtimeConfig.ts
  • ipaas/src/hooks/AGENTS.md
  • ipaas/src/hooks/useApim.ts
  • ipaas/src/index.css
  • ipaas/src/layouts/AppLayout.tsx
  • ipaas/src/pages/AGENTS.md
  • ipaas/src/pages/ComponentApiInfo.tsx
  • ipaas/src/pages/ComponentIntegration.tsx
  • ipaas/src/product/README.md
  • ipaas/src/types/AGENTS.md
  • ipaas/tests/e2e/README.md

Comment thread ipaas/src/api/wip/apim.ts Outdated
Comment thread ipaas/src/api/wip/apim.ts
Comment thread ipaas/src/api/wip/apim.ts
Comment thread ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
Comment thread ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
Comment thread ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
Comment thread ipaas/src/components/ApiInfo/GeneralTab.tsx
Comment thread ipaas/src/components/ApiInfo/MarketplaceTab.tsx
Comment thread ipaas/src/components/ApiInfo/MarketplaceTab.tsx
Comment thread ipaas/src/layouts/AppLayout.tsx

@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: 4

🧹 Nitpick comments (3)
ipaas/src/components/Integration/IntegrationCards.tsx (1)

25-27: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Prefer theme tokens over hardcoded hex colors.

Both of these locations use the hardcoded hex color #e05c1b for the integrator icon. As per coding guidelines, prefer using theme tokens over hardcoded hex colors. If this specific brand orange is strictly required, consider adding it to the theme extension or verifying if an existing token (like primary.main or warning.main) can be used instead.

  • ipaas/src/components/Integration/IntegrationCards.tsx#L25-L27: replace the hardcoded color in CardIcon.
  • ipaas/src/components/Integration/IntegrationCards.tsx#L113-L113: replace the hardcoded color in the IntegratorIDECard button icon.
🤖 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 `@ipaas/src/components/Integration/IntegrationCards.tsx` around lines 25 - 27,
Replace the hardcoded `#e05c1b` color in CardIcon and the IntegratorIDECard button
icon with an appropriate theme token, reusing an existing token such as
primary.main or warning.main where suitable; if the brand orange is required,
add and use a theme extension token. Apply the change at
ipaas/src/components/Integration/IntegrationCards.tsx lines 25-27 and 113.

Source: Coding guidelines

ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx (1)

154-169: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Extract component styles according to the repository threshold.

Each file exceeds five sx usages and should use a co-located styles module.

  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx#L154-L169: extract static styles to DeveloperPortalTab.styles.ts.
  • ipaas/src/pages/ComponentApiInfo.tsx#L107-L112: extract static styles to ComponentApiInfo.styles.ts.
  • ipaas/src/components/ApiInfo/GeneralTab.tsx#L53-L65: extract static styles to GeneralTab.styles.ts.

As per coding guidelines, extract styles to a co-located styles file when there are more than five sx usages.

🤖 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 `@ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx` around lines 154 - 169,
Extract the static sx styles from DeveloperPortalTab.tsx#L154-L169 into a
co-located DeveloperPortalTab.styles.ts and update the component to consume
them; apply the same extraction to ComponentApiInfo.tsx#L107-L112 using
ComponentApiInfo.styles.ts and GeneralTab.tsx#L53-L65 using
GeneralTab.styles.ts, preserving the existing styling and dynamic sx behavior.

Source: Coding guidelines

ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx (1)

41-96: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Extract the static styles into OverviewEditorDialog.styles.ts.

This component exceeds the five-sx threshold and includes large static style objects. Hoist them into named as const objects and reuse them here.

As per coding guidelines, “extract styles to a co-located <name>.styles.ts when there are more than five sx usages.”

🤖 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 `@ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx` around lines 41 - 96,
Extract the static sx definitions from OverviewEditorDialog into a co-located
OverviewEditorDialog.styles.ts file as named as-const style objects, including
the grid, editor/preview containers, headings, and Markdown element styles.
Update OverviewEditorDialog to import and reuse those style objects, leaving
only genuinely dynamic inline styles in the component.

Source: Coding guidelines

🤖 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 `@ipaas/src/api/wip/apim.ts`:
- Around line 52-70: Update saveMarketplaceService in
ipaas/src/api/wip/apim.ts:52-70 to throw when marketplace configuration is
absent, then inspect the PUT response and throw on non-OK results. Also update
the Overview upload at ipaas/src/api/wip/apim.ts:109-111 and thumbnail upload at
ipaas/src/api/wip/apim.ts:126-130 to inspect their authenticatedFetch responses
and reject unsuccessful writes.
- Around line 97-108: Update the Overview document lookup in the surrounding API
document flow to reuse only documents whose name is OVERVIEW_DOC_NAME and whose
sourceType is INLINE or MARKDOWN, matching the fetch-time filter. Leave creation
behavior unchanged when no eligible document exists, and ensure the selected
docId is the one used when saving inlineContent.

In `@ipaas/src/components/ApiInfo/MarketplaceTab.tsx`:
- Around line 199-210: Update handleSave and the related MarketplaceTab controls
so marketplace edits cannot be submitted when marketplaceService is unavailable:
disable summary, tags, and overview editing while loading, or block saving until
the service is loaded, and surface the unavailable-service state. Keep onSave
for APIM-only updates, but do not silently discard marketplace changes when
marketplaceService is null or undefined.

In `@ipaas/src/components/ApiInfo/menuItems.json`:
- Around line 90-91: Correct the misspelled user-visible category strings in the
menu items: change “Video Conferncing” to “Video Conferencing” in both the name
and value, and update the corresponding “Customer Appreciation” category name
and value. Preserve the existing category structure and value format so newly
saved tags use the corrected strings.

---

Nitpick comments:
In `@ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx`:
- Around line 154-169: Extract the static sx styles from
DeveloperPortalTab.tsx#L154-L169 into a co-located DeveloperPortalTab.styles.ts
and update the component to consume them; apply the same extraction to
ComponentApiInfo.tsx#L107-L112 using ComponentApiInfo.styles.ts and
GeneralTab.tsx#L53-L65 using GeneralTab.styles.ts, preserving the existing
styling and dynamic sx behavior.

In `@ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx`:
- Around line 41-96: Extract the static sx definitions from OverviewEditorDialog
into a co-located OverviewEditorDialog.styles.ts file as named as-const style
objects, including the grid, editor/preview containers, headings, and Markdown
element styles. Update OverviewEditorDialog to import and reuse those style
objects, leaving only genuinely dynamic inline styles in the component.

In `@ipaas/src/components/Integration/IntegrationCards.tsx`:
- Around line 25-27: Replace the hardcoded `#e05c1b` color in CardIcon and the
IntegratorIDECard button icon with an appropriate theme token, reusing an
existing token such as primary.main or warning.main where suitable; if the brand
orange is required, add and use a theme extension token. Apply the change at
ipaas/src/components/Integration/IntegrationCards.tsx lines 25-27 and 113.
🪄 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: 929be28c-09fc-44c4-9f6b-5c96b37c355d

📥 Commits

Reviewing files that changed from the base of the PR and between b7aa2cd and 2adc1d0.

⛔ Files ignored due to path filters (1)
  • ipaas/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (36)
  • ipaas/AGENTS.md
  • ipaas/index.html
  • ipaas/package.json
  • ipaas/public/config.json
  • ipaas/src/api/AGENTS.md
  • ipaas/src/api/wip/AGENTS.md
  • ipaas/src/api/wip/README.md
  • ipaas/src/api/wip/apim.ts
  • ipaas/src/api/wip/components.ts
  • ipaas/src/components/AGENTS.md
  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
  • ipaas/src/components/ApiInfo/GeneralTab.tsx
  • ipaas/src/components/ApiInfo/LabelsAutocomplete.tsx
  • ipaas/src/components/ApiInfo/MarketplaceTab.tsx
  • ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx
  • ipaas/src/components/ApiInfo/menuItems.json
  • ipaas/src/components/DeploymentTrackBar.tsx
  • ipaas/src/components/HealthChecks/ProbeConfigFields.tsx
  • ipaas/src/components/Integration/IntegrationCards.tsx
  • ipaas/src/components/Overview/README.md
  • ipaas/src/components/Overview/_shared/ScheduleDialog.tsx
  • ipaas/src/components/Overview/rag-ingestion/RagRetrievalChat.tsx
  • ipaas/src/components/RagIngestion/steps/EmbeddingModelStep.tsx
  • ipaas/src/config/routes.tsx
  • ipaas/src/config/runtimeConfig.ts
  • ipaas/src/hooks/AGENTS.md
  • ipaas/src/hooks/useApim.ts
  • ipaas/src/index.css
  • ipaas/src/layouts/AppLayout.tsx
  • ipaas/src/pages/AGENTS.md
  • ipaas/src/pages/ComponentApiInfo.tsx
  • ipaas/src/pages/ComponentIntegration.tsx
  • ipaas/src/product/README.md
  • ipaas/src/types/AGENTS.md
  • ipaas/src/types/apim.ts
  • ipaas/tests/e2e/README.md

Comment thread ipaas/src/api/wip/apim.ts Outdated
Comment thread ipaas/src/api/wip/apim.ts Outdated
Comment thread ipaas/src/components/ApiInfo/MarketplaceTab.tsx
Comment thread ipaas/src/components/ApiInfo/menuItems.json Outdated
@sm1990 sm1990 changed the title Add Develop [integration & API info] pages [devant migration] Add Develop [integration & API info] pages Jul 15, 2026
@sm1990 sm1990 changed the title [devant migration] Add Develop [integration & API info] pages [devant migration] Add Develop [integration, API info & Plans] pages Jul 15, 2026

@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: 2

🧹 Nitpick comments (1)
ipaas/src/pages/ComponentPlans.tsx (1)

143-154: 🩺 Stability & Availability | 🔵 Trivial | 💤 Low value

Save error is swallowed without logging.

The catch block only sets a generic user-facing alert; the actual error (including the message thrown by updateApimApi, e.g. `APIM update failed: ...`) is discarded. Logging it (e.g., console.error) would aid debugging failed saves in production.

🤖 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 `@ipaas/src/pages/ComponentPlans.tsx` around lines 143 - 154, The handleSave
catch block currently discards the error from updateApim. Capture the caught
error and log it with console.error before setting the existing generic failure
alert, preserving the current user-facing 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 `@ipaas/src/pages/ComponentPlans.tsx`:
- Around line 286-290: Update the business-plan validation Alert near the
activePolicies check so it only displays after the user has interacted with the
plan selection, using the existing isDirty or touched state if available.
Preserve the current loading, selected API, policy, and no-active-policy
conditions while preventing an error alert during the untouched initial state.
- Around line 236-238: Remove the Approval header and corresponding row cell
from the ComponentPlans table until a workflow approval field is available; do
not leave the hardcoded Disabled value or add unused policy/apimInfo bindings.

---

Nitpick comments:
In `@ipaas/src/pages/ComponentPlans.tsx`:
- Around line 143-154: The handleSave catch block currently discards the error
from updateApim. Capture the caught error and log it with console.error before
setting the existing generic failure alert, preserving the current user-facing
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: 72e7c959-f0e9-429b-95fa-3cbe0aa80474

📥 Commits

Reviewing files that changed from the base of the PR and between f1a6310 and b81fa2d.

⛔ Files ignored due to path filters (1)
  • ipaas/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (38)
  • ipaas/AGENTS.md
  • ipaas/index.html
  • ipaas/package.json
  • ipaas/public/config.json
  • ipaas/src/api/AGENTS.md
  • ipaas/src/api/wip/AGENTS.md
  • ipaas/src/api/wip/README.md
  • ipaas/src/api/wip/apim.ts
  • ipaas/src/api/wip/components.ts
  • ipaas/src/components/AGENTS.md
  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
  • ipaas/src/components/ApiInfo/GeneralTab.tsx
  • ipaas/src/components/ApiInfo/LabelsAutocomplete.tsx
  • ipaas/src/components/ApiInfo/MarketplaceTab.tsx
  • ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx
  • ipaas/src/components/ApiInfo/menuItems.json
  • ipaas/src/components/DeploymentTrackBar.tsx
  • ipaas/src/components/HealthChecks/ProbeConfigFields.tsx
  • ipaas/src/components/Integration/IntegrationCards.tsx
  • ipaas/src/components/Overview/README.md
  • ipaas/src/components/Overview/_shared/ScheduleDialog.tsx
  • ipaas/src/components/Overview/rag-ingestion/RagRetrievalChat.tsx
  • ipaas/src/components/RagIngestion/steps/EmbeddingModelStep.tsx
  • ipaas/src/config/routes.tsx
  • ipaas/src/config/runtimeConfig.ts
  • ipaas/src/hooks/AGENTS.md
  • ipaas/src/hooks/useApim.ts
  • ipaas/src/index.css
  • ipaas/src/layouts/AppLayout.tsx
  • ipaas/src/pages/AGENTS.md
  • ipaas/src/pages/ComponentApiInfo.tsx
  • ipaas/src/pages/ComponentIntegration.tsx
  • ipaas/src/pages/ComponentPlans.tsx
  • ipaas/src/product/README.md
  • ipaas/src/types/AGENTS.md
  • ipaas/src/types/apim.ts
  • ipaas/src/types/marketplace.ts
  • ipaas/tests/e2e/README.md
🚧 Files skipped from review as they are similar to previous changes (31)
  • ipaas/src/api/AGENTS.md
  • ipaas/src/components/ApiInfo/menuItems.json
  • ipaas/src/types/AGENTS.md
  • ipaas/src/components/ApiInfo/GeneralTab.tsx
  • ipaas/src/components/HealthChecks/ProbeConfigFields.tsx
  • ipaas/src/api/wip/AGENTS.md
  • ipaas/src/components/ApiInfo/OverviewEditorDialog.tsx
  • ipaas/public/config.json
  • ipaas/tests/e2e/README.md
  • ipaas/src/pages/ComponentApiInfo.tsx
  • ipaas/src/components/Overview/README.md
  • ipaas/src/components/ApiInfo/DeveloperPortalTab.tsx
  • ipaas/package.json
  • ipaas/src/api/wip/README.md
  • ipaas/src/index.css
  • ipaas/src/components/Integration/IntegrationCards.tsx
  • ipaas/src/types/apim.ts
  • ipaas/src/components/RagIngestion/steps/EmbeddingModelStep.tsx
  • ipaas/src/product/README.md
  • ipaas/src/api/wip/components.ts
  • ipaas/src/components/Overview/rag-ingestion/RagRetrievalChat.tsx
  • ipaas/src/components/AGENTS.md
  • ipaas/src/components/ApiInfo/MarketplaceTab.tsx
  • ipaas/src/components/ApiInfo/LabelsAutocomplete.tsx
  • ipaas/src/config/runtimeConfig.ts
  • ipaas/src/pages/ComponentIntegration.tsx
  • ipaas/src/pages/AGENTS.md
  • ipaas/src/components/DeploymentTrackBar.tsx
  • ipaas/AGENTS.md
  • ipaas/src/hooks/useApim.ts
  • ipaas/src/api/wip/apim.ts

Comment thread ipaas/src/pages/ComponentPlans.tsx Outdated
Comment thread ipaas/src/pages/ComponentPlans.tsx Outdated
@sm1990
sm1990 merged commit 0646743 into wso2:devant-migration Jul 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants