{"record":{"id":"7c1a00f4b0f9eb28","repo":"BigPizzaV3/CodexPlusPlus","slug":"dreamskin-7c1a00","errorCode":null,"errorMessage":"DreamSkin 社区主题元数据无效：{}","messagePattern":"DreamSkin 社区主题元数据无效：(.+?)","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/codex-plus-core/src/dream_skin_community.rs","lineNumber":282,"sourceCode":"    }\n    for item in items {\n        validate_community_theme(item)?;\n    }\n    Ok(())\n}\n\nfn validate_community_theme(theme: &DreamSkinCommunityTheme) -> anyhow::Result<()> {\n    validate_version_id(&theme.id)?;\n    if !safe_text(&theme.theme_id, 80)\n        || !safe_text(&theme.name, 120)\n        || !safe_text(&theme.author_display_name, 120)\n        || !safe_text(&theme.license, 80)\n        || !valid_semver(&theme.version)\n        || theme.package_bytes == 0\n        || theme.package_bytes > PACKAGE_BYTES_LIMIT\n        || !valid_sha256(&theme.package_sha256)\n    {\n        bail!(\"DreamSkin 社区主题元数据无效：{}\", theme.id);\n    }\n    Ok(())\n}\n\nfn validate_version_id(value: &str) -> anyhow::Result<()> {\n    let Some(suffix) = value.strip_prefix(\"ver_\") else {\n        bail!(\"DreamSkin 主题版本 ID 无效\");\n    };\n    if !(8..=64).contains(&suffix.len())\n        || !suffix\n            .bytes()\n            .all(|byte| byte.is_ascii_lowercase() || byte.is_ascii_digit())\n    {\n        bail!(\"DreamSkin 主题版本 ID 无效\");\n    }\n    Ok(())\n}\n","sourceCodeStart":264,"sourceCodeEnd":300,"githubUrl":"https://github.com/BigPizzaV3/CodexPlusPlus/blob/f2074595a281bc057525c748175c8eb9805b0673/crates/codex-plus-core/src/dream_skin_community.rs#L264-L300","documentation":"Validation in validate_community_theme: a DreamSkin community theme entry failed metadata checks — invalid version id, unsafe/oversized text fields (theme_id/name/author/license), bad semver, zero or oversized package size, or invalid package sha256 — so the entry is rejected with its id in the message.","triggerScenarios":"Thrown at crates/codex-plus-core/src/dream_skin_community.rs:282 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Report/fix the theme metadata at its source in the community catalog","Refresh the catalog in case of a transient bad entry","Check the failing theme id in the message for the exact entry"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f2074595a281bc057525c748175c8eb9805b0673","analyzedAt":"2026-08-23T12:52:24.489Z","contentChangedAt":"2026-08-23T12:52:24.489Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}