BigPizzaV3/CodexPlusPlus · error
image overlay config should serialize
Error message
image overlay config should serialize
What it means
injection_script_with_settings serializes the image overlay configuration (from image_overlay_config) into the injected script globals; this expect-style error fires if that serialization fails. The config is built from plain strings/bools, so failure indicates an internal invariant breach, not user error.
Source
Thrown at crates/codex-plus-core/src/assets.rs:417
let dream_skin_art_signature = dream_skin_art_content_signature(settings);
let dream_skin_theme = &settings.codex_app_dream_skin_theme_config;
let dream_skin_target_runtime = dream_skin_target_runtime_script(settings, false);
let plugin_marketplaces = local_plugin_marketplaces();
let paste_fix = paste_fix_enabled_config(settings);
let force_chinese_locale = force_chinese_locale_config(settings);
let fast_startup = fast_startup_config(settings);
let hide_official_usage_alert = hide_official_usage_alert_config(settings);
let stepwise_runtime = if settings.codex_app_stepwise_enabled {
stepwise_script()
} else {
""
};
format!(
"window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_EXTERNAL_DREAM_SKIN_RUNTIME__ = true;\nwindow.__CODEX_PLUS_DREAM_SKIN_PLATFORM__ = {};\nwindow.__CODEX_PLUS_DREAM_SKIN_REVISION__ = {};\nwindow.__CODEX_PLUS_DREAM_SKIN_ART__ = {};\nwindow.__CODEX_PLUS_DREAM_SKIN_ART_SIGNATURE__ = {};\nwindow.__CODEX_PLUS_DREAM_SKIN_THEME__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\nwindow.__CODEX_PLUS_FORCE_CHINESE_LOCALE__ = {};\nwindow.__CODEX_PLUS_FAST_STARTUP__ = {};\nwindow.__CODEX_PLUS_HIDE_OFFICIAL_USAGE_ALERT__ = {};\n{}\n{}\n{}",
serde_json::to_string(&helper_url).expect("helper URL should serialize"),
serde_json::to_string(crate::version::VERSION).expect("version should serialize"),
serde_json::to_string(DIAGNOSTIC_BUILD_ID).expect("build id should serialize"),
serde_json::to_string(&image_overlay).expect("image overlay config should serialize"),
serde_json::to_string(&plugin_marketplaces).expect("plugin marketplaces should serialize"),
serde_json::to_string(dream_skin_platform()).expect("dream skin platform should serialize"),
serde_json::to_string(DREAM_SKIN_RENDERER_REVISION)
.expect("dream skin renderer revision should serialize"),
serde_json::to_string(&dream_skin_art).expect("dream skin art should serialize"),
serde_json::to_string(&dream_skin_art_signature)
.expect("dream skin art signature should serialize"),
serde_json::to_string(dream_skin_theme).expect("dream skin theme should serialize"),
serde_json::to_string(&paste_fix).expect("paste fix config should serialize"),
serde_json::to_string(&force_chinese_locale)
.expect("force Chinese locale config should serialize"),
serde_json::to_string(&fast_startup).expect("fast startup config should serialize"),
serde_json::to_string(&hide_official_usage_alert)
.expect("usage alert config should serialize"),
renderer_script(),
stepwise_runtime,
dream_skin_target_runtime,
)View on GitHub (pinned to f2074595a2)
Solutions
- Inspect image_overlay_config output for non-serializable types
- Review recent changes to overlay config construction
- Report as a bug; expected infallible
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/codex-plus-core/src/assets.rs:417 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/f3a471ca0bf829fe.
Report an issue: GitHub.