privacysettings: add support for new privacy settings (#1075)

This commit is contained in:
Aruga Astri
2026-02-18 15:55:54 +02:00
committed by GitHub
parent e4d82a04d5
commit 9cbe80fb25
3 changed files with 21 additions and 0 deletions
+9
View File
@@ -151,6 +151,15 @@ func (cli *Client) parsePrivacySettings(privacyNode *waBinary.Node, settings *ty
case types.PrivacySettingTypeCallAdd:
settings.CallAdd = value
evt.CallAddChanged = true
case types.PrivacySettingTypeMessages:
settings.Messages = value
evt.MessagesChanged = true
case types.PrivacySettingTypeDefense:
settings.Defense = value
evt.DefenseChanged = true
case types.PrivacySettingTypeStickers:
settings.Stickers = value
evt.StickersChanged = true
}
}
return &evt
+3
View File
@@ -533,6 +533,9 @@ type PrivacySettings struct {
ReadReceiptsChanged bool
OnlineChanged bool
CallAddChanged bool
MessagesChanged bool
DefenseChanged bool
StickersChanged bool
}
// OfflineSyncPreview is emitted right after connecting if the server is going to send events that the client missed during downtime.
+9
View File
@@ -118,10 +118,13 @@ const (
PrivacySettingUndefined PrivacySetting = ""
PrivacySettingAll PrivacySetting = "all"
PrivacySettingContacts PrivacySetting = "contacts"
PrivacySettingContactAllowlist PrivacySetting = "contact_allowlist"
PrivacySettingContactBlacklist PrivacySetting = "contact_blacklist"
PrivacySettingMatchLastSeen PrivacySetting = "match_last_seen"
PrivacySettingKnown PrivacySetting = "known"
PrivacySettingNone PrivacySetting = "none"
PrivacySettingOnStandard PrivacySetting = "on_standard"
PrivacySettingOff PrivacySetting = "off"
)
// PrivacySettingType is the type of privacy setting.
@@ -135,6 +138,9 @@ const (
PrivacySettingTypeReadReceipts PrivacySettingType = "readreceipts" // Valid values: PrivacySettingAll, PrivacySettingNone
PrivacySettingTypeOnline PrivacySettingType = "online" // Valid values: PrivacySettingAll, PrivacySettingMatchLastSeen
PrivacySettingTypeCallAdd PrivacySettingType = "calladd" // Valid values: PrivacySettingAll, PrivacySettingKnown
PrivacySettingTypeMessages PrivacySettingType = "messages" // Valid values: PrivacySettingAll, PrivacySettingContacts
PrivacySettingTypeDefense PrivacySettingType = "defense" // Valid values: PrivacySettingOnStandard, PrivacySettingOff
PrivacySettingTypeStickers PrivacySettingType = "stickers" // Valid values: PrivacySettingContacts, PrivacySettingContactAllowlist, PrivacySettingNone
)
// PrivacySettings contains the user's privacy settings.
@@ -146,6 +152,9 @@ type PrivacySettings struct {
ReadReceipts PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingNone
CallAdd PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingKnown
Online PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingMatchLastSeen
Messages PrivacySetting // Valid values: PrivacySettingAll, PrivacySettingContacts
Defense PrivacySetting // Valid values: PrivacySettingOnStandard, PrivacySettingOff
Stickers PrivacySetting // Valid values: PrivacySettingContacts, PrivacySettingContactAllowlist, PrivacySettingNone
}
// StatusPrivacyType is the type of list in StatusPrivacy.