homebridge-config-ui-x 5.0.0-beta.42 → 5.0.0-beta.44
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.
- package/CHANGELOG.md +24 -2
- package/config.schema.json +0 -130
- package/dist/core/auth/auth.controller.d.ts +0 -2
- package/dist/core/config/config.service.d.ts +1 -6
- package/dist/core/config/config.service.js +2 -6
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/index.js +3 -75
- package/dist/index.js.map +1 -1
- package/dist/modules/backup/backup.service.js +3 -63
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +0 -7
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/log/log.gateway.d.ts +2 -1
- package/dist/modules/log/log.gateway.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
- package/dist/modules/plugins/plugins.service.js +10 -22
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.js +0 -10
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.js +2 -30
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.d.ts +0 -1
- package/dist/modules/status/status.controller.js +0 -1
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +0 -1
- package/dist/modules/status/status.service.d.ts +0 -1
- package/dist/modules/status/status.service.js +12 -37
- package/dist/modules/status/status.service.js.map +1 -1
- package/package.json +14 -14
- package/public/chunk-2CIT6S2I.js +1 -0
- package/public/chunk-2OMXJ3FA.js +1 -0
- package/public/{chunk-RIEIV4MJ.js → chunk-2S4NZ7E5.js} +1 -1
- package/public/chunk-2UVSDDWW.js +1 -0
- package/public/{chunk-JU4EVF4W.js → chunk-3QBV6NB6.js} +1 -1
- package/public/chunk-4ZZVXMIB.js +1 -0
- package/public/{chunk-PTNPLGZX.js → chunk-57YGJMHS.js} +1 -1
- package/public/chunk-5BIUTCQZ.js +1 -0
- package/public/{chunk-7MB3DNWX.js → chunk-657BBJLS.js} +1 -1
- package/public/{chunk-FLTVAPLJ.js → chunk-673R23FU.js} +1 -1
- package/public/{chunk-4FFJROIP.js → chunk-6DCEYNAH.js} +1 -1
- package/public/{chunk-2BBAYFXG.js → chunk-6PD7WRNK.js} +1 -1
- package/public/{chunk-65FUMHFL.js → chunk-6PHDQMQP.js} +1 -1
- package/public/{chunk-QPZRGSPK.js → chunk-7GAL2GWC.js} +1 -1
- package/public/{chunk-S4NS5C5I.js → chunk-7MKC2H7Z.js} +1 -1
- package/public/{chunk-TIBT4CSR.js → chunk-7RZIX3D2.js} +1 -1
- package/public/chunk-7U562N5T.js +1 -0
- package/public/chunk-7VKBNCHQ.js +1 -0
- package/public/{chunk-W3XYJV7L.js → chunk-AHZLWGSJ.js} +1 -1
- package/public/{chunk-WBTQONWJ.js → chunk-ATIIQTF3.js} +1 -1
- package/public/{chunk-2MYACURS.js → chunk-B476MB52.js} +1 -1
- package/public/{chunk-LTBEZPLP.js → chunk-B6NAJZAY.js} +1 -1
- package/public/chunk-CUXK6F2M.js +1 -0
- package/public/chunk-D6J5R7JY.js +1 -0
- package/public/chunk-EHTM7RNX.js +1 -0
- package/public/chunk-EP5E7QB3.js +1 -0
- package/public/{chunk-MENWQGGT.js → chunk-FFP3QEYS.js} +1 -1
- package/public/{chunk-PYUYYML6.js → chunk-FJNNI37D.js} +1 -1
- package/public/chunk-GAGCS7JF.js +1 -0
- package/public/{chunk-RCUTBSYA.js → chunk-GRJUKQYS.js} +1 -1
- package/public/{chunk-72OVWMW4.js → chunk-H2R5BIIE.js} +1 -1
- package/public/{chunk-L5QEKCUD.js → chunk-H7FEXZLQ.js} +1 -1
- package/public/{chunk-5CH326YZ.js → chunk-HC5CDCFI.js} +1 -1
- package/public/{chunk-4XP7GEYJ.js → chunk-I7XJFG3L.js} +1 -1
- package/public/{chunk-V5R6RQCC.js → chunk-ICTHPXB5.js} +1 -1
- package/public/{chunk-E2YPWEWJ.js → chunk-IESRY3BM.js} +16 -16
- package/public/chunk-ILVPTBWQ.js +1 -0
- package/public/chunk-IRAXGJHI.js +1 -0
- package/public/chunk-J6XITTOY.js +1 -0
- package/public/{chunk-GQS3624Y.js → chunk-JDXM2XY2.js} +1 -1
- package/public/chunk-JIIIE6DY.js +1 -0
- package/public/{chunk-ZDFTIT3A.js → chunk-JMWPSFLB.js} +1 -1
- package/public/chunk-JUH4CMC6.js +1 -0
- package/public/chunk-K2IJ7RTL.js +1 -0
- package/public/chunk-KMZRJBGV.js +1 -0
- package/public/chunk-KZD6P5T3.js +1 -0
- package/public/chunk-KZXBH4Q7.js +1 -0
- package/public/{chunk-LKTGKLIS.js → chunk-L7F4JVLR.js} +1 -1
- package/public/chunk-LFVP4MPU.js +1 -0
- package/public/chunk-LIV76PNE.js +7 -0
- package/public/{chunk-N5FBRXHL.js → chunk-LW6NJLTC.js} +1 -1
- package/public/{chunk-Y2M2SYLN.js → chunk-MGDVO7Y6.js} +1 -1
- package/public/{chunk-ZELCXGCO.js → chunk-NLBDGF6Z.js} +1 -1
- package/public/{chunk-I63HKVR6.js → chunk-NWQ77QUI.js} +1 -1
- package/public/chunk-P4ETC423.js +1 -0
- package/public/chunk-PGNZXEL7.js +1 -0
- package/public/chunk-PJLK2URT.js +1 -0
- package/public/chunk-PUUEGKAF.js +1 -0
- package/public/chunk-QEN6AM35.js +1 -0
- package/public/{chunk-JZMQ5FID.js → chunk-R76OMMGS.js} +1 -1
- package/public/{chunk-XK6YFVEM.js → chunk-RIRPMR7C.js} +1 -1
- package/public/chunk-RNR7WDHX.js +2 -0
- package/public/{chunk-UFFY2L3W.js → chunk-RTV24JZ6.js} +1 -1
- package/public/chunk-S7OUDPWR.js +1 -0
- package/public/chunk-SHX5ILLO.js +1 -0
- package/public/{chunk-M76MJAZW.js → chunk-TCCCDXIX.js} +1 -1
- package/public/{chunk-UYTJPMEB.js → chunk-TQNNAU5B.js} +1 -1
- package/public/{chunk-T7WHHJXM.js → chunk-TSSB5L6B.js} +1 -1
- package/public/chunk-UIXYLWHU.js +1 -0
- package/public/chunk-UU2NEWAN.js +1 -0
- package/public/{chunk-FFBZNIV4.js → chunk-UWGVJMMV.js} +1 -1
- package/public/chunk-VBJJOA4E.js +6 -0
- package/public/{chunk-GOHZ4DC4.js → chunk-WDDGAKYK.js} +1 -1
- package/public/chunk-WF6YRDCQ.js +1 -0
- package/public/{chunk-SSMNJVEP.js → chunk-WOMLSQL2.js} +1 -1
- package/public/{chunk-SM4YBIEF.js → chunk-WR5KHM54.js} +1 -1
- package/public/{chunk-JI6HSJHF.js → chunk-XP6NRTWL.js} +1 -1
- package/public/{chunk-5VL3WFKG.js → chunk-XY2BPCBI.js} +1 -1
- package/public/chunk-YVQP55G6.js +1 -0
- package/public/chunk-YWI2H4SZ.js +1 -0
- package/public/chunk-Z3ELHX24.js +1 -0
- package/public/{chunk-B7O46BB4.js → chunk-Z4ULC276.js} +1 -1
- package/public/{chunk-XYZNUVDF.js → chunk-ZVYN7AQX.js} +1 -1
- package/public/index.html +2 -2
- package/public/main-T7AOVLGS.js +1 -0
- package/public/{styles-5ZGAUY5X.css → styles-CJ5TSDXW.css} +1 -1
- package/public/chunk-2ARSC6O4.js +0 -1
- package/public/chunk-3K3T5NSC.js +0 -1
- package/public/chunk-53FTBKZ2.js +0 -1
- package/public/chunk-74KAIEDS.js +0 -1
- package/public/chunk-7J7D4RFK.js +0 -1
- package/public/chunk-7W7EXLYO.js +0 -1
- package/public/chunk-AQ54ULWK.js +0 -1
- package/public/chunk-BFQLKNRB.js +0 -1
- package/public/chunk-BQOSSBRF.js +0 -1
- package/public/chunk-BSEA6257.js +0 -1
- package/public/chunk-BZKVTAWF.js +0 -1
- package/public/chunk-CHM3UOOF.js +0 -1
- package/public/chunk-CPK4IHTN.js +0 -1
- package/public/chunk-D5QSEWQM.js +0 -1
- package/public/chunk-DVRZ3IDH.js +0 -1
- package/public/chunk-G6SBDRZH.js +0 -1
- package/public/chunk-GQXGO6WL.js +0 -1
- package/public/chunk-LLRJ42LL.js +0 -1
- package/public/chunk-MOIAA6KW.js +0 -1
- package/public/chunk-NZL2QIFO.js +0 -2
- package/public/chunk-O22A7NB6.js +0 -1
- package/public/chunk-OMQJPVOF.js +0 -1
- package/public/chunk-OU3RPA4S.js +0 -1
- package/public/chunk-Q7NQDFMV.js +0 -1
- package/public/chunk-QNGE5ZDK.js +0 -1
- package/public/chunk-RNVIUOVJ.js +0 -1
- package/public/chunk-TDPDDCIB.js +0 -1
- package/public/chunk-UJHX3L5V.js +0 -1
- package/public/chunk-VCQGYVKC.js +0 -1
- package/public/chunk-VRNVEPFN.js +0 -7
- package/public/chunk-VUKBYUPD.js +0 -1
- package/public/chunk-WMOLH753.js +0 -1
- package/public/chunk-XGZAEODA.js +0 -6
- package/public/chunk-XOHC7JOP.js +0 -1
- package/public/chunk-YGEJHVNT.js +0 -1
- package/public/chunk-YJO7S4AQ.js +0 -1
- package/public/chunk-YSMKBTTY.js +0 -1
- package/public/chunk-YVJ3QN4J.js +0 -1
- package/public/main-PGVKLAL7.js +0 -1
- /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `homebridge-config-ui-x` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
-
## BETA
|
|
5
|
+
## BETA v5
|
|
6
6
|
|
|
7
7
|
### ⚠️ Breaking Changes
|
|
8
8
|
|
|
@@ -23,7 +23,8 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
|
|
|
23
23
|
- bump the default node version from 20 to 22
|
|
24
24
|
- make terminal enabled by default on new macOS hb-service installs
|
|
25
25
|
- update `fastify` and `nestjs` dependencies
|
|
26
|
-
-
|
|
26
|
+
- remove `log.tail` and `log.systemd` ui settings
|
|
27
|
+
- set service mode as default, remove standalone
|
|
27
28
|
|
|
28
29
|
### Homebridge Dependencies
|
|
29
30
|
|
|
@@ -31,6 +32,27 @@ All notable changes to `homebridge-config-ui-x` will be documented in this file.
|
|
|
31
32
|
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.12.0-beta`
|
|
32
33
|
- `@homebridge/plugin-ui-utils` @ `v2.0.1`
|
|
33
34
|
|
|
35
|
+
## v4.70.0 (2025-02-08)
|
|
36
|
+
|
|
37
|
+
### UI Changes
|
|
38
|
+
|
|
39
|
+
- updates to the `th.json` language file (#2338) (@tomzt)
|
|
40
|
+
- improvements to long-click accessory control
|
|
41
|
+
- also fixes accessory and room rearranging on the accessories page
|
|
42
|
+
- accessory and status page layout will now be locked by default on each visit
|
|
43
|
+
- add message for docker/synology users in node update info modal
|
|
44
|
+
|
|
45
|
+
### Other Changes
|
|
46
|
+
|
|
47
|
+
- append `--omit=dev` to `npm i` commands
|
|
48
|
+
- clean up `npm` cache before any install/uninstall
|
|
49
|
+
|
|
50
|
+
### Homebridge Dependencies
|
|
51
|
+
|
|
52
|
+
- `@homebridge/hap-client` @ `v2.0.5`
|
|
53
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.11.14`
|
|
54
|
+
- `@homebridge/plugin-ui-utils` @ `v2.0.1`
|
|
55
|
+
|
|
34
56
|
## v4.69.0 (2025-01-25)
|
|
35
57
|
|
|
36
58
|
### ⚠️ Plugin Config Validation
|
package/config.schema.json
CHANGED
|
@@ -176,12 +176,6 @@
|
|
|
176
176
|
}
|
|
177
177
|
]
|
|
178
178
|
},
|
|
179
|
-
"restart": {
|
|
180
|
-
"title": "Custom Restart Command",
|
|
181
|
-
"type": "string",
|
|
182
|
-
"description": "If no restart command is set the process will terminate with a non-zero exit code.",
|
|
183
|
-
"placeholder": "eg. sudo systemctl restart homebridge"
|
|
184
|
-
},
|
|
185
179
|
"temp": {
|
|
186
180
|
"title": "OS Temp File Path",
|
|
187
181
|
"type": "string",
|
|
@@ -398,22 +392,12 @@
|
|
|
398
392
|
"type": "string",
|
|
399
393
|
"placeholder": "eg. /home/pi/mywallpaper.jpg"
|
|
400
394
|
},
|
|
401
|
-
"sudo": {
|
|
402
|
-
"title": "Use Sudo",
|
|
403
|
-
"type": "boolean",
|
|
404
|
-
"description": "If you are running Homebridge as root, you may need to enable this option."
|
|
405
|
-
},
|
|
406
395
|
"homebridgePackagePath": {
|
|
407
396
|
"title": "Path To Homebridge Module",
|
|
408
397
|
"type": "string",
|
|
409
398
|
"description": "If you have multiple versions of Homebridge installed, you can specify the path to the version you want to use here.",
|
|
410
399
|
"placeholder": "eg. /usr/local/lib/node_modules/homebridge"
|
|
411
400
|
},
|
|
412
|
-
"noFork": {
|
|
413
|
-
"title": "Do not run the UI server in a separate process/thread",
|
|
414
|
-
"type": "boolean",
|
|
415
|
-
"description": "If you are running Homebridge in a container, you may need to enable this option."
|
|
416
|
-
},
|
|
417
401
|
"host": {
|
|
418
402
|
"title": "Host IP Address",
|
|
419
403
|
"type": "string",
|
|
@@ -421,16 +405,6 @@
|
|
|
421
405
|
"description": "The host IP address to listen on. In most cases this will be '::' or '0.0.0.0'.",
|
|
422
406
|
"placeholder": "eg. 0.0.0.0"
|
|
423
407
|
},
|
|
424
|
-
"debug": {
|
|
425
|
-
"title": "Enable Debug Logging",
|
|
426
|
-
"type": "boolean",
|
|
427
|
-
"description": "If enabled, the Homebridge UI will log debug level messages to the console."
|
|
428
|
-
},
|
|
429
|
-
"standalone": {
|
|
430
|
-
"title": "Tell Homebridge the plugin is operating in standalone mode",
|
|
431
|
-
"type": "boolean",
|
|
432
|
-
"description": "If you are running Homebridge in a container, you may need to enable this option."
|
|
433
|
-
},
|
|
434
408
|
"sessionTimeout": {
|
|
435
409
|
"title": "Session Timeout (Seconds)",
|
|
436
410
|
"type": "integer",
|
|
@@ -447,83 +421,6 @@
|
|
|
447
421
|
"title": "Log Settings",
|
|
448
422
|
"description": "The log settings for the Homebridge UI.",
|
|
449
423
|
"properties": {
|
|
450
|
-
"method": {
|
|
451
|
-
"title": "Log Method",
|
|
452
|
-
"type": "string",
|
|
453
|
-
"default": "",
|
|
454
|
-
"description": "The method used to read the Homebridge log file.",
|
|
455
|
-
"required": true,
|
|
456
|
-
"oneOf": [
|
|
457
|
-
{
|
|
458
|
-
"title": "Default",
|
|
459
|
-
"enum": [
|
|
460
|
-
""
|
|
461
|
-
]
|
|
462
|
-
},
|
|
463
|
-
{
|
|
464
|
-
"title": "From File",
|
|
465
|
-
"enum": [
|
|
466
|
-
"file"
|
|
467
|
-
]
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
"title": "Systemd",
|
|
471
|
-
"enum": [
|
|
472
|
-
"systemd"
|
|
473
|
-
]
|
|
474
|
-
},
|
|
475
|
-
{
|
|
476
|
-
"title": "Custom Command",
|
|
477
|
-
"enum": [
|
|
478
|
-
"custom"
|
|
479
|
-
]
|
|
480
|
-
}
|
|
481
|
-
]
|
|
482
|
-
},
|
|
483
|
-
"path": {
|
|
484
|
-
"title": "Log File Path",
|
|
485
|
-
"type": "string",
|
|
486
|
-
"description": "Enter the full file path to your log file.",
|
|
487
|
-
"placeholder": "/var/log/homebridge.log",
|
|
488
|
-
"required": true,
|
|
489
|
-
"condition": {
|
|
490
|
-
"functionBody": "return (model.log && model.log.method==='file')"
|
|
491
|
-
}
|
|
492
|
-
},
|
|
493
|
-
"service": {
|
|
494
|
-
"title": "Systemd Service",
|
|
495
|
-
"type": "string",
|
|
496
|
-
"description": "Enter the systemd service name. Defaults to 'homebridge'.",
|
|
497
|
-
"placeholder": "homebridge",
|
|
498
|
-
"required": true,
|
|
499
|
-
"condition": {
|
|
500
|
-
"functionBody": "return (model.log && model.log.method==='systemd')"
|
|
501
|
-
}
|
|
502
|
-
},
|
|
503
|
-
"command": {
|
|
504
|
-
"title": "Custom Command",
|
|
505
|
-
"description": "This command should stream the logs to stdout.",
|
|
506
|
-
"type": "string",
|
|
507
|
-
"placeholder": "journalctl -f -n 100 -u homebridge",
|
|
508
|
-
"required": true,
|
|
509
|
-
"condition": {
|
|
510
|
-
"functionBody": "return (model.log && model.log.method==='custom')"
|
|
511
|
-
}
|
|
512
|
-
},
|
|
513
|
-
"tail": {
|
|
514
|
-
"type": "string",
|
|
515
|
-
"description": "Deprecated.",
|
|
516
|
-
"condition": {
|
|
517
|
-
"functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
|
|
518
|
-
}
|
|
519
|
-
},
|
|
520
|
-
"systemd": {
|
|
521
|
-
"type": "string",
|
|
522
|
-
"description": "Deprecated.",
|
|
523
|
-
"condition": {
|
|
524
|
-
"functionBody": "return (model.log && (model.log.method==='custom' || model.log.method==='systemd' || model.log.method==='file'))"
|
|
525
|
-
}
|
|
526
|
-
},
|
|
527
424
|
"maxSize": {
|
|
528
425
|
"type": "integer",
|
|
529
426
|
"description": "The max log size (bytes). Set to -1 to disable log truncation.",
|
|
@@ -654,21 +551,6 @@
|
|
|
654
551
|
}
|
|
655
552
|
]
|
|
656
553
|
},
|
|
657
|
-
{
|
|
658
|
-
"ref": "log",
|
|
659
|
-
"type": "fieldset",
|
|
660
|
-
"expandable": true,
|
|
661
|
-
"title": "Log Settings",
|
|
662
|
-
"items": [
|
|
663
|
-
"debug",
|
|
664
|
-
"log.method",
|
|
665
|
-
"log.path",
|
|
666
|
-
"log.service",
|
|
667
|
-
"log.command",
|
|
668
|
-
"log.tail",
|
|
669
|
-
"log.systemd"
|
|
670
|
-
]
|
|
671
|
-
},
|
|
672
554
|
{
|
|
673
555
|
"ref": "logRetention",
|
|
674
556
|
"type": "fieldset",
|
|
@@ -726,8 +608,6 @@
|
|
|
726
608
|
"expandable": true,
|
|
727
609
|
"title": "Homebridge Settings",
|
|
728
610
|
"items": [
|
|
729
|
-
"sudo",
|
|
730
|
-
"restart",
|
|
731
611
|
"homebridgePackagePath"
|
|
732
612
|
]
|
|
733
613
|
},
|
|
@@ -748,16 +628,6 @@
|
|
|
748
628
|
"linux.restart",
|
|
749
629
|
"temp"
|
|
750
630
|
]
|
|
751
|
-
},
|
|
752
|
-
{
|
|
753
|
-
"ref": "container",
|
|
754
|
-
"type": "fieldset",
|
|
755
|
-
"expandable": true,
|
|
756
|
-
"title": "Container Settings",
|
|
757
|
-
"items": [
|
|
758
|
-
"standalone",
|
|
759
|
-
"noFork"
|
|
760
|
-
]
|
|
761
631
|
}
|
|
762
632
|
]
|
|
763
633
|
},
|
|
@@ -19,7 +19,6 @@ export declare class AuthController {
|
|
|
19
19
|
packageVersion: any;
|
|
20
20
|
platform: NodeJS.Platform;
|
|
21
21
|
port: number;
|
|
22
|
-
serviceMode: boolean;
|
|
23
22
|
setupWizardComplete: boolean;
|
|
24
23
|
};
|
|
25
24
|
formAuth: boolean;
|
|
@@ -51,7 +50,6 @@ export declare class AuthController {
|
|
|
51
50
|
packageVersion: any;
|
|
52
51
|
platform: NodeJS.Platform;
|
|
53
52
|
port: number;
|
|
54
|
-
serviceMode: boolean;
|
|
55
53
|
setupWizardComplete: boolean;
|
|
56
54
|
};
|
|
57
55
|
loginWallpaper: string;
|
|
@@ -13,7 +13,6 @@ export declare class ConfigService {
|
|
|
13
13
|
homebridgeInsecureMode: boolean;
|
|
14
14
|
homebridgeVersion: string;
|
|
15
15
|
minimumNodeVersion: string;
|
|
16
|
-
serviceMode: boolean;
|
|
17
16
|
runningInDocker: boolean;
|
|
18
17
|
runningInSynologyPackage: boolean;
|
|
19
18
|
runningInPackageMode: boolean;
|
|
@@ -62,12 +61,10 @@ export declare class ConfigService {
|
|
|
62
61
|
temp?: string;
|
|
63
62
|
tempUnits?: string;
|
|
64
63
|
loginWallpaper?: string;
|
|
65
|
-
noFork?: boolean;
|
|
66
64
|
linux?: {
|
|
67
65
|
shutdown?: string;
|
|
68
66
|
restart?: string;
|
|
69
67
|
};
|
|
70
|
-
standalone?: boolean;
|
|
71
68
|
debug?: boolean;
|
|
72
69
|
proxyHost?: string;
|
|
73
70
|
sessionTimeout?: number;
|
|
@@ -97,7 +94,6 @@ export declare class ConfigService {
|
|
|
97
94
|
packageVersion: any;
|
|
98
95
|
platform: NodeJS.Platform;
|
|
99
96
|
port: number;
|
|
100
|
-
serviceMode: boolean;
|
|
101
97
|
setupWizardComplete: boolean;
|
|
102
98
|
};
|
|
103
99
|
formAuth: boolean;
|
|
@@ -129,7 +125,6 @@ export declare class ConfigService {
|
|
|
129
125
|
packageVersion: any;
|
|
130
126
|
platform: NodeJS.Platform;
|
|
131
127
|
port: number;
|
|
132
|
-
serviceMode: boolean;
|
|
133
128
|
setupWizardComplete: boolean;
|
|
134
129
|
};
|
|
135
130
|
loginWallpaper: string;
|
|
@@ -142,7 +137,7 @@ export declare class ConfigService {
|
|
|
142
137
|
uiRestartRequired(): Promise<boolean>;
|
|
143
138
|
private freezeUiSettings;
|
|
144
139
|
private setConfigForDocker;
|
|
145
|
-
private
|
|
140
|
+
private setConfig;
|
|
146
141
|
private getSecrets;
|
|
147
142
|
private generateSecretToken;
|
|
148
143
|
private getInstanceId;
|
|
@@ -35,7 +35,6 @@ let ConfigService = class ConfigService {
|
|
|
35
35
|
this.instanceBackupPath = (0, node_path_1.resolve)(this.storagePath, 'backups/instance-backups');
|
|
36
36
|
this.homebridgeInsecureMode = Boolean(node_process_1.default.env.UIX_INSECURE_MODE === '1');
|
|
37
37
|
this.minimumNodeVersion = '20.18.0';
|
|
38
|
-
this.serviceMode = (node_process_1.default.env.UIX_SERVICE_MODE === '1');
|
|
39
38
|
this.runningInDocker = Boolean(node_process_1.default.env.HOMEBRIDGE_CONFIG_UI === '1');
|
|
40
39
|
this.runningInSynologyPackage = Boolean(node_process_1.default.env.HOMEBRIDGE_SYNOLOGY_PACKAGE === '1');
|
|
41
40
|
this.runningInPackageMode = Boolean(node_process_1.default.env.HOMEBRIDGE_APT_PACKAGE === '1');
|
|
@@ -71,9 +70,7 @@ let ConfigService = class ConfigService {
|
|
|
71
70
|
if (this.runningInDocker) {
|
|
72
71
|
this.setConfigForDocker();
|
|
73
72
|
}
|
|
74
|
-
|
|
75
|
-
this.setConfigForServiceMode();
|
|
76
|
-
}
|
|
73
|
+
this.setConfig();
|
|
77
74
|
if (!this.ui.port) {
|
|
78
75
|
this.ui.port = 8080;
|
|
79
76
|
}
|
|
@@ -105,7 +102,6 @@ let ConfigService = class ConfigService {
|
|
|
105
102
|
packageVersion: this.package.version,
|
|
106
103
|
platform: (0, node_os_1.platform)(),
|
|
107
104
|
port: this.ui.port,
|
|
108
|
-
serviceMode: this.serviceMode,
|
|
109
105
|
setupWizardComplete: this.setupWizardComplete,
|
|
110
106
|
},
|
|
111
107
|
formAuth: Boolean(this.ui.auth !== 'none'),
|
|
@@ -171,7 +167,7 @@ let ConfigService = class ConfigService {
|
|
|
171
167
|
this.ui.auth = this.ui.auth || node_process_1.default.env.HOMEBRIDGE_CONFIG_UI_AUTH || 'form';
|
|
172
168
|
this.ui.loginWallpaper = this.ui.loginWallpaper || node_process_1.default.env.HOMEBRIDGE_CONFIG_UI_LOGIN_WALLPAPER || undefined;
|
|
173
169
|
}
|
|
174
|
-
|
|
170
|
+
setConfig() {
|
|
175
171
|
this.homebridgeInsecureMode = Boolean(node_process_1.default.env.UIX_INSECURE_MODE === '1');
|
|
176
172
|
this.ui.restart = undefined;
|
|
177
173
|
this.ui.sudo = ((0, node_os_1.platform)() === 'linux' && !this.runningInDocker && !this.runningInSynologyPackage && !this.runningInPackageMode) || (0, node_os_1.platform)() === 'freebsd';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,6CAAqD;AACrD,qCAAqD;AACrD,yCAAmC;AACnC,gEAAkC;AAElC,2CAA2C;AAC3C,uCASiB;AACjB,mCAAgC;AAChC,mCAAkC;AAG3B,IAAM,aAAa,GAAnB,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,42 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
38
|
-
const node_child_process_1 = require("node:child_process");
|
|
39
|
-
const node_path_1 = require("node:path");
|
|
40
5
|
const node_process_1 = __importDefault(require("node:process"));
|
|
41
6
|
const commander_1 = require("commander");
|
|
42
7
|
const semver_1 = require("semver");
|
|
@@ -55,46 +20,11 @@ class HomebridgeUi {
|
|
|
55
20
|
.option('-I, --insecure', '', () => node_process_1.default.env.UIX_INSECURE_MODE = '1')
|
|
56
21
|
.option('-T, --no-timestamp', '', () => node_process_1.default.env.UIX_LOG_NO_TIMESTAMPS = '1')
|
|
57
22
|
.parse(node_process_1.default.argv);
|
|
58
|
-
if (!(0, semver_1.satisfies)(node_process_1.default.version, '>=18.
|
|
59
|
-
const msg = `Node.js
|
|
23
|
+
if (!(0, semver_1.satisfies)(node_process_1.default.version, '>=20.18.0')) {
|
|
24
|
+
const msg = `Node.js v20.18.0 higher is required. You may experience issues running this plugin running on ${node_process_1.default.version}.`;
|
|
60
25
|
log.error(msg);
|
|
61
26
|
log.warn(msg);
|
|
62
27
|
}
|
|
63
|
-
if (node_process_1.default.env.UIX_SERVICE_MODE === '1' && node_process_1.default.connected) {
|
|
64
|
-
this.log('Running in service mode.');
|
|
65
|
-
}
|
|
66
|
-
else if (config.standalone || node_process_1.default.env.UIX_SERVICE_MODE === '1'
|
|
67
|
-
|| (node_process_1.default.env.HOMEBRIDGE_CONFIG_UI === '1' && (0, semver_1.satisfies)(node_process_1.default.env.CONFIG_UI_VERSION, '>=3.5.5', { includePrerelease: true }))) {
|
|
68
|
-
this.log.warn('*********** Homebridge Standalone Mode Is Deprecated **********');
|
|
69
|
-
this.log.warn('* Please swap to service mode using the hb-service command. *');
|
|
70
|
-
this.log.warn('* See https://homebridge.io/w/JUvQr for instructions on how to migrate. *');
|
|
71
|
-
this.log('Running in standalone mode.');
|
|
72
|
-
}
|
|
73
|
-
else if (config.noFork) {
|
|
74
|
-
this.noFork();
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this.fork();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
fork() {
|
|
81
|
-
const ui = (0, node_child_process_1.fork)((0, node_path_1.resolve)(__dirname, 'bin/fork'), null, {
|
|
82
|
-
env: node_process_1.default.env,
|
|
83
|
-
});
|
|
84
|
-
this.log('Spawning Homebridge UI with PID', ui.pid);
|
|
85
|
-
ui.on('close', () => {
|
|
86
|
-
node_process_1.default.kill(node_process_1.default.pid, 'SIGTERM');
|
|
87
|
-
});
|
|
88
|
-
ui.on('error', () => {
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
async noFork() {
|
|
92
|
-
await Promise.resolve().then(() => __importStar(require('./main')));
|
|
93
|
-
}
|
|
94
|
-
static serviceMode() {
|
|
95
|
-
node_process_1.default.on('disconnect', () => {
|
|
96
|
-
node_process_1.default.exit();
|
|
97
|
-
});
|
|
98
28
|
}
|
|
99
29
|
accessories(callback) {
|
|
100
30
|
const accessories = [];
|
|
@@ -104,8 +34,6 @@ class HomebridgeUi {
|
|
|
104
34
|
module.exports = (api) => {
|
|
105
35
|
homebridge = api;
|
|
106
36
|
homebridge.registerPlatform('homebridge-config-ui-x', 'config', HomebridgeUi);
|
|
107
|
-
|
|
108
|
-
HomebridgeUi.serviceMode();
|
|
109
|
-
}
|
|
37
|
+
node_process_1.default.on('disconnect', () => node_process_1.default.exit());
|
|
110
38
|
};
|
|
111
39
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAIA,gEAAkC;AAElC,yCAAmC;AACnC,mCAAkC;AAElC,IAAI,UAAe,CAAA;AAEnB,MAAM,YAAY;IAGhB,YAAY,GAAQ,EAAE,MAAW;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,sBAAO,CAAC,GAAG,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;QAC1D,sBAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QAC5D,sBAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,IAAI,wBAAwB,CAAA;QAErE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;QAC7B,OAAO;aACJ,kBAAkB,EAAE;aACpB,oBAAoB,EAAE;aACtB,MAAM,CAAC,0BAA0B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,sBAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC;aACnF,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC;aACvE,MAAM,CAAC,oBAAoB,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,sBAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;aAC/E,KAAK,CAAC,sBAAO,CAAC,IAAI,CAAC,CAAA;QAEtB,IAAI,CAAC,IAAA,kBAAS,EAAC,sBAAO,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,iGAAiG,sBAAO,CAAC,OAAO,GAAG,CAAA;YAC/H,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACd,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvB,CAAC;CACF;AAGD,iBAAS,CAAC,GAAG,EAAE,EAAE;IACf,UAAU,GAAG,GAAG,CAAA;IAChB,UAAU,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC7E,sBAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,sBAAO,CAAC,IAAI,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
|
@@ -13,7 +13,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BackupService = void 0;
|
|
16
|
-
const node_child_process_1 = require("node:child_process");
|
|
17
16
|
const node_events_1 = require("node:events");
|
|
18
17
|
const node_os_1 = require("node:os");
|
|
19
18
|
const node_path_1 = require("node:path");
|
|
@@ -400,11 +399,6 @@ let BackupService = class BackupService {
|
|
|
400
399
|
const uiConfigBlock = restoredConfig.platforms.find(x => x.platform === 'config');
|
|
401
400
|
if (uiConfigBlock) {
|
|
402
401
|
uiConfigBlock.port = this.configService.ui.port;
|
|
403
|
-
if (this.configService.serviceMode || this.configService.runningInDocker) {
|
|
404
|
-
delete uiConfigBlock.restart;
|
|
405
|
-
delete uiConfigBlock.sudo;
|
|
406
|
-
delete uiConfigBlock.log;
|
|
407
|
-
}
|
|
408
402
|
}
|
|
409
403
|
else {
|
|
410
404
|
restoredConfig.platforms.push({
|
|
@@ -531,64 +525,10 @@ let BackupService = class BackupService {
|
|
|
531
525
|
}
|
|
532
526
|
postBackupRestoreRestart() {
|
|
533
527
|
setTimeout(() => {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
setTimeout(() => {
|
|
537
|
-
node_process_1.default.kill(node_process_1.default.pid, 'SIGKILL');
|
|
538
|
-
}, 500);
|
|
539
|
-
return;
|
|
540
|
-
}
|
|
541
|
-
if (this.configService.runningInDocker) {
|
|
542
|
-
try {
|
|
543
|
-
return (0, node_child_process_1.execSync)('killall -9 homebridge; kill -9 $(pidof homebridge-config-ui-x);');
|
|
544
|
-
}
|
|
545
|
-
catch (e) {
|
|
546
|
-
this.logger.error(`Failed to restart Homebridge as ${e.message}.`);
|
|
547
|
-
this.logger.error(e);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
if (node_process_1.default.connected) {
|
|
551
|
-
node_process_1.default.kill(node_process_1.default.ppid, 'SIGKILL');
|
|
528
|
+
this.homebridgeIpcService.killHomebridge();
|
|
529
|
+
setTimeout(() => {
|
|
552
530
|
node_process_1.default.kill(node_process_1.default.pid, 'SIGKILL');
|
|
553
|
-
}
|
|
554
|
-
if (this.configService.ui.noFork) {
|
|
555
|
-
return node_process_1.default.kill(node_process_1.default.pid, 'SIGKILL');
|
|
556
|
-
}
|
|
557
|
-
if ((0, node_os_1.platform)() === 'linux' && this.configService.ui.standalone) {
|
|
558
|
-
try {
|
|
559
|
-
const getPidByPort = (port) => {
|
|
560
|
-
try {
|
|
561
|
-
return Number.parseInt((0, node_child_process_1.execSync)(`fuser ${port}/tcp 2>/dev/null`).toString('utf8').trim(), 10);
|
|
562
|
-
}
|
|
563
|
-
catch (e) {
|
|
564
|
-
return null;
|
|
565
|
-
}
|
|
566
|
-
};
|
|
567
|
-
const getPidByName = () => {
|
|
568
|
-
try {
|
|
569
|
-
return Number.parseInt((0, node_child_process_1.execSync)('pidof homebridge').toString('utf8').trim(), 10);
|
|
570
|
-
}
|
|
571
|
-
catch (e) {
|
|
572
|
-
return null;
|
|
573
|
-
}
|
|
574
|
-
};
|
|
575
|
-
const homebridgePid = getPidByPort(this.configService.homebridgeConfig.bridge.port) || getPidByName();
|
|
576
|
-
if (homebridgePid) {
|
|
577
|
-
node_process_1.default.kill(homebridgePid, 'SIGKILL');
|
|
578
|
-
return node_process_1.default.kill(node_process_1.default.pid, 'SIGKILL');
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
catch (e) {
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
if (this.configService.ui.restart) {
|
|
585
|
-
return (0, node_child_process_1.exec)(this.configService.ui.restart, (err) => {
|
|
586
|
-
if (err) {
|
|
587
|
-
this.logger.log('Restart command exited with an error, failed to restart Homebridge.');
|
|
588
|
-
}
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
return node_process_1.default.kill(node_process_1.default.pid, 'SIGKILL');
|
|
531
|
+
}, 500);
|
|
592
532
|
}, 500);
|
|
593
533
|
return { status: 0 };
|
|
594
534
|
}
|