BigPizzaV3/CodexPlusPlus · error

市场主题 {} 包含无效标签

Error message

市场主题 {} 包含无效标签

What it means

Thrown by validate_market_theme when any entry in theme.tags is blank after trimming or longer than 32 characters. The offending input is one malformed tag inside theme.tags for the theme identified by theme.id; it is a per-tag format guard (install_market_theme_from_base and validate_manifest call this to filter malformed market metadata).

Source

Thrown at crates/codex-plus-core/src/dream_skin_market.rs:225

    for (label, value, limit) in [
        ("名称", theme.name.as_str(), 100usize),
        ("版本", theme.version.as_str(), 40usize),
        ("作者", theme.author.as_str(), 100usize),
        ("许可证", theme.license.as_str(), 100usize),
    ] {
        if value.trim().is_empty() || value.len() > limit {
            bail!("市场主题 {} 的{}无效", theme.id, label);
        }
    }
    if theme.description.len() > 500 || theme.tags.len() > 12 {
        bail!("市场主题 {} 的描述或标签数量超过限制", theme.id);
    }
    if theme
        .tags
        .iter()
        .any(|tag| tag.trim().is_empty() || tag.len() > 32)
    {
        bail!("市场主题 {} 包含无效标签", theme.id);
    }
    let source = reqwest::Url::parse(&theme.source_url)
        .with_context(|| format!("市场主题 {} 的来源地址无效", theme.id))?;
    if !matches!(source.scheme(), "http" | "https") {
        bail!("市场主题 {} 的来源地址协议无效", theme.id);
    }
    for path in [&theme.theme, &theme.image, &theme.preview] {
        validate_market_path(path)?;
    }
    validate_sha256(&theme.theme_sha256)?;
    validate_sha256(&theme.image_sha256)?;
    Ok(())
}

fn market_http_client() -> anyhow::Result<reqwest::Client> {
    Ok(reqwest::Client::builder()
        .user_agent(format!(
            "CodexPlusPlus-Themes/{}",

View on GitHub (pinned to f2074595a2)

Solutions

  1. Fix the theme's tags so each is non-empty and <=32 bytes
  2. Remove the invalid tag from the manifest entry
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_market.rs:225 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/7806c68df95b777c. Report an issue: GitHub.