homebridge-config-ui-x 5.7.1-beta.0 → 5.7.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +4 -4
  3. package/public/{chunk-U5LXXNOH.js → chunk-33I2WAPA.js} +1 -1
  4. package/public/{chunk-APBUOHZS.js → chunk-3TBT6DFT.js} +1 -1
  5. package/public/chunk-4FJM7H3L.js +49 -0
  6. package/public/{chunk-VM2UAZMQ.js → chunk-4Q4EMDYU.js} +1 -1
  7. package/public/{chunk-7JQTM5VR.js → chunk-52TN5TLE.js} +1 -1
  8. package/public/{chunk-3FCDWEWL.js → chunk-6442J3KD.js} +1 -1
  9. package/public/{chunk-EE3RRTXF.js → chunk-6RBQ3U62.js} +1 -1
  10. package/public/{chunk-ORR3LUAG.js → chunk-757NZ5FN.js} +1 -1
  11. package/public/{chunk-ZPV2G5WH.js → chunk-7D4626K3.js} +1 -1
  12. package/public/{chunk-2GDI5J2K.js → chunk-7G2ATSBL.js} +1 -1
  13. package/public/{chunk-HGIN6MXR.js → chunk-7X3MYWRC.js} +1 -1
  14. package/public/{chunk-D4KHU6BO.js → chunk-7XENWEZY.js} +4 -4
  15. package/public/{chunk-ZEDBGJDL.js → chunk-A4DM6OB7.js} +1 -1
  16. package/public/{chunk-GMKIMNEJ.js → chunk-A6NP6YM3.js} +1 -1
  17. package/public/{chunk-A3VOSHE3.js → chunk-BUTXZS5S.js} +1 -1
  18. package/public/{chunk-VL3E2KD6.js → chunk-BWFCDNJR.js} +1 -1
  19. package/public/{chunk-53PBUICS.js → chunk-D5GHJ2PC.js} +1 -1
  20. package/public/{chunk-RO7NKASB.js → chunk-DFEP7OMA.js} +1 -1
  21. package/public/{chunk-L6LW27TT.js → chunk-DHI7UKUH.js} +1 -1
  22. package/public/{chunk-AJA3R3VR.js → chunk-E6QRAWB3.js} +1 -1
  23. package/public/{chunk-SW56LZ47.js → chunk-EGIFZEEK.js} +1 -1
  24. package/public/{chunk-V5P44DOW.js → chunk-FBSXMZTR.js} +1 -1
  25. package/public/{chunk-KCDTAVOG.js → chunk-FNW4N3OF.js} +1 -1
  26. package/public/{chunk-5T46XT7E.js → chunk-GYOO7JUE.js} +1 -1
  27. package/public/{chunk-7BNE4HDV.js → chunk-HCPSLKXZ.js} +1 -1
  28. package/public/{chunk-BG3YPRP7.js → chunk-HMBJBXID.js} +1 -1
  29. package/public/{chunk-3A74D7VW.js → chunk-K4OWPKLC.js} +1 -1
  30. package/public/{chunk-4PJFMDDK.js → chunk-KO5NPZNJ.js} +1 -1
  31. package/public/{chunk-W4YNUQC4.js → chunk-LBUUSF4M.js} +1 -1
  32. package/public/{chunk-QXLC22XM.js → chunk-LJYCHVCT.js} +1 -1
  33. package/public/{chunk-U2DCVJC7.js → chunk-LNEYUKKC.js} +1 -1
  34. package/public/{chunk-4VXLR7WL.js → chunk-LUBU7Q3L.js} +1 -1
  35. package/public/{chunk-HAZ2ABGR.js → chunk-LYAOPZNK.js} +1 -1
  36. package/public/{chunk-QLOWEP5Z.js → chunk-O4Q265NX.js} +1 -1
  37. package/public/{chunk-HHZGHYTG.js → chunk-ORD5YHDY.js} +1 -1
  38. package/public/{chunk-NQBFJIOR.js → chunk-OSQPHAVO.js} +1 -1
  39. package/public/{chunk-BECFJ3QC.js → chunk-OU6KIU7S.js} +1 -1
  40. package/public/{chunk-QO6LC2PQ.js → chunk-OXFLIM3Y.js} +1 -1
  41. package/public/{chunk-LHKFBZ75.js → chunk-Q4Y7JUOC.js} +1 -1
  42. package/public/{chunk-43ZKULR6.js → chunk-RJC22EP3.js} +1 -1
  43. package/public/{chunk-CBPTM3PU.js → chunk-RUR5A3D4.js} +1 -1
  44. package/public/chunk-S6NZQOEZ.js +1 -0
  45. package/public/{chunk-A3ENZTDL.js → chunk-UXJAW3WR.js} +1 -1
  46. package/public/{chunk-2ZO2IWDH.js → chunk-UYOR53RO.js} +1 -1
  47. package/public/{chunk-ZMBU55UB.js → chunk-UZNZYV44.js} +1 -1
  48. package/public/{chunk-D64AW47N.js → chunk-VMDLBVWR.js} +1 -1
  49. package/public/{chunk-7Y37SJKY.js → chunk-WERHD4LL.js} +1 -1
  50. package/public/{chunk-ZLMCA6E3.js → chunk-XBS43EWO.js} +1 -1
  51. package/public/{chunk-HKNTSQYZ.js → chunk-Y7BKTZOG.js} +1 -1
  52. package/public/{chunk-4AON66EV.js → chunk-ZF7YP6JA.js} +1 -1
  53. package/public/{chunk-7YPBYTEJ.js → chunk-ZQVCK5CP.js} +1 -1
  54. package/public/{chunk-ENT6ZXPH.js → chunk-ZULFWSWZ.js} +1 -1
  55. package/public/index.html +2 -2
  56. package/public/{main-OQSPIDZJ.js → main-VSG34VWA.js} +1 -1
  57. package/public/{styles-BYCPUTDK.css → styles-GVEJWGBU.css} +1 -1
  58. package/public/chunk-2YG43QSK.js +0 -1
  59. package/public/chunk-CCFYLXGT.js +0 -49
package/CHANGELOG.md CHANGED
@@ -6,6 +6,10 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
6
6
 
7
7
  ### UI Changes
8
8
 
9
+ - remove accessory focus style (#2582) (@dnicolson)
10
+ - updates to the uk.json language file (#2584) (@xrust83)
11
+ - detect full restart needed after config (editor) update
12
+ - fix microphone active state on accessory tile
9
13
  - added config option to advertise the ui over mdns
10
14
  - added config option to for inactivity-based session timeout
11
15
  - added config option to configure a webroot for the ui
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-config-ui-x",
3
3
  "displayName": "Homebridge UI",
4
- "version": "5.7.1-beta.0",
4
+ "version": "5.7.1-beta.2",
5
5
  "description": "A web based management, configuration and control platform for Homebridge.",
6
6
  "author": "oznu <dev@oz.nu>",
7
7
  "license": "MIT",
@@ -99,7 +99,7 @@
99
99
  "class-validator": "0.14.2",
100
100
  "commander": "14.0.1",
101
101
  "dayjs": "1.11.18",
102
- "fastify": "5.6.0",
102
+ "fastify": "5.6.1",
103
103
  "fs-extra": "11.3.2",
104
104
  "jsonwebtoken": "9.0.2",
105
105
  "lodash": "4.17.21",
@@ -115,7 +115,7 @@
115
115
  "semver": "7.7.2",
116
116
  "systeminformation": "5.27.10",
117
117
  "tail": "2.2.6",
118
- "tar": "7.4.3",
118
+ "tar": "7.4.4",
119
119
  "tcp-port-used": "1.0.2",
120
120
  "unzipper": "0.12.3"
121
121
  },
@@ -150,7 +150,7 @@
150
150
  "axios": "1.12.2"
151
151
  },
152
152
  "@nestjs/platform-fastify": {
153
- "fastify": "5.6.0"
153
+ "fastify": "5.6.1"
154
154
  }
155
155
  },
156
156
  "maintainers": [
@@ -1 +1 @@
1
- import{a as P}from"./chunk-3A74D7VW.js";import"./chunk-U2DCVJC7.js";import{d as D}from"./chunk-VHUDBTN7.js";import{b as F}from"./chunk-7Y37SJKY.js";import{k as E,l as R,n as B,q as U}from"./chunk-NQBFJIOR.js";import{Db as S,Gb as T,Ib as u,Kc as O,La as r,Vb as a,Wa as y,Wb as p,Xb as x,gc as k,h as b,hc as g,ja as d,lb as h,mb as _,mc as l,nc as c,oa as $,pa as w,rb as f,sb as s,tb as n,ub as v,w as C,zc as I}from"./chunk-M33HG622.js";var W=(e,m)=>({"fas fa-spinner fa-spin":e,"far fa-check-circle":m}),M=e=>({"grey-text":e}),V=(e,m)=>({"far fa-circle":e,"fas fa-spinner fa-spin":m});function j(e,m){if(e&1&&(s(0,"div",7),a(1),n()),e&2){let t=u();r(),p(t.error)}}function q(e,m){if(e&1&&(s(0,"p",9),a(1),l(2,"translate"),n(),s(3,"div",10)(4,"div",11)(5,"span"),v(6,"i",12),a(7),l(8,"translate"),n()(),s(9,"div",11)(10,"span",12),v(11,"i",12),a(12),l(13,"translate"),n()()()),e&2){let t=u();r(),p(c(2,6,"restart.please_wait_while_server_restarts")),r(5),f("ngClass",g(12,W,!t.uiOnline,t.uiOnline)),r(),x(" ",c(8,8,"restart.ui_online")," "),r(3),f("ngClass",k(15,M,!t.uiOnline)),r(),f("ngClass",g(17,V,!t.uiOnline,t.uiOnline)),r(),x(" ",c(13,10,"restart.service_ready")," ")}}function z(e,m){if(e&1){let t=S();s(0,"p",15)(1,"button",16),T("click",function(){$(t);let o=u(2);return w(o.viewLogs())}),a(2),l(3,"translate"),n()()}e&2&&(r(2),p(c(3,1,"menu.tooltip_view_logs")))}function A(e,m){if(e&1&&(s(0,"div",8)(1,"p"),a(2),l(3,"translate"),n(),s(4,"p",13),a(5),l(6,"translate"),s(7,"span",14),a(8),n()(),h(9,z,4,3,"p",15),n()),e&2){let t=u();r(2),p(c(3,4,"restart.server_is_taking_long_time_to_restart")),r(3),x(" ",c(6,6,"restart.label_restart_command_executed"),": "),r(3),p(t.resp.command||"End Process"),r(),_(t.uiOnline?9:-1)}}var et=(()=>{class e{$api=d(U);$router=d(D);$settings=d(F);$toastr=d(B);$translate=d(E);$ws=d(P);checkTimeout;checkDelay;io;webrootChanged=!1;uiOnline=!1;error=!1;resp={};timeout=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$router.parseUrl(this.$router.url).queryParams.restarting==="true"?(this.uiOnline=!0,this.checkIfServerUp()):this.performRestart()}viewLogs(){this.$router.navigate(["/logs"])}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}performRestart(){return b(this,null,function*(){try{let t=this.$settings.originalWebroot||"",i=this.$settings.webroot||"";this.webrootChanged=t!==i&&t!==globalThis.webroot.errorCode,this.webrootChanged&&(yield C(this.$api.put("/server/webroot",{webroot:i}))),this.$api.put("/server/restart",{}).subscribe({next:o=>{this.resp=o,this.checkIfServerUp(),o.restartingUI||(this.uiOnline=!0)},error:o=>{console.error(o),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}catch(t){console.error("Failed to update webroot:",t),this.$api.put("/server/restart",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp(),i.restartingUI||(this.uiOnline=!0)},error:i=>{console.error(i),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",t=>{if(this.uiOnline=!0,t.status==="up"||t.status==="pending")if(this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.webrootChanged&&!I()){let i=this.$settings.webroot?.replace(/^\/+|\/+$/g,"")||"";window.location.href=i?`/${i}/`:"/"}else this.$router.navigate(["/"])})},7e3),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},4e4)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=y({type:e,selectors:[["ng-component"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[3,"ngClass"],[1,"grey-text","mb-0"],[1,"font-monospace"],[1,"mt-2","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"]],template:function(i,o){i&1&&(s(0,"div",0)(1,"h3",1),a(2),l(3,"translate"),n()(),s(4,"div",2)(5,"div",3),v(6,"i",4),n(),s(7,"div",5)(8,"h4",6),a(9),l(10,"translate"),n(),h(11,j,2,1,"div",7)(12,q,14,20),h(13,A,10,8,"div",8),n()()),i&2&&(r(2),p(c(3,4,"menu.restart.title")),r(7),p(c(10,6,"restart.title_restart")),r(2),_(o.error?11:12),r(2),_(o.timeout?13:-1))},dependencies:[O,R],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return e})();export{et as RestartComponent};
1
+ import{a as P}from"./chunk-K4OWPKLC.js";import"./chunk-LNEYUKKC.js";import{d as D}from"./chunk-VHUDBTN7.js";import{b as F}from"./chunk-WERHD4LL.js";import{k as E,l as R,n as B,q as U}from"./chunk-OSQPHAVO.js";import{Db as S,Gb as T,Ib as u,Kc as O,La as r,Vb as a,Wa as y,Wb as p,Xb as x,gc as k,h as b,hc as g,ja as d,lb as h,mb as _,mc as l,nc as c,oa as $,pa as w,rb as f,sb as s,tb as n,ub as v,w as C,zc as I}from"./chunk-M33HG622.js";var W=(e,m)=>({"fas fa-spinner fa-spin":e,"far fa-check-circle":m}),M=e=>({"grey-text":e}),V=(e,m)=>({"far fa-circle":e,"fas fa-spinner fa-spin":m});function j(e,m){if(e&1&&(s(0,"div",7),a(1),n()),e&2){let t=u();r(),p(t.error)}}function q(e,m){if(e&1&&(s(0,"p",9),a(1),l(2,"translate"),n(),s(3,"div",10)(4,"div",11)(5,"span"),v(6,"i",12),a(7),l(8,"translate"),n()(),s(9,"div",11)(10,"span",12),v(11,"i",12),a(12),l(13,"translate"),n()()()),e&2){let t=u();r(),p(c(2,6,"restart.please_wait_while_server_restarts")),r(5),f("ngClass",g(12,W,!t.uiOnline,t.uiOnline)),r(),x(" ",c(8,8,"restart.ui_online")," "),r(3),f("ngClass",k(15,M,!t.uiOnline)),r(),f("ngClass",g(17,V,!t.uiOnline,t.uiOnline)),r(),x(" ",c(13,10,"restart.service_ready")," ")}}function z(e,m){if(e&1){let t=S();s(0,"p",15)(1,"button",16),T("click",function(){$(t);let o=u(2);return w(o.viewLogs())}),a(2),l(3,"translate"),n()()}e&2&&(r(2),p(c(3,1,"menu.tooltip_view_logs")))}function A(e,m){if(e&1&&(s(0,"div",8)(1,"p"),a(2),l(3,"translate"),n(),s(4,"p",13),a(5),l(6,"translate"),s(7,"span",14),a(8),n()(),h(9,z,4,3,"p",15),n()),e&2){let t=u();r(2),p(c(3,4,"restart.server_is_taking_long_time_to_restart")),r(3),x(" ",c(6,6,"restart.label_restart_command_executed"),": "),r(3),p(t.resp.command||"End Process"),r(),_(t.uiOnline?9:-1)}}var et=(()=>{class e{$api=d(U);$router=d(D);$settings=d(F);$toastr=d(B);$translate=d(E);$ws=d(P);checkTimeout;checkDelay;io;webrootChanged=!1;uiOnline=!1;error=!1;resp={};timeout=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$router.parseUrl(this.$router.url).queryParams.restarting==="true"?(this.uiOnline=!0,this.checkIfServerUp()):this.performRestart()}viewLogs(){this.$router.navigate(["/logs"])}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}performRestart(){return b(this,null,function*(){try{let t=this.$settings.originalWebroot||"",i=this.$settings.webroot||"";this.webrootChanged=t!==i&&t!==globalThis.webroot.errorCode,this.webrootChanged&&(yield C(this.$api.put("/server/webroot",{webroot:i}))),this.$api.put("/server/restart",{}).subscribe({next:o=>{this.resp=o,this.checkIfServerUp(),o.restartingUI||(this.uiOnline=!0)},error:o=>{console.error(o),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}catch(t){console.error("Failed to update webroot:",t),this.$api.put("/server/restart",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp(),i.restartingUI||(this.uiOnline=!0)},error:i=>{console.error(i),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",t=>{if(this.uiOnline=!0,t.status==="up"||t.status==="pending")if(this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.webrootChanged&&!I()){let i=this.$settings.webroot?.replace(/^\/+|\/+$/g,"")||"";window.location.href=i?`/${i}/`:"/"}else this.$router.navigate(["/"])})},7e3),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},4e4)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=y({type:e,selectors:[["ng-component"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[3,"ngClass"],[1,"grey-text","mb-0"],[1,"font-monospace"],[1,"mt-2","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"]],template:function(i,o){i&1&&(s(0,"div",0)(1,"h3",1),a(2),l(3,"translate"),n()(),s(4,"div",2)(5,"div",3),v(6,"i",4),n(),s(7,"div",5)(8,"h4",6),a(9),l(10,"translate"),n(),h(11,j,2,1,"div",7)(12,q,14,20),h(13,A,10,8,"div",8),n()()),i&2&&(r(2),p(c(3,4,"menu.restart.title")),r(7),p(c(10,6,"restart.title_restart")),r(2),_(o.error?11:12),r(2),_(o.timeout?13:-1))},dependencies:[O,R],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return e})();export{et as RestartComponent};
@@ -1 +1 @@
1
- import{c as t}from"./chunk-43ZKULR6.js";import{b as i}from"./chunk-5JDHV5WO.js";import{Xa as r,fa as o}from"./chunk-M33HG622.js";var f=(()=>{class e{static \u0275fac=function(s){return new(s||e)};static \u0275mod=r({type:e});static \u0275inj=o({providers:[t],imports:[i]})}return e})();export{f as a};
1
+ import{c as t}from"./chunk-RJC22EP3.js";import{b as i}from"./chunk-5JDHV5WO.js";import{Xa as r,fa as o}from"./chunk-M33HG622.js";var f=(()=>{class e{static \u0275fac=function(s){return new(s||e)};static \u0275mod=r({type:e});static \u0275inj=o({providers:[t],imports:[i]})}return e})();export{f as a};