block / block/buzz

Desktop: leaving a channel you solely own fails silently — the relay's rejection is never surfaced

Open
#3,605 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

**Motivation**

Leaving a channel you own looks like a broken button. You confirm the dialog, it closes, and the channel is still sitting in the sidebar — no toast, no error, no explanation. Nothing tells you the request was rejected.

The relay is refusing on purpose: it won't remove a channel's last owner and orphan the channel. That's a sensible rule, but the reason never reaches the UI, so what the user experiences is a control that silently does nothing.

New users hit this on the onboarding Welcome channel, since they created it and are its only owner.

**Repro**

1. Complete onboarding — the Welcome channel is created with you as its sole owner.
2. Right-click it in the sidebar → Leave → confirm.
3. The dialog closes, the channel stays, and nothing is reported.

Leaving the same channel from the channel management sheet *does* show the relay's error, so the two entry points disagree about whether failures are worth mentioning.

**Expected**

The rejection surfaces wherever leave is offered, ideally naming the real constraint ("you're the only owner of this channel") rather than failing generically.

**Notes**

- For a sole owner this isn't a temporary block. There's no way to make another member an owner from Desktop, so leave can never succeed on a channel you created alone — the error, once surfaced, still leaves the user with no action to take.
- #2928 and #2948 cover restoring ownership when the owner is *unavailable*. This is the inverse: the owner is present and wants out.
- Archiving the same channel also didn't work for me. I haven't characterized that one and it may be unrelated.

Contributor guide

Open the contributing guide

Research direction

Start with the Desktop sidebar's channel Leave action and compare it with the channel management sheet, where the relay error is already shown. Trace the sidebar failure path and make the rejection visible with the sole-owner constraint; done means both entry points report why leaving failed instead of silently closing the dialog.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.