Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

beta -> main #1546

Merged
merged 19 commits into from
Sep 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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