Commit Graph

20 Commits

Author SHA1 Message Date
Andrea Maria Piana 532664ab84
Adds topic negotiation and partitioned topic
All the code has been implemented in statusgo: status-im/status-go#1466

Basically all the whisper filter management is done at that level.

Technical description
On startup we load all chats and send a list of them to status go:
For a public chat: {:chatId "status"}, we create a single filter, based on the name of the chat.

For each contact added by us, each user in a group chat and each one to one chat open, we send:
{:chatId "0x", :oneToOne true}. This will create a chats, to listen to their contact code.

Any previously negotiated topic is also returned.

Once loaded, we create our filters, and upsert the mailserver topics, both of which are solely based on the filters loaded.
In order to remove a chat, we delete/stopwatching first the the filter in status-react and then ask status-go to remove the filter. For a public chat we always remove, for a one-to-one we remove only if the user is not in our contacts, or in a group chat or we have a chat open. Negotiated topics are never removed, as otherwise the other user won't be able to contact us anymore.

On stopping whisper we don't have to ask status-go to remove filters as they are removed automatically.

Some more logic can be pushed in status-go, but that will be in subsequent PRs.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-06-24 13:54:43 +02:00
Volodymyr Kozieiev 32f7f91e32
Mobile UI on desktop can be enabled in .env file
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-05-03 18:11:09 +03:00
Pedro Pombeiro 2ac5ee019e
Migrate Desktop build environment to leverage Nix
- Add Conan to default.nix
- Integrate Qt5 Nix package (with forked repo for new QtWebView module)
- Fix rpaths in macOS and Linux
- Add Nix expressions to install nsis, appimagekit and linuxdeployqt
2019-03-21 13:56:58 +01:00
yenda 496f3f1cc7
[design] use Inter font on Android
- implement typography component
- replace InterUI font by Inter font (renaming)

Signed-off-by: yenda <eric@status.im>
2019-03-20 18:42:31 +01:00
Igor Mandrigin cbb0221e7f
remove (unused) react-native-level-fs
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-27 17:32:34 +01:00
Igor Mandrigin 6e7cd3794e
Enable mailserver confirmations on all builds (except release).
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-02-22 16:59:24 +01:00
kn 6988950ea8
[#6973] Replace react-native-i18n with react-native-languages 2019-02-09 23:27:46 -08:00
Andrey Shovkoplyas 0ec88fdba8
fixed desktop build and tests
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-02-06 09:46:50 +01:00
Volodymyr Kozieiev 211a531f44
Switch to fixed version of react-native-keychain
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-02-05 17:16:52 +02:00
Volodymyr Kozieiev e878af8458
Fixed keychain package tag
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-18 23:39:42 +01:00
Pedro Pombeiro 03c4287e73
Fix dependencies reported by package-checker bot 2019-01-18 12:13:08 +01:00
Pedro Pombeiro f07057daec
Create releases for all forked repos
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-01-17 23:17:29 +01:00
Pedro Pombeiro a12653d420
Standardize on `git+https` URL style, since `github:status-im/*` style URLs seem to break Android builds 2019-01-17 23:16:41 +01:00
Pedro Pombeiro c9c39828fc
Fix bignumber.js dependency clash
```
warning Pattern ["bignumber.js@github:status-im/bignumber.js#master"] is trying to unpack in the same destination "/home/pedro/.cache/yarn/v4/npm-bignumber-js-4.0.2-cc066a0a3d6bfe0c436c9957f4ea8344bf963c89/node_modules/bignumber.js" as pattern ["bignumber.js@https://github.com/status-im/bignumber.js.git"]. This could result in non-deterministic behavior, skipping.
```
2019-01-17 23:16:36 +01:00
Volodymyr Kozieiev 75af3883b8
Switch desktop app to react-native-desktop 0.57.8 (#7264) 2019-01-17 12:10:40 +02:00
Vitaliy Vlasov c8e5fd6a9c
Add desktop keyboard shortcuts
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-01-04 00:30:19 +02:00
Vitaliy Vlasov 9bc98405a0
Add react-native-desktop-config
Add section separator for logging-display

Refactor user-login-callback

Add comment to AppConfig class definition

Fix mobile compilation error

Use reference in AppConfig singleton; remove obsolete CMake directives

Styling changes

Disable status-go logs by default on desktop

Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-18 14:31:40 +02:00
Vitaliy Vlasov dc4841f041
Add react-native-desktop-menu native module
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2018-12-01 02:03:06 +02:00
yenda 891447b8b3
update realm to 2.20.1 and node to 10.14.0
- add node version 10.14.1 via nvm wrapper for CI

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2018-11-30 15:46:58 +01:00
Igor Mandrigin 37ef82b04d
Use `yarn` instead of `npm` for package management. Lock dependencies.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2018-11-29 16:29:57 +01:00