Samuel Hawksby-Robinson
5aa8492315
Fix failing tests
2020-12-17 14:10:00 +01:00
Andrea Maria Piana
32907b59b2
Fix linting
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
1b527906ee
Resolved hopefully the last of the lint
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
7b2d96de05
Resolved yet more lint
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
b7a7035894
Resolved further linting issues
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
a77a40fdf4
Resolved linting issues
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
190b1a70f9
Removed usages of multiaccounts.Account.PhotoPath
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
193ab30ada
Refactor injecting multiaccounts into messenger and service
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
7b230d5c9d
Updated message handling from public and private chat
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
056649fd73
Changed identity image migration
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
a564066c4f
Added public chat ChatIdentity publish
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
48a34072bb
Added ChatIdentity attachment to ContactCodeAdvert
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
1f1e784d80
Added additional registry testing
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
7b77ae9eab
Fix CI register persistence bug
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
5426fac0a3
Added CHAT_IDENTITY application meta type
...
also make generate
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
fe4b7c6d80
Added migrations for chat_identity_last_published register
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
af7117070f
Added protocol register of ChatIdentity last published times per chat
...
This register is only used for publishing ChatIdentity to public chat
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
1b59d088d8
Integrated GetMimeType()
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
5a4e23a0ea
Fix protobuf ImageType change
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
e8d883edb6
bindata for profile_image migrations
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
6bab64cc9b
Fix getImageMessageMIME() bug
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
7f8d3674d4
Removing superfluous image types
...
Additionally updating the protobufs that use ImageType
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
c6accd8ce3
make generate
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
d77f85b7df
Added file decoding
...
reused protocol file type detection
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
d7eac44c77
Updated comment on IdentityImage mapping
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
5043c1d1af
Updated ImageType to handle SVG and AVATAR image types
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
6c4eea2a6b
Moved ImageType enum to enums.proto
2020-12-17 14:10:00 +01:00
Samuel Hawksby-Robinson
f1f409c209
Added basic chat identity protobuf
2020-12-17 14:10:00 +01:00
Andrea Maria Piana
f3f6cdcd93
Mark message as seen when hiding
...
When hiding a message, we want to mark it as seen in order to preserve
the right count
2020-12-15 15:47:02 +01:00
Volodymyr Kozieiev
d4518d7f16
resend emoji reaction ( #2088 )
2020-12-15 16:43:41 +02:00
Andrea Maria Piana
14f4c40404
Split Merge into functions
2020-12-03 18:25:53 +01:00
Andrea Maria Piana
156c0de832
Add SendChatMessages endpoints
...
This commit adds an endpoint to batch the sending of messages.
This is useful to simplify client logic when sending a batch of messages
and ensuring the correct order in the message stream.
It currently implements only what's needed, and naively return an error
if any of the messages fail.
2020-12-03 18:25:53 +01:00
Andrea Maria Piana
938e0d77dd
Don't return an error on datasync Send
...
if an error is returned on the Send function, datasync will keep
retrying a message at each epoch. If the message cannot be sent (for
example is too large), then no messages will be sent until logout.
2020-11-26 16:25:52 +01:00
Andrea Maria Piana
0c79e50ca8
Remove unnecessary logs & fix flaky test
2020-11-26 16:25:52 +01:00
Andrea Maria Piana
6ad047d56f
Fix datasync retry
...
This commit fixes a bug on the mvds library where the nextEpoch would be
incorrectly summed to the retry time, resulting in messages not being
retried, or retried much less frequently the longer the app was running.
It also updates the retry timing to backoff exponentially at multiple of
30 seconds.
2020-11-26 16:25:52 +01:00
Jonathan Rainville
b2d8f7f416
feat: add bookmarks table for the browser bookmarks
...
plus get bookmark icon using a lib
2020-11-16 13:31:34 -05:00
flexsurfer
e8dbc66227
timeline reactions ( #2079 )
2020-11-16 12:54:39 +01:00
Roman Volosovskyi
4026841dc1
Add `New` flag to a received message
...
This change allows to count unviewed messages properly on the client
side when replied message is attached to reply before being passed.
2020-11-10 18:02:38 +02:00
Andrea Maria Piana
f10e70ce96
Incerase verified count when ENS name does not verify
...
In some cases no error is returned but the name is not verified.
Before this ENS names would get verified again every 30s.
This commit changes the logic so that if they fail to verify without
error they will still exponentially backoff.
2020-11-10 08:11:39 +01:00
Roman Volosovskyi
d20cf2583f
Revert "Allow receiving old messages after rejoining a pubchat"
...
This reverts commit fa136ebaa7
.
2020-11-06 17:09:49 +02:00
andrey
40e2fc7526
fix timeline
2020-11-06 12:31:14 +01:00
Andrea Maria Piana
8966d81199
linting
2020-11-06 06:35:35 +01:00
andrey
6f207def2b
timeline
2020-11-06 06:35:35 +01:00
Roman Volosovskyi
fa136ebaa7
Allow receiving old messages after rejoining a pubchat
2020-11-05 15:13:38 +02:00
Andrea Maria Piana
75e0809f50
Split datasync messages in batches
...
When sending messages in quick succession, it might be that multiple
messages are batched together in datasync, resulting in a single large
payload.
This commit changes the behavior so that we can pass a max-message-size
and we split the message in batches before sending.
A more elegant way would be to split at the transport layer (i.e
waku/whisper), but that would be incompatible with older client.
We can still do that eventually to support larger messages.
2020-11-05 12:45:29 +01:00
Volodymyr Kozieiev
9dffff042e
Don't send new members event when there are no new members
2020-11-02 17:05:56 +01:00
Volodymyr Kozieiev
3e446eed8c
Link previews support ( #2059 )
2020-10-27 19:35:28 +02:00
andrey
b388002771
profile status updates
2020-10-27 14:56:35 +01:00
Andrea Maria Piana
5cea355541
Use in memory database for messenger tests
2020-10-14 08:37:23 +02:00
Andrea Maria Piana
b11399ffc6
Use ErrRecordNotFound instead of sql.ErrNoRows
...
We were checking for the wrong error kind when pulling messages from the
database, which resulted in the code not retrying to pull the message,
giving flaky tests / race condition (that's present in production as
well)
2020-10-08 13:23:00 +02:00
Andrea Maria Piana
896f5c24bf
Force migration if dirty
2020-10-01 13:47:59 +02:00
Andrea Maria Piana
200273aa0e
Count runes and not characters
2020-09-25 14:02:09 +02:00
Andrea Maria Piana
a759d9dd67
Fix push notification & mentions
...
The code had an issue where it would not register a chat if just joined
as re-register push notifications was called before the chat had been
added.
This commit fixes the behavior by making sure that the chat just joined
is included.
2020-09-17 07:35:18 +02:00
Andrea Maria Piana
61b345ff33
Add index on seen & hide long messages
...
This commit does two things:
1) Add an index on seen & update only the not-seen messages in the query
2) Hide long messages in the database, as that's likely spam
2020-09-10 10:26:59 +02:00
Andrea Maria Piana
3c6b741f71
Add tests for send notification & review feedback
2020-09-09 21:22:34 +02:00
Andrea Maria Piana
28e06daf6d
Dont sent messages to user who have not joined
2020-09-09 21:22:18 +02:00
Andrea Maria Piana
2d525f9503
Set block mentions
2020-09-09 21:22:17 +02:00
Andrea Maria Piana
4e18d21129
Re-register on adding or removing a chat
2020-09-09 21:22:16 +02:00
Andrea Maria Piana
0d998e1858
Show correct text in case of mentions
2020-09-09 21:22:15 +02:00
Andrea Maria Piana
18877cae6f
Handle mentions on server
2020-09-09 21:22:14 +02:00
Andrea Maria Piana
8ee3c75510
Support for basic push notification for mentions
2020-09-09 21:22:13 +02:00
Andrea Maria Piana
00c5b60d7f
Move message to common namespace
2020-09-09 21:22:12 +02:00
Andrea Maria Piana
7d5d413222
Add parsing and storing of mentions
2020-09-09 21:22:07 +02:00
Roman Volosovskyi
57728224d4
[mentions] ParsedText in quoted message
...
ParsedText is needed to properly display mention in quoted message.
2020-09-09 16:07:31 +03:00
Andrea Maria Piana
32b0af8ecc
Add index to emoji reactions
2020-09-09 15:02:54 +02:00
andrey
3b748a2e46
group chat invitation
2020-09-07 12:15:58 +02:00
andrey
2eaa1fcad7
[ #11046 ] Add local contact names
2020-09-07 11:34:06 +02:00
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