Skip to content

fix: type the integration progress, ui-kit and overview long tail (CM-1536) - #4986

Merged
gaspergrom merged 4 commits into
mainfrom
fix/CM-1536-long-tail-types
Oct 16, 2026
Merged

gaspergrom merged 4 commits into
mainfrom
fix/CM-1536-long-tail-types

Conversation

@gaspergrom

@gaspergrom gaspergrom commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Types the long tail: integration progress, ui-kit components, the overview and the LogRocket helper. Type errors on main drop from 187 to 152.

  • The integration progress component no longer throws on progress.find before the first fetch, and a failed progress request shows "Loading progress..." where main rendered blank cells.
  • The contenteditable input and popover casts are marked with shortcut: comments.
  • The github-nango to github remap in the progress wrapper is removed: it tested data.platform, which the progress response does not have, so it never ran.

Closes linuxfoundation/lfx-cdp-insights-ops#236

…ail (CM-1536)

Refs linuxfoundation/lfx-cdp-insights-ops#236

Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
…t at parity (CM-1536)

Refs linuxfoundation/lfx-cdp-insights-ops#236

Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Copilot AI balanced review requested due to automatic review settings October 16, 2026 03:53
@cursor

cursor Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

PR Summary

Medium Risk
Integration progress display behavior changes slightly (removed dead remap, safer null handling); mostly typing but touches live connecting-status UI across admin and overview.

Overview
Types the integration progress flow as an array and threads that through the wrapper, admin list item, notifications, and overview/admin status UIs. Polling now stores the API list directly; the old github-nango → github remap in the wrapper is removed because it keyed off a nonexistent data.platform field. Call sites use optional chaining when picking platform progress (progress?.find(...)), and the progress bar accepts undefined and shows Loading progress... when data is missing or the fetch fails.

Broad TypeScript cleanup across ui-kit (search, tabs, contenteditable, field messages, popover, Storybook renders), overview imports, project form Axios errors, merge message types, and LogRocket’s isLogRocketEnabled return type. The typecheck baseline drops from 66 to 31 errors.

Reviewed by Cursor Bugbot for commit 033acbc. Bugbot is set up for automated code reviews on this repo. Configure here.

Copilot AI 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.

🟢 Approval recommended

The focused typing corrections and null guards have no identified blocking issues.

0 open findings

What changed in this PR

Improves frontend typing across integration progress, overview components, and the UI kit while guarding against unavailable progress data.

Changes:

  • Aligns progress types with array responses and handles missing data safely.
  • Corrects component, event, and helper types.
  • Lowers the typecheck baseline from 187 errors to 152.
File Description
frontend/​typecheck-baseline.json Lowers expected error count.
frontend/​src/​utils/​logRocket/​index.ts Corrects boolean return type.
frontend/​src/​ui-kit/​tabs/​Tab.vue Guards missing parent access.
frontend/​src/​ui-kit/​search/​Search.vue Supports string and numeric values.
frontend/​src/​ui-kit/​lfx/​popover/​popover.vue Types and documents the existing client check.
frontend/​src/​ui-kit/​field-messages/​FieldMessages.vue Types validation errors and declares hideDefault.
frontend/​src/​ui-kit/​dropdown/​DropdownItem.stories.ts Types story arguments.
frontend/​src/​ui-kit/​dropdown/​Dropdown.stories.ts Types story arguments.
frontend/​src/​ui-kit/​contenteditable/​Contenteditable.vue Types DOM access and guards initialization.
frontend/​src/​modules/​overview/​components/​fragments/​trend-display.vue Corrects the type import path.
frontend/​src/​modules/​overview/​components/​fragments/​status-display.vue Guards unavailable progress.
frontend/​src/​modules/​integration/​types/​IntegrationProgress.ts Adds optional percentage.
frontend/​src/​modules/​integration/​helpers/​integration-progress-notification.ts Types notification inputs and slot data.
frontend/​src/​modules/​integration/​components/​integration-progress.vue Types status priority lookup.
frontend/​src/​modules/​integration/​components/​integration-progress-wrapper.vue Uses array response types and removes object-only normalization.
frontend/​src/​modules/​integration/​components/​integration-progress-bar.vue Accepts undefined progress.
frontend/​src/​modules/​admin/​modules/​projects/​components/​form/​lf-project-form.vue Types error response data.
frontend/​src/​modules/​admin/​modules/​integration/​pages/​integration-status.page.vue Guards unavailable progress.
frontend/​src/​modules/​admin/​modules/​integration/​components/​status/​integration-platform-select.vue Declares event return type.
frontend/​src/​modules/​admin/​modules/​integration/​components/​integration-list-item.vue Corrects progress prop to an array.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Signed-off-by: Gašper Grom <gasper.grom@gmail.com>

# Conflicts:
#	frontend/typecheck-baseline.json
Copilot AI balanced review requested due to automatic review settings October 16, 2026 04:05
@gaspergrom
gaspergrom merged commit f9e032b into main Oct 16, 2026
14 checks passed
@gaspergrom
gaspergrom deleted the fix/CM-1536-long-tail-types branch October 16, 2026 04:08

Copilot AI 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.

🟢 Approval recommended

Static review found no blocking issues in the focused typing and null-safety changes.

0 open findings

🧠 Review effort: Balanced

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