@@ -289,15 +289,15 @@ class DueUI {
289
289
let resp = await this . getFileList ( "/www" ) ;
290
290
let need_cleanup = resp . find ( element => element . name === "dueui.html.gz" ) ;
291
291
if ( need_cleanup ) {
292
- await this . deleteFile ( "/www/dueui.html.gz" ) ;
292
+ await this . deleteFile ( "/www/dueui.html.gz" , true ) ;
293
293
}
294
294
resp = await this . getFileList ( "/www/js" ) ;
295
295
let oldfiles = [ "dueui-bundle.js.gz" , "dueui-vendor-bundle.js.gz" ,
296
296
"dueui-loader.js.gz" , "dueui_element.js.gz" ] ;
297
297
for ( let f of oldfiles . values ( ) ) {
298
298
need_cleanup = resp . find ( element => element . name === f ) ;
299
299
if ( need_cleanup ) {
300
- await this . deleteFile ( "/www/js/" + f ) ;
300
+ await this . deleteFile ( "/www/js/" + f , true ) ;
301
301
}
302
302
}
303
303
}
@@ -336,7 +336,21 @@ class DueUI {
336
336
class DueUI_DSF extends DueUI {
337
337
338
338
async connect_once ( host ) {
339
- let resp = await getJSONFromDuet ( "/machine/status" ) ;
339
+ let resp = await getJSONFromDuet ( `/rr_connect?password=${ encodeURI ( resolvedSettings . duet_password ) } ` ) ;
340
+
341
+ let connect_url = "/machine/connect" ;
342
+ if ( resolvedSettings . duet_password . length > 0 ) {
343
+ connect_url += `?password=${ encodeURI ( resolvedSettings . duet_password ) } ` ;
344
+ }
345
+ resp = await getJSONFromDuet ( connect_url ) ;
346
+ if ( ! resp . ok ) {
347
+ this . logMessage ( "W" , `Initial connect failed: ${ resp . status } ${ resp . statusText } ` ) ;
348
+ this . connected = false ;
349
+ return resp ;
350
+ }
351
+ resolvedSettings . sessionKey = resp . data . sessionKey ;
352
+
353
+ resp = await getJSONFromDuet ( "/machine/status" ) ;
340
354
if ( ! resp . ok ) {
341
355
this . logMessage ( "W" , `Initial connect failed: ${ resp . status } ${ resp . statusText } ` ) ;
342
356
this . connected = false ;
@@ -376,26 +390,26 @@ class DueUI_DSF extends DueUI {
376
390
if ( resp . length == 0 ) {
377
391
return ;
378
392
}
379
- await this . deleteFile ( "/www/dueui/index.html" ) ;
393
+ await this . deleteFile ( "/www/dueui/index.html" , true ) ;
380
394
381
395
for ( let d of [ "css" , "fonts" , "js" ] . values ( ) ) {
382
396
resp = await this . getFileList ( "/www/dueui/" + d ) ;
383
397
for ( let f of resp . values ( ) ) {
384
- await this . deleteFile ( "/www/dueui/" + d + "/" + f . name ) ;
398
+ await this . deleteFile ( "/www/dueui/" + d + "/" + f . name , true ) ;
385
399
}
386
- await this . deleteFile ( "/www/dueui/" + d ) ;
400
+ await this . deleteFile ( "/www/dueui/" + d , true ) ;
387
401
}
388
402
389
- await this . deleteFile ( "/www/dueui" ) ;
403
+ await this . deleteFile ( "/www/dueui" , true ) ;
390
404
}
391
405
392
- async deleteFile ( path ) {
406
+ async deleteFile ( path , suppressError = false ) {
393
407
let resp = await tryFetch ( `http://${ resolvedSettings . duet_host } /machine/file/${ path } ` , {
394
408
"method" : "DELETE"
395
409
} ) ;
396
410
console . log ( { action : "DeleteFile" , path : path , resp, respText : await resp . text ( ) } ) ;
397
411
398
- if ( ! resp . ok ) {
412
+ if ( ! resp . ok && ! suppressError ) {
399
413
this . logMessage ( "W" , `DELETE of '${ path } ' failed: ${ resp . status } ${ resp . statusText } ` ) ;
400
414
}
401
415
@@ -504,6 +518,10 @@ class DueUI_DSF extends DueUI {
504
518
resp . ok = true ;
505
519
506
520
let ws_url = `ws://${ resolvedSettings . duet_host } /machine` ;
521
+ if ( resolvedSettings . sessionKey ) {
522
+ ws_url += `?sessionKey=${ encodeURI ( resolvedSettings . sessionKey ) } ` ;
523
+ }
524
+
507
525
try {
508
526
this . websocket = new WebSocket ( ws_url ) ;
509
527
@@ -596,11 +614,11 @@ class DueUI_Standalone extends DueUI {
596
614
}
597
615
}
598
616
599
- async deleteFile ( path ) {
617
+ async deleteFile ( path , suppressError = false ) {
600
618
let resp = await getJSONFromDuet ( `/rr_delete?name=${ path } ` ) ;
601
619
console . log ( { action : "DeleteFile" , path : path , resp, respText : await resp . data } ) ;
602
620
603
- if ( ! resp . ok ) {
621
+ if ( ! resp . ok && ! suppressError ) {
604
622
this . logMessage ( "W" , `DELETE of '${ path } ' failed: ${ resp . status } ${ resp . statusText } ` ) ;
605
623
}
606
624
0 commit comments