From: Ian Jackson Date: Mon, 23 Nov 2020 19:06:09 +0000 (+0000) Subject: nicely handle leaving the game X-Git-Tag: otter-0.2.0~376 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=18548365fef5324c4e051021c4d3beb4fd19130e;p=otter.git nicely handle leaving the game Signed-off-by: Ian Jackson --- diff --git a/src/sse.rs b/src/sse.rs index 7af8637e..788e5677 100644 --- a/src/sse.rs +++ b/src/sse.rs @@ -95,7 +95,7 @@ impl Read for UpdateReader { Some(x) => x, None => { let data = format!("event: player-gone\n\ - data: player-gone\n\n") + data: No longer in the game\n\n") .into_bytes().into_boxed_slice(); assert_eq!(self.ending_send, None); let ending = self.ending_send.get_or_insert(io::Cursor::new(data)); @@ -120,7 +120,7 @@ impl Read for UpdateReader { None => { if self.to_send < pu.read_log().front_index() && buf.len() == orig_wanted { - write!(buf, "event: updates_expired\ndata: {}\n\n", + write!(buf, "event: updates-expired\ndata: {}\n\n", self.to_send) .map_err(|e| self.wn.trouble("notify updates expired", &e))?; debug!("updates expired for {} {}, telling client (#{})", diff --git a/templates/script.ts b/templates/script.ts index 10fb4a1f..577a0311 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -1118,7 +1118,12 @@ function startup() { console.log('GOTDATA', event); status_node.innerHTML = (event as any).data; }); - es.addEventListener('updates_expired', function(event) { + es.addEventListener('player-gone', function(event) { + console.log('PLAYER-GONE', event); + status_node.innerHTML = (event as any).data; + es.close(); + }); + es.addEventListener('updates-expired', function(event) { console.log('UPDATES-EXPIRED', event); string_report_error('connection to server interrupted too long'); });