Skip to content

feat: build logs virtualisation#1044

Open
AbhishekA1509 wants to merge 3 commits into
feat/custom-plugin-conditionsfrom
feat/logs-virtualization
Open

feat: build logs virtualisation#1044
AbhishekA1509 wants to merge 3 commits into
feat/custom-plugin-conditionsfrom
feat/logs-virtualization

Conversation

@AbhishekA1509

Copy link
Copy Markdown
Member

Description

This pull request introduces virtual scrolling for log rendering in the CICD history view, aiming to improve performance and user experience when handling large log datasets. The main changes include replacing the previous accordion-based log stage implementation, extracting and refactoring the log stage header, updating the scroll-to-top logic, and adding the @tanstack/react-virtual dependency for efficient rendering.

Log Rendering Virtualization and Refactoring:

  • Introduced virtual scrolling for log lines using @tanstack/react-virtual, significantly improving performance for large logs. This includes the addition of the LogLine component and related constants for virtualization. (src/Shared/Components/CICDHistory/LogsRenderer.tsx, [1] [2]
  • Added the @tanstack/react-virtual package as a dependency to support virtualized lists. (package.json, package.jsonR116)

Component Structure and Codebase Refactoring:

Minor Improvements:

  • Changed the scroll-to-top logic in the useScrollable helper to use direct assignment (scrollTop = 0) for improved reliability. (src/Common/Helper.tsx, src/Common/Helper.tsxL894-R894)
  • Updated the package version from 1.22.2-pre-1 to 1.22.2-beta-0 to reflect the new beta release. (package.json, package.jsonL3-R3)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Test A
  • Test B

Checklist

  • The title of the PR states what changed and the related issues number (used for the release note).
  • Does this PR require documentation updates?
  • I've updated documentation as required by this PR.
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas

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.

1 participant