{"record":{"id":"c4a2222c7af3807a","repo":"toeverything/AFFiNE","slug":"invalid-open-app-sign-in-payload","errorCode":null,"errorMessage":"Invalid open-app sign-in payload","messagePattern":"Invalid open-app sign-in payload","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/frontend/core/src/modules/desktop-api/service/desktop-api.ts","lineNumber":152,"sourceCode":"          throw new Error('AFFiNE Cloud server not found');\n        }\n        const authService = targetServer.scope.get(AuthService);\n\n        switch (method) {\n          case 'magic-link': {\n            const { email, token } = payload;\n            await authService.signInMagicLink(email, token);\n            break;\n          }\n          case 'oauth': {\n            const { code, state, provider } = payload;\n            await authService.signInOauth(code, state, provider);\n            break;\n          }\n          case 'open-app-signin': {\n            const code = (payload as { code?: unknown }).code;\n            if (typeof code !== 'string' || !code) {\n              throw new Error('Invalid open-app sign-in payload');\n            }\n            await authService.signInOpenAppSignInCode(code);\n            break;\n          }\n        }\n      })().catch(e => {\n        notify.error({\n          title: I18n['com.affine.auth.toast.title.failed'](),\n          message: (e as any).message,\n        });\n      });\n    });\n  }\n}\n","sourceCodeStart":134,"sourceCodeEnd":167,"githubUrl":"https://github.com/toeverything/AFFiNE/blob/b4c8548c09da21b2898443559a5b846f0ccf5dd8/packages/frontend/core/src/modules/desktop-api/service/desktop-api.ts#L134-L167","documentation":"Thrown in the open-app-signin branch of the desktop auth-request handler when the payload lacks a string code, meaning the app was launched with a malformed sign-in token; OAuth sign-in via deep link cannot complete.","triggerScenarios":"Thrown in the open-app-signin branch of the desktop auth handler when the payload's code field is missing or not a non-empty string, so the sign-in code exchange cannot proceed.","commonSituations":"Triggered by a malformed or outdated sign-in deep link opened in the desktop app that lacks a valid code parameter. Restart the sign-in flow from the browser to get a fresh link.","solutions":["Restart the sign-in flow from the web page to generate a fresh payload.","Do not modify the sign-in deep link."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b4c8548c09da21b2898443559a5b846f0ccf5dd8","analyzedAt":"2026-08-18T21:16:52.546Z","contentChangedAt":"2026-08-18T21:16:52.546Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}