Features
This is a big update intended to address some open issues, improve things overall, update (and remove some) dependencies, and set up for both two-way communication and further Home Assistant integration (e.g. sensors) in the near future, if and when I get there. This release is more of an overhaul, you could argue it as 2.0 but I'd rather save that for later.
Release readiness confidence level: pretty good, I think it all works.
Release scariness level: pretty high, I hope does actually all work.
Windows/Linux/Mac
Following discussion in #38 have reverted to the Electron net module for all networking broadly. This should allow the use of mTLS certificates from the local store. Users may also find they can now use self-signed CA/certificates more easily as a result (requires confirmation).
Migrated health check to websockets to reduce bandwidth overhead, and set up for future functionality. The websocket is authenticated using the auth_token provided by Home Assistant during each session. This token is refreshed fairly often and checks are implemented for expiration, so it shouldn't cause problems. This route was chosen as it also negates the need for the manual creation of any long-lived tokens and my then needing to store them somewhere. Testing so far has been pretty solid.
On the above, you can create a pseudo long-lived token by disabling token expiration for your Home Assistant Desktop session via your user account from within the app (User > Security > {Session} > 3 Dots > Disable token expiration). This will avoid any refresh issues, though they should generally be accounted for.
Added a new F5 refresh setting that can be toggled, enabling this performs a standard browser refresh of the window when it's focused. The other, heavier options still remain in the menu as before.
Linux
Added pacman targets to build for #41. This release target is currently in beta, just something to be aware of (please inform the Electron team for any bugs relating to that specifically -> https://github.com/electron/electron). Testing locally with my own Arch builds (ARM and x86) was not overly successful and the AppImage remains my preferred following tests.
Linux is still a complex platform to target and functionality remains "best effort" currently. The primary issue remains with Wayland, for which there is currently also a bug in the Electron upstream where tray icons are missing (but this has always been broken to some extent for me). It's something I'll continue working on, but it is elusive (particularly as an amateur). Please refer to the README for sample .desktop files if you're unsure and have just recently started using Linux (welcome, I left Windows too!). Registering shortcuts also doesn't work with Wayland due to its design features/limitations. Contributions are welcome if I am missing something obvious that a more experienced developer would catch immediately - please open an issue and PR.
Other
- Code changes.
- Bumped deps.
- Moved repo to a multi-file structure for easier maintainability.
- Reduced reliance on external dependencies.
- Various fixups.
Note
Due to the transition from HTTP to websockets, your first load may encounter an issue with authentication (it shouldn't, but it might) - a restart will resolve it.
Data usage should be slimmer with the transition to websockets. Previously, there were HTTP GET requests every few seconds, which as one user stated, adds up to around 1-2MB per hour (less than ideal for mobile data). With websockets, this should be in the region of a handful of KB per hour.
General feedback or issues are welcomed. Builds tested on Mac (ARM), Windows (x64/ARM) and Linux (x64/ARM - extra setup required depending).
PS: I'm primarily just having fun with it and that's my main focus, but for those who do happen to use this, please enjoy the work of this (decidedly amateur) small human.
Release Hashes
| Filename | SHA256 Hash |
|---|---|
| Home Assistant Desktop-v1.7.0-linux-aarch64.pacman | 9c14658249e6c4e13504e214901f9b19b15877c4cc905d73f722e50e79424c4a |
| Home Assistant Desktop-v1.7.0-linux-aarch64.rpm | ea59f4004c481e46eb162d41eaf7a5e2674ce48cbdc6a216fa60a74dce869878 |
| Home Assistant Desktop-v1.7.0-linux-amd64.deb | 7c75e4c00af608383b10c4874f83bb2d02cae80776f3ad3cfca5ba1c5ea9dff4 |
| Home Assistant Desktop-v1.7.0-linux-arm64.AppImage | 3014a21fef5efcc684e3cc7cef08727c0c46db1c9f13d52eebc31d0fdc878009 |
| Home Assistant Desktop-v1.7.0-linux-arm64.deb | 4bea465ce77a158569f7ab50a27e9b08251477116543ff17d2a95e367b8eba08 |
| Home Assistant Desktop-v1.7.0-linux-x64.pacman | 05c5abbe00f45920898c15cec7d163856658abea6150fc149a615e07f32c6eb9 |
| Home Assistant Desktop-v1.7.0-linux-x86_64.AppImage | 64c846887234eeac52ca5415fd24daf14bdcf0d4fa61b729f4625edc0b5f7888 |
| Home Assistant Desktop-v1.7.0-linux-x86_64.rpm | af58c7a12665baa4ce8efea65779d4ab6de7bb657df7739ad555d9e10f6235a4 |
| Home Assistant Desktop-v1.7.0-mac-arm64.dmg | 0ae09c57c07cb19a15dc352db83684ed3a8c6191f0071bda151f726f464a3f3d |
| Home Assistant Desktop-v1.7.0-mac-x64.dmg | 8aa626614b1f96156c2574a1dbd70630c0672551861fa3493be319bbbed015c8 |
| Home Assistant Desktop-v1.7.0-win-arm64.exe | 19a634d51521fca4ebcb41113fc9a95c151955105fe09b39495fe2e99d5a3b3d |
| Home Assistant Desktop-v1.7.0-win-x64.exe | d6f06e1b914426e1b65f6f040c877d2547460f10cbd6e6e361b3f496d46e962c |
What's Changed
- Merge websocket-dev to master by @DustyArmstrong in #42
Full Changelog: 1.6.10...1.7.0