fix(messages): gate on server key state, not just local unlock

The Messages UI trusted only the per-device IndexedDB key, so if the server's
key record was gone (deleted, DB-restored, admin-reset) while a stale private
key lingered in the browser, the app looked 'unlocked' but no one could be
messaged and no setup was offered. Add useKeyState (server 'configured' AND
local unlock): show setup when the server has no key (setup overwrites the stale
local key), unlock when it has one this device hasn't opened, ready otherwise.
ChatThread is now self-contained. Also fix the header title on the Messages and
Notifications pages (was falling through to 'Channel manager').
This commit is contained in:
npeter83 2026-06-25 22:58:29 +02:00
parent 8392037e5f
commit 963afa33a6
5 changed files with 42 additions and 29 deletions

View file

@ -79,7 +79,11 @@ export default function Header({
? t("header.configuration")
: page === "users"
? t("header.users")
: t("header.channelManager")}
: page === "notifications"
? t("inbox.navLabel")
: page === "messages"
? t("messages.navLabel")
: t("header.channelManager")}
</div>
)}
</header>