Skip to content

Commit d4d9642

Browse files
committed
fixup! fixup! fixup! cli: Close the websocket connection gracefully
1 parent b9e4596 commit d4d9642

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

crates/cli/src/subcommands/subscribe.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,8 @@ pub async fn exec(config: Config, args: &ArgMatches) -> Result<(), anyhow::Error
188188
let _ = ws.close(None).await;
189189
}
190190

191-
res.map_err(Into::into)
191+
res.or_else(|e| if e.is_closed_normally() { Ok(()) } else { Err(e) })
192+
.map_err(anyhow::Error::from)
192193
}
193194

194195
#[derive(Debug, Error)]
@@ -218,6 +219,17 @@ enum Error {
218219
Io(#[from] io::Error),
219220
}
220221

222+
impl Error {
223+
fn is_closed_normally(&self) -> bool {
224+
matches!(
225+
self,
226+
Self::Websocket {
227+
source: WsError::ConnectionClosed
228+
}
229+
)
230+
}
231+
}
232+
221233
/// Send the subscribe message.
222234
async fn subscribe<S>(ws: &mut S, query_strings: Box<[Box<str>]>) -> Result<(), Error>
223235
where

smoketests/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
default_server = "127.0.0.1:3000"
2-
spacetimedb_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJoZXhfaWRlbnRpdHkiOiJjMjAwYTAwNzQ5ZjM0MTQyZmQzYjk3YmZmNjE1OWNkZjg2YmNkYzI2ZGZkMDgwYjcxZWVkYWY0MTcxYmYxMjg5Iiwic3ViIjoiOGZhY2JlN2ItNzg4NS00MmMyLTg3NTktN2M4NGJmNWMyMGU1IiwiaXNzIjoibG9jYWxob3N0IiwiYXVkIjpbInNwYWNldGltZWRiIl0sImlhdCI6MTc0MzQzNzEwMywiZXhwIjpudWxsfQ.ON0q_bu6WLWzDWh5AQ4b601spdZ46qKWg6SWHd9IcoLi7iRx-Jr4z5XnZpkkdcSWOQ4FU81ewn5JmvScoQrOPg"
2+
spacetimedb_token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJoZXhfaWRlbnRpdHkiOiJjMjAwYzc3NDY1NTE5MDM2MTE4M2JiNjFmMWMxYzY3NDUzMzYzY2MxMTY4MmM1NTUwNWZiNjdlYzI0ZWMyMWViIiwic3ViIjoiOTJlMmNkOGQtNTk5Ny00NjZlLWIwNmYtZDNjOGQ1NzU3ODI4IiwiaXNzIjoibG9jYWxob3N0IiwiYXVkIjpbInNwYWNldGltZWRiIl0sImlhdCI6MTc1MjA0NjgwMCwiZXhwIjpudWxsfQ.dgefoxC7eCOONVUufu2JTVFo9876zQ4Mqwm0ivZ0PQK7Hacm3Ip_xqyav4bilZ0vIEf8IM8AB0_xawk8WcbvMg"
33

44
[[server_configs]]
55
nickname = "localhost"

0 commit comments

Comments
 (0)