Skip to content

Commit

Permalink
beta -> main (#1546)
Browse files Browse the repository at this point in the history
## 4.50.6 (2023-09-27)

### Bug Fixes

- **System:** Update comparison to timing safe ([1535](#1535))

### Other Changes

- **i18n:** Update pt.json ([1503](#1520))
- **i18n:** Use verb form for buttons and menu items ([1533](#1533))
- **i18n:** Wait for custom UI ([1526](#1526))
- Updated npm dependencies

---------

Co-authored-by: Dave Nicolson <[email protected]>
Co-authored-by: Donavan Becker <[email protected]>
Co-authored-by: SamuelMagano <[email protected]>
Co-authored-by: Northern Man <[email protected]>
Co-authored-by: Daniel Abdelsamed <[email protected]>
Co-authored-by: Donavan Becker <[email protected]>
  • Loading branch information
7 people authored Sep 28, 2023
1 parent 79718ca commit 5cc7065
Show file tree
Hide file tree
Showing 16 changed files with 100 additions and 95 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
14 changes: 5 additions & 9 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 Expand Up @@ -90,6 +86,6 @@ jobs:
lint:
needs: build_and_test
uses: homebridge/.github/.github/workflows/eslint.yml@main
uses: homebridge/.github/.github/workflows/eslint.yml@latest
with:
install_cmd: npm ci && cd ui && npm ci
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ name: "CodeQL"

on:
push:
branches: [ main, beta* ]
branches: [ latest, beta* ]
pull_request:
branches: [ main, beta* ]
branches: [ latest, beta* ]
schedule:
- cron: '17 9 * * 2'

jobs:
analyze:
uses: homebridge/.github/.github/workflows/codeql-analysis.yml@main
uses: homebridge/.github/.github/workflows/codeql-analysis.yml@latest
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
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## 4.50.6 (2023-09-27)

### Bug Fixes

- **System:** Update comparison to timing safe ([1535](https://github.com/homebridge/homebridge-config-ui-x/pull/1535))

### Other Changes

- **i18n:** Update pt.json ([1503](https://github.com/homebridge/homebridge-config-ui-x/pull/1520))
- **i18n:** Use verb form for buttons and menu items ([1533](https://github.com/homebridge/homebridge-config-ui-x/pull/1533))
- **i18n:** Wait for custom UI ([1526](https://github.com/homebridge/homebridge-config-ui-x/pull/1526))
- Updated npm dependencies

## 4.50.5 (2023-08-19)

### Notable Changes
Expand Down
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/homebridge/homebridge-config-ui-x/tree/main/ui/src/i18n
https://github.com/homebridge/homebridge-config-ui-x/tree/latest/ui/src/i18n
18 changes: 8 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 @@ -39,13 +40,13 @@ If your platform is not listed above, or you want to use your own service manage

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

The UI can be accessed via web browser by default on port `8581` (eg. `http://localhost:8581`).
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 @@ -61,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 @@ -91,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 @@ -136,7 +134,7 @@ 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

Expand Down
14 changes: 7 additions & 7 deletions package-lock.json

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

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
"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 @@ -82,7 +83,7 @@
"reflect-metadata": "0.1.13",
"rxjs": "7.5.6",
"semver": "7.3.7",
"systeminformation": "5.12.3",
"systeminformation": "5.16.9",
"tail": "2.2.4",
"tar": "6.1.11",
"tcp-port-used": "1.0.2",
Expand Down
6 changes: 4 additions & 2 deletions src/core/auth/auth.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,11 @@ export class AuthService {
* This will throw an error if the credentials are incorrect.
*/
private async checkPassword(user: UserDto, password: string) {
const hashedPassword = await this.hashPassword(password, user.salt);
const passwordAttemptHash = await this.hashPassword(password, user.salt);
const passwordAttemptHashBuff = Buffer.from(passwordAttemptHash, 'hex');
const knownPasswordHashBuff = Buffer.from(user.hashedPassword, 'hex');

if (hashedPassword === user.hashedPassword) {
if (crypto.timingSafeEqual(passwordAttemptHashBuff, knownPasswordHashBuff)) {
return user;
} else {
throw new ForbiddenException();
Expand Down
2 changes: 1 addition & 1 deletion src/modules/plugins/plugins.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1404,7 +1404,7 @@ export class PluginsService {
clearTimeout(this.verifiedPluginsRetryTimeout);
try {
this.verifiedPlugins = (
await this.httpService.get('https://raw.githubusercontent.com/homebridge/verified/main/verified-plugins.json', {
await this.httpService.get('https://raw.githubusercontent.com/homebridge/verified/latest/verified-plugins.json', {
httpsAgent: null,
}).toPromise()
).data;
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.

3 changes: 2 additions & 1 deletion 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 Expand Up @@ -91,4 +92,4 @@
"rxjs": "^7.4.0",
"marked": "^4.0.13"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ export class CustomPluginsComponent implements OnInit, OnDestroy {
case 'loaded':
this.injectDefaultStyles(e);
this.confirmReady(e);
this.uiLoaded = true;
break;
case 'request': {
this.handleRequest(e);
break;
}
case 'scrollHeight':
this.setiFrameHeight(e);
this.uiLoaded = true;
break;
case 'config.get': {
this.requestResponse(e, this.getConfigBlocks());
Expand Down
4 changes: 2 additions & 2 deletions ui/src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
"form.button_delete": "Delete",
"form.button_edit": "Edit",
"form.button_save": "Save",
"login.button_login": "Login",
"login.button_login": "Log in",
"login.label_2fa_code": "Two Factor Authentication Code",
"login.label_password": "Password",
"login.label_username": "Username",
Expand All @@ -138,7 +138,7 @@
"menu.linux.label_restart_server": "Restart Server",
"menu.linux.label_shutdown_server": "Shutdown Server",
"menu.linux.label_terminal": "Terminal",
"menu.tooltip_logout": "Logout",
"menu.tooltip_logout": "Log out",
"menu.tooltip_restart": "Restart",
"menu.tooltip_user_accounts": "User Accounts",
"menu.tooltip_view_logs": "View Logs",
Expand Down
Loading

0 comments on commit 5cc7065

Please sign in to comment.