Repository navigation
Open mentioned GitHub organizations in their own screen - #122
Merged
simonhamp merged 2 commits intoOct 28, 2026
Merged
Conversation
A mention now says whether it names a user or a GitHub organization, and tapping @laravel opened a profile that devnull doesn't have: "No query results for model [App\Models\User] laravel". An organization mention now opens an Organization screen beneath the tab, drawn like the web's page from GET /api/v1/organizations/{handle} (dev-null-sh/dev-null.sh#1268). Until devnull has that, the screen offers the page on the web.
The page says itself when it didn't load, and offers the page on the web.
rohitsasi720
force-pushed
the
feat/organization-mentions
branch
from
October 28, 2026 19:28
984df7a to
b171a96
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This reads
GET /api/v1/organizations/{handle}, which dev-null-sh/dev-null.sh@f8e60e29 added and is already live on production, so it doesn't depend on any other PR.dev/null now links
@laravel-style mentions of GitHub organizations (dev-null-sh/dev-null.sh#1262), and the API marks each mention as auseror anorganization. The app ignored that and sent every mention to a profile, so tapping@laravelopened a dead profile: "No query results for model [App\Models\User] laravel".The app now opens an organization mention in an Organization screen beneath the tab. It's laid out like the web's organization page:
@handlewith an Organization badgeWhen devnull can't send the organization, the screen says "This organization's page didn't load here" and links to the page on the web. It leaves out the usual red error line, because the fallback already says what happened.
Mentionreadskind, andBodyRuncarries it. The commit and Remotes message bodies callopenOrganization()for organization runs andopenProfile()for the rest.Organizationloads throughRefreshesInBackgroundlike the other pushed screens. It shows the kept copy at once, then refreshes.organizations/{handle}is added to the cacheable paths.{tab}/organizations/{handle}is registered under each tab, next to{tab}/users/{username}.Screenshots
Android only, from a Pixel 9. No iOS simulator runtime is installed on this Mac, so there are no iOS shots.
Tapping
@laravelin a commit. Before: a dead profile. After: the fallback, shown when devnull can't send the organization. These were taken before the endpoint reached production. Now it shows for, say, an offline phone with nothing cached, or a handle typed in a different case, since production matches the case exactly.The organization page. These were taken before the endpoint reached production, with the app showing a cached copy of the response. That copy has the same fields production now returns for
laravel(production also sendsgithub_urlandhtml_url, which the app reads like a user's).Tests
OrganizationTest(new): the page as the API sends it, with its links, and the fallback with its web link.LogTestandConversationTest: an organization mention opens/{tab}/organizations/{handle}and a user mention still opens the profile.ProfileCacheTestincluded) plustests/Unit, Pest passes 440, with 1 failure. That one isLogTest› "shows the following log in tab", which fails onmaintoo: it expects5mbut the clock runs on to6m.mainright now.writesSent()is declared in bothOrgMembersTestandOutboxTest(Manage an org's members and leave it from its thread #101 and Keep quick star and unstar taps in the order you made them #100), which is a fatal redeclare. That isn't fixed here.