Hive
fix(products): preload repositories instead of server-side searching
GitHub issue · Closed
Source
tuist/hive #18
Updated
Jun 24, 2026
Domains
Hive
Summary
- The repository dropdown in Settings → Products showed “No results” for every query (e.g. typing
tuistwhile 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 viaphx-keyup. The host hasphx-update="ignore", so the hook’supdated()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/3and let Noora’s built-in input filter handle search client-side. The twoSettingsLivemodules (ProductsandProduct) lose thesearch_repositoriesevent handler and therepository_queryplumbing; the components losephx-keyup/phx-debounce/name/valueon the search inputs. - Rename
Hive.GitHub.Repositories.search_accessible_repositories/2→list_accessible_repositories/1and drop the now-unused query argument,matches?filter, andEnum.take(20)cap. The newrepository_load_errorassign (renamed fromrepository_search_error) still surfaces misconfiguration / API errors inside the modal.
Testing
mix compile --warnings-as-errorsmix format --check-formattedmix test(256 tests, 0 failures)- Verified against production: shelled into the
hive-productionpod and confirmedHive.GitHub.Repositories.list_accessible_repositories/1(the renamed function) returns everytuist/*repo the installation can see.
No GitHub comments yet.