diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
index 0ae8b279a17e6816c8b0843660d9579bcc996e74..097f4e3019d1e5d519c31191a1808501891e82f5 100644
--- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java
+++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
@@ -116,6 +116,7 @@ public class MucOptions {
public enum Error {
NO_RESPONSE,
+ SEVRER_NOT_FOUND,
NONE,
NICK_IN_USE,
PASSWORD_REQUIRED,
diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
index d0f2754cbafc3d0d4761cb7fd3aa6dcbde0cd7c4..337c0b4d2fffbed57a188400bd3f02796349f9f0 100644
--- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
@@ -2028,8 +2028,12 @@ public class XmppConnectionService extends Service {
@Override
public void onFetchFailed(final Conversation conversation, Element error) {
- join(conversation);
- fetchConferenceConfiguration(conversation);
+ if (error != null && "remote-server-not-found".equals(error.getName())) {
+ conversation.getMucOptions().setError(MucOptions.Error.SEVRER_NOT_FOUND);
+ } else {
+ join(conversation);
+ fetchConferenceConfiguration(conversation);
+ }
}
});
updateConversationUi();
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
index ad3ca4ea22f8e519582226b7a3d8076448de86bf..5fd654fa9309f801f6a1afec2d6cda83baf1eacf 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
@@ -865,6 +865,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
case NO_RESPONSE:
showSnackbar(R.string.joining_conference, 0, null);
break;
+ case SEVRER_NOT_FOUND:
+ showSnackbar(R.string.remote_server_not_found,R.string.leave, leaveMuc);
+ break;
case PASSWORD_REQUIRED:
showSnackbar(R.string.conference_requires_password, R.string.enter_password, enterPassword);
break;
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 13098716586d7020d57e2e6adda9f1f7149169e5..dbc4ab378aaf1965d212346354ad4e8effb6c810 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -680,4 +680,5 @@
Contact asks for presence subscription
Allow
No permission to access %s
+ Remote server not found