ChatSecure / ChatSecure-iOS

ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
https://chatsecure.org
Other
3.13k stars 1.03k forks source link

ChatSecure's MAM fetch of MUC logs results in dozens of notifications #995

Open ivucica opened 6 years ago

ivucica commented 6 years ago

When ChatSecure fetches MAM history of a MUC, it spams me with hundreds of notifications, one for each retrieved message. (In particular, this happens with IRC channels bridged using Biboumi.)

Since ChatSecure automatically logs into the chatrooms (presumably because it's marked as 'auto-join' in the MUC bookmarks), I get loud spam every time ChatSecure decides to fetch messages.

Marking a MUC as archived is not enough to stop this from happening.

~Ignoring this is impossible, as chatrooms cannot be marked as 'mute unless I am mentioned'.~ Update: I just found the option to mute notifications. It doesn't let me get notified if I am explicitly mentioned, though.

Because I use autojoin on desktop, I won't be unmarking autojoin from the chatrooms.

chrisballinger commented 6 years ago

Because I use autojoin on desktop, I won't be unmarking autojoin from the chatrooms.

Ahhh that complicates things a bit. I'm not sure how to handle the case where you don't want what is stored on the server to match the client. I feel like having an option for completely disabling XEP-0048 is the only thing that makes sense, because otherwise it will result in a complicated and confusing user experience.

I just found the option to mute notifications. It doesn't let me get notified if I am explicitly mentioned, though.

Mention-only notifications is a good idea. What is the convention around prefixing/mentions? That is probably something that should be supported for sending as well.

ivucica commented 6 years ago

On Mon 16 Apr 2018 at 16:11 Chris Ballinger notifications@github.com wrote:

Because I use autojoin on desktop, I won't be unmarking autojoin from the chatrooms.

Ahhh that complicates things a bit. I'm not sure how to handle the case where you don't want what is stored on the server to match the client. I feel like having an option for completely disabling XEP-0048 is the only thing that makes sense, because otherwise it will result in a complicated and confusing user experience.

I’d actually be fine not changing anything, were it not for the few tiny bugs. If there won’t be a deluge of syncs and sync notifications whenever a channel is joined, I am fine with this.

If there was an option to disable autojoin for everything, I would be fine with it, as I am fine MUCing on desktop and Android. I care more about 1:1 use case, though I don’t mind MUC on rare occasions I need to access it on iOS :-)

I just found the option to mute notifications. It doesn't let me get notified if I am explicitly mentioned, though.

Mention-only notifications is a good idea. What is the convention around prefixing/mentions? That is probably something that should be supported for sending as well.

I usually expect any mention of my full nickname to trigger some indication that I am being talked about. Terminal and GUI IRC clients do it, Gajim does it on desktop, Conversations does it on Android.

Typing in first few letters then pressing tab inserts "nickname: " or "nickname, " on desktop. Either is fine. Tapping on a user's avatar in chat does the same on Conversations on Android. Longpressing on an avatar initiates 1:1 chat with a MUC participant on Conversations.

Thank you for your work on ChatSecure!

-- Sent from Gmail Mobile

licaon-kter commented 6 years ago

This is not #990?

chrisballinger commented 6 years ago

It's similar but not exactly the same

ivucica commented 6 years ago

It's nearly the same. I did not see #990. Fixing #990 would fix the main issue (large amount of unnecessary traffic and a large amount of noise), and turn #995 into a FR for #997 (notify only on mention). I think this might be closable.