Skip to content

New navigation#2101

Draft
RemiBonnet wants to merge 255 commits intostagingfrom
new-navigation
Draft

New navigation#2101
RemiBonnet wants to merge 255 commits intostagingfrom
new-navigation

Conversation

@RemiBonnet
Copy link
Copy Markdown
Member

@RemiBonnet RemiBonnet commented Oct 24, 2025

Summary

  • When the user scrolls up in live logs (service, deployment, cluster), the view sticks to the current position instead of following new incoming lines
  • A "Jump to latest log" button appears at the bottom with a badge showing the count of new log lines received while scrolled away
  • Scrolling back to the bottom automatically resumes live streaming and dismisses the button
  • Scrolling up now requires crossing an 80px threshold before pausing, preventing accidental triggers from small scroll gestures
  • Fixed: deployment logs were not rendering new lines while scrolled up — incoming message chunks were blocked from flushing to the DOM until the user scrolled back down, causing a visible pop of content on resume
  • Renamed internal state for clarity: pauseLogsisScrollPaused, newLogsAvailable (boolean) → bufferedLogsCount (number)

Screenshots / Recordings

N/A

Testing

  • Changes tested locally in the relevant Console's pages and Storybooks
  • yarn test or yarn test -u (if you need to regenerate snapshots)
  • yarn format
  • yarn lint

PR Checklist

  • I followed naming, styling, and TypeScript rules (see .cursor/rules)
  • I performed a self-review (diff inspected, dead code removed)
  • I titled the PR using Conventional Commits with a scope when possible (e.g. feat(service): add new Terraform service) - required for semantic-release
  • I only kept necessary comments, written in English (watch for useless AI comments)
  • I involved a designer to validate UI changes if I am not a designer
  • I covered new business logic with tests (unit)
  • I confirmed CI is green (Codecov red can be accepted)
  • I reviewed and executed locally any AI-assisted code

@RemiBonnet
Copy link
Copy Markdown
Member Author

Qovery Preview

Qovery can create a Preview Environment for this PR.
To trigger its creation, please post a comment with one of the following command.

Command Blueprint environment
/qovery preview cc1de7de-94e5-40f8-8e45-bc8986d9dfec storybook
/qovery preview 28c47145-c8e7-4b9d-8d9e-c65c95b48425 staging
/qovery preview {all|UUID1,UUID2,...} To preview multiple environments

This comment has been generated from Qovery AI 🤖.
Below, a word from its wisdom :

Don’t Sacrifice Readability, you are going to debug it in 6 months

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 24, 2025

Codecov Report

❌ Patch coverage is 37.01149% with 548 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.56%. Comparing base (9aaab7e) to head (a8087c9).
⚠️ Report is 1 commits behind head on staging.

Files with missing lines Patch % Lines
...eature/src/lib/audit-logs-view/audit-logs-view.tsx 0.00% 108 Missing ⚠️
...eature/src/lib/cluster-actions/cluster-actions.tsx 48.30% 48 Missing and 13 partials ⚠️
...ster-creation-flow/step-features/step-features.tsx 30.48% 49 Missing and 8 partials ⚠️
...dit-logs/feature/src/lib/audit-logs/audit-logs.tsx 1.88% 52 Missing ⚠️
...on-flow/step-summary/step-summary-presentation.tsx 24.63% 43 Missing and 9 partials ⚠️
...uster-actions/select-eks-anywhere-commit-modal.tsx 0.00% 39 Missing ⚠️
...ced-settings/cluster-advanced-settings-feature.tsx 0.00% 29 Missing ⚠️
...luster-creation-flow/step-general/step-general.tsx 39.58% 23 Missing and 6 partials ⚠️
.../lib/cluster-card-feature/cluster-card-feature.tsx 24.13% 11 Missing and 11 partials ⚠️
...-creation-flow/step-kubeconfig/step-kubeconfig.tsx 50.00% 16 Missing and 1 partial ⚠️
... and 11 more
Additional details and impacted files
@@             Coverage Diff             @@
##           staging    #2101      +/-   ##
===========================================
- Coverage    47.67%   45.56%   -2.11%     
===========================================
  Files         1281     1121     -160     
  Lines        23858    22915     -943     
  Branches      7053     6692     -361     
===========================================
- Hits         11374    10441     -933     
- Misses       10324    10588     +264     
+ Partials      2160     1886     -274     
Flag Coverage Δ
unittests 45.56% <37.01%> (-2.11%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

RemiBonnet and others added 13 commits January 19, 2026 11:06
* Init organization overview

* Add webflow libraries
* feat: add basis for authentication

* chore: rename orgId to organizationId

* fix: glitch when switching routes

* impr: cleaning up auth-redirect component

* fix: import statements
impr: add logout button and better redirection
…d sections (#2238)

feat(organization-overview): add first part of sections
* feat(navigation): add general layout (#2110)

* feat: add navbar and init layout

* feat: start breadcrumb and update all popover and dropdown menu colors

* feat(new-nav): add basis for routing (#2206)

feat: add basis for routing

---------

Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com>

* feat(organization-overview): first part production health cluster

* fix(routes): routeTree.gen.ts

* Add feedback

* Remove useless file

---------

Co-authored-by: Romain Billard <rmnbrd@users.noreply.github.com>
* feat(cluster-card): token

* feat(organization-navigation): implement dynamic navigation context and refactor organization route

* feat(routes): add audit logs and cluster settings routes, update breadcrumbs for cluster navigation
… service components (tanstack not compatible)
* feat(routes): add cluster logs and settings routes, refactor organization route structure and navigation components

* fix(cluster-overview): card colors

* fix(cluster-overview): table colors

* fix(cluster-setup-modal): update text colors and improve layout consistency

* fix(cluster-access-modal): add new token

* fix(cluster): update token overview

* Enhance layout consistency in cluster overview components

* fix: some tests
* feat(sidebar): add new component deprecated navigation-left

* feat(sidebar): add new component
* feat(cluster-logs): init new row with token

* feat(routes): update route tree and add layout configuration

- Refactored route imports in `routeTree.gen.ts` to include new routes and improve organization.
- Introduced `route-layout-config.ts` to manage layout options for routes.
- Enhanced `OrganizationRoute` to conditionally apply full-width layout based on route context.
- Updated `ClusterLogs` component to include scrolling behavior and improved layout handling.
- Added new components for cluster log rows and headers with associated tests.

* fix(cluster-logs): adjust scroll behavior and layout improvements

- Updated scroll behavior to include additional padding for better visibility of logs.
- Enhanced layout structure by modifying the component hierarchy for improved responsiveness.
- Adjusted styling for the log header and container to ensure consistent appearance across different states.
RemiBonnet and others added 11 commits April 8, 2026 12:44
* feat(helm): add settings values override as file/arguments

* test(helm): enhance ValuesOverrideFilesSetting tests with mocked useParams and onSubmit prop
…ces list (#2576)

* feat(v5): add last deployment time to "last deployment" cell of services list

* Update snapshots

* Fix layout on small screens
…2571)

* fix(anywhere): allow to edit Infrastructure charts source

* feat(eks-anywhere): allow to select the commit id

* feat(anywhere): do not display static kube version

* handle comments

* handle comments v2
)

* fix(breadcrumbs): integrate favorite projects sorting in breadcrumbs and project list

* refactor(login): update Icon component to conditionally apply opacity based on loading state

* fix(header): improve layout and responsiveness of header components
* fix(accept-invitation): enhance UI and fix redirect issues

* test(accept-invitation): remove disabled state expectation for accept button in loading scenario

* refactor(use-invite-member): remove unused LOGOUT_URL and streamline logout process

* refactor(use-invite-member): replace useLocation with useMatchRoute for improved route matching

* feat(header): update header component to include organization link and useParams for dynamic routing

* style(header): reorder class names for improved readability and maintainability
* feat(new-nav): add Helm networking settings view

* Update snapshots

* Remove isSetting prop and tiny UI tweaks

* Get rid of optimistic behavior in favor of a classic loading state

* Remove HelmNetworkingSettingsContent

* Add sorting

* Update snapshots

* Add unit tests

* Update UI for button's loading state and add missing name

* Fix condition for button's loading state
…iated tests (#2585)

* feat(variable-modal): implement variable value editor modal and associated tests

* fix(input-text-area): update label class to prevent pointer events when disabled

* test(variable-value-editor-modal): enhance tests to ensure submit and cancel buttons are rendered

* refactor(variable-value-editor-modal): simplify value editor logic and remove unused functions

* fix(general-setting): update snapshot to prevent pointer events on disabled label
rmnbrd and others added 3 commits April 10, 2026 16:19
…2586)

* feat(v5): add "Job configuration" settings section

* Remove useless old pages

* Post-review fixes

* Update unit tests

* Post-comment fix
…2591)

Replace static backend-polled timestamps with a local setInterval ticker
on service/environment overview last deployment sections and the deployment
logs header and stage step durations.
…ter logs

- When the user scrolls up, the view sticks to the current position
- A "Jump to latest log" button appears at the bottom with a badge showing the count of new log lines received while scrolled away
- Scrolling back to the bottom automatically resumes live streaming
- Pausing on scroll now requires a 80px threshold to avoid accidental triggers
- Fixed deployment logs not rendering new lines while scrolled up (chunks were blocked from flushing when paused)
- Renamed internal state: pauseLogs → isScrollPaused, newLogsAvailable → bufferedLogsCount for clarity
@acarranoqovery acarranoqovery changed the title New navigation feat(logs): add Slack-like scroll UX to service, deployment and cluster logs Apr 13, 2026
acarranoqovery and others added 2 commits April 13, 2026 09:08
…ags (#2590)

* feat(eks-anywhere): add cluster backup configuration and hide extra tags

Add backup configuration support for EKS Anywhere clusters
Hide Extra tags section for PARTIALLY_MANAGED (EKS Anywhere) clusters
  in both creation flow and cluster settings

* show S3 backup region as a list

* refactor(cluster-creation): simplify cluster backup display logic in step summary

---------

Co-authored-by: RemiBonnet <bonnet.rem@gmail.com>
@RemiBonnet RemiBonnet changed the title feat(logs): add Slack-like scroll UX to service, deployment and cluster logs New navigation Apr 13, 2026
RemiBonnet and others added 11 commits April 14, 2026 10:44
* fix(service-overview): add last deployment section and update managed database handling

* feat(instance-metrics): enhance deployment status handling and add empty state for never-deployed services

* fix(instance-metrics): update snapshot styles for consistency in empty and null data states

* fix(service-header): change button variant from surface to outline

* fix(environments-table): sort environments by name before grouping by mode

* fix(service-list): remove unnecessary border classes from header and cell components in ServiceListSkeleton

* fix(stage-status-chip): size chip

* fix(environment-deployment-list): update button to use iconOnly variant and improve loading icon handling

* fix(service-list): enhance checkbox interaction and update snapshot styles for improved selection handling

* fix(service-list): update snapshot to reflect changes in ServiceVersionCell and improve rendering of last commit information

* fix(service-list): refine checkbox header interaction and update styles for confirmation modal
…2594)

* fix(deployment-logs): refresh header and remove queud loader scroll

* refactor(vite.config): remove react plugin and update JSX runtime configuration

- Removed the react plugin from Vite configuration.
- Added automatic JSX runtime configuration for improved compatibility.
* feat(actions): reduce confirmation friction

* fix(cluster-actions): resolve TypeScript issues with URLSearchParams usage

* refactor(danger-zone): remove unused EnvironmentModeEnum import and clean up delete project modal

* style(service-actions): update text color classes for improved readability in service action descriptions

* refactor(service-remove-modal): simplify modal props by spreading serviceRemoveModal object and update styles for better interaction

* fix(service-actions): prevent stopping action when already in STOPPED state
* fix(user-settings-modal): horizontal border width

* refactor(user-menu): remove "Give feedback" item from user menu

* fix(service-list): rename "Last deployment" header to "Last operation" in service list

* fix(variable-list-action-bar): update selected variable count display to show "0 selected variable" when none are selected

* refactor(monitoring-dashboard): remove unused cluster running status hook

* fix(overview): enhance environment and service headers with tooltips and layout adjustments

* fix(environment-section): add tooltip for environment name and adjust layout for better responsiveness

* fix(service-list): improve status label formatting in service list component

* fix(banner): change button variant from surface to solid for improved visibility

* fix(header): add correct cluster avatar

* refactor(user-settings-modal): integrate Radix Dialog for modal rendering and improve user Git provider logic
…er logs (#2592)

* feat(logs): add Slack-like scroll UX to service, deployment, and cluster logs

- When the user scrolls up, the view sticks to the current position
- A "Jump to latest log" button appears at the bottom with a badge showing the count of new log lines received while scrolled away
- Scrolling back to the bottom automatically resumes live streaming
- Pausing on scroll now requires a 80px threshold to avoid accidental triggers
- Fixed deployment logs not rendering new lines while scrolled up (chunks were blocked from flushing when paused)
- Renamed internal state: pauseLogs → isScrollPaused, newLogsAvailable → bufferedLogsCount for clarity

* fix(logs): use arrow-down icon, drop unused newMessagesAvailable prop

* fix(logs): show jump button on deployment logs even when deployment is completed
* feat(new-nav): add Terraform creation flow

* Remove useless comments

* Fix router-related TS warnings and posthog event

* Move useDocumentTitle hook usage to route components

* Move files around and clean up

* Fix import statement

* Change timeout_sec default value

* Post-review UI tweaks

* Update snapshots

* Add support for Terraform templates

* Add disabled state for variables step's continue button when errors are present

* Move files around and clean up

* Fix lint issue

* Fix empty variables popover values

* Remove useless files

* Move some function to utils folder

* Fix background color for selected rows of TF vars table

* Fix summary font style
* fix(page-settings): auto-select No Access when unchecking

* format fix

* rewrite repetitive conditions
* feat(mcp-server): add MCP server settings route and component

* fix(settings-mcp-server): correct type assertion for MCP_TOOLS array

* refactor(settings-mcp-server): update component to enhance API token configuration steps and adjust headings

* style(settings-mcp-server): add cursor pointer to Navbar items for better UX
* chore(overview): Update environment overview

* chore(overview) : Update api call
* fix(onboarding): add some fixes

* feat(breadcrumbs): add create organization action

* feat(onboarding): enhance navigation with previous URL support

* feat(organization-banners): replace FreeTrialBanner with OrganizationFreeTrialBanner and add new banner component

* fix(mocks): simplify Auth0Provider and withAuthenticationRequired mock implementations

* chore(jest): remove jest-canvas-mock from setupFilesAfterEnv

* feat(onboarding): update onboarding flow to redirect to project creation and adjust navigation logic

* chore(jest): update jest configuration and add custom preset for shared routes

* fix(onboarding): update navigation logic in tests to reflect new organization URL structure

* refactor(onboarding): simplify onboarding logic by removing unused hooks and adjusting navigation flow

* feat(onboarding): integrate organization data into onboarding flow for improved navigation

* refactor(onboarding): streamline form handling and context integration in onboarding project component

* refactor(breadcrumbs): enhance CommandMenu styling with dynamic height adjustment based on footer action

* refactor(onboarding): enhance onboarding project component with toast notifications and adjust organization creation logic

* refactor(onboarding): improve organization creation flow by awaiting analytics calls and adjusting toast notification placement

* refactor(onboarding): remove await from analytics capture for organization creation event

* fix(onboarding): move success toast notification to the correct position after organization creation

* refactor(onboarding): update StepProject tests to use FormProvider and renderWithProviders for improved form context handling

* test(onboarding): update StepProject test to use queryByRole for button existence check

* fix(onboarding): update default selected plan to TEAM_2025 in onboarding context

* feat(onboarding): enhance onboarding entry logic to include personalized step handling

* feat(clusters): add AddCreditCardModalFeature and integrate credit card restrictions in cluster creation flow

* refactor(clusters): simplify AddCreditCardModalFeature by removing FormProvider and enhancing error handling

* fix(section-production-health): update description for local machine deployment to remove 'Desktop'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants