Skip to content

Conversation

@camiloHimura
Copy link
Contributor

Summary

Screen.Recording.2026-01-14.at.12.24.43.mov

How to test

Checklist

  • The PR title and description are clear and descriptive
  • I have manually tested the changes
  • All changes are covered by automated tests
  • All related issues are linked to this PR (if applicable)
  • Documentation has been updated (if applicable)

@camiloHimura camiloHimura requested a review from a team as a code owner January 14, 2026 11:27
Copilot AI review requested due to automatic review settings January 14, 2026 11:27
@camiloHimura camiloHimura added the Geti Tune UI Issues related to Geti Tune UI label Jan 14, 2026
@github-actions github-actions bot added the TEST Any changes in tests label Jan 14, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the sinks management interface to display a list view of configured sinks with improved styling and user interaction. The changes move from inline form editing to a list-based UI with dedicated add/edit flows, matching the pattern used for sources.

Changes:

  • Implemented a list view for displaying all configured sinks with status indicators
  • Added separate flows for adding new sinks and editing existing ones
  • Refactored sink form components to be reusable between add and edit modes

Reviewed changes

Copilot reviewed 32 out of 32 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
application/ui/src/features/inference/sinks/sink-list/sink-list.component.tsx New component displaying sinks in a card-based list with add button
application/ui/src/features/inference/sinks/sink-actions.component.tsx New component managing view state transitions between list/add/edit modes
application/ui/src/features/inference/sinks/add-sink/add-sink.component.tsx New wrapper component for adding sinks with auto-connect functionality
application/ui/src/features/inference/sinks/edit-sink/edit-sink.component.tsx New wrapper component for editing existing sinks with save options
application/ui/src/features/inference/sinks/webhook/webhook.component.tsx Refactored to accept defaultState prop instead of managing form state internally
application/ui/src/features/inference/sinks/mqtt/mqtt.component.tsx Refactored to accept defaultState prop instead of managing form state internally
application/ui/src/features/inference/sinks/local-folder/local-folder.component.tsx Refactored to accept defaultState prop instead of managing form state internally
application/ui/src/features/inference/sinks/output-formats/output-formats.component.tsx Moved to subdirectory and updated to use CheckboxGroup with isRequired validation
application/ui/src/features/inference/sinks/hooks/use-sink-action.hook.tsx Modified to support optional onSaved callback instead of auto-connecting to pipeline
application/ui/src/hooks/api/pipeline.hook.ts Added useConnectSinkToPipeline hook for connecting sinks to pipeline
application/ui/tests/inference/inference.spec.ts Updated test expectations to match new button labels and list-based UI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

</Switch>
</Flex>
</Form>
<OutputFormats config={defaultState.output_formats} />{' '}
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

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

Remove trailing whitespace after the closing tag.

Suggested change
<OutputFormats config={defaultState.output_formats} />{' '}
<OutputFormats config={defaultState.output_formats} />

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

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

We do need this space, right?

Comment on lines +11 to +12
export type SinkDisconnectedOutputFormats = components['schemas']['RosSinkConfigView'];
export type RosSinkConfig = components['schemas']['RosSinkConfigView'];
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

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

The type alias 'SinkDisconnectedOutputFormats' is misleading as it's assigned the same type as 'RosSinkConfig'. Either this is an error and should reference a different schema, or the name should be changed to reflect what it actually represents. Consider renaming to something more appropriate or using the correct schema type.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

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

+1

@github-actions
Copy link

📊 Test coverage report

Metric Coverage
Lines 34.5%
Functions 31.5%
Branches 86.5%
Statements 34.5%

@github-actions
Copy link

Docker Image Sizes

CPU

Image Size
geti-tune-cpu:pr-5188 2.88G
geti-tune-cpu:sha-fe1a491 2.88G

GPU

Image Size
geti-tune-gpu:pr-5188 10.65G
geti-tune-gpu:sha-fe1a491 10.65G

XPU

Image Size
geti-tune-xpu:pr-5188 8.72G
geti-tune-xpu:sha-fe1a491 8.72G

Copy link
Contributor

@jpggvilaca jpggvilaca left a comment

Choose a reason for hiding this comment

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

some minor comments but LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Geti Tune UI Issues related to Geti Tune UI TEST Any changes in tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants