Skip to content

Commit

Permalink
Merge branch 'beta-4.50.6' into cisswolff-patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
bwp91 authored Sep 21, 2023
2 parents 61e844d + 5726e85 commit d2ae83b
Show file tree
Hide file tree
Showing 51 changed files with 1,268 additions and 1,108 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/attach-artifact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 16.x
node-version: 20.x

# Sanity check to ensure that release tags don't start with a 'v' version prefix but adhere to the X.Y.Z format
- name: Check for Tag name Format
Expand Down
12 changes: 4 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ jobs:

uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@main
with:
enable_coverage: true
enable_coverage: false
## Code Coverage can only be used in a single run, not in a parallel run - Error: Bad response: 422 {"message":"Can't add a job to a build that is already closed. Build 6224987022 is closed. See docs.coveralls.io/parallel-builds","error":true}
## Coveralls only expects to create a report once per build
runs_on: ${{ matrix.os }}
install_cmd: npm ci && cd ui && npm ci
secrets:
Expand All @@ -27,18 +29,12 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node-version: [16.x, 17.x, 18.x]
node-version: [18.x]
include:
- os: macos-latest
node-version: 16.x
- os: macos-latest
node-version: 18.x
- os: windows-2019
node-version: 16.x
- os: windows-2019
node-version: 18.x
- os: windows-latest
node-version: 16.x
- os: windows-latest
node-version: 18.x

Expand Down
10 changes: 2 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,19 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
node-version: [16.x, 17.x, 18.x]
node-version: [18.x]
include:
- os: macos-latest
node-version: 16.x
- os: macos-latest
node-version: 18.x
- os: windows-2019
node-version: 16.x
- os: windows-2019
node-version: 18.x
- os: windows-latest
node-version: 16.x
- os: windows-latest
node-version: 18.x

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
Expand Down
1,613 changes: 814 additions & 799 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,4 @@ npm run test

Additional language translations, or improvements to existing translations are most welcome. Translations can be found here:

https://github.com/oznu/homebridge-config-ui-x/tree/master/ui/src/i18n
https://github.com/homebridge/homebridge-config-ui-x/tree/master/ui/src/i18n
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,16 @@ Supported Languages: :gb: :de: :fr: :poland: :czech_republic: :ru: :cn: :hungary
* View and control Homebridge accessories
* Restart Homebridge
* Backup and Restore your Homebridge instance
* Set up and manage your Homebridge plugins as [child bridges](https://github.com/homebridge/homebridge/wiki/Child-Bridges)
* and more...

Homebridge Config UI X also provides a tool called [`hb-service`](https://github.com/oznu/homebridge-config-ui-x/wiki/Homebridge-Service-Command) which makes it easy to setup Homebridge as a service on Linux/Raspbian, macOS and Windows 10.
Homebridge Config UI X also provides a tool called [`hb-service`](https://github.com/homebridge/homebridge-config-ui-x/wiki/Homebridge-Service-Command) which makes it easy to set up Homebridge as a service on Linux/Raspbian, macOS and Windows 10.

[![Status](screenshots/homebridge-config-ui-x-darkmode-status.png?2020-01-07)](#usage)

# Installation Instructions

For detailed instructions on how to setup Node.js and Homebridge with Homebridge Config UI X as a service see the guides on the wiki:
For detailed instructions on how to set up Node.js and Homebridge with Homebridge Config UI X as a service, see the guides on the wiki:

* <img src="https://user-images.githubusercontent.com/3979615/78118327-9853f200-7452-11ea-88aa-5e57ebcf3070.png" alt="homebridge-raspbian-image" height="16px" width="16px"/> [Setup Homebridge using the official Homebridge Raspberry Pi Image](https://github.com/homebridge/homebridge-raspbian-image/wiki/Getting-Started)
* <img src="https://user-images.githubusercontent.com/3979615/59594350-07b45b80-9137-11e9-85fd-e75093ba91a4.png" alt="raspbian" height="16px" width="16px"/> [Setup Homebridge on a Raspberry Pi (Raspbian)](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Raspbian)
Expand All @@ -37,11 +38,15 @@ For detailed instructions on how to setup Node.js and Homebridge with Homebridge

If your platform is not listed above, or you want to use your own service manager, see the [Manual Configuration](https://github.com/homebridge/homebridge-config-ui-x/wiki/Manual-Configuration) wiki article for instructions on setting up the Homebridge UI to run as a Homebridge plugin instead of a service.

The default username is `admin` and the default password is `admin`.

The UI can be accessed via web browser by default on port `8581` (e.g. `http://localhost:8581`).

# Usage

### Status Screen

This shows an overview of your Homebridge system. The dashboard is widget based and completely customisable with a number of themes available.
This shows an overview of your Homebridge system. The dashboard is widget-based and completely customisable with a number of themes available.

![Status](screenshots/homebridge-config-ui-x-status.png?2020-01-07)

Expand All @@ -57,7 +62,7 @@ You can configure supported plugins using the graphical settings editor, removin

### Configuration Screen

The configuration screen allows you to modify your Homebridge `config.json`. The built in editor automatically syntax-checks your JSON and makes a backup of your config every time you make a change.
The configuration screen allows you to modify your Homebridge `config.json`. The built-in editor automatically syntax-checks your JSON and makes a backup of your config every time you make a change.

![Config](screenshots/homebridge-config-ui-x-config.png?2020-01-07)

Expand Down Expand Up @@ -87,10 +92,7 @@ MS Internet Explorer (any version) is not supported!

# Supported Node.js and Npm Versions

While the Homebridge UI should work on Node.js 14+, only the following versions of Node.js are officially supported:

* node v14.15.0 or higher
* npm v6.4.1 or higher
The Homebridge UI follows the same Node support schedule as Homebridge. See the [How-To-Update-Node.js](https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js) page in the Homebridge wiki for currently supported versions.

You can check your current versions using these commands:

Expand Down Expand Up @@ -132,8 +134,8 @@ The Homebridge UI supports the [homebridge/homebridge](https://github.com/homebr

#### 4. Ask on Discord

Join the [Official Homebridge Discord](https://discord.gg/C87Pvq3) community and ask in the [#ui](https://discord.gg/C87Pvq3) channel.
Join the [Official Homebridge Discord](https://discord.gg/C87Pvq3) community and ask in the [#ui-general](https://discord.gg/C87Pvq3) or [#ui-issues](https://discord.gg/C87Pvq3) channel.

# Credit

Homebridge Config UiI X was originally created by [Oznu](https://github.com/oznu).
Homebridge Config UI X was originally created by [oznu](https://github.com/oznu).
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "homebridge-config-ui-x",
"displayName": "Homebridge UI",
"version": "4.50.4",
"version": "4.50.5",
"description": "A web based management, configuration and control platform for Homebridge.",
"license": "MIT",
"author": "oznu <[email protected]>",
Expand All @@ -28,10 +28,11 @@
"hb-service": "./dist/bin/hb-service.js"
},
"engines": {
"node": ">=16.20.0",
"node": ">=16.20.2",
"homebridge": ">=1.6.0"
},
"scripts": {
"check": "npm install && npm outdated",
"watch": "concurrently \"npm run watch:ui\" \"npm run watch:server\"",
"watch:server": "nodemon",
"watch:ui": "npm run start --prefix ui",
Expand Down Expand Up @@ -151,4 +152,4 @@
"smart home",
"hb-service"
]
}
}
2 changes: 1 addition & 1 deletion src/bin/platforms/win32.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ export class Win32Installer extends BasePlatform {
* This is used to create the Windows Services
*/
private async downloadNssm(): Promise<string> {
const downloadUrl = `https://github.com/oznu/nssm/releases/download/2.24-101-g897c7ad/nssm_${os.arch()}.exe`;
const downloadUrl = `https://github.com/homebridge/nssm/releases/download/2.24-101-g897c7ad/nssm_${os.arch()}.exe`;
const nssmPath = path.resolve(this.hbService.storagePath, 'nssm.exe');

if (await fs.pathExists(nssmPath)) {
Expand Down
2 changes: 1 addition & 1 deletion src/modules/log/log.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ export class LogService {
client.emit('stdout', '\n\r');
client.emit('stdout', color.red(`The log tail command "${command.join(' ')}" exited with code ${code.exitCode}.\n\r`));
client.emit('stdout', color.red('Please check the command in your config.json is correct.\n\r\n\r'));
client.emit('stdout', color.cyan('See https://github.com/oznu/homebridge-config-ui-x#log-viewer-configuration for instructions.\r\n'));
client.emit('stdout', color.cyan('See https://github.com/homebridge/homebridge-config-ui-x/wiki/Manual-Configuration#log-viewer-configuration for instructions.\r\n'));
}
} catch (e) {
// the client socket probably closed
Expand Down
4 changes: 2 additions & 2 deletions src/modules/plugins/plugins.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ export class PluginsService {
pluginAction.version !== 'latest'
) {
try {
await this.httpService.head(`https://github.com/oznu/homebridge-config-ui-x/releases/download/${pluginAction.version}/homebridge-config-ui-x-${pluginAction.version}.tar.gz`).toPromise();
await this.httpService.head(`https://github.com/homebridge/homebridge-config-ui-x/releases/download/${pluginAction.version}/homebridge-config-ui-x-${pluginAction.version}.tar.gz`).toPromise();
return true;
} catch (e) {
return false;
Expand Down Expand Up @@ -1252,7 +1252,7 @@ export class PluginsService {
client.emit('stdout', `${path.resolve(cwd, 'node_modules')}\n\r\n\r`);
client.emit('stdout', color.yellow('This may cause the operation to fail.\n\r'));
client.emit('stdout', color.yellow('See the docs for details on how to enable sudo mode:\n\r'));
client.emit('stdout', color.yellow('https://github.com/oznu/homebridge-config-ui-x#sudo-mode\n\r\n\r'));
client.emit('stdout', color.yellow('https://github.com/homebridge/homebridge-config-ui-x/wiki/Manual-Configuration#sudo-mode\n\r\n\r'));
}
}

Expand Down
38 changes: 19 additions & 19 deletions ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"version": "0.0.0",
"license": "MIT",
"scripts": {
"check": "npm install && npm outdated",
"ng": "ng",
"start": "ng serve",
"build": "ng build --configuration production --output-path=../public --source-map=false --aot=true",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<ng-container>
<json-schema-form *ngIf="configSchema.schema" [options]="jsonFormOptions" [schema]="configSchema.schema"
<json-schema-form *ngIf="configSchema.schema" [jsfPatch]="configSchema.fixArrays" [options]="jsonFormOptions" [schema]="configSchema.schema"
[layout]="configSchema.layout" [form]="configSchema.form" [data]="currentData" framework="bootstrap-4"
(onChanges)="onChanges($event)" (isValid)="validChange($event)" class="ng-bs4-validate">
</json-schema-form>
</ng-container>
</ng-container>
3 changes: 3 additions & 0 deletions ui/src/app/core/core.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { ConfirmComponent } from './components/confirm/confirm.component';
import { SchemaFormComponent } from './components/schema-form/schema-form.component';
import { QrcodeComponent } from './components/qrcode/qrcode.component';
import { RtlDirective } from './directives/rtl.directive';
import { JsonSchemaFormPatchDirective } from './directives/json-schema-form-patch.directive';

@NgModule({
declarations: [
Expand All @@ -26,6 +27,7 @@ import { RtlDirective } from './directives/rtl.directive';
HrefTargetBlankDirective,
LongClickDirective,
RtlDirective,
JsonSchemaFormPatchDirective,
BackupRestoreComponent,
ScheduledBackupsComponent,
ConfirmComponent,
Expand All @@ -47,6 +49,7 @@ import { RtlDirective } from './directives/rtl.directive';
HrefTargetBlankDirective,
LongClickDirective,
RtlDirective,
JsonSchemaFormPatchDirective,
],
})
export class CoreModule { }
Loading

0 comments on commit d2ae83b

Please sign in to comment.