Skip to content

[FEATURE] : Implement Debounced GitHub Organization Autocomplete with Keyboard Navigation #141

Description

@jikrana1

Feature and its Use Cases

Improve the GitHub organization search experience on the Home page by introducing a production-ready autocomplete dropdown.

Currently, users need to type the complete organization name before starting an analysis. This can be slow, error-prone, and inconvenient, especially for organizations with long names.

Proposed Improvements

  • Add a debounced search to reduce unnecessary GitHub API requests while typing.
  • Fetch matching GitHub organizations dynamically using the GitHub Search API.
  • Display up to 7–8 relevant organization suggestions in a dropdown below the search input.
  • Display each suggestion with:
    • Organization avatar
    • Organization login/name
  • Support keyboard navigation:
    • Arrow Down → Move to the next suggestion.
    • Arrow Up → Move to the previous suggestion.
    • Enter → Select the highlighted suggestion.
  • Allow users to select an organization using the mouse.
  • Highlight the currently selected suggestion during keyboard navigation.
  • Show a loading state while fetching suggestions.
  • Show an empty state when no matching organizations are found.
  • Ignore very short queries (e.g., fewer than 2 characters) to minimize unnecessary API requests.
  • Prevent duplicate suggestions from appearing.
  • Ensure the autocomplete integrates smoothly with the existing chip-based organization selection workflow.

Benefits

  • Faster organization search.
  • Improved user experience.
  • Reduced typing effort.
  • Fewer spelling mistakes.
  • Lower GitHub API usage through debouncing.
  • Better accessibility with full keyboard support.
  • Production-ready and responsive search experience.

Expected Outcome

Users should receive relevant GitHub organization suggestions while typing, navigate the dropdown using both keyboard and mouse, and quickly select an organization without entering the full name manually. The implementation should be responsive, accessible, and optimized to minimize unnecessary API requests.

Additional Context

Suggested UI Behavior

  • Suggestions should appear directly below the organization search input.
  • Each suggestion should include the organization's avatar and login name.
  • The active suggestion should be visually highlighted.
  • The dropdown should close when:
    • An organization is selected.
    • The user clicks outside the search area.
    • The input is cleared.
  • The component should work well on both desktop and mobile devices.

Code of Conduct

  • I have joined the Discord server and will post updates there
  • I have searched existing issues to avoid duplicates

If this feature is approved, I'd love to implement it. Kindly assign it to me if possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions