Commit Graph

464 Commits

Author SHA1 Message Date
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
Jakub Sokołowski b22a261bc2 using zap.NewNop() ignores configured log level
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-08-19 11:35:40 +02:00
Ismael 1efe023dd7 Add unfurling for Twitter links
Fix lint issues

Wrap json.Unmarshall() errors in urls.go

Bump version 0.83.9 -> 0.83.10
2021-08-16 20:03:10 +02:00
RichΛrd dae447466f
fix: delete messages when the signal arrives before the OG msg (#2310)
* fix: delete messages when the signal arrives before the OG msg
* fix: code review
2021-08-13 13:10:32 -04:00
RichΛrd 8a7fd22ceb
add index on user_messages to speed-up marking all messages as read (#2304) 2021-08-11 08:26:15 -04:00
Samuel Hawksby-Robinson 89251e8416
Sync Communities (#2253)
* Added community sync protobuf

* Updated community sync send logic

* Integrated syncCommunity handling

* Added synced_at field and tidied up some other logic

* persistence testing

* Added testing and join functionality

* Fixed issue with empty scan params

* Finshed persistence tests for new db funcs

* Midway debug of description not persisting after sync

* Resolved final issues and tidied up

* Polish

* delint

* Fix error not handled on SetPrivateKey

* fix infinite loop, again

* Added muted option and test fix

* Added Muted to syncing functions, not just in persistence

* Fix bug introduced with Muted property

* Added a couple of notes for future devs

* Added most of the sync RequestToJoin functionality

Tests need to be completed and tests are giving some errors

* Finished tests for getJoinedAndPending

* Added note

* Resolving lint

* Fix of protobuf gen bug

* Fixes to community sync tests

* Fixes to test

* Continued fix of e2e

* Final fix to e2e testing

* Updated migration position

* resolve missing import

* Apparently the linter spellchecks

* Fix bug from  #2276 merge

* Bug fix for leaving quirkiness

* Addressed superfluous MessengerResponse field

* Addressed feedback

* VERSION bump
2021-08-06 16:40:23 +01:00
saledjenic c4a71f813a
feature(@status-go/chat): implement search on sqlcipher (status-go side) (#2282)
* feature(@status-go/chat): implement search on sqlcipher (status-go side)

Searching messages by some term for a specific channel is added on the side of status-go.

Fixes: #2912

* Linting

Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2021-08-04 15:31:44 -04:00
RichΛrd facad9f07e
feat: upload/download rate for waku v1 messages (#2286)
* feat: upload/download rate for waku v1 messages

* reorganize code

* fix failing test
2021-08-03 15:27:15 -04:00
Andrea Maria Piana c35ceff06e Set timeout on mailserver requests 2021-08-03 11:16:37 +02:00
Jonathan Rainville 151edb3607
feat: add api to delete a community channel (#2266) 2021-07-30 13:05:44 -04:00
Michele Balistreri e4038df1ed
make group chat active and join if we requested invitation (#2285) 2021-07-27 15:43:46 +03:00
Jonathan Rainville cdc7c55030
Delete messages (#2279)
* feat: add api and handling to delete messages

* fix(delete): add whitelist to message types that can be deleted
2021-07-26 17:06:32 -04:00
RichΛrd 026fcb09a4
feat: user status (#2276)
* feat: user status

* fix: sql filename and null pointer exceptions

* fix: lint

* refactor: remove StatusUpdate from database.go

* fix: adding missing status updates persistence methods

* fix: code review

* Update version and bindata, and lint

* fix: failing test

* fix: code review

* fix update statement
2021-07-22 13:41:49 -04:00
RichΛrd bfdc000bbc
go-waku: RequestAllHistoricMessages (#2258)
* feat: update wakuv2 store

* check online using waku version for now

* fix peerId and from/to multiplier

* fix: lint

* fix: handle waku2 cursors

* fix: code review

* fix: code review 2

* update go-waku version

* update vendor folder
2021-07-21 15:02:50 -04:00
Andrea Maria Piana f31dc5df92 Use marshal binary 2021-07-20 10:57:38 +02:00
Andrea Maria Piana d84da4f515 Fix some tests and restore private/public RPC client 2021-07-20 10:57:38 +02:00