Skip to content

Show an organization's page with its commits and mentions, as the web does - #150

Merged
simonhamp merged 1 commit into
NativePHP:mainfrom
rohitsasi720:feat/organization-page
Nov 3, 2026
Merged

simonhamp merged 1 commit into
NativePHP:mainfrom
rohitsasi720:feat/organization-page

Conversation

@rohitsasi720

Copy link
Copy Markdown
Contributor

Organizations can now post commits, and tapping one's name on its commit opened it as a user, which devnull doesn't have. The app showed "No query results for model [App\Models\User] dev-null.sh". A commit's author now says whether it's an organization, and its name opens the organization's page.

That page was a placeholder saying organization pages are new. It's now laid out like the web's:

  • Header: the avatar as a rounded square ringed in its lane, Share and Follow, the handle marked Organization, what GitHub says about it, how many follow it, and its admins, three to a line, each opening their profile.
  • Tabs: its Commits and the commits that mention it, as pages you swipe between, as on a profile, with pull to refresh, paging and replies.
  • Follow changes straight away, puts itself back if devnull says no, and moves the kept page's count with it.
  • Share opens the share sheet with the organization's page on the web, in Lucide's share-2 as the web draws it.
  • Colour: an organization whose admins haven't picked a lane is in Commit Blue on its page and its commits, as the web's organizationLaneColor() draws it. Both used to hash a different id, so they came out in different lanes.
  • Bio links: only GitHub handles its bio mentions open, as on a profile.

The Commits tab needs devnull's new organizations/{handle}/commits, in dev-null-sh/dev-null.sh#1386. Until a server has it, that tab says it didn't load, with the page on the web a tap away, and the header and Mentions carry on.

Tests: OrganizationTest covers the page, both tabs, a tab failing on its own, follow and its refusal, share, admins, bio mentions and the lane. LogTest covers opening an organization from its commit, and ResponseCacheTest the kept page's follow. Locally, the organization, data and Devnull tests pass, 262 with 1 skipped, and so do the unit tests, 269.

Checked on a Pixel 9 (Android 16, hardware): against dev-null.sh, the header and Mentions load and Commits says it didn't load. Against #1386 served locally, with dev-null.sh copied from its public page, the Commits tab shows its commit.

Screenshots

organization

The after shots are against #1386 served locally. The organization there has no lane picked, so it's in Commit Blue; on dev-null.sh it's orange. iOS isn't here because Xcode isn't installed on this machine.

iOS light iOS dark Android light Android dark
Before
After
  • No visible change

… does

Organizations can now post commits, and tapping one's name on its commit
opened it as a user, which devnull doesn't have: "No query results for
model [App\Models\User]". A commit's author now says whether it's an
organization, and its name opens the organization's page.

That page was a placeholder saying organization pages are new. It's now
laid out like the web's: the avatar as a rounded square ringed in its
lane, Share and Follow, the handle marked Organization, what GitHub says
about it, how many follow it and its admins, three to a line, each
opening their profile. Below are its Commits and the commits that
mention it, as pages you swipe between, as on a profile.

Commits needs devnull's new organizations/{handle}/commits. Until a
server has it, that tab says it didn't load, with the page on the web a
tap away, and the header and Mentions carry on.

Follow changes straight away, puts itself back if devnull says no, and
moves the kept page's count with it. Share opens the share sheet with
the page on the web, in Lucide's share-2 as the web draws it. An
organization whose admins haven't picked a lane is in Commit Blue on
its page and its commits, as the web's organizationLaneColor() draws
it, where both used to hash a different id into different lanes. Only
GitHub handles its bio mentions open, as on a profile.
@simonhamp
simonhamp merged commit 535bd0e into NativePHP:main Nov 3, 2026
2 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.

2 participants