Skip to content

feat: make contributors have a hovercard on the about page - #870

Open
kachelle wants to merge 6 commits into
dev-null-sh:productionfrom
kachelle:feat/about-contributor-hovercards
Open

kachelle wants to merge 6 commits into
dev-null-sh:productionfrom
kachelle:feat/about-contributor-hovercards

Conversation

@kachelle

@kachelle kachelle commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Makes the contributors on the about page have a hovercard, like the changelog authors in #860.

image

kachelle and others added 3 commits October 20, 2026 19:28
Contributors who are on /dev/null now link to their profile and show
their profile card on hover. They are found by their GitHub account, so
a rename on either side keeps the right link. Everyone else still links
to GitHub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntributor-hovercards

The contributor list moved from about.ts to ContributorsQuery, so the
refreshed list from production is carried over there, with the GitHub
ids of the new contributors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

use App\Models\User;

final readonly class ContributorsQuery

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

wait wat

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why is that contributor list hardcoded even

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It was already hardcoded on production: Nuno added it as a static list in resources/js/lib/about.ts when he built the about page, in bdff7e5. This PR only moves it to PHP, in 541251f.

It had to move because the hovercard needs each contributor's /dev/null username, and the only safe way to match a contributor to a user is by github_id. Logins and usernames can both be renamed. So the server needs the GitHub ids, which is why each entry now has a github_id.

You're right that it doesn't need to be hardcoded, though. GitHub's repos/{repo}/contributors endpoint returns the login, id and commit count for production. I can fetch that through our GitHub service and cache it, with a small list to leave out agent accounts like ampagent. Want me to do that in this PR, or in a follow-up?

…ntributor-hovercards

# Conflicts:
#	resources/js/pages/about/show.tsx
…ntributor-hovercards-resolve

# Conflicts:
#	app/Http/Controllers/AboutController.php
#	app/Queries/ContributorsQuery.php
#	resources/js/pages/about/show.tsx
#	tests/Feature/Controllers/AboutControllerTest.php
@kachelle

Copy link
Copy Markdown
Contributor Author

@paulinevos want me to make a pr for fetching these contributors via the github api?

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.

2 participants