Hive Hive
Sign in

feat(forage): add GitHub issues forage source with background syncer

GitHub issue · Closed

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

Summary

  • Add Hive.GitHub.Client and refactor Hive.GitHub.Repositories onto it so installation-token plumbing is shared.
  • Persist a repository’s public/private visibility on github_repositories, captured from the GitHub App search and surfaced through the product form.
  • Add a new GitHub issues forage source: cached in forage_github_issues, reconciled every 15 minutes by a supervised Hive.Forage.GitHubIssueSyncer GenServer that pulls open issues from every connected repo.
  • Render the source in HiveWeb.ForageLive.GitHubIssues with Noora.Filter filters (State / Product / Repository) persisted in URL params; the sidebar lands on filter_state_val=open by default. Per-product visibility hides private repo issues from anyone outside the org.

Testing

  • mix compile --warnings-as-errors
  • mix test
  • mix format --check-formatted
  • mix credo
  • mix ecto.reset && mix run priv/repo/seeds.exs and verified the seeded issues render at /forage/github-issues in dev
Comments

No GitHub comments yet.