Tags: Vitnir/api
Tags
chore(main): release 4.32.3 (unraid#1992) 🤖 I have created a release *beep* *boop* --- ## [4.32.3](unraid/api@v4.32.2...v4.32.3) (2026-04-20) ### Bug Fixes * add hungarian translation updates' ([a38fa34](unraid@a38fa34)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
fix(startup): defer connect and temperature boot tasks (unraid#1988) ## Summary - move mothership and remote access startup work to post-ready listeners instead of Nest bootstrap - move temperature provider discovery to post-ready startup and make initialization idempotent - make disk sensor availability constant-time so startup no longer blocks on a full disk scan - create the dependency recovery archive during plugin install and verify that both node_modules and the archive exist - keep temperature metrics resilient after transient provider probe or initialization failures - preserve structured deferred Connect startup warning errors from Promise.allSettled results - restore compact PM2 lifecycle output by passing `--mini-list` on start, restart, status, and stop ## Why - the FeatureOS report at https://product.unraid.net/p/api-not-starting showed the API burning its startup budget before it could signal readiness - Connect still had a bootstrap-path hazard through remote access initialization - temperature discovery matched the reported stall, with disk sensor availability doing expensive disk work during startup - PM2 formatted output regressed the CLI back to noisy startup banners and tables instead of the expected compact text mode ## Testing - `ruby -e "require 'yaml'; data=YAML.load_file('.github/workflows/main.yml'); puts data['jobs']['test-api']['steps'].find { |s| s['name'] == 'Setup libvirt' }['run']" | bash -n` - `ruby -e "require 'yaml'; YAML.load_file('.github/workflows/main.yml')"` - `pnpm exec vitest run src/unraid-api/graph/resolvers/metrics/temperature/sensors/disk_sensors.service.spec.ts src/unraid-api/graph/resolvers/metrics/temperature/temperature.service.spec.ts --reporter verbose` - `pnpm --filter ./api lint` - `pnpm --filter unraid-api-plugin-connect exec vitest run src/__test__/connect-startup-tasks.test.ts src/__test__/mothership.events.test.ts` - `pnpm --filter unraid-api-plugin-connect build` - `pnpm exec vitest run src/unraid-api/graph/resolvers/metrics/temperature/temperature.service.spec.ts src/unraid-api/graph/resolvers/metrics/temperature/temperature-startup-tasks.spec.ts` - `pnpm --filter ./api build` - `bash -n plugin/source/dynamix.unraid.net/usr/local/share/dynamix.unraid.net/install/scripts/verify_install.sh` - `bash plugin/tests/test-shell-detection.sh` - `cd api && pnpm test -- src/unraid-api/plugin/__test__/plugin-management.service.spec.ts` - `pnpm --filter ./api test -- src/unraid-api/cli/__test__/pm2-commands.spec.ts` (ran the configured API suite: 179 files passed, 1975 tests passed) ## Notes - the local commit skipped `simple-git-hooks` with `SKIP_SIMPLE_GIT_HOOKS=1` because this checkout's hook references `node_modules/lint-staged/bin/lint-staged.js`, which is missing - follow-up server investigation showed the missing self-heal path was installer-side: installs wrote vendor archive metadata but never actually generated the archive <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * App-ready driven startup for Connect tasks; remote access and mothership init run after server begins listening. * **Improvements** * Temperature providers now initialize lazily and retry safely; startup-time failures are logged. * CLI PM2 commands use compact `--mini-list` output for start/restart/status/stop behavior. * Disk sensor availability now reports available unconditionally. * **Tests** * Added/updated tests for connect startup, temperature init flows, disk sensors, and PM2 CLI commands. * **Chores** * Install/verify scripts now archive/check dependency installation and report dependency errors. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Fixes unraid#1989
chore(main): release 4.32.2 (unraid#1990) 🤖 I have created a release *beep* *boop* --- ## [4.32.2](unraid/api@v4.32.1...v4.32.2) (2026-04-15) ### Bug Fixes * **startup:** defer connect and temperature boot tasks ([unraid#1988](unraid#1988)) ([7b08ee2](unraid@7b08ee2)), closes [unraid#1989](unraid#1989) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(main): release 4.32.1 (unraid#1985) 🤖 I have created a release *beep* *boop* --- ## [4.32.1](unraid/api@v4.32.0...v4.32.1) (2026-04-02) ### Bug Fixes * **oidc:** trust Fastify proxy metadata ([unraid#1982](unraid#1982)) ([ad494d7](unraid@ad494d7)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
chore(main): release 4.32.0 (unraid#1955) 🤖 I have created a release *beep* *boop* --- ## [4.32.0](unraid/api@v4.31.1...v4.32.0) (2026-03-31) ### Features * **onboarding:** force reboot after internal boot setup and lock down wizard ([unraid#1966](unraid#1966)) ([9323b14](unraid@9323b14)) * **web:** add standalone internal boot wizard ([unraid#1956](unraid#1956)) ([ea41225](unraid@ea41225)) ### Bug Fixes * **api:** defer docker startup tasks until ready ([unraid#1952](unraid#1952)) ([0e004a7](unraid@0e004a7)) * check mdState to determine array stopped during onboarding ([unraid#1969](unraid#1969)) ([abe7283](unraid@abe7283)) * **connect:** expose IPv6 FQDN routes ([unraid#1976](unraid#1976)) ([86d31ee](unraid@86d31ee)) * **docker:** guard primary container name access ([unraid#1977](unraid#1977)) ([7dadaa2](unraid@7dadaa2)) * **onboarding:** fix shutdown/reboot buttons in internal boot wizard ([unraid#1972](unraid#1972)) ([7f04f8e](unraid@7f04f8e)) * **onboarding:** hide boot pool info alert when storage boot is unavailable ([unraid#1973](unraid#1973)) ([f82681b](unraid@f82681b)) * **onboarding:** lower dedicated boot minimum to 6 GiB ([unraid#1979](unraid#1979)) ([c8773f5](unraid@c8773f5)) * **onboarding:** prevent Apply Result dialog from being dismissed ([unraid#1971](unraid#1971)) ([0db1410](unraid@0db1410)) * **onboarding:** reload after server rename ([unraid#1981](unraid#1981)) ([6897f7e](unraid@6897f7e)) * **onboarding:** reset internal boot form on mode switch ([unraid#1980](unraid#1980)) ([a78b895](unraid@a78b895)) * **onboarding:** restore page refresh on Go to Dashboard ([unraid#1967](unraid#1967)) ([29f814b](unraid@29f814b)) * **onboarding:** surface drive warnings for internal boot ([unraid#1963](unraid#1963)) ([9e0e89e](unraid@9e0e89e)) * Revert "fix(web): avoid legacy dropdown id collisions" ([unraid#1961](unraid#1961)) ([ffeb148](unraid@ffeb148)) * **server-identity:** handle onboarding persistence mismatches ([unraid#1974](unraid#1974)) ([8432974](unraid@8432974)) * **theme:** remove stale dark root class in light mode ([unraid#1960](unraid#1960)) ([2815f85](unraid@2815f85)) * **web:** avoid dropdown id collisions with ZFS Master ([unraid#1958](unraid#1958)) ([98d37bb](unraid@98d37bb)) * **web:** include connect metadata in callbacks ([unraid#1957](unraid#1957)) ([c392146](unraid@c392146)) * **web:** restore dropdown id compatibility safely ([unraid#1962](unraid#1962)) ([d948b32](unraid@d948b32)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
PreviousNext