{"record":{"id":"98100fb86b277e33","repo":"siyuan-note/siyuan","slug":"s-parameter-s-is-deprecated-visit-https","errorCode":null,"errorMessage":"[%s] parameter [%s] is deprecated, visit [https://github.com/siyuan-note/siyuan/issues/15727] for details","messagePattern":"\\[(.+?)\\] parameter \\[(.+?)\\] is deprecated, visit \\[https://github\\.com/siyuan-note/siyuan/issues/15727\\] for details","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"kernel/model/attribute_view.go","lineNumber":8035,"sourceCode":"func BatchUpdateAttributeViewCells(tx *Transaction, avID string, values []any) (err error) {\n\tattrView, err := av.ParseAttributeView(avID)\n\tif err != nil {\n\t\treturn\n\t}\n\n\tfor _, value := range values {\n\t\tv := value.(map[string]any)\n\t\tkeyID := v[\"keyID\"].(string)\n\t\tvar itemID string\n\t\tif _, ok := v[\"itemID\"]; ok {\n\t\t\titemID = v[\"itemID\"].(string)\n\t\t} else if _, ok := v[\"rowID\"]; ok {\n\t\t\t// TODO 该参数将于 2026 年 12 月 1 日后删除\n\t\t\titemID = v[\"rowID\"].(string)\n\t\t\tmsg := fmt.Sprintf(\"[%s] parameter [%s] is deprecated, visit [https://github.com/siyuan-note/siyuan/issues/15727] for details\",\n\t\t\t\t\"/api/av/batchSetAttributeViewBlockAttrs\", \"rowID\")\n\t\t\tlogging.LogWarn(msg)\n\t\t\terr = errors.New(msg)\n\t\t\treturn\n\t\t}\n\t\tvalueData := v[\"value\"]\n\t\t_, err = updateAttributeViewValue(tx, attrView, keyID, itemID, valueData, false)\n\t\tif err != nil {\n\t\t\treturn\n\t\t}\n\t}\n\tregenAttrViewGroups(attrView)\n\tif err = av.SaveAttributeView(attrView); err != nil {\n\t\treturn\n\t}\n\trefreshRelatedSrcAvs(avID, tx)\n\treturn\n}\n\nfunc UpdateAttributeViewCell(tx *Transaction, avID, keyID, itemID string, valueData any) (val *av.Value, err error) {\n\treturn updateAttributeViewCellInBlock(tx, avID, \"\", keyID, itemID, valueData)","sourceCodeStart":8017,"sourceCodeEnd":8053,"githubUrl":"https://github.com/siyuan-note/siyuan/blob/8641553a1f07374001902d3ce773285db1292b2d/kernel/model/attribute_view.go#L8017-L8053","documentation":"The batchSetAttributeViewBlockAttrs API rejects requests using the deprecated 'rowID' parameter in the value objects. Per issue 15727 the parameter was renamed (to itemID semantics) and, after the deprecation window ending 2026-12-01, will be removed; the kernel hard-fails with this error while logging a warning.","triggerScenarios":"POSTing to /api/av/batchSetAttributeViewBlockAttrs with an entry object that contains a \"rowID\" key instead of the current parameter name.","commonSituations":"Older plugins or scripts written before the parameter rename; copied sample code from old blog posts; third-party integrations not updated after the API change.","solutions":["Rename the \"rowID\" key to the current expected key in each entry object","Update the plugin/script to match the API documented in issue 15727","Pin and later upgrade: until 2026-12-01 fix callers proactively since the parameter will be removed"],"exampleFix":"// before\n{ \"keyID\": k, \"rowID\": \"20240101120000-abcd\", \"value\": v }\n// after\n{ \"keyID\": k, \"itemID\": \"20240101120000-abcd\", \"value\": v }","handlingStrategy":"validation","validationCode":"for (const entry of payload) { if (\"rowID\" in entry) throw new Error(\"rowID is deprecated; use itemID\"); }","typeGuard":"const usesDeprecatedParam = (entry) => Object.prototype.hasOwnProperty.call(entry, \"rowID\");","tryCatchPattern":"try { await batchSetAttrs(payload); } catch (e) { if (String(e).includes(\"rowID\") && String(e).includes(\"deprecated\")) retryWithItemID(payload); else throw e; }","preventionTips":["Use itemID everywhere; grep codebases for \"rowID\" payloads","Read issue 15727 and update integrations before 2026-12-01","Add a lint/test asserting the request schema has no rowID"],"tags":["api","deprecation","attribute-view"],"backgroundTag":"deprecated-api-usage","analyzedSha":"8641553a1f07374001902d3ce773285db1292b2d","analyzedAt":"2026-09-11T16:08:28.414Z","contentChangedAt":"2026-09-11T16:08:28.414Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}