44
55
66// update worker name when updating worker
7- const WORKER_NAME = 'codeit-worker-v506 ' ;
7+ const WORKER_NAME = 'codeit-worker-v518 ' ;
88
99
1010// internal paths
@@ -24,6 +24,9 @@ const INTERNAL_PATHS = {
2424}
2525
2626
27+ const isSafari = self . navigator . userAgent . toLowerCase ( ) . includes ( 'safari' ) ;
28+
29+
2730// key : value
2831// live view client ID: codeit client ID
2932let liveViewClients = { } ;
@@ -196,7 +199,7 @@ function handleFetchRequest(request, event) {
196199 || ( getPathType ( request . referrer ) === 'run' ) ) { // if fetch originated in live view
197200
198201 if ( enableDevLogs ) {
199- console . debug ( '[ServiceWorker] Intercepted live fetch' , request . url , request ) ;
202+ console . debug ( '[ServiceWorker] Intercepted live fetch' , event ) ;
200203 }
201204
202205
@@ -206,17 +209,29 @@ function handleFetchRequest(request, event) {
206209
207210 const liveFramePath = INTERNAL_PATHS . relLivePath ;
208211
212+ let liveViewClientId = event . resultingClientId ?? event . targetClientId ;
213+
209214 // if codeit client is creating a new live view
210215 if ( url . endsWith ( liveFramePath )
211- && event . resultingClientId ) {
216+ && liveViewClientId ) {
212217
213218 // add live view to client array
214-
215- const liveViewClientId = event . resultingClientId ;
216219
217220 parentClientId = parentClientId . slice ( 0 , - 1 ) ;
218221 clientId = parentClientId ;
219222
223+ // if on safari
224+ if ( isSafari && event . targetClientId ) {
225+
226+ // add 1 to live view client id
227+ let splitId = liveViewClientId . split ( '-' ) ;
228+
229+ splitId [ 1 ] = Number ( splitId [ 1 ] ) + 1 ;
230+
231+ liveViewClientId = splitId . join ( '-' ) ;
232+
233+ }
234+
220235 // pair live view client ID
221236 // with codeit client ID
222237 // in client array
0 commit comments