Skip to content

Feat/docs section improvements #6822

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

su0as
Copy link

@su0as su0as commented Jul 28, 2025

Description

Enhances the DocsSection component to better handle growing documentation lists by adding search, sorting, and grouping capabilities. This addresses issue #6075 where users reported difficulty managing large numbers of documentation sources.

Key improvements:
• Search: Added debounced search input to filter docs by name or URL
• Sorting: Added dropdown to sort by status (indexing, failed, complete), name, or URL
• Grouping: Added dropdown to group docs by domain or category with collapsible sections
• UX: Empty state when no results match search, clear search button, auto-expand groups when searching

Checklist

I've read the contributing guide
The relevant docs, if any, have been updated or created
The relevant tests, if any, have been updated or created

Tests

Added comprehensive test suite (DocsSection.test.tsx) covering:
• Search functionality with debouncing
• Sorting by status, name, and URL
• Grouping by domain and category
• Collapsible group behavior
• Empty state handling
• Auto-expansion of groups when searching
• Edge cases like empty docs list

The tests ensure all new features work correctly and maintain backwards compatibility with existing functionality.


Summary by cubic

Improved the DocsSection component by adding debounced search, sorting, and grouping to help users manage large documentation lists more easily. This addresses issue #6075 by making it faster to find, organize, and review documentation sources.

  • New Features

    • Added search with debounce to filter docs by name or URL.
    • Added sorting by status, name, or URL.
    • Added grouping by domain or category with collapsible sections.
    • Improved UX with empty state messages, clear search button, and auto-expanding groups when searching.
  • Tests

    • Added tests for search, sorting, grouping, collapsible groups, empty states, and debounce behavior.

su0as added 3 commits July 28, 2025 19:33
Implemented debounced search to filter docs.
Added sorting options by status, name, or URL.
Introduced grouping by domain or category with collapsible sections.
Improved user experience by providing a clear, flexible interface for managing large documentation sets.
Provides a reusable debounce function to delay execution after user actions.
Useful for search implementations and event handler optimizations.
Tests cover search functionality, sorting options, grouping logic, collapsible groups, empty states, and debounce behavior.
Ensures stable and reliable implementation of DocsSection improvements.
@su0as su0as requested a review from a team as a code owner July 28, 2025 11:39
@su0as su0as requested review from tingwai and removed request for a team July 28, 2025 11:39
@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Jul 28, 2025
@tingwai tingwai requested review from Patrick-Erichsen and removed request for tingwai July 28, 2025 20:40
Copy link
Collaborator

@Patrick-Erichsen Patrick-Erichsen left a comment

Choose a reason for hiding this comment

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

These lint/build errors appear valid, can't build locally either. Seems like the file might have been corrupted or something?

Thanks for the PR though, this will be a nice improvement!

@github-project-automation github-project-automation bot moved this from Todo to In Progress in Issues and PRs Jul 29, 2025
@su0as
Copy link
Author

su0as commented Jul 30, 2025

(Reproduced and fixed this.) Please review it, do provide feedback and if any changes are required.

@Patrick-Erichsen
Copy link
Collaborator

I don't think you've resolved the lint/build errors I mentioned? I can't review until those are fixed since I can't build.

@su0as
Copy link
Author

su0as commented Jul 31, 2025

Hi @Patrick-Erichsen,

I've investigated the lint/build errors you mentioned. The issues are not coming from the changes in this PR, but from missing dependencies and TypeScript configuration problems in the main branch.

✅ This PR's files are clean:

The modified files pass all checks:

cd gui
npx eslint src/components/mainInput/Lump/sections/docs/DocsSection.tsx # ✓ Passes
npx prettier --check src/components/mainInput/Lump/sections/docs/DocsSection*.tsx # ✓ Passes

❌ The build errors are from missing dependencies:
All TypeScript errors are in node_modules/@continuedev/core/ (32+ errors), caused by:
• Missing packages: @continuedev/fetch, @continuedev/llm-info
• Missing type definitions: @types/jsdom, @types/plist, etc.
• TypeScript config issues (ES5 target but using ES2015+ features, missing esModuleInterop)

None of these errors are in the files modified by this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size:XL This PR changes 500-999 lines, ignoring generated files.
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

2 participants