This PR is part of network incentivisation. It adds a way for a client
to pull nodes from a contract.
This is done by selecting the `eth.contract` fleet. If that is selected
on login it will fetch nodes from a contract and pass them to status-go.
If these can't be fetched, it will default to `eth.beta`.
Currently contract information are hard-coded, but eventually the user
will be able to add their own (probably).
Toggled off in release.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
- screens definition is separated from configuration
(deduplicates screens which are used among several stacks)
- all four stacks moved to separate namespaces
- configuration is just a data
This commits allow users to toggle pfs in dev-mode (it is already used
for pairing and group chats).
Once enabled direct and public messages sent will only be received by
users running >= 0.9.32.
Also this does not guarantee PFS (both devices need to have it enabled
it), and there still some UX work to do to ensure that, but it is useful
for testing.
A warning is displayed explaining the limitations when enabling.
We now check that we are only connected to some `peers` instead of using `NetInfo` from `react-native`.
This is because it has been reported to be quite flaky at times, not reporting online status after sleeping, and for privacy concerns (on ios it pings `apple.com`, on desktop `google.com`).
Adds a new banner `Wallet Offline` and change `Connecting to peers` to `Chat offline`.
A message will be marked as `Sent` only if it made it to the mailserver you are connected to, which will increase the guarantees that we can make about a message (if you see it as sent, it has reached at least a mailserver), this has the consequence that:
- If you are not connected to any mailserver or the mailserver is non responsive/down, and you send a message, it will be marked as `Not sent`, although it might have been actually made it in the network.
Probably this is something that we would like to communicate to the user through UX (i.e. tick if made it to at least a peer, double tick if it made to a mailserver )
Currently I have only enabled this feature in nightlies & devs, I would give it a run and see how we feel about it.
Adds a `chat-id` field in `content` map.
The reason it has been added to the map instead of augmenting transit is
that it would simplify the calculation of `message-id`, which in this
case is consistent for both old & new clients.
`chat-id` also represents the `chat-id` with respect of the sender, as
in 1-to-1 chats that is asymmetric.
Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
reorganize config flags
remove offline-inbox-enabled? flag
remove universal-links-enabled flag
remove add-custom-mailservers-enabled? flag
remove spam-button-detection-enabled? flag
remove flags from config files
Signed-off-by: Eric Dvorsak <eric@dvorsak.fr>
Since offline inboxing and desktop were introduced, we went from testing with
~10 messages to ~1000 messages. This surfaced inefficiencies such as this issue.
It also means someone who joins a public channel such as #status will experience
significant lag when signing in. To remedy this, we put offline inboxing for
public/group chats under a flag until the underlying perf issue has been
resolved.
- Exposes behavior under QUEUE_MESSAGE_ENABLED flag that is turned off in
production.
- Delays messages to allow for reordering of latecoming messages up to 500ms
- Add `LOG_LEVEL_STATUS_GO` feature flag for a differentiated log level in status-go.
- Remove superfluous `DEBUG_LOGS_ENABLED` feature flag.
- Enable info-level logging for Jenkins and dev builds.
Signed-off-by: andytudhope <tuddy0525@gmail.com>
- Turns on flag for dev and Jenkins
- Change enode to peer in requestMessages arg
- Upgrades status-go to get ssh_requestMessages
- Use status-cluster enode
- Fix Android AddPeer binding bug
- Send notification when sending message in 1on1 chat
- Add notify FFI with binds for ObjC and Java
- Add fcm-token to contacts in spec and realm
- Add notifications to db
- Include fcm-token in contact request
- Update fcm-token when it arrives and put it in DB
- Disable copy-paste hijacking and popup
- Turn on notifications flag in Jenkins build
- DEBUG_LOGS_ENABLED flag enabled everywhere but production
- Adjust log level to conditionally show debug and RN logs
- PrefixHeader for sending app logs to Testfairy
- After testing we don't need to expose this WIP with popups etc
- get-fcm-token event was accidentally included twice during rebase leading to warnings
- Asks for permissions on iOS at startup
- Introduce NOTIFICATIONS_WIP_ENABLED flag
- Surface FCM Token and put it in clipboard for QA manual end to end testing
- Listen for FCM RefreshToken event at root
Initial utility for live data binding in the new wallet.
- Add prices namespace to get fiat prices from Cryptocompare
- Events to init wallet balance and load prices
- Listen to these events in wallet main view
- Show accurate ETH balance, USD value and %change from yesterday
- Enable wallet tab in Jenkins