Skip to content

Allow muting of @everyone notifications #8509

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

megrogan
Copy link
Collaborator

@megrogan megrogan commented Aug 18, 2025

The website must be upgraded with this commit before this PR is merged - then LUIs/groups/communities need to be upgraded before the website is upgraded with the changes in this PR.

Copy link

github-actions bot commented Aug 18, 2025

canbench 🏋 (dir: .)

./canbench_results.yml is up to date ✅

---------------------------------------------------

Benchmark: push_simple_text_messages
  total:
    instructions: 205.78 M (-1.19%) (change within noise threshold)
    heap_increase: 13 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Benchmark: add_reactions
  total:
    instructions: 1.22 B (-1.04%) (change within noise threshold)
    heap_increase: 4 pages (no change)
    stable_memory_increase: 0 pages (no change)

---------------------------------------------------

Copy link
Collaborator

@julianjelfs julianjelfs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's something a bit unpleasant about the types here isn't there. We are always doing exactly one thing (mute, unmute, mute everyone, unmute everyone) but all of the interfaces imply that we can do 0, 1 or 2 things.

I wonder if we could hide that unpleasantness until we arrive at the bottom layer.

@megrogan
Copy link
Collaborator Author

megrogan commented Aug 19, 2025

There's something a bit unpleasant about the types here isn't there. We are always doing exactly one thing (mute, unmute, mute everyone, unmute everyone) but all of the interfaces imply that we can do 0, 1 or 2 things.

I wonder if we could hide that unpleasantness until we arrive at the bottom layer.

I considered that but we also might want to do multiple things with a slightly different UI. Perhaps clicking a single notifications menu item opens a dialog with options that can all be changed in one go. It makes sense to me that the openchat-client supports this.

@julianjelfs
Copy link
Collaborator

There's something a bit unpleasant about the types here isn't there. We are always doing exactly one thing (mute, unmute, mute everyone, unmute everyone) but all of the interfaces imply that we can do 0, 1 or 2 things.
I wonder if we could hide that unpleasantness until we arrive at the bottom layer.

I considered that but we also might want to do multiple things with a slightly different UI. Perhaps clicking a single notifications menu item opens a dialog with options that can all be changed in one go. It makes sense to me that the openchat-client supports this.

So what does it mean to set both things to undefined?

@megrogan
Copy link
Collaborator Author

There's something a bit unpleasant about the types here isn't there. We are always doing exactly one thing (mute, unmute, mute everyone, unmute everyone) but all of the interfaces imply that we can do 0, 1 or 2 things.
I wonder if we could hide that unpleasantness until we arrive at the bottom layer.

I considered that but we also might want to do multiple things with a slightly different UI. Perhaps clicking a single notifications menu item opens a dialog with options that can all be changed in one go. It makes sense to me that the openchat-client supports this.

So what does it mean to set both things to undefined?

Acknowledged, but all other combinations make sense and I don't think the alternative will be nicer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants