From ffba53777cac07e8a3f16fb9dbbdaa61d87a09bd Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Tue, 31 May 2016 23:09:45 +0200 Subject: check if session is optional --- src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index 9a8a55fbd..1128907e6 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -924,7 +924,8 @@ public class XmppConnection implements Runnable { if (jid != null && jid.getContent() != null) { try { account.setResource(Jid.fromString(jid.getContent()).getResourcepart()); - if (streamFeatures.hasChild("session")) { + if (streamFeatures.hasChild("session") + && !streamFeatures.findChild("session").hasChild("optional")) { sendStartSession(); } else { sendPostBindInitialization(); @@ -990,6 +991,7 @@ public class XmppConnection implements Runnable { } private void sendStartSession() { + Log.d(Config.LOGTAG,account.getJid().toBareJid()+": sending legacy session to outdated server"); final IqPacket startSession = new IqPacket(IqPacket.TYPE.SET); startSession.addChild("session", "urn:ietf:params:xml:ns:xmpp-session"); this.sendUnmodifiedIqPacket(startSession, new OnIqPacketReceived() { -- cgit v1.2.3 From 24ea66c9fcc374ea9b5f0b0057f244b21f6fef99 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 1 Jun 2016 00:12:14 +0200 Subject: display invite again menu item for offline members --- .../java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java index 80ebb28b4..a82f82458 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java @@ -380,10 +380,14 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers MenuItem removeAdminPrivileges = menu.findItem(R.id.remove_admin_privileges); MenuItem removeFromRoom = menu.findItem(R.id.remove_from_room); MenuItem banFromConference = menu.findItem(R.id.ban_from_conference); + MenuItem invite = menu.findItem(R.id.invite); startConversation.setVisible(true); if (contact != null) { showContactDetails.setVisible(true); } + if (user.getRole() == MucOptions.Role.NONE) { + invite.setVisible(true); + } if (self.getAffiliation().ranks(MucOptions.Affiliation.ADMIN) && self.getAffiliation().outranks(user.getAffiliation())) { if (mAdvancedMode) { @@ -404,7 +408,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers } } else { MenuItem sendPrivateMessage = menu.findItem(R.id.send_private_message); - sendPrivateMessage.setVisible(true); + sendPrivateMessage.setVisible(user.getRole().ranks(MucOptions.Role.PARTICIPANT)); } } -- cgit v1.2.3 From 5c5d5cc4e3eb8536e9becd010a114be002fdd742 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 1 Jun 2016 00:25:14 +0200 Subject: don't show empty templates --- src/main/java/eu/siacs/conversations/entities/Presences.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/entities/Presences.java b/src/main/java/eu/siacs/conversations/entities/Presences.java index c80783317..9e94ff2b3 100644 --- a/src/main/java/eu/siacs/conversations/entities/Presences.java +++ b/src/main/java/eu/siacs/conversations/entities/Presences.java @@ -59,7 +59,9 @@ public class Presences { synchronized (this.presences) { ArrayList templates = new ArrayList<>(presences.size()); for(Presence p : presences.values()) { - templates.add(new PresenceTemplate(p.getStatus(),p.getMessage())); + if (p.getMessage() != null && !p.getMessage().trim().isEmpty()) { + templates.add(new PresenceTemplate(p.getStatus(), p.getMessage())); + } } return templates; } -- cgit v1.2.3 From 15316e6a7fc3cd9601f1b11bbf1a358c02813243 Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 1 Jun 2016 09:03:21 +0200 Subject: only log inner stanza but display isCarbon --- src/main/java/eu/siacs/conversations/parser/MessageParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 603edd31b..c9c8c0bca 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -535,7 +535,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece } } else if (!packet.hasChild("body")){ //no body if (Config.BACKGROUND_STANZA_LOGGING && !mXmppConnectionService.checkListeners()) { - Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": " + original); + Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": " + packet+ " (carbon="+Boolean.toString(isCarbon)+")"); } Conversation conversation = mXmppConnectionService.find(account, from.toBareJid()); if (isTypeGroupChat) { -- cgit v1.2.3 From add8e2cb74f555dc732a9c7d48ae5039d184884e Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 1 Jun 2016 09:04:08 +0200 Subject: don't replace \n\t\r --- src/main/java/eu/siacs/conversations/utils/XmlHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/utils/XmlHelper.java b/src/main/java/eu/siacs/conversations/utils/XmlHelper.java index 198ce28b9..8cd551a0a 100644 --- a/src/main/java/eu/siacs/conversations/utils/XmlHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/XmlHelper.java @@ -7,7 +7,7 @@ public class XmlHelper { content = content.replace(">", ">"); content = content.replace("\"", """); content = content.replace("'", "'"); - content = content.replaceAll("\\p{Cc}", ""); + content = content.replaceAll("\\p{Cc}&&[^\n\r\t]", ""); return content; } } -- cgit v1.2.3 From 91732b89ea1003e38697c392d389aecf4953b07d Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 1 Jun 2016 11:37:03 +0200 Subject: log background msgs not foreground msgs --- src/main/java/eu/siacs/conversations/parser/MessageParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/eu/siacs/conversations') diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index c9c8c0bca..79be0bb5c 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -534,7 +534,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece } } } else if (!packet.hasChild("body")){ //no body - if (Config.BACKGROUND_STANZA_LOGGING && !mXmppConnectionService.checkListeners()) { + if (Config.BACKGROUND_STANZA_LOGGING && mXmppConnectionService.checkListeners()) { Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": " + packet+ " (carbon="+Boolean.toString(isCarbon)+")"); } Conversation conversation = mXmppConnectionService.find(account, from.toBareJid()); -- cgit v1.2.3