},
() -> false,
urgent);
- final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> {
- final var res = messageSender.sendGroupDataMessage(distId,
- recipients,
- unidentifiedAccess,
- isRecipientUpdate,
- contentHint,
- message,
- SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
- urgent,
- false);
- synchronized (entryId) {
- if (entryId.get() == -1) {
- final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
- res,
- contentHint,
- urgent);
- entryId.set(newId);
- } else {
- messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), res);
- }
- }
- return res;
- };
+ final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> messageSender.sendGroupDataMessage(
+ distId,
+ recipients,
+ unidentifiedAccess,
+ isRecipientUpdate,
+ contentHint,
+ message,
+ SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
+ urgent,
+ false,
+ sendResult -> {
+ logger.trace("Partial message send results: {}", sendResult.size());
+ synchronized (entryId) {
+ if (entryId.get() == -1) {
+ final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+ sendResult,
+ contentHint,
+ urgent);
+ entryId.set(newId);
+ } else {
+ messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+ }
+ }
+ synchronized (entryId) {
+ if (entryId.get() == -1) {
+ final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+ sendResult,
+ contentHint,
+ urgent);
+ entryId.set(newId);
+ } else {
+ messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+ }
+ }
+ });
final var results = sendGroupMessageInternal(legacySender, senderKeySender, recipientIds, distributionId);
for (var r : results) {
library("logback", "ch.qos.logback", "logback-classic").version("1.4.6")
- library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_68")
+ library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_69")
library("protobuf", "com.google.protobuf", "protobuf-javalite").version("3.22.2")
library("sqlite", "org.xerial", "sqlite-jdbc").version("3.41.2.1")
library("hikari", "com.zaxxer", "HikariCP").version("5.0.1")
} catch (TimeoutException e) {
throw new UserErrorException("Link request timed out, please try again.");
} catch (IOException e) {
- throw new IOErrorException("Link request error: " + e.getMessage(), e);
+ throw new IOErrorException("Link request error: "
+ + e.getMessage()
+ + " ("
+ + e.getClass().getSimpleName()
+ + ")", e);
} catch (UserAlreadyExistsException e) {
throw new UserErrorException("The user "
+ e.getNumber()