Commit Graph

460 Commits

Author SHA1 Message Date
Pascal Precht c855272340 feat: add garbage collection for soft deleted bookmarks
This introduces a simple garbage collection which checks for all soft
deleted bookmarks (`removed = 1`) which have been marked for garbage
collection more than 30 days ago from the time of bootstapping the
messenger.

Closes #2705
2022-06-17 14:21:21 +02:00
Pascal Precht f3af6aa4dc feat: introduce `AddBookmark` and `RemoveBookmark` APIs to messenger
These APIs are being introduced to address #2706 and #2704, provided
that clients will move to using these APIs instead of the currently
provided equivalent APIs in the browser service.

The `bookmarks` table is being extended with a `deleted_at` field which
can later be used for garbage collection, as "removing" a bookmark is
merely soft deletion and doesn't actually remove the data from the
database.

In addition to those APIs adding and soft deleting bookmark entries,
they also automatically perform a sync operation to ensure that
bookmarks are synced in real-time (#2704).

Closes #2706, #2704
2022-06-17 12:29:03 +02:00
Samuel Hawksby-Robinson 7f149f93c1
Get preferred network IP and refactor server package to increase reusability (#2626)
* Added function to get preffered network IP

Also done some refactor work oon server package to make a lot more reusable

* Added server.Option and simplified handler funcs

* Added serial number deterministically generated from pk

* Debugging TLS server connection

* Implemented configurable server ip

When accessing over the network the server needs to listen on the network port and not localhost or 127.0.0.1 . Also the cert can now have a dedicated IP

* Refactor of URL funcs to use the url package

* Removed redundant Options pattern in favour of config param

* Added full server test using GetOutboundIP

* Remove references and usage of Server.port

The application does not need to set the port, we rely on the net.Listener to pick a port.

* Version bump

* Added ToECDSA func and improved cert testing

* Added error check in test

* Split Server types, embedding raw Server funcs into specialised server types

* localhost

* Implemented DNS and IP based cert gen

ios doesn't allow for restricted ip addresses to be used in a valid tls cert

* Replace listener handling with original port store

Also added handlers as a parameter of the Server
2022-06-15 15:49:31 +01:00
Anthony Laibe 8c0f230644
feat: Simple transaction router (#2686) 2022-06-09 15:09:56 +02:00
Richard Ramos 9430f494be
fix: handle nil descriptions in communities for chat_getChats (#2694) 2022-06-08 08:46:52 -04:00
Richard Ramos 30f8bd6dfb
feat: add service for checking if there are new versions available (#2552) 2022-06-08 08:38:26 -04:00
Patryk Osmaczko 5df5d6b519 feat: remove explicit group chat join
relates: #status-im/status-desktop/5717
2022-06-08 11:48:45 +01:00
Richard Ramos c3b0582cc9
feat: fetch curated communities from smart contract on optimism (#2685) 2022-06-02 08:17:52 -04:00
Patryk Osmaczko ee7025a573 feat: add intro/outro message to communities 2022-05-31 11:41:26 +02:00
Andrea Maria Piana 1bfde4c4cc Initial support for mutual contact requests 2022-05-31 09:12:36 +01:00
Anthony Laibe 97a99d6254
fix: get balance with multiple chain (#2689) 2022-05-26 06:44:29 -04:00
Sale Djenic 78cba969cc notifications settings end points added and `notification_settings` table 2022-05-26 11:49:08 +02:00
Richard Ramos 3e2ce20f0e
fix: ping dns4 multiaddresses (#2678) 2022-05-19 10:23:25 -04:00
Vitaliy Vlasov 011238b1d1 Wallet sync 2022-05-18 15:25:20 +03:00
Khushboo-dev-cpp 15e5584ed2
feat: Add hasActivity param to derived addresses (#2663)
Added functionality to find target address when 6th param in path is added
for ex: "m'/44'/60'/0'/0/500" reperents the Address at the 500th index

Added a api to get the Address derived from a private key
2022-05-18 13:31:45 +02:00
Anthony Laibe cf8941c1d8
fix: delete account sync keystore (#2652) 2022-05-12 13:06:58 +02:00
Anthony Laibe e199ddbe9d
feat: get wallet api (#2619) 2022-05-10 09:48:05 +02:00
Richard Ramos 0048aaebcc
feat: add IPFS rate limiter for downloading stickers and use http server for retrieving stickers (#2611) 2022-05-09 09:07:57 -04:00
Anthony Laibe 2485e84bf5
fix: default derived from for status account (#2651) 2022-05-09 10:00:48 +02:00
Khushboo-dev-cpp 5f92e84c19
feat: Add "alreadyCreated" field for a derived address to state if that wallet address is already used (#2644) 2022-05-03 10:14:49 +02:00
Richard Ramos fe50f12ac9 fix: pubkey marshalling 2022-04-25 17:50:35 +04:00
Richard Ramos b537ff9f02 refactor: reuse nodeconfig instead of loading it from DB 2022-04-22 11:25:33 +04:00
Vitaliy Vlasov 16197dc807 Sync profile picture 2022-04-21 19:50:31 +03:00
Khushboo-dev-cpp b83f4a6c83
fix: Add derivation path to wallet account generation (#2618) 2022-04-13 11:15:26 +02:00
Anthony Laibe 907ba8ee5c
feat: visible token api (#2624) 2022-04-13 09:55:38 +02:00
Sale Djenic 10d0133974 fix: set only blocked flag to blocked contact for desktop app 2022-04-12 09:42:43 +02:00
Anthony Laibe 9fef24917a
fix: generation path (#2637) 2022-04-11 12:35:18 -04:00
Anthony Laibe f1cd9120c9
fix: prevent to import same account twice (#2633) 2022-04-11 11:18:28 -04:00
Anthony Laibe dd86a82a0f
fix: Align generated account and key store (#2628) 2022-04-08 09:56:38 -04:00
Pascal Precht 7032fc9dcc Introduce community history archive routine
This introduces logic needed to:

- Create WakuMessageArchives and and indices from store waku messages
- History archive torrent data to disk and create .torrent file from
  that
- Seed and unseed history archive torrents as necessary
- Starting/stopping the torrent client
- Enabling/disabling community history support for individual components
  and starting/stopping the routine intervals accordingly

This does not yet handle magnet links (#2568)

Closes #2567
2022-04-06 13:00:33 +02:00
Jonathan Rainville 6691516903
fix(getChats-api): add members to ChannelGroup object instantiation (#2625) 2022-04-04 15:59:46 -04:00
Anthony Laibe 4d39547b81
Feat/expose registrar address (#2600)
* feat: expose registrar address

* fix code gen
2022-04-04 12:54:44 -04:00
Jonathan Rainville 391ef8a65e
fix(chat-api): fix getChats functions (#2610) 2022-04-01 18:39:25 -04:00
Anthony Laibe 16311512cb
feat: add suggested fees api (#2604) 2022-03-29 17:12:05 -04:00
Andrea Maria Piana 8a5f77dc37 Address linter issues 2022-03-28 13:14:12 +01:00
Samuel Hawksby-Robinson e67592d556
Sync Settings (#2478)
* Sync Settings

* Added valueHandlers and Database singleton

Some issues remain, need a way to comparing incoming sql.DB to check if the connection is to a different file or not. Maybe make singleton instance per filename

* Added functionality to check the sqlite filename

* Refactor of Database.SaveSyncSettings to be used as a handler

* Implemented inteface for setting sync protobuf factories

* Refactored and completed adhoc send setting sync

* Tidying up

* Immutability refactor

* Refactor settings into dedicated package

* Breakout structs

* Tidy up

* Refactor of bulk settings sync

* Bug fixes

* Addressing feedback

* Fix code dropped during rebase

* Fix for db closed

* Fix for node config related crashes

* Provisional fix for type assertion - issue 2

* Adding robust type assertion checks

* Partial fix for null literal db storage and json encoding

* Fix for passively handling nil sql.DB, and checking if elem has len and if len is 0

* Added test for preferred name behaviour

* Adding saved sync settings to MessengerResponse

* Completed granular initial sync and clock from network on save

* add Settings to isEmpty

* Refactor of protobufs, partially done

* Added syncSetting receiver handling, some bug fixes

* Fix for sticker packs

* Implement inactive flag on sync protobuf factory

* Refactor of types and structs

* Added SettingField.CanSync functionality

* Addressing rebase artifact

* Refactor of Setting SELECT queries

* Refactor of string return queries

* VERSION bump and migration index bump

* Deactiveate Sync Settings

* Deactiveated preferred_name and send_status_updates

Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2022-03-23 18:47:00 +00:00
andrey 3f9d689f90 [#13197] Update moonpay onramp URL 2022-03-23 10:29:49 +01:00
Anthony Laibe b629d6fa74
feat: move fetch prices to status-go (#2595) 2022-03-23 09:35:58 +01:00
Pascal Precht bf8e71cfa9 Introduce `CommunitySettings` to store community related settings
These are used to store settings for individual communities a
user is part of, either as member or as owner.
This included whether or not the community history archive protocol
is enabled.

This adds a new `CommunitySettings` type and adds
a migration script that introduces a new `communities_settings`
table.

It also extends the `MessengerResponse` type to include
`CommunitySettings` which are honored when communities are being
added, edited, joined or left.

Lastly, this adds a new RPC API to retreive the settings.

Closes #2564
2022-03-22 12:33:40 +01:00
Pascal Precht 86926258ee Intrododuce `NodeConfig.TorrentConfig` and CLI flags
This commit introduces a new `TorrentConfig` as per #2563 with dedicated
default values and new options/flags for the status-go CLI.

Since it's part of `NodeConfig`, which is stored per user in the
database, this commit also adds a migration script that adds a new
`torrent_config` table and database APIs to insert and retreive the
torrent config.

Closes #2563
2022-03-21 12:59:09 +01:00
Andrea Maria Piana d60a6713fe Enable mailserver cycle by default
This commit enables mailserver cycle logic by default and make a few
changes:

1) Nodes are graylisted instead of being blacklisted for a set amount of
   time. The reason is that if we blacklist, any cut in connectivity
   might result in long delays before reconnecting, especially on spotty
   connections.

2) Fixes an issue on the devp2p server, whereby the node would not
   connect to one of the static nodes since all the connection slots
   where filled. The fix is a bit inelegant, it always connects to
   static nodes, ignoring maxpeers, but it's tricky to get it to work
   since the code is clearly not written to select a specific node.

3) Adds support to pinned mailservers

4) Add retries to mailservers requests. It uses a closure for now, I
   think we should eventually have a channel etc, but I'd leave that for
   later.
2022-03-19 08:56:22 +00:00
Patryk Osmaczko d0f4a94f75 fix: move visual-identity service to protocol/identity
It is required to be called before RPC server is running on client side
2022-03-18 13:38:53 +01:00
Richard Ramos 50ec6f97e0 feat: display name 2022-03-14 13:48:34 -04:00
Anthony Laibe 9c16cedb1e
feat: add address to permission (#2571) 2022-03-14 13:38:12 +01:00
osmaczko 9930dbe456
feat: add visual identity service (#2550) 2022-03-11 16:17:48 -05:00
Khushboo-dev-cpp 5f81b3acf9
feat: Added emoji params for a wallet account (#2582) 2022-03-11 11:59:15 +01:00
Richard Ramos a15c27c588 feat: unified chat API pt. 3 (#2535) 2022-03-03 15:37:07 -04:00
Richard Ramos f9b87c4ae1 fix: add missing information 2022-03-03 15:37:07 -04:00
Richard Ramos 0f423e262d fix: code review 2022-03-03 15:37:07 -04:00
Richard Ramos df9c9977a5 feat: unified chat API pt. 2 2022-03-03 15:37:07 -04:00