Skip to content

[web-console] Several connector UI improvements#5851

Merged
Karakatiza666 merged 2 commits intomainfrom
connectors-ui
Mar 18, 2026
Merged

[web-console] Several connector UI improvements#5851
Karakatiza666 merged 2 commits intomainfrom
connectors-ui

Conversation

@Karakatiza666
Copy link
Contributor

@Karakatiza666 Karakatiza666 commented Mar 17, 2026

Move transaction state icon to a separate column

Improve connector error description animation

Indicate presence of a fatal error in connectors table and connector error list

Testing: manually tested new icons location and UX, updated UI tests

Screencast.from.2026-03-18.03-00-33.webm
Screencast.from.2026-03-18.01-28-14.webm

Move transaction state to a separate column

Improve connector error description animation

Indicate presence of a fatal error in connectors table and connector error list

Signed-off-by: Karakatiza666 <bulakh.96@gmail.com>
Signed-off-by: Karakatiza666 <bulakh.96@gmail.com>
{
paused?: boolean
barrier?: boolean
Pick<InputEndpointStatus, 'paused' | 'barrier' | 'health' | 'fatal_error'> & {
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this 'health' or 'healthy'?
As a value I expected the latter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These are names of the fields rather than the field value (healthy), so the strings are correct

<span data-testid="box-icon-barrier" class="fd fd-construction text-[16px] text-warning-500"
></span>
<Tooltip placement="top">Commit blocked by this input</Tooltip>
<Tooltip placement="top">Checkpointing is blocked by this connector</Tooltip>
Copy link
Contributor

Choose a reason for hiding this comment

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

This message is very different. I hope this is correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. Requested by Leonid

data-testid="box-icon-transaction-committed"
class="fd fd-receipt-text text-[16px] text-success-500"
></span>
<Tooltip placement="top">Ready to commit transaction</Tooltip>
Copy link
Contributor

Choose a reason for hiding this comment

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

I also hope this is correct, I don't recall the conversation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also Leonid's ask

: {}}
></span>
<Tooltip placement="top">Encode or transport errors occurred — click to view</Tooltip>
<Tooltip placement="top"
Copy link
Contributor

Choose a reason for hiding this comment

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

I have seen this before, is this a reason to factor it out in a common component?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not worth it at this point

<tr data-testid="box-connector-row-{connector.endpointName}">
<td></td>
<td>{@render connectorNameSnippet(connector, relation, true)}</td>
{@render connectorNameSnippet(connector, relation, true)}
Copy link
Contributor

Choose a reason for hiding this comment

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

why an empty row before?
Does this generate table rows?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is an empty column (cell), this is because the first column is for table name, which is not specified in the per-connector row


// Click to expand
await page.getByTestId('box-relation-row-t1').click()
await page.getByTestId('box-relation-row-t1').click({ position: { x: 1, y: 0 } })
Copy link
Contributor

Choose a reason for hiding this comment

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

so click does not fall inside the element?

Copy link
Contributor

Choose a reason for hiding this comment

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

you should make this a function clickByTestId.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There seems to be a bug when requesting a click on the HTML element specifically , for some reason you have to specify this tiny offset for it to register, whereas you don't need to for other elements. I decided against moving it into a separate function to avoid introducing indirection, which I believe just makes it harder to read: "why it's .click() everywhere, but a special function here? What happens inside this function?". This parameter is easily copyable when needed.

})
})

describe('J. Fatal error icon', () => {
Copy link
Contributor

Choose a reason for hiding this comment

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

What is J.?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Arbitrary letter to group the tests together

@mihaibudiu
Copy link
Contributor

Tests! Fred will be so happy!

@Karakatiza666 Karakatiza666 added this pull request to the merge queue Mar 18, 2026
Copy link

@mythical-fred mythical-fred left a comment

Choose a reason for hiding this comment

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

LGTM

Merged via the queue into main with commit 3c992e0 Mar 18, 2026
1 check passed
@Karakatiza666 Karakatiza666 deleted the connectors-ui branch March 18, 2026 05:02
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.

3 participants