Skip to content

Commit 9112156

Browse files
committed
Handle closing devtools, add comments
1 parent e3757d4 commit 9112156

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

shells/electron/server.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ io.on('connection', function (socket) {
1717
// Disconnect any previously connected apps
1818
socket.broadcast.emit('vue-devtools-disconnect-backend')
1919

20+
socket.on('vue-devtools-init', () => {
21+
socket.broadcast.emit('vue-devtools-init')
22+
})
23+
2024
socket.on('disconnect', (reason) => {
2125
if (reason.indexOf('client')) {
2226
socket.broadcast.emit('vue-devtools-disconnect-devtools')
@@ -26,9 +30,6 @@ io.on('connection', function (socket) {
2630
socket.on('vue-message', data => {
2731
socket.broadcast.emit('vue-message', data)
2832
})
29-
socket.on('vue-devtools-init', () => {
30-
socket.broadcast.emit('vue-devtools-init')
31-
})
3233
})
3334

3435
http.listen(port, () => {

shells/electron/src/backend.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,22 @@ const disconnectedMessage = () => {
1919
const port = process.env.PORT || 8098
2020
const socket = io('http://localhost:' + port)
2121

22+
// Disconnect socket once other client is connected
23+
socket.on('vue-devtools-disconnect-backend', () => {
24+
socket.disconnect()
25+
})
26+
27+
// Global disconnect handler. Fires in two cases:
28+
// - after calling above socket.disconnect()
29+
// - once devtools is closed (that's why we need socket.disconnect() here too, to prevent further polling)
30+
socket.on('disconnect', (reason) => {
31+
socket.disconnect()
32+
disconnectedMessage()
33+
})
34+
2235
const bridge = new Bridge({
2336
listen (fn) {
2437
socket.on('vue-message', data => fn(data))
25-
socket.on('vue-devtools-disconnect-backend', () => {
26-
socket.disconnect()
27-
disconnectedMessage()
28-
})
2938
},
3039
send (data) {
3140
socket.emit('vue-message', data)

shells/electron/src/devtools.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ socket.on('vue-devtools-disconnect-devtools', () => {
1414
})
1515

1616
socket.on('vue-devtools-init', () => {
17-
socket.off('vue-message')
1817
$intro.classList.add('hidden')
1918

19+
// Reset attached listeners
20+
socket.off('vue-message')
21+
2022
// If new page is opened reload devtools
2123
if (reload) return reload()
2224

0 commit comments

Comments
 (0)