notifications: an inbox, and repositories you can watch or mute !226

merged merged by cmc on 2026-09-04 14:25 UTC · krz/gitbay:notifications-inbox into main

Discussion

cmc

An inbox table holds one row per notification, filed whether or not the instance has SMTP. notifications list reads it (unread by default, --all for the rest), notifications read <id>... | --all clears it, and the dashboard carries the unread count.

repo watch / repo unwatch widen or narrow who hears about a repository. A mute wins over owning it or having written the thread.

notifyUsers and notifyBody collapse into one notify(c, ids, notice): an inbox row needs the repo, kind and link that the pair only composed into a mail body.

Web surfaces for this land in the merge request stacked on top.

Ref #113