diff --git a/nobilis b/nobilis index 2f5918e..8bcba8b 160000 --- a/nobilis +++ b/nobilis @@ -1 +1 @@ -Subproject commit 2f5918ec6e270330a19848cfe06d8c915b300c10 +Subproject commit 8bcba8bd239f8f3fffe48ae9441f151a196c1e30 diff --git a/src/renderer/src/app.css b/src/renderer/src/app.css index 02a2050..c7d0f9d 100644 --- a/src/renderer/src/app.css +++ b/src/renderer/src/app.css @@ -8384,3 +8384,15 @@ video.lightbox-media { transition: none; } } + +/* In place of the box, for an account that can only watch. */ +.composer-watching { + display: flex; + align-items: center; + gap: var(--spacing-s); + padding: var(--spacing-s) var(--spacing-m); +} + +.composer-watching .button { + margin-left: auto; +} diff --git a/src/renderer/src/components/AccountsPanel.tsx b/src/renderer/src/components/AccountsPanel.tsx index ed95e90..e871899 100644 --- a/src/renderer/src/components/AccountsPanel.tsx +++ b/src/renderer/src/components/AccountsPanel.tsx @@ -137,8 +137,8 @@ export function AccountsPanel(): JSX.Element { {accounts.length === 0 && ( <>
- No accounts yet. Pick a service above to connect one — nobilis keeps the connection - alive in the background, so it survives closing this window. + No accounts yet. Pick a service above to connect one — moho stays connected in the + background, even with this window closed.
{/* Before the first account rather than after: adding one is the first thing that fetches anything, and somebody who needs all @@ -463,8 +463,14 @@ function AccountRow({ account }: { account: Account }): JSX.Element { type="button" className="button danger" onClick={() => { - call('removeAccount', { accountId: account.id }) - void store.refreshBuffers() + // Its conversations and its rail entry with it, once it is + // gone. An account's own entry is listed for as long as the + // account exists, and nothing announces it going, so a removed + // account's tile stayed until a restart. + void window.moho + .rpc('removeAccount', { accountId: account.id }) + .then(() => Promise.all([store.refreshAccounts(), store.refreshBuffers(), store.refreshGroups()])) + .catch((e: Error) => store.toast('error', e.message)) }} >
Kick chat is public, so this works signed out. Signing in adds talking, and your
diff --git a/src/renderer/src/state/store.ts b/src/renderer/src/state/store.ts
index 6a9f440..9cbde52 100644
--- a/src/renderer/src/state/store.ts
+++ b/src/renderer/src/state/store.ts
@@ -1306,6 +1306,17 @@ export class ChatStore {
.catch((e: Error) => this.toast('error', e.message))
}
+ private groupsTimer: ReturnType