Volodymyr Kozieiev
88a3022ea8
Drop messages with text longer than 4096 characters ( #2029 )
2020-09-01 17:38:36 +03:00
Andrea Maria Piana
4a87764cca
seed mrand
2020-09-01 10:31:12 +02:00
Andrea Maria Piana
2ef1aa89f4
Handle connection change
...
Currently messenger has no notion of being online.
This might cause a problem as we retry to register with a push
notification server even if not connected to any peer, which will
inevitably fail.
This commit adds a method `handleConnectionChange` that will be called
every time the connection change state.
2020-08-27 18:54:31 +02:00
Andrea Maria Piana
0ff2542939
Don't add contact on update
...
When sending a contact update we automatically added the contact,
but that resulted in the contact not being synced correctly as
`saveContact` will not trigger the side effects.
For now I have removed this behavior. Ideally we should have a single
call that handles the side effects, but for that ENS names should be
stored in messenger, so we can propagate it.
2020-08-27 18:54:30 +02:00
Andrea Maria Piana
640f5533ca
handle notifications at-most-once
2020-08-27 18:54:29 +02:00
Andrea Maria Piana
d7222c89e0
shuffle servers and limit & filter by chat id
2020-08-27 18:54:28 +02:00
Andrea Maria Piana
401d18e558
Enabled push notifications by default and add fleet
2020-08-27 18:54:06 +02:00
Andrea Maria Piana
d09eaeacb8
Allow node to start a push notification server
...
This commit allows a node to start a push notification server.
If the config is set it will start a messenger with a corresponding pn
server.
2020-08-20 10:54:33 +02:00
Andrea Maria Piana
ac6aff2486
Re-issue bundle on changed parameters
2020-08-19 11:57:39 +02:00
Andrea Maria Piana
4cf491ae38
add push notification type
2020-08-18 16:29:58 +02:00
Andrea Maria Piana
874d1d0fa6
Update protocol/pushnotificationclient/client.go
...
Co-authored-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2020-08-18 16:29:57 +02:00
Andrea Maria Piana
2b2616f82c
Bump version to 0.57.0
2020-08-18 16:29:55 +02:00
Andrea Maria Piana
5544e710ab
send push notification info with contact code
2020-08-18 16:29:38 +02:00
Andrea Maria Piana
541756c777
move contact code to subscription
2020-08-18 16:29:37 +02:00
Andrea Maria Piana
b557a64612
move shared secrets to subscription
2020-08-18 16:29:36 +02:00
Andrea Maria Piana
dd3cf55556
move installations to subscription
2020-08-18 16:29:35 +02:00
Andrea Maria Piana
be8e64fe8d
fix version check
2020-08-18 16:29:35 +02:00
Andrea Maria Piana
46aef6f3df
nil registration when unregistering
2020-08-18 16:29:34 +02:00
Andrea Maria Piana
aa78b89b40
handle unregistered clients
2020-08-18 16:29:33 +02:00
Andrea Maria Piana
4b9d3df5ad
Set RemotePushNotifications
2020-08-18 16:29:32 +02:00
Andrea Maria Piana
91074ac95e
Add apn-topic & token-type set by the client
2020-08-18 16:29:31 +02:00
Andrea Maria Piana
60e61caad8
invalidate token if allow from contacts only has been enabled
2020-08-18 16:29:30 +02:00
Andrea Maria Piana
e8daee3712
Add topic
2020-08-18 16:29:29 +02:00
Andrea Maria Piana
2e231e690e
Fix mark messages seen
...
If a chat had a last message the persistence call `Chat()` would not
decode `LastMessage` correctly.
This commit fixes the issue.
2020-08-17 13:40:10 +02:00
Samuel Hawksby-Robinson
19487da894
Fixes a minor rebase quirk ( #2016 )
...
See commit fc7b311838
2020-08-13 18:57:17 +01:00
Andrea Maria Piana
2d0818d873
Add SignMessageWithChatKey
2020-07-31 14:51:24 +02:00
Andrea Maria Piana
ab01a05cd6
Don't use bytes anymore for LastMessage
...
LastMessage in chat was encoded in bytes so that we don't have to
encoded/decode everytime we save to db or pass the client.
An issue with emoji surfaced a problem with this approach.
Chat.LastClockValue represent the last clock value of any type of
message exchanged in a chat (emoji,group membership updates, contact
updates).
So when receving a new message, we should update LastMessage if the
clock of the LastMessage is lower than the received message, and we
should not only check LastClockValue, otherwise the message might be
discarded although it is the most recent.
This commit fixes the issue by keeping LastMessage as an object and
comparing LastMessage.Clock instead of LastClockValue
2020-07-31 13:40:11 +02:00
Andrea Maria Piana
5e4d58a807
Fix lastMessage when receive an emoji out of order
2020-07-30 21:14:47 +02:00
Andrea Maria Piana
2cc3a9bab1
increase count & add comment
2020-07-30 20:21:10 +02:00
Andrea Maria Piana
b17d51e83d
describe chat entity comment
2020-07-30 20:21:08 +02:00
Andrea Maria Piana
33c87a670a
Uncommet test
2020-07-30 20:21:07 +02:00
Andrea Maria Piana
5910de3683
Handle emoji reaction in group chat
2020-07-30 20:21:06 +02:00
Andrea Maria Piana
b3c6afe99b
dont use a pointer
2020-07-30 20:21:05 +02:00
Andrea Maria Piana
eb087a00a4
add retracted
2020-07-30 20:21:04 +02:00
Andrea Maria Piana
fcb901daf2
remove leftover emojialias
2020-07-30 20:21:03 +02:00
Andrea Maria Piana
4a83c86c3e
Add EmojiReaction to membershipupdatemessage
2020-07-30 20:21:02 +02:00
Andrea Maria Piana
7e7d95a907
camel case emojiReactions
2020-07-30 20:21:01 +02:00
Andrea Maria Piana
a1a6e1c6c0
linting
2020-07-30 20:21:00 +02:00
Andrea Maria Piana
29f25c5486
Use local chat-id for matching messages
2020-07-30 20:20:59 +02:00
Andrea Maria Piana
d067b56fc2
Fix cursored query for emoji
2020-07-30 20:20:58 +02:00
Andrea Maria Piana
37a2073008
add endpoint for getting emojis
2020-07-30 20:20:40 +02:00
Andrea Maria Piana
3e4e1ff663
update migrations
2020-07-30 20:20:39 +02:00
Andrea Maria Piana
db43fa4894
camel case emojiReactions
2020-07-30 20:20:38 +02:00
Andrea Maria Piana
5a178939de
Use same message with flag for emoji retraction and use compound id
2020-07-30 20:20:37 +02:00
Andrea Maria Piana
2bf1991190
Use reflect.Value as ParsedMessage type and handle type case
2020-07-30 20:20:36 +02:00
Samuel Hawksby-Robinson
de79f2ced0
Fix bug, logger var name collided with package name
2020-07-30 20:20:35 +02:00
Samuel Hawksby-Robinson
acfcac6748
Implemented encodeChatEntity() into SendChatMessage and SendEmojiReaction
2020-07-30 20:20:34 +02:00
Samuel Hawksby-Robinson
b70c362f2b
Bug fix on SendChatMessage() related to membership update
2020-07-30 20:20:33 +02:00
Samuel Hawksby-Robinson
e9eb05e3d1
Bug fix on HandleMembershipUpdate()
2020-07-30 20:20:32 +02:00
Samuel Hawksby-Robinson
45c1e5ba1c
Updated MembershipUpdateMessage to use interfaced ChatEntity
...
Replaces ChatMessage only field
2020-07-30 20:20:31 +02:00
Samuel Hawksby-Robinson
b6d24e950c
Added oneof chat_entity option to membership_update_message
2020-07-30 20:20:30 +02:00
Samuel Hawksby-Robinson
3e857203ac
Created ChatEntity encoding per chat type
2020-07-30 20:20:29 +02:00
Samuel Hawksby-Robinson
6ffe67deec
Added ChatEntity interface and made required changes for its use
2020-07-30 20:20:28 +02:00
Samuel Hawksby-Robinson
ceed618102
Updated all MessageType references
2020-07-30 20:20:27 +02:00
Samuel Hawksby-Robinson
c0a0238b0e
Moved protobuf MessageType enum into dedicated file
2020-07-30 20:20:26 +02:00
Samuel Hawksby-Robinson
373ddc5449
Added chat id to emoji reaction protobuf
2020-07-30 20:20:25 +02:00
Samuel Hawksby-Robinson
9a775619cd
Added basic EmojiReaction handler
2020-07-30 20:20:24 +02:00
Samuel Hawksby-Robinson
eb562122b6
Added general protobuf umarshaller function
2020-07-30 20:20:23 +02:00
Samuel Hawksby-Robinson
5823ebe446
Added emoji reaction retraction message type unmarshalling
2020-07-30 20:20:22 +02:00
Samuel Hawksby-Robinson
5ee3a0a1b5
Added check emoji reaction retraction sender against current identity
2020-07-30 20:20:21 +02:00
Samuel Hawksby-Robinson
0a26d5a37d
Added emoji reaction retraction persistence
2020-07-30 20:20:20 +02:00
Samuel Hawksby-Robinson
106ccfcf0f
Added main functionality for SendEmojiReactionRetraction()
2020-07-30 20:20:19 +02:00
Samuel Hawksby-Robinson
8779b9a333
Added emoji_reaction get by id db func
2020-07-30 20:20:18 +02:00
Samuel Hawksby-Robinson
fdc180039f
Added emoji_reaction persistence
2020-07-30 20:20:17 +02:00
Samuel Hawksby-Robinson
241439e56b
make generate
2020-07-30 20:20:16 +02:00
Samuel Hawksby-Robinson
9b8d0ba167
Added chat_id to emoji_reactions table
2020-07-30 20:20:15 +02:00
Samuel Hawksby-Robinson
4899b43a48
delinted
2020-07-30 20:20:14 +02:00
Samuel Hawksby-Robinson
0fdb2de6d1
Added return to prevent compile fail
2020-07-30 20:20:13 +02:00
Samuel Hawksby-Robinson
db517eb1f4
Removed lines I've added
2020-07-30 20:20:12 +02:00
Samuel Hawksby-Robinson
ae1e6db883
Removed original iteration
2020-07-30 20:20:11 +02:00
Samuel Hawksby-Robinson
2d9db29f31
Added Messenger.SendEmojiReaction()
...
stubbed SendEmojiReactionRetraction() added new protocol/EmojiReaction{}
2020-07-30 20:20:10 +02:00
Samuel Hawksby-Robinson
1dadab9104
Added emoji reaction app meta message type
2020-07-30 20:20:09 +02:00
Samuel Hawksby-Robinson
f6594cc306
make generate for new emoji reaction table
2020-07-30 20:20:08 +02:00
Samuel Hawksby-Robinson
57319599de
created emoji_reaction table migration
...
Signed-off-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2020-07-30 20:20:07 +02:00
Samuel Hawksby-Robinson
961c00069b
Added emoji_reaction.proto to protobuf/service.go
2020-07-30 20:20:06 +02:00
Samuel Hawksby-Robinson
7049dfc0b8
Split emoji_reaction into dedicated proto
2020-07-30 20:20:05 +02:00
Samuel Hawksby-Robinson
f16285ea0d
Fix of minor JSON formating bug
2020-07-30 20:20:04 +02:00
Samuel Hawksby-Robinson
412f6c6280
Lint fixes
2020-07-30 20:20:03 +02:00
Samuel Hawksby-Robinson
8cff21d254
make generate
2020-07-30 20:20:02 +02:00
Samuel Hawksby-Robinson
a899264bc7
Added emoji reaction migrations
2020-07-30 20:20:01 +02:00
Samuel Hawksby-Robinson
fc7b311838
Added switch to persistence
2020-07-30 20:20:01 +02:00
Samuel Hawksby-Robinson
351cc4403d
Added emoji reaction to message persistence
2020-07-30 20:20:00 +02:00
Samuel Hawksby-Robinson
073ff0b6af
Added message validator tests for emoji reactions
2020-07-30 20:19:59 +02:00
Samuel Hawksby-Robinson
a0e7e0751c
Added emoji reaction message type validation
2020-07-30 20:19:58 +02:00
Samuel Hawksby-Robinson
154a169ffb
Moved message.ContentType base checks to a switch
2020-07-30 20:19:57 +02:00
Samuel Hawksby-Robinson
8089468e83
Added emoji reaction JSON RPC un/marshalling
2020-07-30 20:19:56 +02:00
Samuel Hawksby-Robinson
39bd6d479a
Added emoji retraction type
2020-07-30 20:19:55 +02:00
Samuel Hawksby-Robinson
9e09a265e2
Added emoji reaction content type
2020-07-30 20:19:54 +02:00
Samuel Hawksby-Robinson
2f5f00f1a8
Added EmojiReaction and EmojiReactionRetraction protobuf
2020-07-30 20:19:22 +02:00
Andrea Maria Piana
eadf68325e
Fix audio null value
...
If a message was inserted before the migration the field
audio_duration_ms would be set to NULL, and would not be serialized into
go correctly, as uint is non-nullable.
this commit fixes the issue by calling COALESCE on the value.
2020-07-30 15:00:39 +02:00
Andrea Maria Piana
0fb5ed2207
dont use a pointer for public methods
2020-07-29 12:51:48 +02:00
Andrea Maria Piana
45815e57d7
Add feature flag for push notifications and bump version
2020-07-27 17:20:16 +02:00
Andrea Maria Piana
4ae2c59e9b
Update protocol/message.go
...
Co-authored-by: Samuel Hawksby-Robinson <samuel@samyoul.com>
2020-07-27 17:15:16 +02:00
Andrea Maria Piana
bdb2708a39
log
2020-07-27 17:15:15 +02:00
Andrea Maria Piana
a2f273e616
use ms
2020-07-27 17:15:14 +02:00
Andrea Maria Piana
8716a8ce45
add audio duration
2020-07-27 17:15:10 +02:00
Andrea Maria Piana
e58ba1e9c8
Add audio messages
...
Why make this change?
We are adding support of audio recorded files, similarly to how we did
with images
What has changed?
- Added protobuf definition, only AAC supported
- Added migrations to store files
- Fixed an issue with nil pointer when transaction would fail to be
created, causing the application to crash
2020-07-27 17:14:50 +02:00
Andrea Maria Piana
4b8739a8bc
Polish up and address review feedback
2020-07-27 08:51:28 +02:00
Andrea Maria Piana
63af6aa79b
Use ephemeral keys for sending messsages
2020-07-27 08:51:27 +02:00
Andrea Maria Piana
2be8dff54a
Make sure pn is resent and succesful in tests
2020-07-27 08:51:26 +02:00