Skip to content

SR Context: Subject List, Edit Mode, and Edit Compatibility#2308

Merged
r-vasquez merged 7 commits intofe/sr-context-supportfrom
rv/sr-context-1
Mar 18, 2026
Merged

SR Context: Subject List, Edit Mode, and Edit Compatibility#2308
r-vasquez merged 7 commits intofe/sr-context-supportfrom
rv/sr-context-1

Conversation

@r-vasquez
Copy link
Contributor

This is the first PR that goes to the integration branch, is best reviewed commit by commit. It includes support of SR Context in the following pages

Subject List
image

Edit Mode
image

Edit Compatibility
image


It also includes handling of the feature being configured or not, meaning that if the user doesn't set the schema_registry_enable_qualified_subjects cluster property, it will see the normal Schema Registry pages.

These include changes for managing context
This is now possible with the latest
sr client version.
Now part of our hook so we can query it
easily in our pages.
The FE can benefit from the enhanced
response when viewing the list of contexts
available within the Schema Registry
Add context-aware subject filtering to the schema
registry list page. Subjects are grouped by their
SR context (default, named, or all) and users can
switch contexts via a new dropdown selector.

- Add context utils for parsing qualified subject
  names and deriving context metadata
- Add SchemaContextSelector combobox component
- Integrate context selector into schema list page
- Query SR contexts API for mode/compatibility
- Add unit and component tests
Now you can use the edit-mode page to edit
a context-level SR mode. This includes:

- Ability to reset to default (global mode)
- OnClose takes you to the list on the same
  context you were on.
- Page when trying to access the page for
  a context without configuring context
  parsing first.
- Tests.
Now you can use the edit-compatibility page to edit
a context-level SR compat. This includes:

- Ability to reset to default (global compat)
- OnClose takes you to the list on the same
  context you were on.
- Page when trying to access the page for
  a context without configuring subject parsing.
- Tests.
Copy link
Contributor

@c-julin c-julin left a comment

Choose a reason for hiding this comment

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

I would also recommend adding integration tests on pkg/api should be fairly straightforward i think theres a way to run it against a nightly image

);
}

function ContextsNotSupportedPage() {
Copy link
Contributor

Choose a reason for hiding this comment

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

This function appears twice, could it not be reused?

@@ -11,15 +11,17 @@

import { Box, CodeBlock, Flex, Grid, GridItem, RadioGroup, Text, useToast } from '@redpanda-data/ui';
Copy link
Contributor

Choose a reason for hiding this comment

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

iirc Blair mentioned using sonner in one of our threads not sure if thats something you're addressing later?

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, I'm trying to finish the new feature first, then I'll migrate the components to the new UI. Sometimes is easy and I'll do it as I go, but other times involves additional code and testing that I can't afford right now given the time constraint.

});

test('empty string is a named context', () => {
expect(isNamedContext('')).toBe(true);
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 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.

Good catch, I was using empty as the equivalent of default, but this logic was flawed so I changed that behavior for the __default__ ID. I will change this function to treat empty values as nonNamedContexts

@r-vasquez r-vasquez merged commit 1c0df44 into fe/sr-context-support Mar 18, 2026
23 checks passed
@r-vasquez r-vasquez deleted the rv/sr-context-1 branch March 18, 2026 01:51
@r-vasquez
Copy link
Contributor Author

@c-julin I have added these changes to #2321 which points to the same integration branch.

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