{"record":{"id":"4bed1505f1dac9a5","repo":"vxcontrol/pentagi","slug":"unauthorized-invalid-user-v","errorCode":null,"errorMessage":"unauthorized: invalid user: %v","messagePattern":"unauthorized: invalid user: (.+?)","errorType":"http","errorClass":null,"httpStatus":401,"severity":"error","filePath":"backend/pkg/server/services/graphql.go","lineNumber":104,"sourceCode":"\t})\n\n\tsrv.SetQueryCache(lru.New[*ast.QueryDocument](1000))\n\n\tsrv.Use(extension.Introspection{})\n\tsrv.Use(extension.AutomaticPersistedQuery{\n\t\tCache: lru.New[string](100),\n\t})\n\tsrv.Use(extension.FixedComplexityLimit(20000))\n\n\tov := newOriginValidator(origins)\n\n\t// Add transport to support GraphQL subscriptions\n\tsrv.AddTransport(&transport.Websocket{\n\t\tKeepAlivePingInterval: 10 * time.Second,\n\t\tInitFunc: func(ctx context.Context, initPayload transport.InitPayload) (context.Context, *transport.InitPayload, error) {\n\t\t\tuid, err := graph.GetUserID(ctx)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, nil, fmt.Errorf(\"unauthorized: invalid user: %v\", err)\n\t\t\t}\n\t\t\tlogger.WithField(\"uid\", uid).Info(\"graphql websocket upgrade\")\n\n\t\t\treturn ctx, &initPayload, nil\n\t\t},\n\t\tUpgrader: websocket.Upgrader{\n\t\t\tCheckOrigin: func(r *http.Request) (allowed bool) {\n\t\t\t\treturn ov.validateOrigin(r.Header.Get(\"Origin\"), r.Host)\n\t\t\t},\n\t\t\tEnableCompression: true,\n\t\t},\n\t})\n\n\treturn &GraphqlService{\n\t\tsrv:  srv,\n\t\tplay: playground.Handler(\"GraphQL\", baseURL+\"/graphql\"),\n\t}\n}","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/vxcontrol/pentagi/blob/ea665308baaff015b226f308438a68d929d0f29b/backend/pkg/server/services/graphql.go#L86-L122","documentation":"Error \"unauthorized: invalid user: %v\" thrown in vxcontrol/pentagi.","triggerScenarios":"Thrown at backend/pkg/server/services/graphql.go:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ea665308baaff015b226f308438a68d929d0f29b","analyzedAt":"2026-09-01T14:16:31.421Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}