• v0.6.0 85ad2d65ee

    feat: ntfy topics per user, and notifications on the timeline
    Release / test (push) Failing after 6s
    Release / release (push) Has been skipped
    Release / build (amd64, darwin) (push) Has been skipped
    Release / build (amd64, linux) (push) Has been skipped
    Release / build (arm64, darwin) (push) Has been skipped
    Release / build (arm64, linux) (push) Has been skipped

    niklas released this 2026-08-07 11:41:07 +00:00 | 16 commits to main since this release

    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.

    Downloads