BigPizzaV3/CodexPlusPlus · error

theme.css 规则数量超过限制

Error message

theme.css 规则数量超过限制

What it means

Thrown by parse_safe_css when the number of successfully parsed rule blocks exceeds 128. It fires after pushing each SafeCssRule, capping total rule count so compiled CSS output stays bounded. The offending input is the rule count of theme.css as a whole.

Source

Thrown at crates/codex-plus-core/src/dream_skin_package.rs:382

            {
                bail!("theme.css 属性值不受 Safe CSS 支持:{property}");
            }
            declarations += 1;
            if declarations > 512 {
                bail!("theme.css 声明数量超过限制");
            }
            rule_declarations.push((property, value));
        }
        if rule_declarations.is_empty() {
            bail!("theme.css 每条规则必须至少包含一个声明");
        }
        parsed.push(SafeCssRule {
            selector,
            part,
            declarations: rule_declarations,
        });
        if parsed.len() > 128 {
            bail!("theme.css 规则数量超过限制");
        }
        rest = &rest[close + 1..];
    }
    if parsed.is_empty() {
        bail!("theme.css 必须至少包含一条规则");
    }
    Ok(parsed)
}

fn forbidden_css_character(character: char) -> bool {
    matches!(
        character as u32,
        0x0000..=0x0008 | 0x000b | 0x000e..=0x001f | 0x007f..=0x009f
            | 0x2028 | 0x2029 | 0x200e | 0x200f | 0x202a..=0x202e | 0x2066..=0x2069 | 0xfeff
    )
}

fn validate_property_value(property: &str, value: &str) -> bool {

View on GitHub (pinned to f2074595a2)

Solutions

  1. Consolidate the stylesheet to 128 rules or fewer
  2. Split styling across themes instead of one giant stylesheet
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:382 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/4bee7e8e3d3fa683. Report an issue: GitHub.