Skip to content

Conversation

@askumar27
Copy link
Contributor

@askumar27 askumar27 commented Oct 23, 2025

This PR introduces significant improvements to the DataHub ingestion UI, focusing on enhanced user experience and multi-platform Git support.

✨ Key Changes

1. Enhanced SelectTemplateStep Component

  • Added "No Results" Message: Users now see a clear message when searching for data sources that don't exist, improving UX
  • Auto-focus Search Input: Search input automatically receives focus when the component loads for better accessibility
  • Removed Cancel Button: Streamlined UI by removing the cancel button from the template selection step
image image

2. Multi-Platform Git Repository Support

  • Migrated from GitHub-specific to Generic Git Fields:
    • github_info.repogit_info.repo
    • github_info.deploy_keygit_info.deploy_key
    • Added new git_info.repo_ssh_locator field
  • Enhanced Field Labels: Updated from "GitHub Repo" to "Git Repository" for broader platform support
  • Multi-Platform Tooltips: Added comprehensive tooltips with examples for GitHub, GitLab, and other Git platforms

3. Smart SSH Locator Validation

  • Conditional Requirements: SSH locator is only required for non-GitHub/GitLab repositories
  • Platform Detection: Automatically detects GitHub and GitLab repositories to skip SSH locator requirement
  • Clear Error Messages: Provides specific guidance when SSH locator is needed

4. Comprehensive Test Coverage (Auto Generated)

  • 4 New Test Files: Added extensive test coverage for all new functionality
  • Validation Logic Tests: Tests for complex conditional validation rules
  • Multi-Platform Support Tests: Ensures compatibility with various Git platforms
  • Backward Compatibility Tests: Verifies migration from GitHub-specific to generic Git fields

🔧 Technical Details

Files Modified:

  • SelectTemplateStep.tsx: Enhanced with no results message and auto-focus
  • common.tsx: Updated Git repository field from GitHub-specific to generic
  • constants.ts: Updated field references and imports
  • lookml.tsx: Complete overhaul of Git-related fields with multi-platform support

Files Added:

  • common-git-info.test.tsx: Tests for common Git info fields
  • constants-git-info.test.tsx: Tests for constants integration
  • git-info-validation.test.tsx: Tests for validation logic
  • lookml.test.tsx: Comprehensive tests for LookML Git fields

🎯 Benefits

  1. Better User Experience: Clear feedback when data sources aren't found
  2. Multi-Platform Support: Works with GitHub, GitLab, and other Git platforms
  3. Reduced Configuration Complexity: Smart validation reduces unnecessary fields
  4. Improved Accessibility: Auto-focus and better error messaging
  5. Comprehensive Testing: Robust test coverage ensures reliability

🔄 Migration Notes

  • Backward Compatibility: Existing configurations will continue to work
  • Field Path Updates: New field paths use git_info.* instead of github_info.*
  • Enhanced Validation: More intelligent validation rules for better user guidance

📊 Statistics

  • 8 files changed
  • 812 insertions, 45 deletions
  • 4 new test files
  • 100% test coverage for new functionality

This enhancement significantly improves the DataHub ingestion experience by supporting multiple Git platforms while maintaining backward compatibility and providing clear user feedback.

@alwaysmeticulous
Copy link

alwaysmeticulous bot commented Oct 23, 2025

✅ Meticulous spotted visual differences in 1 of 1016 screens tested, but all differences have already been approved: view differences detected.

Meticulous evaluated ~8 hours of user flows against your PR.

Last updated for commit a66ad53. This comment will update as new commits are pushed.

@datahub-cyborg datahub-cyborg bot added the needs-review Label for PRs that need review from a maintainer. label Oct 23, 2025
@codecov
Copy link

codecov bot commented Oct 23, 2025

Bundle Report

Changes will increase total bundle size by 2.15kB (0.01%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
datahub-react-web-esm 28.6MB 2.15kB (0.01%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: datahub-react-web-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/index-*.js 2.15kB 18.94MB 0.01%

Files in assets/index-*.js:

  • ./src/app/ingestV2/source/builder/RecipeForm/common.tsx → Total Size: 14.62kB

  • ./src/app/ingestV2/source/builder/SelectTemplateStep.tsx → Total Size: 3.53kB

  • ./src/app/ingestV2/source/builder/RecipeForm/constants.ts → Total Size: 9.7kB

  • ./src/app/ingestV2/source/builder/RecipeForm/lookml.tsx → Total Size: 10.71kB

@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

</ul>
</p>
</>
),
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like this tip is pretty much duplicated, I would use pick one version and share.

const [searchFilter, setSearchFilter] = useState('');

// Callback ref that focuses immediately when the element is attached
const searchInputCallbackRef = (node: any) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we provide a real type instead of any?

Copy link
Contributor

Choose a reason for hiding this comment

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

(I think it's fine to use any in tests but not in actual code)

@datahub-cyborg datahub-cyborg bot added pending-submitter-response Issue/request has been reviewed but requires a response from the submitter and removed needs-review Label for PRs that need review from a maintainer. labels Nov 4, 2025
const [searchFilter, setSearchFilter] = useState('');

// Callback ref that focuses immediately when the element is attached
const searchInputCallbackRef = (node: any) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

(I think it's fine to use any in tests but not in actual code)

@datahub-cyborg datahub-cyborg bot added pending-submitter-merge and removed pending-submitter-response Issue/request has been reviewed but requires a response from the submitter labels Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-submitter-merge product PR or Issue related to the DataHub UI/UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants