Commit Graph

579 Commits

Author SHA1 Message Date
Vitaliy Vlasov ea95ce2d4b Add nil check for DirectMessageProtocol object 2021-12-02 15:42:33 +02:00
Andrea Maria Piana f60cf5cd47 Wait for p2p messages to be processed 2021-12-01 12:58:46 +00:00
Vitaliy Vlasov f271277b76 Disable failing tests
Fix lint
2021-11-30 20:52:47 +02:00
Vitaliy Vlasov e6dffe8d8d Communities encryption 2021-11-30 20:52:47 +02:00
Richard Ramos 51a6d8ee7c
fix: error reordering chats when destination category position is the same as original chatId position (#2448) 2021-11-30 10:26:17 -04:00
Anthony Laibe 73c7ea57d1
feat: auto message (#2441)
Send message every 2 minutes to status-bot chat id
2021-11-29 14:11:55 +01:00
Anthony Laibe 25e1c64ef5
fix: iterate through message with batch topics (#2444)
When iterating, reuse the list of topics rather
than all topics
2021-11-26 12:59:53 +01:00
Parvesh Monu a65c873b8f
Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
Jonathan Rainville dad02df69b
chore: remove tenor since the api no longer returns a url (#2439) 2021-11-24 10:12:30 -05:00
Andrea Maria Piana ded81b7a51 Reject contact request endpoint 2021-11-23 14:11:43 +01:00
Richard Ramos d32f0467ae
feat: Add DiscV5 to Waku2 (#2434)
* feat: Add DiscV5 to Waku2
* fix: null verification for discV5
2021-11-22 09:40:14 -04:00
Andrea Maria Piana 1d752c087f Default to sent if confirmations not enabled 2021-11-22 11:18:09 +00:00
Andrea Maria Piana 272342fb6b Revert "Revert "Correctly process confirmations""
This reverts commit b4c4cf6241.
2021-11-22 11:18:09 +00:00
Parvesh Monu 478eb435b1
Allow user to be re-invited to the same group after leaving (#2431)
Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-11-19 20:02:04 +05:30
Andrea Maria Piana b4c4cf6241
Revert "Correctly process confirmations"
This reverts commit 1b9bc4450c.
2021-11-18 17:19:41 +00:00
Roman Volosovskyi 0be1b44642
fix mistake in sql query 2021-11-18 14:35:24 +02:00
Pascal Precht 1ffcf23f9b Ensure owner is removed from community when leaving community
Prior to this commit, when a community owner leaves her community,
status-go would just set the `joined` flag to `false` without updating the
members list. This results in wrong data as the number of members doesn't
match the reality.

This commit removes the owner of the community from the members list
when she's leaving the community.
2021-11-17 11:50:04 +01:00
Volodymyr Kozieiev 1b9bc4450c Correctly process confirmations 2021-11-17 09:28:09 +00:00
Pascal Precht df30c06163 feat: add API to mark activity center messages as unread 2021-11-16 12:14:32 +01:00
Andrea Maria Piana 6724cf4c75 Block contact endpoint 2021-11-15 18:53:35 +00:00
Andrea Maria Piana 7fc812b693 Save profile chat 2021-11-15 18:53:35 +00:00
Andrea Maria Piana 54b3689814 Allow setting ens name 2021-11-15 18:53:35 +00:00
Andrea Maria Piana ca6246d5f2 Set last backup 2021-11-15 18:53:35 +00:00
Andrea Maria Piana be1a261d9b Check for verified records when creating a contact 2021-11-15 18:53:35 +00:00
Andrea Maria Piana 1cc7546e67 Create contact if not in contacts when setting nickname 2021-11-15 18:53:35 +00:00
Andrea Maria Piana f04e5c741c unblock contact endpoint 2021-11-15 18:53:35 +00:00
Andrea Maria Piana a7b0c6c933 Backup removed & added by them contacts 2021-11-15 18:53:35 +00:00
Andrea Maria Piana 301325a22e Add backing up of contacts
We periodically check whether we should backup contacts through waku.

Currently it's not tied to any event, it will only schedule a backup on
a tick, or through the provided API endpoint.
2021-11-15 18:53:35 +00:00
Andrea Maria Piana 7f4631b829 Add indexes for encryption 2021-11-15 10:17:25 +00:00
Roman Volosovskyi 53bbfb3f08
Allow sending messages offline 2021-11-11 19:12:31 +02:00
Samuel Hawksby-Robinson 87d7c48e2a
Bug fix old requests to join prematurely stop sync community handling (#2421) 2021-11-11 16:37:04 +00:00
Richard Ramos 38cc695753
waku2: log envelope hash and ids for all messages (#2427) 2021-11-11 12:13:55 -04:00
Anthony Laibe c95c29bba5 feat: Push messages to telemetry server when receiving messages 2021-11-10 09:34:14 +01:00
Richard Ramos 7440c184c0
feat: add batch information and request ID in history requests (#2397) 2021-11-09 16:16:19 -05:00
saledjenic dbac362bc7
Added api points for fetching message details and message reactions (#2423)
by message id
2021-11-05 09:48:20 -04:00
Richard Ramos 4602982c77
waku2: enable message confirmations (#2416) 2021-11-02 14:27:37 -04:00
Roman Volosovskyi 4a0ad1cf69
[pairing] Sync read messages 2021-11-02 10:02:27 +02:00
Andrea Maria Piana 2d13fa1e25 Add logging of message-id 2021-11-01 11:53:08 +00:00
Parvesh Monu 9693d59e61
Online Status Indicator (#2408) 2021-10-28 20:51:28 +05:30
Parvesh Monu c20e8ebdef
Store Highlight field for identify new chats (#2384) 2021-10-21 22:34:56 +05:30
Andrea Maria Piana 48b466674b Replay skipped migration 2021-10-20 18:41:00 +01:00
Andrea Maria Piana c9b66d18da Send picture in private chats 2021-10-20 18:41:00 +01:00
andrey c7e758eeab [#12717] No preview for transaction messages in 1-1 chat 2021-10-20 15:45:07 +02:00
Andrea Maria Piana 23308d7e8c Allow profile pictures from contacts 2021-10-12 16:39:29 +01:00
Andrea Maria Piana 75aebd94ab Republish image on change of visibility settings 2021-10-08 14:36:30 +01:00
Andrea Maria Piana 4e33e46795 Fix race condition with PNs
Sometimes the message scheduled & message sent notifications are
received out of order.
Now we use a single channel for both so order is maintained.
This was causing the tests to be flaky and it might have happened in
production as well.
2021-10-07 12:47:40 +01:00
Brian Sztamfater 4d3c04e41c
Modify CanonicalImage function to return large or thumb image if available (#2300) 2021-10-07 01:42:27 -03:00
Andrea Maria Piana 62b9d8062e Discard installations with no metadata in tests
We need to discard installations with no metadata, as some might be sent
before, so we need to check in the loop that the one we care about is
received.
2021-10-06 20:43:36 +01:00
Roman Volosovskyi e77371d7d2
[pairing] Do not mark contact as added on unblocking 2021-10-06 14:48:28 +03:00
Roman Volosovskyi 4de912baba [pairing] Sync chat removing 2021-10-06 12:38:57 +01:00
Andrea Maria Piana c4aee37007 Fix flaky test 2021-10-06 11:39:42 +01:00
Andrea Maria Piana be0b94d051 Revert "temporary comment out join community test"
This reverts commit 7701368b14.
2021-10-06 11:39:42 +01:00
andrey 7701368b14 temporary comment out join community test 2021-10-06 11:39:29 +02:00
andrey d90fe86a61 revert mentions for chat preview 2021-10-06 11:39:29 +02:00
Parvesh Monu c3ced09839
Storing emoji values for Custom Emoji Thumbnails for Community Channels (#2366) 2021-10-04 18:32:25 +05:30
Andrea Maria Piana 5e83d8e95e Add HasAddedUs field 2021-10-04 12:19:15 +02:00
Andrea Maria Piana 438c2e8883 contacts performance 2021-10-04 12:19:15 +02:00
Andrea Maria Piana 51493d61bd Resend on new contact 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson d9ea6a910e Tests and linting 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 0ff7a864ec Attempting to resolved 'no such column: profile_pictures_show_to'
Have resolved the settings table not found but now the column is not migrating for some reason
2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson a50048e290 Updated tests to match refactor 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 3a1349141a Refactor so both Messenger and MessageHandler could use code from a shsared source 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 33487d64de Updated tests to include tests on IdentityImage.Encrypted state 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 1534fc15c9 Updated contact key gen in test so index call wouldn't be ambiguous 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 97754cb907 Added new Settings field ProfilePicturesShowTo 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson b009bac5fb Switched encryption of payload and keys to AES
Added Encrypted field to the protobuf
2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson 0080de754e Added encryption element to 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson de14ec9628 Added getSettings helper and moved IdentityImage attachment to dedicated function 2021-09-30 13:02:41 +01:00
Samuel Hawksby-Robinson aaf9aeca8a Added encryption keys to the IdentityImage protobuf 2021-09-30 13:02:41 +01:00
Richard Ramos 3b05d379bd
feat: add signals that are emitted before/after history messages are requested (#2378)
* fix: sqlite variable limit

* feat: add signal for history messages
2021-09-28 14:41:35 -04:00
Andrea Maria Piana 5c55ab5264 Make sure request is originating from us before marking it as processed
This commit fixes one source of flakyness in the tests, which was an
actual bug.

If 1 device is registering with a push notification server, if there's
another device with the same public key, both would mark themselves as
registered, while maybe only one has been actually registered.

To fix this, we keep track of the request ids we send (in memory for
now), and only mark it as registered if the request was originating on
this device.
2021-09-28 12:31:26 +01:00
Brian Sztamfater d65494d1f8
Send notification when your contact invites you to group chat (#2361) 2021-09-27 11:02:25 -03:00
RichΛrd 7d148272e1 feat: functions to add peers and dial (#2345) 2021-09-27 09:04:28 -04:00
Richard Ramos 0575030825 feat: adding peers, fix peer count and fix format of peer stats signal 2021-09-27 09:04:28 -04:00
Roman Volosovskyi 181c06722f
Mark own messages as seen 2021-09-27 12:42:07 +03:00
Roman Volosovskyi 5793470fad
[pairing] Fetch history on receiving pubchat installation. 2021-09-27 11:56:29 +03:00
Roman Volosovskyi cef8ec2508
Allow to retreive profile updates after removing contact 2021-09-24 12:16:15 +03:00
Andrea Maria Piana 3daba8c247 Shorten loop on waiting for community 2021-09-24 10:12:42 +01:00
Andrea Maria Piana bd314b8adc Fix timeline/profile updates messages 2021-09-24 10:01:40 +01:00
Roman Volosovskyi 839d6b3194
[status-im/status-react#12517] Ensure that all necessary contact fields are synced 2021-09-23 12:22:49 +03:00
Richard Ramos a8a5acabb2 fix: sqlite variable limit 2021-09-22 08:04:28 -04:00
andrey 59eeed9436 chats list performance 2021-09-20 10:51:18 +02:00
Michele Balistreri fb218761d9
add MarkAllReadInCommunity (#2364)
add MarkAllReadInCommunity
2021-09-20 09:33:36 +03:00
Andrea Maria Piana bd1e6b0033 Fix handling on public chat messages 2021-09-15 09:28:51 +01:00
Andrea Maria Piana b48522c59b Fix removing message from map 2021-09-15 09:28:51 +01:00
Roman Volosovskyi d8d5d797da
Reregister for push notification on joining community 2021-09-02 10:30:03 +03:00
Andrea Maria Piana e63f6461ed Status public API 2021-09-01 15:52:09 +02:00
Samuel Hawksby-Robinson 07e46714f0
Anon Metrics Broadcast (#2198)
* Protobufs and adapters

* Added basic anon metric service and config init

* Added fibonacci interval incrementer

* Added basic Client.Start func and integrated interval incrementer

* Added new processed field to app metrics table

* Added id column to app metrics table

* Added migration clean up

* Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests

There was a wierd bug where metrics in the db that did not explicitly insert a  value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows.

* Updated adaptors and db to handle proto_id

I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before.

* Moved incrementer into dedicated file

* Resolve incrementer test fail

* Finalised the main loop functionality

* Implemented delete loop framework

* Updated adaptors file name

* Added delete loop delay and quit, and tweak on RawMessage gen

* Completed delete loop logic

* Added DBLock to prevent deletion during mainLoop

* Added postgres DB connection, integrated into anonmetrics.Server

* Removed proto_id from SQL migration and model

* Integrated postgres with Server and updated adaptors

* Function name update

* Added sample config files for client and server

* Fixes and testing for low level e2e

* make generate

* Fix lint

* Fix for receiving an anonMetricBatch not in server mode

* Postgres test fixes

* Tidy up, make vendor and make generate

* delinting

* Fixing database tests

* Attempted fix of does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error on sql resource loas

* Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work

* Lint for the lint god

* Why doesn't the linter list all its problems at once?

* test tweaks

* Fix for wakuV2 change

* DB reset change

* Fix for postgres db migrations fails

* More robust implementation of postgres test setup and teardown

* Added block for anon metrics functionality

* Version Bump to 0.84.0

* Added test to check anon metrics broadcast is deactivated

* Protobufs and adapters

* Added basic anon metric service and config init

* Added new processed field to app metrics table

* Added id column to app metrics table

* Added migration clean up

* Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests

There was a wierd bug where metrics in the db that did not explicitly insert a  value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows.

* Updated adaptors and db to handle proto_id

I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before.

* Added postgres DB connection, integrated into anonmetrics.Server

* Removed proto_id from SQL migration and model

* Integrated postgres with Server and updated adaptors

* Added sample config files for client and server

* Fix lint

* Fix for receiving an anonMetricBatch not in server mode

* Postgres test fixes

* Tidy up, make vendor and make generate

* Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does:  cannot open `does' (No such file or directory)
not:   cannot open `not' (No such file or directory)
exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 13:02:18 +01:00
Roman Volosovskyi 8d7f26eb60
Register public and community chats for push notifications after creation 2021-09-01 12:30:42 +03:00
Roman Volosovskyi 0c0e02e93a
Return counter for messages with mention which are marked as seen 2021-08-31 11:49:40 +03:00
RichΛrd 842ba229df
feat: add function to obtain bloomfilter (#2334) 2021-08-26 16:25:43 -04:00
RichΛrd fe086b2fdd
fix: allow empty category id when sorting chats and fix error messages (#2301)
* fix: allow empty category id when sorting chats and fix error messages
* fix: unordered maps
2021-08-25 12:52:28 -04:00
andrey 20363e32ef fix activechats ordering 2021-08-25 15:10:26 +02:00
Andrea Maria Piana 83394e0ed1
Add chatID to removed messages 2021-08-25 12:21:40 +03:00
Brian Sztamfater 0e54d04e67
Delete activity center notifications for deleted messages (#2319) 2021-08-23 11:23:55 -03:00
Anthony Laibe dbd34ae7eb
feat: Re-enable unfurling for tenor (#2302) 2021-08-20 15:13:10 -04:00
andrey ab08042f21 preload chats 2021-08-20 15:29:09 +02:00
Roman Volosovskyi 45212b0823
[status-im/status-react#12450] Add push notification for deleted message 2021-08-20 11:26:46 +03:00
Andrea Maria Piana 482518d179 Fix last message deletion 2021-08-20 10:07:14 +02:00
saledjenic b8959e3f66
feature(@status-go/chat): implement search results for communities, channels (#2303)
AllMessagesFromChatsAndCommunitiesWhichMatchTerm method added which returns all messages which
match the search term, if they belong to either any chat from the chatIds array or any channel of
any community from communityIds array.

This api point is necessary for desktop issue 2934.

Fixes: #2934
2021-08-19 15:47:03 -04:00