{"record":{"id":"8a0ccec0294c9838","repo":"clockworklabs/SpacetimeDB","slug":"dbconnectionbuilder-can-only-register-a-single-on-8a0cce","errorCode":null,"errorMessage":"DbConnectionBuilder can only register a single `on_connect_error` callback.\n\nInstead of registering multiple `on_connect_error` callbacks, register a single callback which does multiple operations.","messagePattern":"DbConnectionBuilder can only register a single `on_connect_error` callback\\.\n\nInstead of registering multiple `on_connect_error` callbacks, register a single callback which does multiple operations\\.","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sdks/rust/src/db_connection.rs","lineNumber":1164,"sourceCode":"            panic!(\n                \"DbConnectionBuilder can only register a single `on_connect` callback.\n\nInstead of registering multiple `on_connect` callbacks, register a single callback which does multiple operations.\"\n            );\n        }\n\n        self.on_connect = Some(Box::new(callback));\n        self\n    }\n\n    /// Register a callback to run when a connection attempt fails asynchronously.\n    ///\n    /// This callback is invoked only before the initial connection message is\n    /// received from the host. Errors which prevent [`Self::build`] from creating\n    /// a connection are returned by [`Self::build`] instead.\n    pub fn on_connect_error(mut self, callback: impl FnOnce(&M::ErrorContext, crate::Error) + Send + 'static) -> Self {\n        if self.on_connect_error.is_some() {\n            panic!(\n                \"DbConnectionBuilder can only register a single `on_connect_error` callback.\n\nInstead of registering multiple `on_connect_error` callbacks, register a single callback which does multiple operations.\"\n            );\n        }\n\n        self.on_connect_error = Some(Box::new(callback));\n        self\n    }\n\n    /// Register a callback to run when an established connection is closed.\n    ///\n    /// The connection is established after the initial connection message is\n    /// received from the host. Connection failures before that point invoke\n    /// [`Self::on_connect_error`] instead.\n    pub fn on_disconnect(\n        mut self,\n        callback: impl FnOnce(&M::ErrorContext, Option<crate::Error>) + Send + 'static,","sourceCodeStart":1146,"sourceCodeEnd":1182,"githubUrl":"https://github.com/clockworklabs/SpacetimeDB/blob/6dee26c6efc2856793e12b148a59742964f5d783/sdks/rust/src/db_connection.rs#L1146-L1182","documentation":"Error \"DbConnectionBuilder can only register a single `on_connect_error` callback.\n\nInstead of registering multiple `on_connect_error` callbacks, register a single callback which does multiple operations.\" thrown in clockworklabs/SpacetimeDB.","triggerScenarios":"Thrown at sdks/rust/src/db_connection.rs:1164 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":"6dee26c6efc2856793e12b148a59742964f5d783","analyzedAt":"2026-08-20T06:08:37.179Z","contentChangedAt":"2026-08-20T06:08:37.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}