Skip to content

0.4.0

Choose a tag to compare

@timmo001 timmo001 released this 06 Oct 14:18
a9e7076

The server now has a web page for your issues, which opens from Home Assistant's sidebar when it runs as the app.

Web UI

  • The server serves a web page at its own URL, such as http://localhost:7171/. It lists the server's issues, filtered by state, and you can resolve, mute, reopen or unmute each one.
  • The list has a Worth column with the latest decision's verdict, and can be sorted by it.
  • Each issue's page shows its hosts and latest events, what each decision model made of it (worth fixing, severity, likely cause), and any suggested fixes. Suggestions are rendered from Markdown and sanitised, with images removed so model output can't make your browser fetch anything.
  • Worth fixing and Noise buttons label an issue by hand, the same labels triage agreement uses to compare decision models.
  • Pages have real paths, such as /issues/<id>, so links and the back button work.
  • Sign in with an admin token. It's kept in that browser until you sign out.

Home Assistant

  • Triage appears in Home Assistant's sidebar for admins, through ingress, with no token needed. It's served on its own port that only answers Home Assistant's Supervisor, so port 7171 still needs a token.
  • New settings for running it yourself: serve --ingress-port (TRIAGE_INGRESS_PORT) and --ingress-from (TRIAGE_INGRESS_FROM).
  • The app moved to home-assistant/app in the repository. Nothing changes for an installed app.

Smaller changes

  • hosts list, admins list and workers list say when there are none, instead of printing nothing, and point at --server when you're looking at this machine's own database.
  • The docs moved to https://triage.timmo.dev, with pages on planning your hardware, privacy and the hosting and model choices.

Packages

  • Server image: ghcr.io/timmo001/triage:0.4.0
  • Home Assistant app image: ghcr.io/timmo001/triage-app:0.4.0
  • @timmo001/effect-triage and @timmo001/effect-triage-client 0.4.0 on npm and JSR. issues.list returns IssueSummary (an Issue with an optional worth), issues.get returns IssueReview (the IssueDetail fields plus decisions, suggestions and an optional label), and there's a new PUT /api/issues/:id/label taking worth or noise.

Full Changelog: 0.3.0...0.4.0