{"record":{"id":"b2cfc87c73f2bdae","repo":"AlistGo/alist","slug":"list-s-failed-w","errorCode":null,"errorMessage":"list %s failed: %w","messagePattern":"list (.+?) failed: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"drivers/123_open/read.go","lineNumber":34,"sourceCode":"\n// List walks the whole directory, following the lastFileId cursor until the\n// API reports the last page. Trashed entries are still returned by the API and\n// are filtered out here.\nfunc (d *Open123) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) {\n\tif err := d.ensureToken(ctx); err != nil {\n\t\treturn nil, err\n\t}\n\tparentFileID, err := parseFileID(dir.GetID())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\treq := &pan123.FileListRequest{ParentFileID: parentFileID, Limit: listPageSize}\n\tvar objs []model.Obj\n\tfor {\n\t\tpage, err := d.client.File.List(ctx, req)\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"list %s failed: %w\", dir.GetPath(), err)\n\t\t}\n\t\tfor _, f := range page.FileList {\n\t\t\tif f.Trashed != 0 {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tobjs = append(objs, fileToObj(f))\n\t\t}\n\t\t// -1 marks the last page; an unchanged cursor would loop forever\n\t\tif page.LastFileID == -1 || len(page.FileList) == 0 || page.LastFileID == req.LastFileID {\n\t\t\treturn objs, nil\n\t\t}\n\t\treq.LastFileID = page.LastFileID\n\t}\n}\n\n// Link resolves a temporary download URL. It uses the download API by default\n// and the direct link service when UseDirectLink is enabled; the resulting URL\n// is signed when a private key is configured.","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/AlistGo/alist/blob/843d9dc8149126976b2625911e45a4d3ffd6f2f5/drivers/123_open/read.go#L16-L52","documentation":"Error \"list %s failed: %w\" thrown in AlistGo/alist.","triggerScenarios":"Thrown at drivers/123_open/read.go:34 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the underlying error details in the message, fix the indicated cause (credentials, network, or provider-side failure), and retry."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"843d9dc8149126976b2625911e45a4d3ffd6f2f5","analyzedAt":"2026-08-15T12:14:11.722Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}