{"record":{"id":"aaf9f666961be571","repo":"henrygd/beszel","slug":"no-info-in-response","errorCode":null,"errorMessage":"no info in response","messagePattern":"no info in response","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/hub/transport/transport.go","lineNumber":86,"sourceCode":"\t\t*d = *resp.Fingerprint\n\t\treturn nil\n\tcase common.GetContainerLogs:\n\t\td, ok := dest.(*string)\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"unexpected dest type for GetContainerLogs: %T\", dest)\n\t\t}\n\t\tif resp.String == nil {\n\t\t\treturn errors.New(\"no logs in response\")\n\t\t}\n\t\t*d = *resp.String\n\t\treturn nil\n\tcase common.GetContainerInfo:\n\t\td, ok := dest.(*string)\n\t\tif !ok {\n\t\t\treturn fmt.Errorf(\"unexpected dest type for GetContainerInfo: %T\", dest)\n\t\t}\n\t\tif resp.String == nil {\n\t\t\treturn errors.New(\"no info in response\")\n\t\t}\n\t\t*d = *resp.String\n\t\treturn nil\n\tcase common.GetSmartData:\n\t\tswitch d := dest.(type) {\n\t\tcase *map[string]smart.SmartData:\n\t\t\tif resp.SmartData == nil {\n\t\t\t\treturn errors.New(\"no SMART data in response\")\n\t\t\t}\n\t\t\t*d = resp.SmartData\n\t\t\treturn nil\n\t\tcase *smart.SmartDataResponse:\n\t\t\tif resp.SmartData == nil {\n\t\t\t\treturn errors.New(\"no SMART data in response\")\n\t\t\t}\n\t\t\td.Data = resp.SmartData\n\t\t\td.Complete = resp.SmartComplete\n\t\t\treturn nil","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/henrygd/beszel/blob/b38fb7dafa60812cc22e6a84ce313e94f1ce0a32/internal/hub/transport/transport.go#L68-L104","documentation":"unmarshalLegacyResponse returns this when a GetContainerInfo response has resp.String == nil, so the agent provided no container info payload. Like the logs case, the response was decoded but the expected field is empty.","triggerScenarios":"UnmarshalResponse on a GetContainerInfo request where the legacy AgentResponse lacks the String field.","commonSituations":"Querying info for a stopped/removed container; agent too old to support GetContainerInfo; agent-side runtime errors that leave the payload nil.","solutions":["Confirm the container exists (docker ps / podman ps) on the host","Update the agent to a hub-compatible version","Check agent logs for container-runtime errors","Retry after the container is running"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// confirm the container exists before requesting info\nif !containerExists(host, containerName) {\n    return nil\n}","typeGuard":null,"tryCatchPattern":"if err := UnmarshalResponse(resp, common.GetContainerInfo, dest); err != nil {\n    if strings.Contains(err.Error(), \"no info\") {\n        return nil // container gone or unsupported\n    }\n    return err\n}","preventionTips":["Sync container lists from the agent's own container status","Keep the agent updated for GetContainerInfo support","Handle container churn (start/stop) gracefully in UI polling"],"tags":["go","docker","container-info","legacy-agent"],"backgroundTag":"missing-payload-in-response","analyzedSha":"b38fb7dafa60812cc22e6a84ce313e94f1ce0a32","analyzedAt":"2026-08-31T15:10:10.149Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}