Skip to content

Conversation

@anuj-kumary
Copy link
Contributor

@anuj-kumary anuj-kumary commented Jan 29, 2026

Describe your changes:

  • Added asset type filter support from both client side as well server side.
  • Added highlighted row support whenever a user updates any column value.
  • Change selected column color and it's nested childrens column
  • Changes metadata status options and label
Screen.Recording.2026-01-31.at.3.50.11.PM.mov
Screen.Recording.2026-01-31.at.3.51.57.PM.mov

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Summary by Gitar

  • Visual feedback enhancement:
    • Yellow highlight (1000ms) for updated rows in ColumnGrid.component.tsx via WebSocket job completion
    • Gray background styling for selected rows and nested children in ColumnGridTableRow.tsx
  • Silent data refresh:
    • Modified refetch() to accept { silent?: boolean } for background updates without loading spinners
  • Metadata filter redesign:
    • Replaced coverage filters with attribute-specific filters (HAS_DESCRIPTION, MISSING_DESCRIPTION, HAS_TAGS, HAS_GLOSSARY)
  • Search index expansion:
    • Added TOPIC, CONTAINER, SEARCH_INDEX support in useColumnGridFilters.tsx

This will update automatically on new commits.


@github-actions
Copy link
Contributor

github-actions bot commented Jan 29, 2026

Jest test Coverage

UI tests summary

Lines Statements Branches Functions
Coverage: 65%
65.84% (55661/84545) 44.93% (28766/64026) 47.8% (8762/18330)

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

The Java checkstyle failed.

Please run mvn spotless:apply in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Java code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

@gitar-bot
Copy link

gitar-bot bot commented Feb 2, 2026

Reviewing your code

Code Review ✅ Approved 3 resolved / 3 findings

Well-implemented feature with visual feedback enhancement, new service type filter, redesigned metadata filters, and proper cleanup. No significant issues found.

✅ 3 resolved
Bug: Missing cleanup of pendingHighlightRowIdsRef on WebSocket error

📄 openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.component.tsx:189-191
When the WebSocket notification indicates a job failure (status is not 'COMPLETED' or 'SUCCESS'), the code resets isUpdating state and shows an error toast, but it doesn't clear pendingHighlightRowIdsRef. This can lead to stale row IDs persisting in memory, and if a subsequent successful job uses the same activeJobIdRef but different rows, the highlights could be incorrect.

Impact: In failure scenarios, stale row IDs remain in pendingHighlightRowIdsRef which could cause incorrect highlighting behavior in subsequent operations.

Suggested fix: Clear pendingHighlightRowIdsRef in the failure path:

} else {
  pendingHighlightRowIdsRef.current = new Set(); // Clear pending highlights
  setIsUpdating(false);
  showErrorToast(t('server.unexpected-error'));
}
Quality: Translation key inconsistency: some locales have untranslated text

📄 openmetadata-ui/src/main/resources/ui/src/locale/languages/ko-kr.json:2537
The missing-description translation key has inconsistent translations across locales. Several non-English locales have the English text "Missing Description" instead of a proper translation:

  • ko-kr.json (Korean): "Missing Description"
  • mr-in.json (Marathi): "Missing Description"
  • nl-nl.json (Dutch): "Missing Description"
  • pr-pr.json (Persian): "Missing Description"
  • pt-br.json (Portuguese-BR): "Missing Description"
  • pt-pt.json (Portuguese-PT): "Missing Description"
  • ru-ru.json (Russian): "Missing Description"
  • th-th.json (Thai): "Missing Description"
  • tr-tr.json (Turkish): "Missing Description"

These should be translated to their respective languages for proper i18n support.

Suggested fix: Have translators provide proper translations for these locales, or use the existing translated has-description, has-glossary, and has-tags keys as reference since they appear to be properly translated.

Bug: Timer not cleared if component unmounts during highlight

📄 openmetadata-ui/src/main/resources/ui/src/pages/ColumnBulkOperations/ColumnGrid/ColumnGrid.component.tsx:181-186
The setTimeout call at line ~183 that clears recentlyUpdatedRowIds after 1000ms is not tracked in a ref and not cleared on component unmount. If the component unmounts before the timeout completes, the callback will still execute, attempting to update state on an unmounted component.

While React 18 batches state updates and this won't cause crashes, it's a potential memory leak and could log warnings in development mode.

Suggested fix: Store the timer ID in a ref and clear it in the effect's cleanup function:

const highlightTimerRef = useRef<NodeJS.Timeout | null>(null);

// In the WebSocket handler:
highlightTimerRef.current = setTimeout(() => {
  setRecentlyUpdatedRowIds(new Set());
  setCollapseAllExpandedRows(true);
}, ROW_HIGHLIGHT_TIMEOUT);

// In the effect cleanup:
return () => {
  if (highlightTimerRef.current) {
    clearTimeout(highlightTimerRef.current);
  }
  // ... rest of cleanup
};
Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 2, 2026

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

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants