aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2019-12-23 21:53:45 +0100
committerfiaxh <git@lightrise.org>2019-12-24 01:46:01 +0100
commitf58119f25e42da7a21e2c4324b305cc8c5fb6760 (patch)
treedd90ba816025d07ebdcfe818538b8d0d8996d186
parent1d1682a357b6ab1ac709160560b43c23ee7163b5 (diff)
downloaddino-f58119f25e42da7a21e2c4324b305cc8c5fb6760.tar.gz
dino-f58119f25e42da7a21e2c4324b305cc8c5fb6760.zip
Don't show own typing notifications (other devices)
fixes #669
-rw-r--r--libdino/src/service/counterpart_interaction_manager.vala3
-rw-r--r--main/src/ui/conversation_summary/chat_state_populator.vala1
-rw-r--r--main/src/ui/conversation_summary/conversation_view.vala4
-rw-r--r--xmpp-vala/src/module/xep/0085_chat_state_notifications.vala3
4 files changed, 5 insertions, 6 deletions
diff --git a/libdino/src/service/counterpart_interaction_manager.vala b/libdino/src/service/counterpart_interaction_manager.vala
index e22ecb53..6ee55ae4 100644
--- a/libdino/src/service/counterpart_interaction_manager.vala
+++ b/libdino/src/service/counterpart_interaction_manager.vala
@@ -48,6 +48,9 @@ public class CounterpartInteractionManager : StreamInteractionModule, Object {
}
private async void on_chat_state_received(Account account, Jid jid, string state, MessageStanza stanza) {
+ // Don't show our own (other devices) typing notification
+ if (jid.equals_bare(account.bare_jid)) return;
+
Message message = yield stream_interactor.get_module(MessageProcessor.IDENTITY).parse_message_stanza(account, stanza);
Conversation? conversation = stream_interactor.get_module(ConversationManager.IDENTITY).get_conversation_for_message(message);
if (conversation == null) return;
diff --git a/main/src/ui/conversation_summary/chat_state_populator.vala b/main/src/ui/conversation_summary/chat_state_populator.vala
index 04eb4a20..5db2a1f6 100644
--- a/main/src/ui/conversation_summary/chat_state_populator.vala
+++ b/main/src/ui/conversation_summary/chat_state_populator.vala
@@ -80,7 +80,6 @@ class ChatStatePopulator : Plugins.ConversationItemPopulator, Plugins.Conversati
meta_item = new MetaChatStateItem(stream_interactor, current_conversation, jid, state_type, jids);
item_collection.insert_item(meta_item);
}
-
}
}
diff --git a/main/src/ui/conversation_summary/conversation_view.vala b/main/src/ui/conversation_summary/conversation_view.vala
index 9b90622a..4cde3668 100644
--- a/main/src/ui/conversation_summary/conversation_view.vala
+++ b/main/src/ui/conversation_summary/conversation_view.vala
@@ -72,6 +72,7 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
firstLoad = false;
}
stack.set_visible_child_name("void");
+ clear();
initialize_for_conversation_(conversation);
display_latest();
stack.set_visible_child_name("main");
@@ -136,7 +137,6 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
clear_notifications();
this.conversation = conversation;
-
// Init for new conversation
foreach (Plugins.ConversationItemPopulator populator in app.plugin_registry.conversation_addition_populators) {
populator.init(conversation, this, Plugins.WidgetType.GTK);
@@ -149,8 +149,6 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
}
private void display_latest() {
- clear();
-
Gee.List<ContentMetaItem> items = content_populator.populate_latest(conversation, 40);
foreach (ContentMetaItem item in items) {
do_insert_item(item);
diff --git a/xmpp-vala/src/module/xep/0085_chat_state_notifications.vala b/xmpp-vala/src/module/xep/0085_chat_state_notifications.vala
index 5a9b0914..7c1c9172 100644
--- a/xmpp-vala/src/module/xep/0085_chat_state_notifications.vala
+++ b/xmpp-vala/src/module/xep/0085_chat_state_notifications.vala
@@ -48,8 +48,7 @@ public class Module : XmppStreamModule {
if (!message.is_error()) {
Gee.List<StanzaNode> nodes = message.stanza.get_all_subnodes();
foreach (StanzaNode node in nodes) {
- if (node.ns_uri == NS_URI &&
- node.name in STATES) {
+ if (node.ns_uri == NS_URI && node.name in STATES) {
chat_state_received(stream, message.from, node.name, message);
}
}