Hive Hive
Sign in

fix(products): preload repositories instead of server-side searching

GitHub issue · Closed

Metadata
Source
tuist/hive #18
Updated
Jun 24, 2026
Domains
Hive
Details

Summary

  • The repository dropdown in Settings → Products showed “No results” for every query (e.g. typing tuist while the GitHub App has 200+ matching repos) because Noora’s <.dropdown> is a client-side-filter component and Hive was wiring it for server-side search via phx-keyup. The host has phx-update="ignore", so the hook’s updated() never fires after a portal teleport — the empty state from the first filter pass stays put and the items never become visible.
  • Load every installation-accessible repository once in mount/3 and let Noora’s built-in input filter handle search client-side. The two SettingsLive modules (Products and Product) lose the search_repositories event handler and the repository_query plumbing; the components lose phx-keyup/phx-debounce/name/value on the search inputs.
  • Rename Hive.GitHub.Repositories.search_accessible_repositories/2list_accessible_repositories/1 and drop the now-unused query argument, matches? filter, and Enum.take(20) cap. The new repository_load_error assign (renamed from repository_search_error) still surfaces misconfiguration / API errors inside the modal.

Testing

  • mix compile --warnings-as-errors
  • mix format --check-formatted
  • mix test (256 tests, 0 failures)
  • Verified against production: shelled into the hive-production pod and confirmed Hive.GitHub.Repositories.list_accessible_repositories/1 (the renamed function) returns every tuist/* repo the installation can see.
Flights

Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.

New Flights are paused Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet

Start a Flight and preserve its objective, outcome, and session here.

Comments

No GitHub comments yet.