Releases: yeniklas/terdut-tui
Releases · yeniklas/terdut-tui
Release list
v0.8.0
v0.8.0 — set web UI passwords, and keys that act on the selected row p in Users sets the selected user's web UI password. It asks for the current one only when you change your own existing password, which is the one case terdut-server checks it. Needs terdut-server v0.10.2 or later, the first with a web UI; against an older server the form says so instead of failing with a bare 404. Fixed: k, d and f acted on the wrong row. The table read them as navigation before the section read the cursor, so: - k in Users opened API keys for the user above the selected one; - d in Users and in Schedule targeted a row half a page below; - f paged the cursor down while cycling the filter. In Users, move with the arrow keys; k there means API keys. Nothing else changes, and every other feature works against the same servers as v0.7.0.
v0.7.0
feat: reassign on-call days and weeks to another person Assigning over a day somebody else held did nothing but flash a 409 for three seconds. The server holds one person per date and refused any that was taken, all-or-nothing, so pressing W on a week where a single day was already assigned placed none of the other six either. The only way through was d on each day first — seven delete-and-confirm cycles to move one week. The clash is already on screen, so it is found before the request rather than read back out of an error: the picker hands off to a confirmation naming who loses the days and how many there are, and accepting sends the whole selection with replace, which terdut-server v0.8.0 added. One question to move a week, and nobody's shift moves without somebody being asked. A day nobody holds still assigns with no prompt at all. Reassigning somebody to a day they already hold raises no prompt, since it takes nothing from anyone, but it does send replace: the server rejects any date that exists, so without it a harmless no-op would fail.
v0.6.0
feat: ntfy topics per user, and notifications on the timeline terdut-server pages the on-call person through ntfy, but none of it was reachable from here. A user's topic could only be set with curl, so a new user silently got no pages and quietly fell back to the shared fallback topic — which carries no Acknowledge button. And nothing said whether anybody had been paged at all. The Users section grows an Ntfy Topic column and t to edit it, prefilled with the current value. Submitting an empty field clears the topic rather than being rejected as a mistake: clearing is how somebody is taken off their own topic, and it is what the server means by an empty string. Nil and empty arrive as the same thing, because the server stores a blank topic as NULL, so User.Topic flattens the two instead of leaving every caller to. The incident timeline renders the server's notified and notify_failed events. No new fetch — the timeline endpoint already carried them, and unknown types already fell through to a generic label; this is about saying something useful. An event with no user means the fallback topic, not "the server acted", which is the difference between somebody having been paged and the rota having been empty. Both need terdut-server v0.6.0 or later, and the timeline entries a server newer than that. Against an older one the column stays empty and editing a topic reports the server's 404, which is the honest answer.
v0.5.0
Stats as a section instead of an overlay
v0.4.1
Fix incident detail rendering An incident with nobody assigned and nobody holding it rendered its detail view with the acknowledgement line indented far to the right: a trailing newline inside a lipgloss Render call produces a line of padding that shifts whatever is written next. Also adds the first test suite for this client — 129 tests covering the API client, the update loop and rendering — and gates the release workflow on vet and tests. Requires terdut-server v0.4.0 or later, unchanged from v0.4.0.
v0.4.0
Incidents as the primary object Follows terdut-server v0.4.0, which splits alerts from incidents. Alerts become a read-only feed; incidents are the work item, with acknowledge, assign, snooze, note, resolve and archive, plus a full timeline and MTTA/MTTR statistics. BREAKING CHANGE: requires terdut-server v0.4.0 or later. Use terdut-tui v0.3.x with earlier servers.
v0.3.0
v0.3.0 — Last Seen timestamp for alerts
v0.2.0
feat: Archived alerts tab with archive/unarchive actions Add a fourth tab (Alerts | Archived | Schedule | Users). Archived alerts are fetched lazily on first visit using the archived=true query param on GET /api/alerts. Press x from the Alerts list or detail to archive an alert; the non-archived list refreshes immediately. Press x from the Archived list or detail to unarchive; the archived list refreshes. Ack/unack are disabled in the Archived detail view. New API methods: ArchiveAlert (POST), UnarchiveAlert (DELETE). ArchivedAt field added to the Alert type.