Commit Graph

32 Commits

Author SHA1 Message Date
Iuri Matias eab9d68aff move types out of libstatus; remove libstatus types references 2021-06-17 11:11:36 -04:00
Iuri Matias daed733ebb remove libstatus accounts references 2021-06-17 11:11:36 -04:00
Richard Ramos 6b1cef9235 List custom networks and allow selecting them 2021-01-12 13:26:39 -05:00
Jonathan Rainville d01c9fef79 feat: add profile pic support 2020-12-17 16:44:25 -05:00
Richard Ramos aec77b65df feat: use fleets.json to set the node config 2020-11-05 10:52:56 -05:00
emizzle e58f5b03eb refactor: make event emitter threadsafe 2020-10-16 10:45:24 -04:00
emizzle 15a860b2bb feat: Enable switching to testnet
Allow switching to Ropsten by flipping a toggle switch in Profile > Advanced settings.

When switching networks, note that installed stickers will be uninstalled, and recent stickers will be removed. Sticker packs can be reinstalled after login. Purchased sticker packs will not need to be re-purchased, but will need to be re-installed.

Mailserver fleet information will **not** be updated. This can be controlled by a separate (undeveloped yet) setting.
2020-07-16 10:59:31 -04:00
Pascal Precht 75e3e10f58 feat(chat): open user profile from mentions
Closes #455
2020-07-08 13:12:31 -04:00
Richard Ramos e8858f25ba feat: Replace pubkeys by alias/ens in group system message 2020-06-25 10:33:43 -04:00
Iuri Matias 8915230cd8 clean up imports 2020-06-23 13:43:20 -04:00
emizzle 4ec593baed feat: Add logout functionality
Move the onboarding/login state machine to the top level in main.qml, so that logout events can trigger new states.

Add Loader to statemachine so that each component is lazy-loaded. Initial tests saved 50MB of memory on startup.

Currently, logging out, then logging back in to the same or different account results in a doubling-up of chats/messages/wallet accounts. These need to be reset, however I need help doing that and it would delayed and blown out this PR further. This reset has been done for Onboarding and Login, but needs to be done for chats, wallet, mailservers, etc.
2020-06-11 09:28:25 -04:00
emizzle ac37f0fdbb fix: small onboarding/login fixes and feats
- fix: Change displayed login key to whisper public key (starts with 0x04)
- fix: remove key displayed on login accounts as this value is not passed to use from status-go's openAccounts
- feat: add selected account view when entering password for login and generating an account (same UI as importing a key)
2020-06-03 08:36:37 -04:00
emizzle 691717990d feat: Add import account functionality
Allow user to import an existing mnemonic.

TODO: add mnemonic validation with the `validateMnemonic` status-go function.
2020-06-02 17:09:38 -04:00
Iuri Matias 73069255cd move 'models' to status lib for clarity 2020-06-01 12:40:16 -04:00
emizzle 0f59529c57 feat: add login functionality
Add login functionality. If node accounts exist in status-go (keystores in ./data dir), then show the Login screen. Otherwise, show the Onboarding screen (generate keys screen).

Update nim-stew to latest version.

Change references to Address to the common type Account to prevent repeating of types.

Distinguish between unknown and unhandled signals.

Pass signals through to subscribers regardless if the signal type is known (in case the SignalSubscriber handles it with string comparison or other).

Update serialization as much as possible

Latest nim-stew updates allow type inheritance during de/serialization
2020-05-28 07:51:04 -04:00
Jonathan Rainville 594b3974c9 move addPeer to the setupAccount function 2020-05-25 18:28:29 -04:00
emizzle e1d1880aca fix: change onboarding account to whisper key
Previously, the displayed key for generated accounts was displaying the public key of the account, and not the whisper account. This has been fixed.

Futher work has gone in to strongly-typing a lot of the responses from status-go and removed a lot of the manual string parsing.

Simplified types and type-conversions by using the `nim-serialization` library.
2020-05-25 11:31:18 -04:00
Iuri Matias e6199fede6 Add node model; simplify more; simplify callRPC
Add node model; simplify more; simplify callRPC

refactor wallet to use asset model

move some of wallet logic away from the controller

move ChatMessage to model

move chatItem model

organize models folder

simplify chat message and chat item

rename messageList to message_list

simply addresses in the controller

rename mailservers list

refactor how profile is set

refactor/simplify profile view

refactor/simplify adding mailservers

rename wallet view

simplify wallet assets

rename nodeView to view

extract channel list view

extract channel list view

refactor channel list / chats view

move signals out of app folder

simplify callRPC

add raw rpc method and make node section use it

add node model

move accounts model inside onboard controller (for now)

make events usage consistent among models and controllers; separate model events from app events
2020-05-25 09:44:33 -04:00
emizzle a1109ca52b feat: Pass login account data in account event
The "accountsReady" event now passes the account information for the account that was logged in, which helps pass the correct account info to Profile and is available for other modules that may need it.

This will become particularly useful once the login functionality is implemented.
2020-05-22 16:11:12 -04:00
Iuri Matias c1f6a0d06d address code review 2020-05-21 19:33:14 -04:00
Iuri Matias 27c1b4b9b0 remove random account from status model 2020-05-21 19:33:14 -04:00
Iuri Matias bab04fac6f refactor account setup 2020-05-21 19:33:14 -04:00
Iuri Matias de5428cc0a simplify method 2020-05-21 19:33:14 -04:00
Iuri Matias e65449b8de refactor/extract getAccountData method 2020-05-21 19:33:14 -04:00
Iuri Matias b50d9f71f3 refactor/extract accountsSettings method 2020-05-21 19:33:14 -04:00
Iuri Matias a69609a254 use default node config 2020-05-21 19:33:14 -04:00
Iuri Matias a5f5f6f016 use constant for default networks 2020-05-21 19:33:14 -04:00
Iuri Matias 61b5d6e311 refactor/extract generateMultiAccounts method 2020-05-21 19:33:14 -04:00
Iuri Matias 6c03369ca2 refactor/extract saveAccountAndLogin method 2020-05-21 19:33:14 -04:00
Iuri Matias 8b5ec19fec remove old test.nim; move relevant methods to accounts 2020-05-21 19:33:14 -04:00
Iuri Matias 48b600f3fd move init node to status_accounts 2020-05-21 19:33:14 -04:00
emizzle dafd11fbc0 feat: onboarding generate new account
Generates 5 random accounts with identicons, allows user to enter password, then stores the account and logs in to the statusgo node.

Add EventEmitter that notifies nim_status_client.nim once node has started and is logged in (likely needs some refactoring to include the eventemitter in the base controller class).

Add QML StateMachine for the onboarding view.

Add nimcrytpo, uuids, eventemitter, isaac dependencies via submodules.

Add button to Intro view to randomly gen account.
2020-05-21 19:33:14 -04:00