From 1af03e3e16d77820d64e034e926795e4cb6f7c8a Mon Sep 17 00:00:00 2001 From: AsamK Date: Mon, 15 Sep 2025 11:34:27 +0200 Subject: [PATCH] Fix hiding contacts --- .../signal/manager/storage/recipients/RecipientStore.java | 5 +++-- .../org/asamk/signal/commands/UpdateContactCommand.java | 8 +------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java index 442cbf4e..421beacb 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java @@ -841,7 +841,7 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re final var sql = ( """ UPDATE %s - SET given_name = ?, family_name = ?, nick_name = ?, expiration_time = ?, expiration_time_version = ?, mute_until = ?, hide_story = ?, profile_sharing = ?, color = ?, blocked = ?, archived = ?, unregistered_timestamp = ?, nick_name_given_name = ?, nick_name_family_name = ?, note = ? + SET given_name = ?, family_name = ?, nick_name = ?, expiration_time = ?, expiration_time_version = ?, mute_until = ?, hide_story = ?, profile_sharing = ?, color = ?, blocked = ?, archived = ?, unregistered_timestamp = ?, nick_name_given_name = ?, nick_name_family_name = ?, note = ?, hidden = ? WHERE _id = ? """ ).formatted(TABLE_RECIPIENT); @@ -865,7 +865,8 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re statement.setString(13, contact == null ? null : contact.nickNameGivenName()); statement.setString(14, contact == null ? null : contact.nickNameFamilyName()); statement.setString(15, contact == null ? null : contact.note()); - statement.setLong(16, recipientId.id()); + statement.setBoolean(16, contact != null && contact.isHidden()); + statement.setLong(17, recipientId.id()); statement.executeUpdate(); } if (contact != null && contact.unregisteredTimestamp() != null) { diff --git a/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java b/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java index 312ac8e8..9cba6992 100644 --- a/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java +++ b/src/main/java/org/asamk/signal/commands/UpdateContactCommand.java @@ -60,13 +60,7 @@ public class UpdateContactCommand implements JsonRpcLocalCommand { var nickGivenName = ns.getString("nick-given-name"); var nickFamilyName = ns.getString("nick-family-name"); var note = ns.getString("note"); - if (givenName != null - || familyName != null - || nickGivenName != null - || nickFamilyName != null - || note != null) { - m.setContactName(recipient, givenName, familyName, nickGivenName, nickFamilyName, note); - } + m.setContactName(recipient, givenName, familyName, nickGivenName, nickFamilyName, note); } catch (IOException e) { throw new IOErrorException("Update contact error: " + e.getMessage(), e); } catch (NotPrimaryDeviceException e) {