mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-24 17:02:24 +00:00
Auto-restart the draw socket on close
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
parent
0c80385958
commit
6b962a74b3
@ -108,12 +108,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
elem => elem.addEventListener(
|
||||
'click', () => document.location.hash = '#' + elem.innerText.toLowerCase()))
|
||||
|
||||
// Open a global websocket
|
||||
socket = new WebSocket(
|
||||
(document.location.protocol === 'https:' ? 'wss' : 'ws') + '://' + window.location.host
|
||||
+ '/ws/draw/'
|
||||
)
|
||||
|
||||
/**
|
||||
* Add alert message on the top on the interface.
|
||||
* @param message The content of the alert.
|
||||
@ -750,41 +744,51 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
}
|
||||
|
||||
// Listen on websockets and process messages from the server
|
||||
socket.addEventListener('message', e => {
|
||||
// Parse received data as JSON
|
||||
const data = JSON.parse(e.data)
|
||||
function setupSocket() {
|
||||
// Open a global websocket
|
||||
socket = new WebSocket(
|
||||
(document.location.protocol === 'https:' ? 'wss' : 'ws') + '://' + window.location.host + '/ws/draw/'
|
||||
)
|
||||
|
||||
processMessage(data['tid'], data)
|
||||
})
|
||||
// Listen on websockets and process messages from the server
|
||||
socket.addEventListener('message', e => {
|
||||
// Parse received data as JSON
|
||||
const data = JSON.parse(e.data)
|
||||
|
||||
// Manage errors
|
||||
socket.addEventListener('close', e => {
|
||||
console.error('Chat socket closed unexpectedly')
|
||||
})
|
||||
processMessage(data['tid'], data)
|
||||
})
|
||||
|
||||
// When the socket is opened, set the language in order to receive alerts in the good language
|
||||
socket.addEventListener('open', e => {
|
||||
socket.send(JSON.stringify({
|
||||
'tid': tournaments[0].id,
|
||||
'type': 'set_language',
|
||||
'language': document.getElementsByName('language')[0].value,
|
||||
}))
|
||||
})
|
||||
// Manage errors
|
||||
socket.addEventListener('close', e => {
|
||||
console.error('Chat socket closed unexpectedly, restarting…')
|
||||
setupSocket()
|
||||
})
|
||||
|
||||
for (let tournament of tournaments) {
|
||||
// Manage the start form
|
||||
let format_form = document.getElementById('format-form-' + tournament.id)
|
||||
if (format_form !== null) {
|
||||
format_form.addEventListener('submit', function (e) {
|
||||
e.preventDefault()
|
||||
// When the socket is opened, set the language in order to receive alerts in the good language
|
||||
socket.addEventListener('open', e => {
|
||||
socket.send(JSON.stringify({
|
||||
'tid': tournaments[0].id,
|
||||
'type': 'set_language',
|
||||
'language': document.getElementsByName('language')[0].value,
|
||||
}))
|
||||
})
|
||||
|
||||
socket.send(JSON.stringify({
|
||||
'tid': tournament.id,
|
||||
'type': 'start_draw',
|
||||
'fmt': document.getElementById('format-' + tournament.id).value
|
||||
}))
|
||||
})
|
||||
for (let tournament of tournaments) {
|
||||
// Manage the start form
|
||||
let format_form = document.getElementById('format-form-' + tournament.id)
|
||||
if (format_form !== null) {
|
||||
format_form.addEventListener('submit', function (e) {
|
||||
e.preventDefault()
|
||||
|
||||
socket.send(JSON.stringify({
|
||||
'tid': tournament.id,
|
||||
'type': 'start_draw',
|
||||
'fmt': document.getElementById('format-' + tournament.id).value
|
||||
}))
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
setupSocket()
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user