BigPizzaV3/CodexPlusPlus · error · anyhow::Error
DreamSkin 社区主题数量超过限制
Error message
DreamSkin 社区主题数量超过限制
What it means
Validation guard in validate_catalog: the fetched DreamSkin community catalog contains more than CATALOG_LIMIT themes, exceeding the hard cap designed to bound memory/UI load, so the catalog is rejected wholesale.
Source
Thrown at crates/codex-plus-core/src/dream_skin_community.rs:263
Ok(Some(version_id))
}
pub fn clear_pending_community_link() -> anyhow::Result<()> {
let path = pending_link_path();
match std::fs::remove_file(path) {
Ok(()) => Ok(()),
Err(error) if error.kind() == std::io::ErrorKind::NotFound => Ok(()),
Err(error) => Err(error.into()),
}
}
fn pending_link_path() -> std::path::PathBuf {
crate::paths::default_app_state_dir().join(PENDING_LINK_FILE)
}
fn validate_catalog(items: &[DreamSkinCommunityTheme]) -> anyhow::Result<()> {
if items.len() > CATALOG_LIMIT {
bail!("DreamSkin 社区主题数量超过限制");
}
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)
{View on GitHub (pinned to f2074595a2)
Solutions
- Verify the community service is not returning a bloated/malicious catalog
- Retry later if the server-side catalog is temporarily oversized
- Update Codex++ if the official catalog legitimately grew past the limit
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_community.rs:263 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/bbd7dd24bd21b2f4.
Report an issue: GitHub.