Repository navigation
Manage an org's members and leave it from its thread - #101
Merged
Merged
Conversation
An org thread's menu now has Members, which opens the web's org settings as a screen: everyone in the org with their role, Rename and Add people for maintainers, a sheet per member to change their role or remove them, and Leave org for anyone. Changes show at once and go to devnull in the background; one devnull turns down goes back with a toast. Add people reuses New org's search, chips and candidate rows, asks devnull who could join this org, and sends the share history choice. New org's picking moved into a PicksPeople concern so both screens share it. Leaving drops the org from the kept inbox, and the thread under the members screen steps back to the inbox when it shows again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
More on a member now opens the platform's own menu, as the web's member menu does: Make maintainer or Make contributor (off for the last maintainer), then Remove from org, which asks in an alert. The sheet is gone, and the new user-minus icon draws Remove. Share history on Add people is the system switch again, on the right. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 task
1 task done
1 task
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.
An org thread's menu now has Members. It opens the web's org settings as a native screen:
A contributor gets the list and Leave org and nothing else, and the screen's actions check the role again, so calling them directly does nothing (there's a test for that).
Role changes, removals and renames show straight away and go through
writeInBackground. If devnull says no, the change is undone and a toast shows devnull's message. Leaving waits for devnull before going back, since the screen has to be on top to hear the answer.Add people is New org's picker pointed at an existing org: it searches
remotes/candidates?org=<id>, so devnull marks people already in the org, and Share history is a system switch on the right, sent as the API'sshare_history. New org's picking moved into aPicksPeopleconcern, and its chips and results moved into partials, so both screens share them. New org looks and behaves the same.The member menu items live in
App\Devnull\OrgMemberMenu, shaped likeRemoteMenufrom #116. Remove uses a newuser-minusLucide icon, copied from Lucide like the others inresources/icons.Things to look at:
onResumethat steps back to the inbox when you've just left the org from its members screen. NativePHP has no pop to root, so the members screen leaves a one-time marker inResponseCache(orgLeft/takeLeftOrg) and the thread under it reads it. main is merged in, and the menu now reads Members, Pin, Stash, Mute.share_history: true.Screenshots are from a local dev-null.sh at production with a seeded org. The thread's events in the menu shots are from testing each action against that API.
Screenshots
Org thread menu
Members (new screen)
More on a member
Remove from org asks first
Add people
Leave org
Recording: leaving, back to the inbox without the org (iOS)
🤖 Generated with Claude Code