From 89e0d9b0cf0607ff4d7fe8fc9e5758a207699f5b Mon Sep 17 00:00:00 2001 From: Brice-W Date: Fri, 7 May 2021 09:30:50 +1000 Subject: [PATCH 1/3] WIP --- .../libsession/messaging/sending_receiving/MessageSender.kt | 2 +- .../sending_receiving/MessageSenderClosedGroupHandler.kt | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt index 84afeff63b..d4a577af33 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt @@ -14,7 +14,6 @@ import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate import org.session.libsession.messaging.messages.visible.* import org.session.libsession.messaging.open_groups.* import org.session.libsession.messaging.threads.Address -import org.session.libsession.messaging.threads.recipients.Recipient import org.session.libsession.messaging.utilities.MessageWrapper import org.session.libsession.snode.RawResponsePromise import org.session.libsession.snode.SnodeAPI @@ -48,6 +47,7 @@ object MessageSender { object NoKeyPair: Error("Couldn't find a private key associated with the given group public key.") object NoPrivateKey : Error("Couldn't find a private key associated with the given group public key.") object InvalidClosedGroupUpdate : Error("Invalid group update.") + object ClosedGroupCreationFailure : Error("Couldn't create closed group.") // Precondition class PreconditionFailure(val reason: String): Error(reason) diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt index a7c6dd97f7..065900f56c 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt @@ -19,6 +19,7 @@ import org.session.libsignal.service.api.messages.SignalServiceGroup import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.loki.utilities.hexEncodedPublicKey import org.session.libsignal.service.loki.utilities.removing05PrefixIfNeeded +import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.ThreadUtils import org.session.libsignal.utilities.logging.Log @@ -53,8 +54,11 @@ fun MessageSender.create(name: String, members: Collection): Promise Date: Mon, 17 May 2021 14:16:04 +1000 Subject: [PATCH 2/3] error handling if something goes wrong when creating a group --- .../loki/activities/CreateClosedGroupActivity.kt | 6 +++++- .../sending_receiving/MessageSenderClosedGroupHandler.kt | 9 ++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt index f3a7f94bd4..f9bacaff26 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/activities/CreateClosedGroupActivity.kt @@ -12,6 +12,7 @@ import android.view.View import android.widget.Toast import kotlinx.android.synthetic.main.activity_create_closed_group.* import network.loki.messenger.R +import nl.komponents.kovenant.ui.failUi import nl.komponents.kovenant.ui.successUi import org.session.libsession.messaging.sending_receiving.MessageSender import org.session.libsession.messaging.sending_receiving.groupSizeLimit @@ -123,7 +124,10 @@ class CreateClosedGroupActivity : PassphraseRequiredActionBarActivity(), LoaderM openConversationActivity(this, threadID, Recipient.from(this, Address.fromSerialized(groupID), false)) finish() } - + }.failUi { + loaderContainer.fadeOut() + isLoading = false + Toast.makeText(this, it.message, Toast.LENGTH_LONG).show() } } // endregion diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt index 065900f56c..4b787e8dbe 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt @@ -54,9 +54,12 @@ fun MessageSender.create(name: String, members: Collection): Promise Date: Mon, 17 May 2021 14:19:37 +1000 Subject: [PATCH 3/3] clean --- .../libsession/messaging/sending_receiving/MessageSender.kt | 1 - .../sending_receiving/MessageSenderClosedGroupHandler.kt | 1 - 2 files changed, 2 deletions(-) diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt index 9a281893bc..4477633c16 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt @@ -45,7 +45,6 @@ object MessageSender { object NoThread : Error("Couldn't find a thread associated with the given group public key.") object NoKeyPair: Error("Couldn't find a private key associated with the given group public key.") object InvalidClosedGroupUpdate : Error("Invalid group update.") - object ClosedGroupCreationFailure : Error("Couldn't create closed group.") internal val isRetryable: Boolean = when (this) { is InvalidMessage, ProtoConversionFailed, InvalidClosedGroupUpdate -> false diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt index d12dd6f730..b9a61fae4d 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderClosedGroupHandler.kt @@ -19,7 +19,6 @@ import org.session.libsignal.service.api.messages.SignalServiceGroup import org.session.libsignal.service.internal.push.SignalServiceProtos import org.session.libsignal.service.loki.utilities.hexEncodedPublicKey import org.session.libsignal.service.loki.utilities.removing05PrefixIfNeeded -import org.session.libsignal.service.loki.utilities.retryIfNeeded import org.session.libsignal.utilities.Hex import org.session.libsignal.utilities.ThreadUtils import org.session.libsignal.utilities.logging.Log