Unify remote delete timestamp as targetTimestamp

Fixes #2130
This commit is contained in:
AsamK 2026-10-06 17:50:49 +02:00
parent da8c69b2a2
commit ba389ba6bb
4 changed files with 17 additions and 6 deletions

View File

@ -165,7 +165,10 @@ public class DbusReceiveMessageHandler implements Manager.ReceiveMessageHandler
}
if (message.remoteDeleteId().isPresent()) {
extras.put("remoteDelete",
new Variant<>(Map.of("timestamp", new Variant<>(message.remoteDeleteId().get())), "a{sv}"));
new Variant<>(Map.of("targetTimestamp",
new Variant<>(message.remoteDeleteId().get()),
"timestamp",
new Variant<>(message.remoteDeleteId().get())), "a{sv}"));
}
if (message.sticker().isPresent()) {
final var sticker = message.sticker().get();

View File

@ -8,7 +8,11 @@ import io.micronaut.jsonschema.JsonSchema;
@JsonSchema(title = "AdminDelete")
public record JsonAdminDelete(
@Deprecated String targetAuthor, String targetAuthorNumber, String targetAuthorUuid, long targetSentTimestamp
@Deprecated String targetAuthor,
String targetAuthorNumber,
String targetAuthorUuid,
long targetTimestamp,
@Deprecated long targetSentTimestamp
) {
static JsonAdminDelete from(MessageEnvelope.Data.AdminDelete adminDelete) {
@ -16,9 +20,13 @@ public record JsonAdminDelete(
final var targetAuthor = address.getLegacyIdentifier();
final var targetAuthorNumber = address.number().orElse(null);
final var targetAuthorUuid = address.uuid().map(UUID::toString).orElse(null);
final var targetSentTimestamp = adminDelete.targetSentTimestamp();
final var targetTimestamp = adminDelete.targetSentTimestamp();
return new JsonAdminDelete(targetAuthor, targetAuthorNumber, targetAuthorUuid, targetSentTimestamp);
return new JsonAdminDelete(targetAuthor,
targetAuthorNumber,
targetAuthorUuid,
targetTimestamp,
targetTimestamp);
}
}

View File

@ -67,7 +67,7 @@ record JsonDataMessage(
.map(JsonPreview::from)
.toList() : null;
final var remoteDelete = dataMessage.remoteDeleteId().isPresent()
? new JsonRemoteDelete(dataMessage.remoteDeleteId().get())
? new JsonRemoteDelete(dataMessage.remoteDeleteId().get(), dataMessage.remoteDeleteId().get())
: null;
final var attachments = !dataMessage.attachments().isEmpty() ? dataMessage.attachments()
.stream()

View File

@ -3,4 +3,4 @@ package org.asamk.signal.json;
import io.micronaut.jsonschema.JsonSchema;
@JsonSchema(title = "RemoteDelete")
record JsonRemoteDelete(long timestamp) {}
record JsonRemoteDelete(long targetTimestamp, @Deprecated long timestamp) {}