Commit Graph

68 Commits

Author SHA1 Message Date
Richard Ramos 0971b5928d feat: Support ENS usernames in messages 2020-06-17 13:09:31 -04:00
Iuri Matias 116b04a9ef fix installationId usage; disable in-app logout for now
fix installationId usage; disable in-app logout for now

fix
2020-06-17 12:26:41 -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
Ștefan Talpalaru 4fe6d9b767 build system refactoring
- unify the "build-..." targets
- enable a debug build by default, to simplify development
- bump vendor/DOtherSide
- avoid DOtherSide checks for docs/tests-specific tools like Doxygen
- switch to an in-place build for DOtherSide
- silence the DOtherSide build when V=0, make it more verbose with V=1
- don't delete checked out submodules in the "clean" target
- update build instructions in the README
- centralise Nim compiler options in a top-level "config.nims" (except
  `-d:debug` which needs to be on the command line)
2020-06-08 13:07:25 -04:00
Iuri Matias 1a160cf664 Revert "build system refactoring"
This reverts commit 2449a12fb7.
2020-06-04 17:22:39 -04:00
Ștefan Talpalaru 2449a12fb7 build system refactoring
- unify the "build-..." targets
- enable a debug build by default, to simplify development
- bump vendor/DOtherSide
- avoid DOtherSide checks for docs/tests-specific tools like Doxygen
- switch to an in-place build for DOtherSide
- silence the DOtherSide build when V=0, make it more verbose with V=1
- don't delete checked out submodules in the "clean" target
- update build instructions in the README
- centralise Nim compiler options in a top-level "config.nims" (except
  `-d:debug` which needs to be on the command line)
2020-06-04 14:16:14 -05: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
Jonathan Rainville cc85a42b5c feat: show accounts in wallet and put assetList in Account 2020-06-02 16:41:08 -04:00
Richard Ramos 886f58491d Handling peer summary changes (required for mailservers) 2020-06-02 16:19:44 -04:00
Iuri Matias 2bc165bbc2 move 'models' to status lib for clarity
move 'models' to status lib for clarity

move chat model

update login controller

update wallet controller

update onboarding and profile

update
2020-06-01 13:53:42 -04:00
Iuri Matias 73069255cd move 'models' to status lib for clarity 2020-06-01 12:40:16 -04:00
Richard Ramos 8d2b955bcd load chats on login 2020-05-28 17:36:22 -04:00
emizzle a2e255e72c feat: Add generate account button to login screen 2020-05-28 07:51:04 -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
Iuri Matias f4439fcb6f default views for when there is no chat opened + chat links
default views for when there is no chat opened + chat links

add channel component

update other layouts

fix problem with alias

add test channels

fix merge conflict
2020-05-26 17:07:24 -04:00
Richard Ramos 20766d2dae Add whisper.added.filter signal handler 2020-05-25 15:54:01 -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
Iuri Matias 6e14749904 simplify controllers and views, make everything more consistent
simplify controllers and views, make everything more consistent

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

address code reviews
2020-05-25 09:22:11 -04:00
Richard Ramos 2eee8c7a2d feat: show last message and unread message count 2020-05-22 19:18:05 -04:00
Jonathan Rainville e371d2fe4b chore: fix a couple of warnings 2020-05-22 17:09:40 -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
Richard Ramos ec46dd13f1 refactor: join public chats 2020-05-21 19:43:02 -04:00
Iuri Matias 50fc70adfb address code review 2020-05-21 19:33:14 -04:00
Iuri Matias 13bfc56337 cleanup 2020-05-21 19:33:14 -04:00
Iuri Matias 4c9a370fc3 pass generated account to profile 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 d434af40e1 move generate addresses action to qml state machine enter state event 2020-05-21 19:33:14 -04:00
Iuri Matias 15b32ddd5a remove lib file 2020-05-21 19:33:14 -04:00
Iuri Matias ce236fbc82 cleanup 2020-05-21 19:33:14 -04:00
Iuri Matias 7cd9ceac28 refactor: move onboarding logic out of the view 2020-05-21 19:33:14 -04:00
Iuri Matias 2cf1541115 move storeAccount logic out of the view 2020-05-21 19:33:14 -04:00
Iuri Matias 6ef7c9008e add controller for onboarding 2020-05-21 19:33:14 -04:00
Iuri Matias 40fcc1538a move onboarding to onboarding module 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
Iuri Matias 0a2c8bc86c fix rebase conflict 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
Richard Ramos 1a92cda0d9 feat: add nim-chronicles 2020-05-21 15:16:24 -04:00
Iuri Matias 51ced8bc2d display users identicon in the profile instead of an hardcoded one 2020-05-19 22:04:03 -04:00
Iuri Matias 24bb268934 add profile module; display username from one of the accounts instead of hardcoded one 2020-05-19 22:04:03 -04:00
Iuri Matias 6a4c50fe9c subscribe node module to notifications 2020-05-19 17:00:29 -04:00
Richard Ramos 87e31105e3 Code cleanup 2020-05-19 06:30:30 -04:00
Richard Ramos 110bd25c06 Register signals for chat messages 2020-05-18 16:41:16 -04:00
Zahary Karadjov 390322dc6a Clarify the required use of globals 2020-05-18 16:25:57 -04:00
Richard Ramos beb5f1520f feat: signal handling 2020-05-18 11:42:50 -04:00
Richard Ramos a80a6c623b fix: signal handler integration with status-go 2020-05-18 11:42:50 -04:00
Iuri Matias 0b278a9208 move app specific folders into the app folder 2020-05-15 18:43:32 -04:00
Iuri Matias f6528ee476 rename assetsView to walletView 2020-05-15 18:43:32 -04:00
Iuri Matias bc6d1f1623 move views & logic into their respective folders; add initial tab for node management 2020-05-15 18:43:32 -04:00
Iuri Matias c38d7e2af6 restruicture wallet module 2020-05-15 18:03:55 -04:00