Repository navigation
Fixes #34870: Platform Settings part 4 — Search - #34896
chirag-madlani merged 1 commit into
Conversation
✅ PR checks passedThe linked issue has a description and all required Shipping project fields set. Thanks! |
🔄 Playwright impact map auto-refreshedThis PR touched specs or UI source that changed the source→spec routing map. I regenerated What is this file? It is the auto-generated half of Playwright's PR planner. It routes "if source X changes, run specs Y" by walking spec imports and cross-referencing What if I want to regenerate locally instead? Run this before pushing your next change to skip the bot commit: python3 .github/scripts/generate_playwright_impact_map.py
git add .github/playwright/impact-map.generated.json
git commit --amend --no-edit # or a separate commit |
7dce727 to
b1a1a7e
Compare
cdc37c0 to
2768db9
Compare
2768db9 to
47c082d
Compare
b1a1a7e to
372c1eb
Compare
47c082d to
7d9952f
Compare
9a34ea0 to
bb17587
Compare
372c1eb to
844c4f4
Compare
bb17587 to
b06c3e9
Compare
Moves Settings > Preferences > Search into the AI-mode settings modal: the global search settings (access control, column indexing, limits, hybrid weights, term and field value boosts, reset) and one page per entity (ranking, matching fields, modes, boosts) with a live preview of the unsaved draft. Built on ui-core-components only. Platform Settings pages can now have read-only item sub-pages at <page>/<itemId>; header titles and breadcrumbs move into getPageHeader.
844c4f4 to
3f71a7c
Compare
b06c3e9 to
2cc155c
Compare
Code Review ✅ Approved 4 closed / 4 findings🔴 High risk · Adding controls to change search access control and ranking settings could expose restricted assets or alter which results users see. Completes the Platform Settings migration by moving the classic Search page into the modal with per-entity configuration pages. Global search settings save immediately per toggle or limit change; per-entity settings draft together and save on confirmation. Resolved immediate-save term boost data loss, entity term boost deletion, preview refetch thrashing on slider edits, and failed-save editor dismissal. Comprehensive test coverage (95.5% lines, 160 unit tests, 19 Playwright tests) confirms the implementation. No issues remain. ✅ 4 closed✅ Bug: Any immediate save throws away unsaved term boost edits
✅ Edge Case: Can't delete a new entity term boost once a tag is picked
✅ Performance: Preview refetches on every slider tick of a draft edit
✅ Bug: Failed saves still close the editor and drop the user's input
OptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|
bb792d8
into
chirag-madlani/ai-mode-settings-modal-pr3



Describe your changes:
Fixes #34870
Moves the last classic Settings → Preferences page, Search, into the AI-mode settings modal's Platform Settings. With this, Platform Settings covers all 12 legacy pages. The new UI is built only from
@openmetadata/ui-core-components; the classic Search pages are untouched.Type of change:
High-level design:
Item sub-pages. Search has one page per entity type, so Platform Settings pages can now set
hasItemViews.#platform-settings/search/<entity>opens that entity's settings, with its own title (getItemTitle) and breadcrumb. The header title and breadcrumb logic moved out of the panel into a puregetPageHeaderutil.Global Search (
SearchSettingsView,GlobalSearchSettings,HybridWeightsSection,NumberSettingRow,SearchEntityCards)searchConfig.searchSettingsClassBase.showHybridSearchWeights()allows. The keyword weight is always the complement of the semantic weight.HookFormdialog. Add, edit and delete save straight away.Per-entity Search (
EntitySearchSettings,RankingSection,MatchingFieldCard,SearchPreviewPanel,TermBoostCard,FieldValueBoostTable,FieldValueBoostDialog)extension.*). Each field has weight, match type and highlighting; highlighting is offered only for fields the server marks highlightable.Settings load once per mount on both pages. Under StrictMode, a second response could otherwise reset a draft or term boosts the user had already started editing (the same issue PR3 fixed in
useSettingsFetch).Tests:
Use cases covered
search/<entity>round-trips, its title and breadcrumbs, and the breadcrumb back to Search.Unit tests
SearchSettingsView.test.tsx,EntitySearchSettings.test.tsx,SearchPreviewPanel.test.tsx,TermBoostCard.test.tsx,SearchSettings.utils.test.ts; updatedPlatformSettings.utils.test.tsandPlatformSettingsPanel.test.tsx.Backend integration tests
Ingestion integration tests
Playwright (UI) tests
playwright/e2e/Features/ProfilePlatformSettings.spec.tsto 19 tests:tableonly.Local run against a dev server (
PLAYWRIGHT_IS_OSS=true, local backend on :8585):Features/ProfilePlatformSettings.spec.tsManual testing performed
UI screen recording / screenshots:
Recording (
platform-settings-pr4-walkthrough.mp4, 60s) and screenshots to be attached.platform-settings-pr4-walkthrough.mp4
Checklist:
I have read the CONTRIBUTING document.
My PR title is
Fixes <issue-number>: <short explanation>My PR is linked to a GitHub issue via
Fixes #<issue-number>above.I have commented on my code, particularly in hard-to-understand areas.
For JSON Schema changes: Not applicable — no schema changes.
For UI changes: I attached a screen recording and/or screenshots above.
I have added tests (unit / integration / Playwright as applicable) and listed them above.
The issue properly describes why the new feature is needed, what's the goal, and how we are building it.
I have updated the documentation. Not applicable — UI move; no user-facing docs change.
I have added tests around the new logic.
🤖 Generated with Claude Code