useGroupRequestToJoinMutation

Domaingroups
Kindmutation
doc_id29015273194751119
Path/api/graphql/
SendsfeedType, groupID, input, inviteShortLinkKey, isChainingRecommendationUnit, renderLocation, scale, __relay_internal__pv__GroupsCometGYSJUnifiedUnitCardImageHeightrelayprovider, __relay_internal__pv__groups_comet_use_glvrelayprovider
Readsgroup_request_to_join.viewer, group_request_to_join.group
Called fromuseGroupRequestToJoinMutation
reaev_ea377bd95ae26f1f3a259e14ed386581857323bd5d92238894fe34d0304ae411

Seen 1 time(s) in 1 run(s).

ActionOur stepTimesStatusTookAfter step startErrors
inspectstep 2: clickRole button "…"12001598 ms1335 ms—

What it does

Pressing Join on a private group that needs approval sends this mutation: it asks to join the group (groupID, input) and answers with the viewer's new state, group_request_to_join.viewer and the group. In run 20261020T101203 (Bethlehem, Northeast Bethlehem Neighbors) it fired 1.3 s after the click on button "Join Group", took 1.6 s and answered viewer_join_state: REQUESTED. A group with no approval answers through GroupCometJoinForumMutation instead (MEMBER).

What our machine does with it

The join machine (src/facebook/group/join, log facebook join group) reads it in readJoinOptions (joinOptions.ts): it is one of JOIN_MUTATIONS, so its viewer_join_state becomes the group's state (REQUESTED → requested in Twenty's joinStatus), with this mutation as the state's source, and inferJoinState takes the request path from it. When the group also has membership questions (GroupsCometMembershipQuestionsPreloadedDialogQuery), the machine stops at questionsShown with the questions kept in joinSubmission; answers are a separate step (--answer, --fill).

What can go wrong

Only a 200 with REQUESTED has been seen in our runs. If the mutation is missing or has no viewer_join_state, readJoinOptions skips it and the state falls back to the page's own HTML (viewer_join_state in the group page) and the snapshot; if neither confirms a join, the run says so (groupJoinNotConfirmed) instead of recording a state it didn't see.