62 Commits

Author SHA1 Message Date
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
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
149fc5e3eb
Test token invalidation 2020-07-27 08:51:24 +02:00
Andrea Maria Piana
58817aad5b
Use separate flag for allowonlyfromcontacst 2020-07-27 08:51:20 +02:00
Andrea Maria Piana
bec8fbb855
Handle allowedContact lists 2020-07-27 08:51:19 +02:00
Andrea Maria Piana
12a3c5a31a
Add version to notification info 2020-07-27 08:51:18 +02:00
Andrea Maria Piana
026e16533f
Register asynchronously 2020-07-27 08:51:17 +02:00
Andrea Maria Piana
7a54d9b1c9
add unregister 2020-07-27 08:51:16 +02:00
Andrea Maria Piana
7bad800cb8
Add endpoints to enable/disable pns 2020-07-27 08:51:15 +02:00
Andrea Maria Piana
be1800f2ec
drive settings from client 2020-07-27 08:51:14 +02:00
Andrea Maria Piana
e89e36b081
Use resend automatically for datasync 2020-07-27 08:51:10 +02:00
Andrea Maria Piana
c88df6c1c7
Handle messages sent to all devices 2020-07-27 08:51:09 +02:00
Andrea Maria Piana
20fb8607cb
keep track of queries & actually send pns, hurray 2020-07-27 08:51:05 +02:00
Andrea Maria Piana
1c379984cb
Handle registration with server 2020-07-27 08:51:04 +02:00
Andrea Maria Piana
7e16f940de
Handle query response 2020-07-27 08:51:03 +02:00
Andrea Maria Piana
7f6c8db6db
Handle push notification registration e2e 2020-07-27 08:51:02 +02:00
Andrea Maria Piana
d985af4a7e
Implement server persistence for client & basic tests 2020-07-27 08:51:01 +02:00
Andrea Maria Piana
3afde67022
Move message processor to common and allow subscribing to sent messages 2020-07-27 08:51:00 +02:00
Andrea Maria Piana
9da64ef251
add basic config 2020-07-27 08:50:59 +02:00
Andrea Maria Piana
4ded7bf74c
Add skeleton for server and separate namespace for client 2020-07-27 08:50:48 +02:00
Andrea Maria Piana
92b699b59d
Add push notification register message 2020-07-27 08:50:47 +02:00
Andrea Maria Piana
c4fa9825a9
Mute chat 2020-07-27 08:50:46 +02:00
Andrea Maria Piana
4720224ba2 expose getContactByID method 2020-06-17 12:24:58 +02:00
Andrea Maria Piana
2d17c40631 Refactor *Raw methods in message_processor.go
We used *Raw method in message_processor as before we had non-Raw method
during the transition from status-react to status-go. This naming is not
meaningful anymore, so I have changed it.
2020-06-01 11:30:04 +02:00
Andrea Maria Piana
f5ab58b87f Add support for images
This commit adds support for images in protobuf messages.

The client can specify a path which will be used to load the image
and set the corresponding fields.

This makes the assumption that the RCP server runs on the same machine
as the client and they have access to the same files. This holds
currently for both status-react and status-console-client, we could
revisit and adds an upload if that changes in the future.
2020-06-01 11:30:04 +02:00
Andrea Maria Piana
ee0a83fdc4 Load identicon & alias in chat.
Why make the changes?

Mainly performance, those fields are almost always present in the
database but they are re-calculated on load by the client as it does not
have necessarily access to it.

What has changed?
- Remove `_legacy` persistence namespaces as it's a vestige of the
initial move frmo status-react to status-go
- Pulling chats is now a join with contacts to add contact & alias
2020-05-25 14:00:04 +02:00
Andrea Maria Piana
7bbe9561de Set chat active on being re-invited
If the user deletes/leaves a group chat, the chat is set as not active.
This means that if we are re-invited to the chat it won't be shown to
the user.

This commit changes this behavior so that if we are re-invited to the
chat it is set as active again.
2020-04-23 11:04:50 +02:00
Andrea Maria Piana
2d1f6c1cfa Don't pass contacts without custom fields to the client
When receiving a message with save a contact in the database in order to
avoid re-calculating image/profile.
This contact is then passed to the client, which can negatively impact
performance.

This commit changes the behavior so that only those contacts that have
some custom fields (have been explicitly added by the user, have been
blocked by the user, have sent a contact request or have a verified ens
name) are passed to the client.
2020-04-21 09:09:27 +02:00
Andrea Maria Piana
3a84afd0f1 Add replies to messages
Currently replies to messages are handled in status-react.
This causes some issues with the fact that sometimes replies might come
out of order, they might be offloaded to the database etc.

This commit changes the behavior so that status-go always returns the
replies, and in case a reply comes out of order (first the reply, later
the message being replied to), it will include in the messages the
updated message.

It also adds some fields (RTL,Replace,LineCount) to the database which
were not previously saved, resulting in some potential bugs.

The method that we use to pull replies is currently a bit naive, we just
pull all the message again from the database, but has the advantage of
being simple. It will go through performance testing to make sure
performnace are acceptable, if so I think it's reasonable to avoid some
complexity.
2020-04-16 15:51:28 +02:00
Andrea Maria Piana
4d2fb67add Allow to leave chat without removing it 2020-04-14 14:08:54 +02:00
Andrea Maria Piana
f3fc6812cd Add change group chat name endpoint 2020-04-14 14:08:54 +02:00
Andrea Maria Piana
79be6eaf3a Increment retry count when ENS verification fails
We did not increment the counter when verification failed, which meant
that we would not backoff and retry more often that we should have.
2020-04-14 11:16:43 +02:00
Andrea Maria Piana
3c5354280c Return count of updated messages in MarkMessagesSeen
The frontend needs to know if the messaged marked as seen was actually
seen or not, as we might not have it loaded in the frontend.
2020-04-07 13:23:21 +02:00
Andrea Maria Piana
a5874fdb21 Add content type for group chats 2020-03-25 09:29:08 +01:00
Adam Babik
17f91b3141
Clean up protocol package (#1890) 2020-03-09 07:19:23 +01:00
Andrea Maria Piana
7be1fcb978 Dont use system time for clock value in create group chat event 2020-02-29 11:28:46 +01:00
Andrea Maria Piana
5cc60de80b
Add mark as read endpoint (#1863) 2020-02-26 13:31:48 +01:00
7a97325850 add GetContactByID to Messenger
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-02-13 12:55:09 +01:00
Adam Babik
8b61d92d58
Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
Andrea Maria Piana
0b6ad662b5
Bug/validate pubkey (#1838)
* validate chat before persisting

* add comment to public key generation
2020-02-07 12:56:30 +01:00
Adam Babik
d27a507e0d
make Messenger.Timesource public (#1837) 2020-02-07 12:30:26 +01:00
Andrea Maria Piana
f2eebd1e49
Verify ENS in the background (#1824)
Currently ENS are verified explicitly by status-react, this is not ideal
as if that fails it will have to be explicilty retried in status-react.
This commits changes that behavior so that ENS are verified in a loop
and updated if new messages are received.
2020-02-05 11:09:33 +01:00
Andrea Maria Piana
8931b14c4e
Explicitly init messenger (#1821)
Messenger needs to wait until all the topics/mailservers are loaded in
the client, so we explicitly add a way to call Init.
2020-01-29 20:40:06 +01:00
Andrea Maria Piana
a4f88d0017
Fix ens names and contact (#1810)
Currently the wrong pk format was used to query the in-memory contacts,
this commit corrects the behavior.
2020-01-23 09:24:28 +01:00