{"record":{"id":"c76c868532695380","repo":"paperclipai/paperclip","slug":"invite-not-found-c76c86","errorCode":null,"errorMessage":"Invite not found","messagePattern":"Invite not found","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"ui/src/pages/InviteLanding.tsx","lineNumber":335,"sourceCode":"    invite?.inviteType !== \"bootstrap_ceo\" &&\n    (!inviteJoinRequestStatus || canCompleteAcceptedHumanInvite) &&\n    !isCheckingExistingMembership &&\n    !isCurrentMember &&\n    !result &&\n    error === null;\n  const sessionLabel =\n    sessionQuery.data?.user.name?.trim() ||\n    sessionQuery.data?.user.email?.trim() ||\n    \"this account\";\n\n  const authCanSubmit =\n    email.trim().length > 0 &&\n    password.trim().length > 0 &&\n    (authMode === \"sign_in\" || (name.trim().length > 0 && password.trim().length >= 8));\n\n  const acceptMutation = useMutation({\n    mutationFn: async () => {\n      if (!invite) throw new Error(\"Invite not found\");\n      if (isCheckingExistingMembership) {\n        throw new Error(\"Checking your company access. Try again in a moment.\");\n      }\n      if (isCurrentMember) {\n        throw new Error(\"This account already belongs to the company.\");\n      }\n      if (invite.inviteType === \"bootstrap_ceo\" || invite.allowedJoinTypes !== \"agent\") {\n        return accessApi.acceptInvite(token, { requestType: \"human\" });\n      }\n      return accessApi.acceptInvite(token, {\n        requestType: \"agent\",\n        agentName: agentName.trim(),\n        adapterType,\n        capabilities: capabilities.trim() || null,\n      });\n    },\n    onSuccess: async (payload) => {\n      setError(null);","sourceCodeStart":317,"sourceCodeEnd":353,"githubUrl":"https://github.com/paperclipai/paperclip/blob/a7e689b3c35347b529cb9f54c9b9a8575a3dcab6/ui/src/pages/InviteLanding.tsx#L317-L353","documentation":"Precondition guard in the InviteLanding acceptMutation: the invite record has not loaded (or the invite id is invalid), so there is nothing to accept. The mutation aborts before any accept request; the faulting input is the missing 'invite' object from the invite lookup.","triggerScenarios":"Thrown at ui/src/pages/InviteLanding.tsx:334 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Request a new invite link; the invite may have been revoked or expired."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7e689b3c35347b529cb9f54c9b9a8575a3dcab6","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}