Skip to content

Commit f09e900

Browse files
committed
Send versions for each bg script connection
1 parent 1b02133 commit f09e900

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

extension/src/content.ts

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ This script is injected into every page and is responsible for:
1111

1212
import {
1313
Place_Name, ConnectionName,
14-
port_on_message, port_post_message_obj, message,
14+
port_on_message, port_post_message_obj, port_post_message,
1515
window_post_message_obj, window_on_message, window_post_message,
1616
place_error, place_log,
17-
type Message,
17+
type Message, type Versions,
1818
} from './shared.ts'
1919

2020
// @ts-expect-error ?script&module query ensures output in ES module format and only import the script path
@@ -59,11 +59,15 @@ function on_loaded() {
5959
}
6060

6161

62-
let extension_version = chrome.runtime.getManifest().version
63-
64-
let bg_port: chrome.runtime.Port | null = null
6562
let devtools_opened = false
63+
let bg_port: chrome.runtime.Port | null = null
6664
let message_queue: Message[] = []
65+
let versions: Versions = {
66+
client: null,
67+
solid: null,
68+
extension: chrome.runtime.getManifest().version,
69+
client_expected: import.meta.env.EXPECTED_CLIENT,
70+
}
6771

6872
let connecting = false
6973
function connect_port() {
@@ -77,6 +81,9 @@ function connect_port() {
7781
bg_port = new_port
7882
DEV: {place_log(Place_Name.Content, 'Port connected successfully')}
7983

84+
// Post versions to each background port
85+
port_post_message(new_port, 'Versions', versions)
86+
8087
// Flush queued messages
8188
for (let m of message_queue.splice(0, message_queue.length)) {
8289
port_post_message_obj(new_port, m)
@@ -97,8 +104,11 @@ function connect_port() {
97104
})
98105

99106
new_port.onDisconnect.addListener(() => {
107+
DEV: {place_log(Place_Name.Content, 'Port disconnected...')}
108+
100109
if (bg_port === new_port) {
101110
bg_port = null
111+
devtools_opened = false
102112
setTimeout(connect_port, 100)
103113
}
104114
})
@@ -117,24 +127,12 @@ window_on_message(e => {
117127
switch (e.kind) {
118128
case 'Debugger_Connected': {
119129

120-
// eslint-disable-next-line no-console
121-
console.log(
122-
'🚧 %csolid-devtools%c is in early development! 🚧\nPlease report any bugs to https://github.com/thetarnav/solid-devtools/issues',
123-
'color: #fff; background: rgba(181, 111, 22, 0.7); padding: 1px 4px;',
124-
'color: #e38b1b',
125-
)
126-
127-
let versions_message = message('Versions', {
128-
client: e.data.client,
129-
solid: e.data.solid,
130-
extension: extension_version,
131-
client_expected: import.meta.env.EXPECTED_CLIENT,
132-
})
130+
versions.client = e.data.client
131+
versions.solid = e.data.solid
133132

134133
if (bg_port) {
135-
port_post_message_obj(bg_port, versions_message)
134+
port_post_message(bg_port, 'Versions', versions)
136135
} else {
137-
message_queue.push(versions_message)
138136
connect_port()
139137
}
140138

0 commit comments

Comments
 (0)