{"record":{"id":"7d031e9c44e40492","repo":"clockworklabs/SpacetimeDB","slug":"spacetimedb-dir-should-be-valid-utf-8","errorCode":null,"errorMessage":"spacetimedb_dir should be valid UTF-8","messagePattern":"spacetimedb_dir should be valid UTF-8","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/cli/src/subcommands/dev.rs","lineNumber":1110,"sourceCode":"    }\n\n    println!(\"{}\", \"Publishing...\".cyan());\n\n    // Loop through all publish configs\n    for config_entry in publish_configs {\n        let db_name = config_entry\n            .get_config_value(\"database\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"database is a required field in publish config\"))?;\n\n        // Read module_path from each config entry, falling back to the shared spacetimedb_dir\n        let entry_module_path = config_entry\n            .get_config_value(\"module_path\")\n            .and_then(|v| v.as_str())\n            .map(|s| s.to_string());\n        let module_path_str = entry_module_path\n            .as_deref()\n            .unwrap_or_else(|| spacetimedb_dir.to_str().expect(\"spacetimedb_dir should be valid UTF-8\"));\n\n        if publish_configs.len() > 1 {\n            println!(\"{} {}...\", \"Publishing to\".cyan(), db_name.cyan().bold());\n        }\n\n        let mut publish_entry = HashMap::new();\n        publish_entry.insert(\"database\".to_string(), json!(db_name));\n        publish_entry.insert(\"module-path\".to_string(), json!(module_path_str));\n\n        // Forward per-target server from config if set, or CLI server override\n        if let Some(srv) = server {\n            publish_entry.insert(\"server\".to_string(), json!(srv));\n        } else if let Some(srv) = config_entry.get_config_value(\"server\").and_then(|v| v.as_str()) {\n            publish_entry.insert(\"server\".to_string(), json!(srv));\n        }\n\n        // Forward per-target build options if set\n        if let Some(build_opts) = config_entry.get_config_value(\"build_options\").and_then(|v| v.as_str())","sourceCodeStart":1092,"sourceCodeEnd":1128,"githubUrl":"https://github.com/clockworklabs/SpacetimeDB/blob/524b4487d949b61a07d4f39c862d1290259dfd20/crates/cli/src/subcommands/dev.rs#L1092-L1128","documentation":"Error \"spacetimedb_dir should be valid UTF-8\" thrown in clockworklabs/SpacetimeDB.","triggerScenarios":"Thrown at crates/cli/src/subcommands/dev.rs:1110 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"524b4487d949b61a07d4f39c862d1290259dfd20","analyzedAt":"2026-08-16T23:58:54.611Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}