Discord: the Connect anyway button; nobilis pointer

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
SalastilandClaude Sonnet 5.5 committed 2026-10-20 23:52:43 -04:00
1 parent 59f978d03b
commit 8f62f44517
3 files changed
+21 -2

No files matched your search

+1 -1
Submodule nobilis updated: 8a7d73346e...58bf5ac83a.
+5
View File
@@ -6264,6 +6264,11 @@ video.lightbox-media {
overflow: hidden;
white-space: normal;
}
/* A held login is explained in full: the time it will connect is at the end. */
.account-detail.held {
-webkit-line-clamp: unset;
display: block;
}
/* --- presence on avatars ---------------------------------------------- */
+15 -1
View File
@@ -332,6 +332,7 @@ function AccountRow({ account }: { account: Account }): JSX.Element {
// What the daemon last said about why. Only meaningful while something is
// wrong, which is exactly when the state line alone explains nothing.
const detail = useConnectionDetail(account.id)
const held = account.service === 'discord' && !!detail?.startsWith('Holding the Discord connection')
const call = (method: string, params: Record<string, unknown>): void => {
void window.moho
@@ -353,7 +354,20 @@ function AccountRow({ account }: { account: Account }): JSX.Element {
<div className="small muted">
{serviceLabel(account.service)} · {account.state}
</div>
{detail && <div className="small muted ellipsis account-detail" title={detail}>{detail}</div>}
{detail && <div className={classes('small muted account-detail', held && 'held')} title={detail}>{detail}</div>}
{/* Held for having logged in too often (see nobilis's identify_budget): said in full, with the way past it. */}
{held && (
<div>
<button
type="button"
className="button subtle"
title="Many fresh logins can get an account flagged as spam by Discord. This one is counted."
onClick={() => call('connectDiscordAnyway', { accountId: account.id })}
>
Connect anyway
</button>
</div>
)}
</div>
<button
type="button"