BigPizzaV3/CodexPlusPlus · error
theme.json 包含缺失或不支持的字段
Error message
theme.json 包含缺失或不支持的字段
What it means
Thrown by validate_theme when the theme.json object is missing any REQUIRED key or contains a key outside both REQUIRED and OPTIONAL whitelists. This is a strict schema guard on untrusted theme JSON: unknown keys are rejected rather than ignored so forward-incompatible themes fail loudly. The offending input is the key set of the theme.json object.
Source
Thrown at crates/codex-plus-core/src/dream_skin_package.rs:1008
"brandSubtitle",
"tagline",
"projectPrefix",
"projectLabel",
"statusText",
"quote",
"promoTitle",
"promoSub",
"promoUrl",
"appearance",
"art",
"colors",
];
if REQUIRED.iter().any(|key| !object.contains_key(*key))
|| object
.keys()
.any(|key| !REQUIRED.contains(&key.as_str()) && !OPTIONAL.contains(&key.as_str()))
{
bail!("theme.json 包含缺失或不支持的字段");
}
if object.get("schemaVersion").and_then(Value::as_u64) != Some(1)
|| object.get("id").and_then(Value::as_str) != Some(manifest.theme_id.as_str())
|| object.get("name").and_then(Value::as_str).is_none()
|| object.get("image").and_then(Value::as_str) != Some(image_name)
{
bail!("theme.json 与 manifest 身份或背景图不一致");
}
if object
.get("name")
.and_then(Value::as_str)
.is_some_and(|name| !safe_manifest_text(name, 1, 80, false))
{
bail!("theme.json.name 无效");
}
for key in [
"brandSubtitle",
"tagline",View on GitHub (pinned to f2074595a2)
Solutions
- 补齐所有必需字段
- 删除 schema 未定义的自定义字段
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_package.rs:1008 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/419fdb5678687523.
Report an issue: GitHub.