Skip to content

feat(repositories): suggest popular repositories on repos page (#230) - #763

Merged
undera merged 2 commits into
komodorio:mainfrom
cooldude698:feat/suggest-popular-repos
Nov 4, 2026
Merged

undera merged 2 commits into
komodorio:mainfrom
cooldude698:feat/suggest-popular-repos

Conversation

@cooldude698

@cooldude698 cooldude698 commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Changes Proposed

Closes #230.

Suggests several popular Helm chart repositories on the Repositories page:

  • Added a curated dataset of popular repositories (Bitnami, Jetstack, Ingress-Nginx, Prometheus-Community, Grafana, Argo, Komodor).
  • Added suggestion chips in AddRepositoryModal to auto-fill the repository Name and URL on click.
  • Added a "Popular Suggestions" sidebar section in RepositoriesList that filters out already-installed repositories and provides a 1-click + Add button.
  • Enhanced the empty state in RepositoryViewer when no repositories are installed or selected to display quick-add cards.
  • Added Cypress component test in AddRepositoryModal.cy.tsx for preset suggestions and auto-filling.

Check List

  • The title of my pull request is a short description of the changes
  • This PR relates to some issue: Closes Suggest several popular repostiories to add #230
  • I have documented the changes made (if applicable)
  • I have covered the changes with unit tests

…orio#230)

- Add popular Helm repositories dataset
- Add suggestion chips in AddRepositoryModal to auto-fill name and URL
- Add Popular Suggestions sidebar section in RepositoriesList with quick add button
- Enhance empty state in RepositoryViewer with popular repository cards
- Add Cypress component test for preset suggestions

@undera undera left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for picking up #230. A few things need addressing:

1. Search params are lost when updated back to back. upsertSearchParams and removeSearchParam each build from the same search snapshot (hooks/useCustomSearchParams.ts), so only the last call in a row takes effect:

  • Sidebar "+ Add" and empty-state "+ Add": only add_repo=true survives, so the modal opens with empty fields.
  • Closing the modal: after removeSearchParam("add_repo"), the two added removals overwrite it, so add_repo=true stays in the URL and the modal no longer closes. This breaks the existing Cancel/close behavior.

The Cypress test covers only the chips inside the modal, which set form state directly, so it doesn't catch either case.

2. Scope. The same list appears in three places: modal chips, sidebar section, and empty-state grid. The modal chips alone cover the issue and need no URL-param plumbing, which also lets you drop the prevRepoName/prevRepoUrl sync. The new empty state also renders whenever repository === undefined, including the moment while repositories are loading, so a large grid would flash before the redirect to the first repo.

Please keep only the modal chips. If you'd rather keep the other entry points, set all params in a single setSearchParams call, for both opening and closing.

3. List contents. Bitnami's public catalog was cut back in 2025 and moved to OCI, so charts.bitnami.com/bitnami isn't a good first suggestion. ingress-nginx has been retired upstream. Please replace both with actively maintained repos.

…epo list

- Focus popular suggestions exclusively on AddRepositoryModal chips without URL param plumbing
- Remove prevRepoName/prevRepoUrl state sync logic
- Revert sidebar and empty-state additions to keep scope minimal and avoid flash on load
- Replace Bitnami and Ingress-Nginx with actively maintained Cilium and Traefik repos
- Update Argo repo URL to https://argoproj.github.io/argo-helm
- Update Cypress component tests for Jetstack and Traefik presets
@cooldude698

Copy link
Copy Markdown
Contributor Author

Thanks for the thorough review and helpful feedback @undera !

I have addressed all three points in the latest commit:

  1. Scope & URL params: Reverted the sidebar and empty-state additions to keep the feature strictly scoped to AddRepositoryModal chips. This completely avoids URL-param plumbing, eliminates the back-to-back setSearchParams conflict, and drops the prevRepoName/prevRepoUrl sync logic.
  2. Repository list: Replaced Bitnami and Ingress-Nginx with actively maintained community charts (Cilium and Traefik), and updated Argo's chart URL to https://argoproj.github.io/argo-helm.
  3. Tests: Updated Cypress component tests for the new suggestions and verified both lint and production build pass cleanly.

@undera
undera merged commit af6cb33 into komodorio:main Nov 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Suggest several popular repostiories to add

2 participants