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