Frontend
- Angular 18 → 22, in four
ng updatesteps, with the deprecated template syntax migrated and the build moved to@angular/build:application. TypeScript 5.5 → 6.0, zone.js 0.14 → 0.15. - The headless test suite runs on vitest instead of karma, over a mocked Tauri backend, and there are in-browser e2e specs alongside it.
- Tauri API and plugins updated.
Connection and device handling
Most of this code lived here and in ares-cli-rs as two copies. It is now shared, through ares-cli-rs v0.5.0:
- Opening a connection, the crypto algorithms a webOS device needs, and the key/password/no-auth chain.
- File transfer. Reading a remote file, downloading one, serving one to the app and reading the dev mode token all go through it now, so a device without SFTP can send and receive files instead of failing.
- The device list, and the key server fetch that sets a device up.
Reading a private key stays here, because this app looks in its own directory and falls back to the parent on Android.
Fixes
remote-file://responses carry aContent-Type.- The layout respects Android safe-area insets.
- The shell and process loops no longer busy-poll the SSH channel.
- libssh-rs 0.3.8.
Building
Angular 22 needs Node ^22.22.3 || ^24.15.0 || >=26.0.0. The build now runs on Node 24.