DevPlace CI / test (push) Failing after 2m7s
- Add `/block`, `/mute` endpoints with block/unblock and mute/unmute functionality in `routers/relations.py`, hiding blocked users' content everywhere except their own profile while muting only suppresses notifications - Introduce `devplace emoji-sync` CLI command to regenerate `static/js/emoji-shortcodes.js` from the emoji library, documented in `CLAUDE.md` and wired in `cli.py` - Create `get_blocked_uids()` database helper and apply it in `content.py` `load_detail()` to filter blocked users' posts from detail views - Implement `_uid_index()` and `_drop_index()` helpers in `database.py` for unique uid indexes across tables, with `user_relations` added to `SOFT_DELETE_TABLES` - Document new routes in `AGENTS.md` and `README.md`, including emoji shortcodes rendering behavior distinct from the emoji picker
51 lines
2.1 KiB
HTML
51 lines
2.1 KiB
HTML
<div class="docs-content" data-render>
|
|
# Block and mute
|
|
|
|
Every profile that is not your own carries a **Block** and a **Mute** button next to Follow. Both act
|
|
only on your own account, are reversible, and are never disclosed to the other person. Each click asks
|
|
for confirmation before it takes effect.
|
|
|
|
## Block
|
|
|
|
Blocking someone removes them from your experience entirely. Once you block a user:
|
|
|
|
- Their posts disappear from your feed, the landing page, and the projects and gists listings.
|
|
- Their comments are hidden from you on every post, project, gist and news item.
|
|
- Opening a direct link to one of their posts, projects or gists returns "not found".
|
|
- Their conversations vanish from your messages, and they can no longer send you a direct message.
|
|
- The issue list hides issues they reported.
|
|
- They can no longer create notifications for you.
|
|
|
|
Blocking is **one-directional**: it changes only what you see. The other person is not told and their
|
|
own view of the site is unchanged.
|
|
|
|
### The one exception: their profile
|
|
|
|
The blocked user's **own profile page stays fully visible to you**, including all of their content.
|
|
This is deliberate, so you can always review who you blocked and lift the block. Use the **Unblock**
|
|
button there to restore them everywhere at once.
|
|
|
|
## Mute
|
|
|
|
Muting is the lighter option. A muted user can no longer create notifications for you - no follow,
|
|
mention, reaction, comment-reply or direct-message alert - but **all of their content stays visible**
|
|
to you across the site. Use it when you still want to read someone but no longer want to be pinged by
|
|
them. The **Unmute** button reverses it.
|
|
|
|
## Block versus mute
|
|
|
|
| | Hides their content | Stops their notifications |
|
|
|---|---|---|
|
|
| **Mute** | No | Yes |
|
|
| **Block** | Yes | Yes |
|
|
|
|
Block is the stronger action and already includes everything mute does, so there is no need to mute
|
|
someone you have blocked.
|
|
|
|
## Where to manage them
|
|
|
|
Both are managed from the other user's profile page. There is nothing to configure in settings: the
|
|
buttons toggle between Block/Unblock and Mute/Unmute based on the current state, and the change applies
|
|
immediately after you confirm.
|
|
</div>
|