BigPizzaV3/CodexPlusPlus · error · anyhow::Error
DreamSkin 社区主题元数据无效:{}
Error message
DreamSkin 社区主题元数据无效:{} What it means
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.
Source
Thrown at crates/codex-plus-core/src/dream_skin_community.rs:282
}
for item in items {
validate_community_theme(item)?;
}
Ok(())
}
fn validate_community_theme(theme: &DreamSkinCommunityTheme) -> anyhow::Result<()> {
validate_version_id(&theme.id)?;
if !safe_text(&theme.theme_id, 80)
|| !safe_text(&theme.name, 120)
|| !safe_text(&theme.author_display_name, 120)
|| !safe_text(&theme.license, 80)
|| !valid_semver(&theme.version)
|| theme.package_bytes == 0
|| theme.package_bytes > PACKAGE_BYTES_LIMIT
|| !valid_sha256(&theme.package_sha256)
{
bail!("DreamSkin 社区主题元数据无效:{}", theme.id);
}
Ok(())
}
fn validate_version_id(value: &str) -> anyhow::Result<()> {
let Some(suffix) = value.strip_prefix("ver_") else {
bail!("DreamSkin 主题版本 ID 无效");
};
if !(8..=64).contains(&suffix.len())
|| !suffix
.bytes()
.all(|byte| byte.is_ascii_lowercase() || byte.is_ascii_digit())
{
bail!("DreamSkin 主题版本 ID 无效");
}
Ok(())
}
View on GitHub (pinned to f2074595a2)
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_community.rs:282 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/7c1a00f4b0f9eb28.
Report an issue: GitHub.