-
-
Notifications
You must be signed in to change notification settings - Fork 309
Feature Matrix
John Freed edited this page Aug 17, 2021
·
96 revisions
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
addDevice | ✅ | ❌ | ✅1 |
block | ✅ | ❌ | ✅3 |
daemon2 | ✅ | ✅ | ✅ |
getContactNumber | ❌ | ❌ | ✅ |
getObjectPath | ❌ | ❌ | ✅ |
getUserStatus | ✅ | ✅ | ✅1, 13 |
isMember | ❌ | ❌ | ✅ |
isRegistered | ❌ | ❌ | ✅1 |
joinGroup | ✅ | ❌ | ✅ |
jsonRpc | ✅ | ✅ | NA |
link | ✅ | ❌ | ✅18 |
listContacts | ✅ | ❌ | ✅15 |
> getContactName | ❌ | ❌ | ✅ |
> isContactBlocked | ❌ | ❌ | ✅ |
> listNumbers | ❌ | ❌ | ✅ |
listDevices | ✅ | ❌ | ✅1 |
listGroups | ✅ | ❌ | ✅19 |
> getGroupIds | ❌ | ❌ | ✅ |
> getGroupMembers | ❌ | ❌ | ✅ |
> getGroupName | ❌ | ❌ | ✅ |
> isGroupBlocked | ❌ | ❌ | ✅ |
listIdentities | ✅ | ❌ | ✅1, 16 |
> listIdentity | ✅17 | ❌ | ✅1 |
quitGroup | ✅ | ❌ | ✅ |
receive | ✅ | ✅ | ✅ |
register | ✅ | ❌ | ✅18 |
> registerWithCaptcha | ✅12 | ❌ | ✅18 |
remoteDelete | ✅ | ❌ | ✅ |
> sendGroupRemoteDeleteMessage | ✅ | ❌ | ✅ |
> sendRemoteDeleteMessage | ✅ | ❌ | ✅ |
removeDevice | ✅ | ❌ | ✅1 |
removePin | ✅ | ❌ | ✅1 |
send | ✅ | ❌ | ✅ |
> sendEndSessionMessage | ✅ | ❌ | ✅ |
> sendMessage | ✅ | ❌ | ✅ |
> sendMessageV2 | ❌ | ❌ | ✅1 |
> send URL as attachment | ❌ | ❌ | ✅1 |
> sendGroupMessage | ✅ | ❌ | ✅ |
> sendGroupMessageV2 | ❌ | ❌ | ✅1 |
> sendNoteToSelfMessage | ✅ | ❌ | ✅ |
> sendNoteToSelfMessageV2 | ❌ | ❌ | ✅1 |
> groupCallUpdate | ❌ | ❌ | ❌ |
> payment | ❌ | ❌ | ❌ |
> preview | ❌ | ❌ | ❌ |
> sticker | ❌ | ❌ | ❌ |
> viewOnce | ❌ | ❌ | ❌ |
sendContacts | ✅ | ❌ | ❌ |
sendReaction | ✅ | ❌ | ✅ |
> sendMessageReaction | ✅ | ❌ | ✅ |
> sendGroupMessageReaction | ✅ | ❌ | ✅ |
sendSyncRequest | ✅ | ❌ | ❌ |
sendTyping | ✅ | ❌ | ✅1 |
setPin | ✅ | ❌ | ✅1 |
trust | ✅ | ❌ | ❌ |
unblock | ✅ | ❌ | ✅4 |
unregister | ✅ | ❌ | ✅1, 21 |
updateAccount | ✅ | ❌ | ✅1 |
updateContact | ✅ | ❌ | ✅10 |
> setContactName | ✅ | ❌ | ✅ |
> setExpirationTimer | ✅ | ❌ | ✅1 |
updateGroup | ✅ | ❌ | ✅20 |
updateProfile | ✅ | ❌ | ✅ |
uploadStickerPack | ✅ | ❌ | ❌ |
verify | ✅ | ❌ | ✅18 |
> verifyWithPin | ✅14 | ❌ | ✅18 |
version | ✅ | ❌ | ✅ |
feature | daemon | dbus |
---|---|---|
CallMessageReceived | ❌ | ❌ |
MessageReceived | ✅ | ✅ |
> receive attachments11 | ✅ | ✅ |
OutgoingPaymentMessageReceived | ❌ | ❌ |
ReceiptReceived | ✅ | ✅ |
SyncMessageReceived | ✅ | ✅ |
TypingMessageReceived | ❌ | ❌ |
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
Call messages | ❌ | ❌ | ❌ |
Attachment progress listener | ❌ | ❌ | ❌ |
Payment Notifications | ❌ | ❌ | ❌ |
Receive typing messages | ❌ | ❌ | ❌ |
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
getAttachments | ✅ | ✅ | ✅ |
getDestination | ✅ | ✅ | ✅ |
getGroupId | ✅ | ✅ | ✅ |
getMessage | ✅ | ✅ | ✅ |
getSender | ✅ | ✅ | ✅ |
getSource | ✅ | ✅ | ✅ |
getTimestamp | ✅ | ✅ | ✅ |
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
content | ✅ | ✅ | ✅ |
thumbnail9 | ✅ | ✅ | ❔ |
contentType | ✅ | ✅ | ✅1, 6 |
filename | ✅ | ✅ | ✅1 |
remoteId | ✅ | ✅ | ✅1, 6 |
size | ✅ | ✅ | ✅1, 6 |
keyLength | ✅ | ✅1 | ✅1 |
width | ✅ | ✅1 | ✅1 |
height | ✅ | ✅1 | ✅1 |
voiceNote | ✅ | ✅1 | ✅1 |
caption | ✅ | ✅1 | ✅1 |
borderless | ❌ | ❌ | ❌ |
gif7 | NA | NA | NA |
preview | ❌ | ❌ | ❌ |
digest | ❌ | ❌ | ❌ |
uploadTimestamp | ❌ | ❌ | ❌ |
listener | ❌ | ❌ | ❌ |
> cancelationSignal | ❌ | ❌ | ❌ |
resumableUploadSpec | ✅ | ❌ | ❌ |
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
timestamp | ✅ | ✅ | ❔ |
message | ✅ | ✅ | ❔ |
expiresInSeconds | ✅ | ✅ | ❔ |
viewOnce | ✅ | ✅ | ❔ |
reaction | ✅ | ✅ | ❔ |
quote | ✅ | ✅ | ❔ |
mentions | ✅ | ✅ | ❔ |
attachments | ✅ | ✅ | ❔ |
sticker | ✅ | ✅ | ❔ |
remoteDelete | ✅ | ✅ | ❔ |
contacts | ✅ | ✅ | ❔ |
groupInfo | ✅ | ✅ | ❔ |
feature | plaintext CLI | json CLI8 | dbus |
---|---|---|---|
id | ✅ | ✅ | ❔ |
author | ✅ | ✅ | ❔ |
text | ✅ | ✅ | ❔ |
attachments9 | ✅ | ✅ | ❔ |
- Proposed https://github.com/johnfreed/signal-cli
- Runs daemon or communicates with running daemon
- Implemented indirectly:
setContactBlocked=true
orsetGroupBlocked=true
- Implemented indirectly:
setContactBlocked=false
orsetGroupBlocked=false
- Data is provided to output stream (if available from Signal servers) or accepted from input stream
- Provided indirectly by interpreting content file written to disk
- Obsolete (no longer part of Signal API)
-
--output json
option is supported by CLI - A thumbnail has the data of an attachment, but is also part of a quoted attachment
-
updateContact
is implemented indirectly through two subcommands:setContactName
andsetExpirationTimer
- Attachments are written to disk, with remoteId sent over DBus
- Provided via the
--captcha
option - Provided via the
isRegistered
command - Provided via the
--pin
option - Provided indirectly by the
listNumbers
command, which returns an array of contact numbers, followed by a series of calls togetContactName
andisContactBlocked
- Provided indirectly by the
listNumbers
command, which returns an array of contact numbers, followed by a series of calls tolistIdentity
, which returns a four-element array - Provided via the
--number
option - Uses
org.asamk.SignalControl
as well asorg.asamk.Signal
- Provided indirectly by
getGroupIds
and a series of calls togetGroupMembers
,getGroupName
andisGroupBlocked
- Send the name of a zero-length file to delete the group avatar
- Kills daemon upon successful unregister command