Fixed crashes leaving un-polled groups

This commit is contained in:
SessionHero01
2024-10-08 10:21:59 +11:00
parent 71009c373b
commit 962df473b6
11 changed files with 123 additions and 70 deletions

View File

@@ -170,7 +170,6 @@ interface StorageProtocol {
// Closed Groups
fun getMembers(groupPublicKey: String): List<LibSessionGroupMember>
fun getLibSessionClosedGroup(groupAccountId: String): GroupInfo.ClosedGroupInfo?
fun getClosedGroupDisplayInfo(groupAccountId: String): GroupDisplayInfo?
fun insertGroupInfoChange(message: GroupUpdated, closedGroup: AccountId): Long?
fun insertGroupInfoLeaving(closedGroup: AccountId): Long?

View File

@@ -20,6 +20,7 @@ import org.session.libsession.snode.utilities.await
import org.session.libsession.utilities.StringSubstitutionConstants.GROUP_NAME_KEY
import org.session.libsession.utilities.StringSubstitutionConstants.NAME_KEY
import org.session.libsession.utilities.StringSubstitutionConstants.OTHER_NAME_KEY
import org.session.libsession.utilities.getClosedGroup
import org.session.libsession.utilities.truncateIdForDisplay
import org.session.libsignal.protos.SignalServiceProtos.DataMessage.GroupUpdateInviteMessage
import org.session.libsignal.protos.SignalServiceProtos.DataMessage.GroupUpdateMessage
@@ -100,6 +101,7 @@ class InviteContactsJob(val groupSessionId: String, val memberSessionIds: Array<
}
val groupName = configs.withGroupConfigs(sessionId) { it.groupInfo.getName() }
?: configs.getClosedGroup(sessionId)?.name
val failures = results.filter { it.second.isFailure }
// if there are failed invites, display a message
@@ -117,7 +119,7 @@ class InviteContactsJob(val groupSessionId: String, val memberSessionIds: Array<
toaster.toast(R.string.groupInviteFailedUser, Toast.LENGTH_LONG,
mapOf(
NAME_KEY to firstString,
GROUP_NAME_KEY to groupName
GROUP_NAME_KEY to groupName.orEmpty()
)
)
}
@@ -134,7 +136,7 @@ class InviteContactsJob(val groupSessionId: String, val memberSessionIds: Array<
mapOf(
NAME_KEY to firstString,
OTHER_NAME_KEY to secondString,
GROUP_NAME_KEY to groupName
GROUP_NAME_KEY to groupName.orEmpty()
)
)
}
@@ -149,7 +151,7 @@ class InviteContactsJob(val groupSessionId: String, val memberSessionIds: Array<
mapOf(
NAME_KEY to firstString,
OTHER_NAME_KEY to remaining.toString(),
GROUP_NAME_KEY to groupName
GROUP_NAME_KEY to groupName.orEmpty()
)
)
}

View File

@@ -50,7 +50,6 @@ import org.session.libsignal.utilities.defaultRequiresAuth
import org.session.libsignal.utilities.hasNamespaces
import org.session.libsignal.utilities.hexEncodedPublicKey
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicInteger
import org.session.libsession.messaging.sending_receiving.attachments.Attachment as SignalAttachment
import org.session.libsession.messaging.sending_receiving.link_preview.LinkPreview as SignalLinkPreview
import org.session.libsession.messaging.sending_receiving.quotes.QuoteModel as SignalQuote

View File

@@ -645,7 +645,7 @@ object SnodeAPI {
for ((req, resp) in batch.zip(responses.results)) {
val result = runCatching {
check(resp.code == 200) {
"Error with code = ${resp.code}, msg = ${resp.body}"
"Error calling \"${req.request.method}\" with code = ${resp.code}, msg = ${resp.body}"
}
JsonUtil.fromJson(resp.body, req.responseType)