Commit Graph

865 Commits

Author SHA1 Message Date
emizzle ac7deb3af0 feat: Un/install free sticker packs in sticker market
Sticker pack details retreived from contract:
 - pack data decoded from contract response
 - data contains contentHash which, once decoded, contains an IPFS identifier
 - futher pack data in EDN format is downloaded from IPFS
 - the EDN info is decoded in to a StickerPack

List of available packs from contract are obtained separately from list of installed contracts (stored as a setting in Status-go).

Sticker market contains dynamic list of sticker packs. The sticker button shown for each pack has all states defined (in the design) for all UI states (ie bought, free, installed, pending, etc)

Add modal popup showing sticker pack details and list of stickers to be un/installed. Contains a "larger" version of the sticker pack button with many differnt UI states defined.

Uninstallation of a sticker pack removes those sticker pack's stickers from the recent sticker list and persists the list

Simplify the view model by including stickers, instead of setting an "activeStickerPackId" property. This allowed for display of sticker pack stickers to be displayed in the modal popup separately from the sticker packs shown in the market.
2020-07-15 15:53:48 -04:00
Iuri Matias c3e632253a add leading zeros to display correct balance 2020-07-14 17:04:18 -04:00
Iuri Matias 7d7bac5fb6 add notifications support
first attempt

attempt 2

working notifications

add notification sound

cleanup

remove unneeded imports

remove unneded imports
2020-07-14 14:23:40 -04:00
Richard Ramos 19f358ef9c fix: md format 2020-07-14 13:30:40 -04:00
Richard Ramos ceb5873272 show date headers, and fix sending replies only when they are enabled 2020-07-14 13:10:14 -04:00
decanus 10918acb5c adds ens in header 2020-07-14 16:04:57 +02:00
Richard Ramos a342192f43 fix: code review 2020-07-10 20:09:15 -04:00
Richard Ramos 649023bacf feat: support message replies 2020-07-10 20:09:15 -04:00
Michael Bradley, Jr b22b500d4f refactor: store data folder in OS appropriate location
If the environment variable `NIM_STATUS_CLIENT_DEV` is not empty then the
`./data` dir is created/used relative to the current working directory, as was
always the case prior to the changes introduced in this commit.

`NIM_STATUS_CLIENT_DEV` is set to `t` when doing `make run`. To get the
production behavior in development do:

```
$ NIM_STATUS_CLIENT_DEV="" make run
```
or on Windows in a Bash shell:
```
$ NIM_STATUS_CLIENT_DEV="" mingw32-make run
```

Closes #391
2020-07-10 16:15:37 -04:00
Jonathan Rainville 25ac69b37c fix: fix message width by using the plainText 2020-07-10 15:54:48 -04:00
Jonathan Rainville 29b2bbf13e fix: show a channel by default if there is at least one 2020-07-10 15:39:56 -04:00
Jonathan Rainville 3d19e9ed74 feat: add profile popup for the empty chat view 2020-07-10 15:39:56 -04:00
decanus 2221f1c8e3 fiox 2020-07-09 18:22:00 +02:00
decanus d45e78b3e0 fixed 2020-07-09 18:22:00 +02:00
Richard Ramos 7b82f52fac fix: show replies and do not trigger an activeChannelChanged event on init 2020-07-09 12:01:32 -04:00
Pascal Precht 17db2f4056 feat(chat): show "@" when logged in user has been mentioned in channel
Closes #516
2020-07-09 11:12:26 -04:00
Richard Ramos abb9a25f53 fix: display mentions in channel list 2020-07-09 10:42:32 -04:00
Richard Ramos c404b239df fix: handle failure when no mailservers are available 2020-07-09 10:39:24 -04:00
Richard Ramos 2183cabad5 fix: remove messages when leaving a channel to avoid duplication when rejoining a chat 2020-07-09 10:36:23 -04:00
Richard Ramos 2bd3932cec fix: only load mailserver messages for active channels 2020-07-09 10:34:58 -04:00
Richard Ramos fb894880bb
fix: undeclared identifier - setDeviceName 2020-07-08 14:01:10 -04:00
Richard Ramos 4ee0d78cb6 feat: using threads for resolving ENS usernames 2020-07-08 13:53:21 -04:00
Richard Ramos 93d420758f feat: device pairing 2020-07-08 13:53:04 -04:00
Richard Ramos 1caad96fde fix: mailserver hang 2020-07-08 13:26:20 -04:00
Pascal Precht 75e3e10f58 feat(chat): open user profile from mentions
Closes #455
2020-07-08 13:12:31 -04:00
Richard Ramos f16ee322e1 fix: code review 2020-07-06 14:17:19 -04:00
Richard Ramos 5ee3c6938f feat: Advertise device 2020-07-06 14:17:19 -04:00
Richard Ramos a4b9eedd5e feat: set device name 2020-07-06 14:17:19 -04:00
Iuri Matias 6ddd95fe5a change default port on client so it can run side by side with other clients 2020-07-06 13:22:01 -04:00
Iuri Matias dc225d50b8 change identifier for status desktop 2020-07-03 10:50:44 -04:00
Jonathan Rainville 0f9a79e214 feat: save and get appearance from the settings 2020-07-03 09:59:14 -04:00
Richard Ramos 5b3f077fa9 feat: bundle resources
- Update linux build to package resources
- Refactor macOS packaging re: resources.rcc
2020-07-03 09:59:00 -04:00
Richard Ramos 64452e71b9 feat: Determine if a message was sent 2020-07-02 11:57:48 -04:00
Jonathan Rainville 81e7dffaa2 feat: make token send and eth send work 2020-07-02 11:41:11 -04:00
Jonathan Rainville 70fdcb85c6 feat: add asset selector in send modal 2020-07-02 11:41:11 -04:00
Richard Ramos f191f7fe8b feat: Support status-tag to join a public channel if mentioned in the message list 2020-07-02 10:33:33 -04:00
Pascal Precht 63d9ee7201 refactor: remove unused imports 2020-07-02 11:04:41 +02:00
Richard Ramos 961139e778 feat: start chats with ENS usernames 2020-06-30 16:21:21 -04:00
Iuri Matias 4fe19e8130 use username or ens name instead of old hardcoded value
use username or ens name instead of old hardcoded value

return false
2020-06-30 14:35:32 -04:00
Iuri Matias 716258156e feat(Chat): display clickable links, sanitize them and XSS protect
Closes #458
2020-06-30 12:30:40 -04:00
Richard Ramos 6d6f67476b fix: double "login" event being emitted by login / onboarding 2020-06-30 12:20:22 -04:00
Pascal Precht 0bb08fc852 feat(ProfilePopup): implement copy-to-clipboard button
Closes #282
2020-06-30 12:13:44 -04:00
emizzle f54d66bf24 fix: order of recent stickers incorrect on app start
Order of recent stickers was being loaded in reverse order.
2020-06-30 11:24:56 -04:00
emizzle 8e6eb65509 feat: cache settings so only retreived when clean 2020-06-30 11:24:56 -04:00
emizzle 88e5f1a46d feat: Add recent stickers to stickers popup 2020-06-30 11:24:56 -04:00
Jonathan Rainville 0bbb72a994 feat: enable changing the values of a select and add account to send 2020-06-29 13:39:22 -04:00
Iuri Matias 7489a2ae00 fix mailserver call which can cause client to hang after login 2020-06-26 13:52:23 -04:00
Iuri Matias 6e9ce3b250 disable browser, wallet, node tabs by default; add warning checkbox to intro screen 2020-06-26 11:37:59 -04:00
Jonathan Rainville 8cb8395ceb feat: check password before saving a new account
Also shows the error if there is one when adding.
Should show a loading state too, but it doesn't work because the Nim function freezes the QML
2020-06-25 16:41:28 -04:00
Richard Ramos 8e21a1b8b3 fix: word wrap + breaklines 2020-06-25 16:33:16 -04:00
Iuri Matias 92b75ead74 remove prefix causing request errors
remove prefix causing request errors

remove prefix causing request errors
2020-06-25 16:31:53 -04:00
Iuri Matias 649d0a2149 get collectibles when requested instead of at login 2020-06-25 15:47:37 -04:00
Iuri Matias d175e549ac add duration as optional parameter to cache 2020-06-25 15:47:37 -04:00
Iuri Matias 3604875b88 abstract cache mechanism 2020-06-25 15:47:37 -04:00
Iuri Matias 0fc9105f0a cache requests 2020-06-25 15:47:37 -04:00
Pascal Precht 89da127468 feat(Onboarding): validate mnemonic when importing seed phrase
Closes #395
2020-06-25 11:11:25 -04:00
Richard Ramos 9041eb59e7 fix: application title on task bar
Fixes #421
2020-06-25 11:09:35 -04:00
RichΛrd 2490a6fe4a Fix: code review
Co-authored-by: Iuri Matias <iuri.matias@gmail.com>
2020-06-25 10:33:43 -04:00
Richard Ramos e8858f25ba feat: Replace pubkeys by alias/ens in group system message 2020-06-25 10:33:43 -04:00
Richard Ramos 21af287654 feat: support message formatting 2020-06-25 10:29:44 -04:00
Pascal Precht 36ded19dff ui(Wallet): render asset icons in transaction list items
Closes #405
2020-06-25 10:28:23 -04:00
emizzle 847eb2623f feat: add sticker popup
Add sticker popup
Add send sticker message
Add ability to select sticker pack and show stickers for pack with scroll

1. Sticker history
2. Install sticker packs
3. Sticker market

1. Sticker packs are installed on app start up until installation of sticker pack functionality is added
2. Optimisations such as preloading images to be done so that sticker images are not downloaded each time.
2020-06-25 10:27:26 -04:00
Richard Ramos db35bce531 feat: app icon on Linux 2020-06-24 11:33:59 -04:00
Richard Ramos 81b103b0eb fix: code review 2020-06-23 18:52:54 -04:00
Richard Ramos 637484bd79 feat: show qr codes 2020-06-23 18:52:54 -04:00
Richard Ramos c3a5fdabc7 fix: enable HDPI 2020-06-23 16:01:07 -04:00
Richard Ramos acecafbf83 fix: read missing functions 2020-06-23 14:25:38 -04:00
Iuri Matias 6a97a2a07f remove unused file 2020-06-23 13:43:20 -04:00
Iuri Matias 8915230cd8 clean up imports 2020-06-23 13:43:20 -04:00
Pascal Precht 74cb71295e feat(settings): introduce moodal to back up seed phrase
Closes #345
2020-06-23 13:35:33 -04:00
Ștefan Talpalaru 150f38b87d remove vendor/nim-nat-traversal
and fix/hide some warnings
2020-06-23 07:37:17 -04:00
Richard Ramos 80b8d8f478 feat: add members to existing group chat and fix group position on chat list 2020-06-22 15:27:28 -04:00
Richard Ramos e1d72ef057 fix: leaving a group after joining, and ignoring user address on member list 2020-06-22 15:23:27 -04:00
Richard Ramos 33b3c4dc97 fix: manage contacts without systemTag 2020-06-22 15:21:13 -04:00
Richard Ramos fb60d757cf fix: group name when rejoining a group 2020-06-22 15:14:37 -04:00
Richard Ramos 5e03575285 fix: delete qmlobjects 2020-06-22 14:53:10 -04:00
Iuri Matias a6493725b6 support removing contacts
support removing contacts

support removing contacts
2020-06-22 14:50:39 -04:00
Richard Ramos 47b88cab95 fix: remove filters on leaving chat 2020-06-18 16:49:56 -04:00
Jonathan Rainville c2ed0da1ca fix: fix watchonly collectibles 2020-06-18 16:47:24 -04:00
Jonathan Rainville 98d4c7ef1e feat: add id to the collectible 2020-06-18 16:47:24 -04:00
Jonathan Rainville 3e152e5d35 feat: show collectibles in the Collectibles tab 2020-06-18 16:47:24 -04:00
Iuri Matias 95beeae131 fix profile name key assignment 2020-06-18 13:56:11 -04:00
Iuri Matias 73ef443da5 get contract list for only added contacts 2020-06-18 13:56:11 -04:00
Iuri Matias 71cbffea28 fix add contact and update contact list in the UI when a new contact is added 2020-06-18 13:56:11 -04:00
Pascal Precht 7d5ea12095 feat(chat): implement clearing chat history
Closes #148
2020-06-18 13:46:05 -04:00
Jonathan Rainville eff29af548 feat: get collectibles from the contracts and their respective apis
With collaborative work from @emizzle
2020-06-18 10:55:48 -04:00
Richard Ramos 1c564a410d fix: show usernames in group info 2020-06-18 10:20:33 -04:00
Richard Ramos 4fef70fc4a feat: Create group chats 2020-06-18 10:16:32 -04:00
Iuri Matias 965e71e45d display more info in the about section 2020-06-18 08:13:45 -04:00
Iuri Matias 090ba1a063 display pubkey in the profile 2020-06-18 08:13:45 -04:00
Pascal Precht b8ba44e982 feat: implement transaction detail modal
Closes #170
2020-06-17 13:14:38 -04:00
Richard Ramos e9eaac5b83 fix: load ens usernames for older messages 2020-06-17 13:09:31 -04:00
Richard Ramos 0971b5928d feat: Support ENS usernames in messages 2020-06-17 13:09:31 -04:00
Richard Ramos ee81c43ddc feat: Add contacts to message signal and show ens usernames in contact
list
2020-06-17 12:51:31 -04:00
Pascal Precht 0f7e08075b feat(wallet): Introduce simple account transaction list
There's still some things that needs to be done (possibly in future commits):

[ ] Asset icons need to be determined so they can be displayed along the transaction
[ ] Transaction values need to be converted to decimal values
[ ] Date-time formatting
[ ] Grouping of transactions by days
2020-06-17 12:47:53 -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
Iuri Matias 1c2154f11e remove old method 2020-06-16 12:59:17 -04:00
Richard Ramos f52a0d56ab fix: allow rejoining a chat group after leaving it 2020-06-16 12:59:17 -04:00
Iuri Matias e802159a6a display real contacts on profile
display real contacts on profile

query contacts

add contact in form

fixes

fixes

display contacts

cleanup

cleanup

remove echo

refactor to use profile instead of contact model
2020-06-16 12:48:25 -04:00
Iuri Matias 9a03038126 move contacts related methods to its own file 2020-06-16 12:48:25 -04:00
Richard Ramos 88bf4fca66 feat: add id to profile object and verify membership on groups 2020-06-16 12:46:40 -04:00
Richard Ramos b842925ba4 feat: edit group name 2020-06-16 12:05:22 -04:00
Richard Ramos 8c989c3b6c fix: chat update 2020-06-15 09:12:50 -04:00
Richard Ramos 0eb0ea03d4 Cleanup 2020-06-15 08:23:03 -04:00
Richard Ramos ec2ce2818d Remove zombie channels from the chat list 2020-06-15 08:23:03 -04:00
Richard Ramos 6a22c0275f Make the view react to chat updates 2020-06-15 08:23:03 -04:00
Richard Ramos f46eed86d7 Chat and message toString format 2020-06-15 08:23:03 -04:00
Richard Ramos 0ca50b4e06 fix: buildFilter 2020-06-15 08:23:03 -04:00
Richard Ramos d7f9120840 Adding messageId to messages 2020-06-15 08:23:03 -04:00
Jonathan Rainville 7873a0ff58 feat: design gen new key modal 2020-06-15 08:07:15 -04:00
Richard Ramos ccb43acd85 fix: allow receiving 1:1 messages after deleting chats 2020-06-13 10:04:26 -04:00
Richard Ramos e38f1b0268 fix: code review 2020-06-13 09:56:58 -04:00
Richard Ramos 78e8e6be93 feat: group information 2020-06-13 09:56:58 -04:00
Pascal Precht 73eb4fe8b1 feat: introduce button to block users
Closes #158
2020-06-12 08:30:10 -04:00
Jonathan Rainville 67c7e9b0ca feat: implement design on the login screen 2020-06-12 08:11:14 -04:00
Iuri Matias b1ce63b64c remove hasIcon and image props 2020-06-12 08:08:11 -04:00
Iuri Matias 36b2ae5a66 support adding a custom token
support adding a custom token

cleanup
2020-06-11 18:03:49 -04:00
Jonathan Rainville 4d7eee1ebf feat: enable deleting a wallet account 2020-06-11 12:22:21 -04:00
Jonathan Rainville 7476cf3d16 fix: fix conflicts and bad types 2020-06-11 11:23:01 -04:00
Jonathan Rainville be8188078b feat: enable changing account setting in the wallet 2020-06-11 11:23:01 -04:00
Jonathan Rainville 317c956718 feat: show the real account values in settings 2020-06-11 11:23:01 -04:00
Richard Ramos 8fb3368925 refactor: unify ChatMessage and Message, and move Chat and Message to status folder 2020-06-11 11:04:37 -04:00
Richard Ramos 9a2144fe75 feat: leave private chat groups 2020-06-11 10:29:15 -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
Iuri Matias bd8d743385 use let instead of var 2020-06-10 17:28:40 -04:00
Iuri Matias 19eb7eb520 fix total account balance
fix total account balance

cleanup
2020-06-10 17:28:40 -04:00
Iuri Matias 826c0ed46d get token balance
get token balance

fix token balance call

Fix assets on load

add token list

display images

cleanup

cleanup

cleanup

clean up
2020-06-10 17:28:40 -04:00
Richard Ramos 761be22bfa feat: Join private groups 2020-06-10 15:54:56 -04:00
Richard Ramos 8cca18d7f9 Display group chat message types and react to chat updates 2020-06-10 15:21:15 -04:00
Richard Ramos 286bb14fb2 Fix: code review
Fixes #257
2020-06-10 15:08:55 -04:00
Richard Ramos 39c494f9d5 refactor: Remove ChatItem object 2020-06-10 15:08:55 -04:00
emizzle 87c603097e feat: Decode sticker hashes
Decode multihash content identifier (CID) using `libp2p` libraries. Makes some assumptions that we only handle `ipfs-ns` codec hashes and that the sticker hash starts with `e3xxxxyy`, where xxxx is essentially ignore and yy indicates the cid codec.
2020-06-10 14:52:45 -04:00
Richard Ramos afc247be23 Various fixes
- Make the topbar channel identifier color match the channel list color
- Display private groups on the channel list
- Reduce chat identifier height
2020-06-09 18:13:53 -04:00
Jonathan Rainville 7295fde809 feat: add watch only accounts to wallet 2020-06-09 18:10:57 -04:00
Jonathan Rainville 2ade9e938d feat: add modal to add an account with a private key 2020-06-09 18:10:57 -04:00
Pascal Precht b8c5059de7 feat(libstatus): introduce API to get contact by ID 2020-06-09 18:08:08 -04:00
Richard Ramos ae3d3d3894 fix: identify messages sent by the current user 2020-06-09 17:55:20 -04:00
Jonathan Rainville 50c10d38dd feat: enable adding an account with a seed phrase 2020-06-08 17:01:29 -04:00
Richard Ramos f3ff229bf8 feat: load messages on scroll to top, and fix last message scrolling 2020-06-08 16:07:11 -04:00
Richard Ramos b5b02cfd57 show identifier as the first message of chat view 2020-06-08 15:27:30 -04:00
Richard Ramos 9d75f6f552 Use section identifiers as a way to identify if messages have been sent by the current user (no need to modify the model with `repeatMessageInfo`) 2020-06-08 13:24:46 -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 5371f22e70 add/remove & update configured tokens on the fly
add/remove & update configured tokens on the fly

add wallet methods

generate configured assets

correct show selected tokens

toggle assets

add/remove configured tokens on the fly

cleanup

fix shown wallet
2020-06-08 12:14:09 -04:00
Jonathan Rainville c609a00784 feat: generate new accounts and get wallet account correctly 2020-06-08 09:39:01 -04:00
Richard Ramos 1cc5d9155f Set initial state to empty chat view instead of selecting the first chat 2020-06-05 18:21:46 -04:00
Iuri Matias 1fb9be3d7d update balances & currency across walet; move account generation
update total fiat balance so it can auto update

update account list when needed

force update of asset list

add account in the model

add 0x0 address instead of invalid one

ensure asset list is updated
2020-06-05 09:58:54 -04:00
Richard Ramos 722ab36bf1 Sort messages by clock 2020-06-05 05:56:21 -04:00
Iuri Matias f8271c0c38 fix asset initilization 2020-06-04 19:39:34 -04:00
Iuri Matias 0dcf257f0c trigger new balance when currency change happens
trigger new balance when currency change happens

update current account balance on currency change
2020-06-04 17:49:02 -04:00
Iuri Matias b4aae8fa3b move wallet related models
move wallet related models

set data

move accounts init to the model
2020-06-04 17:49:02 -04:00
Iuri Matias 1a160cf664 Revert "build system refactoring"
This reverts commit 2449a12fb7.
2020-06-04 17:22:39 -04:00
Jonathan Rainville 3bab66fde9 add the account like a boss 2020-06-04 16:31:17 -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
Richard Ramos 68047eb8fd fix: leave channel 2020-06-04 10:44:33 -04:00
Iuri Matias b43d6c7b01 check if asset is configured for account 2020-06-04 10:43:39 -04:00
Pascal Precht 48f64eeb91 chore(Message): expose fromAuthor property 2020-06-04 08:47:44 -04:00
Richard Ramos dd0e9de324 refactor: code cleanup 2020-06-04 08:35:29 -04:00
Pascal Precht 2641986bbe feat(chat): clear unread messages count when changing channels
Closes #138
2020-06-04 08:19:17 -04:00
Jonathan Rainville 15dc98b44a feat: show the real value of the current account in the wallet 2020-06-03 17:09:51 -04:00
Richard Ramos 24c31e04f6 Rotate mailservers when not connected and load old messages 2020-06-03 17:06:02 -04:00
Richard Ramos 61b70fb969 Ask mailserver messages when joining a channel 2020-06-03 17:06:02 -04:00
Richard Ramos aaf023015e removing topics 2020-06-03 17:06:02 -04:00
Iuri Matias f62d3aaca7 wallet settings modal; save default currency
wallet settings modal; save default currency

wallet settings modal; save default currency

save/load currency preference

fix default currency call

use chronicle instead of echo

fix issues
2020-06-03 10:38:50 -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
Pascal Precht dc6793a0f0 refactor(chat): make activeChannel a ChatItem to expose relevant information to the view 2020-06-02 16:57:59 -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 15bd1c3c2c load mailservers messages on future logins 2020-06-02 16:34:29 -04:00
Richard Ramos 31b0207dcc refactor: Use status object 2020-06-02 16:19:44 -04:00
Richard Ramos 4670bd57c4 fix: codereview 2020-06-02 16:19:44 -04:00
Richard Ramos 886f58491d Handling peer summary changes (required for mailservers) 2020-06-02 16:19:44 -04:00
Pascal Precht 8332e3ac8a fix(chat): ensure chatType is set properly
In ebd29d9ffd we've introduced a regression where
the channel list didn't expose the chat's chatType to the view, causing 1-on-1 chats
identicons to break.

This commit reintrodruces the chatType to the view.
2020-06-02 16:47:20 +02:00
Iuri Matias d4341e1f17 cleanup imports 2020-06-01 13:53:42 -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 f16de508ed Add procs for save/get settings 2020-06-01 12:39:45 -04:00
Richard Ramos fa7d2ba26f fix: duplicated chats added 2020-05-29 15:37:52 -04:00
Iuri Matias ebd29d9ffd simply chat views by reacting to model events
simply chat views by reacting to model events

abstract join event from join event call; react to join channel event

remove unneded if else

move left channel to event

refactor getChannelColor

refactor getChannelColor

rename sendMessage method

cleanup

move random color to channels list

remove toChatType

remove toChatType
2020-05-29 15:03:13 -04:00
Richard Ramos 9d86082cfe Update channels position when receiving a new msg 2020-05-29 14:46:42 -04:00
Richard Ramos a244e236e8 fix: code review + error handling 2020-05-29 11:13:13 -04:00
Richard Ramos 02c9f1cc6a Leave chats 2020-05-29 11:13:13 -04:00
Iuri Matias 98d2c1df68 display a sticker when a content type sticker message is received
display a sticker when a content type sticker message is received

display a sticker when a content type sticker message is received

display a sticker when a content type sticker message is received

display sticker

fix height and default value

cleanup

cleanup

cleanup

use constants for the content type
2020-05-29 09:52:20 -04:00
Richard Ramos 8d2b955bcd load chats on login 2020-05-28 17:36:22 -04:00
Richard Ramos 3b8408d21a Join private chats 2020-05-28 11:54:44 -04:00
Pascal Precht 31a310314c ui(chat): introduce identicons for channels and users
Closes #128
2020-05-28 08:11:02 -04:00
Pascal Precht 37cce5b9f3 ui(chat): don't repeat user info for the same user
Closes #129
2020-05-28 08:10:15 -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 567445ea30 Revert "ui: introduce identicons in channel/contacts list"
This reverts commit 9e69e24379.
2020-05-27 15:41:31 -04:00
Pascal Precht 9e69e24379 ui: introduce identicons in channel/contacts list 2020-05-27 15:02:49 -04:00
Iuri Matias 12bbea8d77 re-add sendMessage method 2020-05-26 18:15:15 -04:00
Iuri Matias dda6b3c76d add support to leave a chat
add support to leave a chat

add support to leave a chat

fix

add leave chat methods to model
2020-05-26 18:06:48 -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
Jonathan Rainville 1ef8db3c44 feat: hook top bar to channel name and colors 2020-05-26 15:11:48 -04:00
Jonathan Rainville b8431c776d fix: fix addFilter to not have topic for now 2020-05-25 18:28:29 -04:00
Jonathan Rainville 594b3974c9 move addPeer to the setupAccount function 2020-05-25 18:28:29 -04:00
Jonathan Rainville f7d99c4bb4 feat: get last 20 messages of a channel when joining the chat 2020-05-25 18:28:29 -04:00
Richard Ramos 20766d2dae Add whisper.added.filter signal handler 2020-05-25 15:54:01 -04:00
emizzle e5bed448ed fix: remove `onSignal` not overridden warnings
Uninherited `ProfileController` and `OnboardingController` from `SignalSubscriber` as they were not listening for signals from the node.

Added an `onSignal` dummy method in `WalletController` to make the compiler happy. The main app is assuming this is a `SignalSubscriber` but it is unclear if it being used (maybe it's a WIP).
2020-05-25 11:41:43 -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 c3ddec43fa remove file accidentaly added by mistake 2020-05-25 10:56:54 -04:00
Pascal Precht 729fa1f31c cleanup: remove unused imports in modules 2020-05-25 09:56:29 -04:00
Iuri Matias 0d7cb1b401 add contact list 2020-05-25 09:50:35 -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 e6a1e5a8bb Error message when onSignal is not implemented 2020-05-22 19:18:05 -04:00
Richard Ramos 2eee8c7a2d feat: show last message and unread message count 2020-05-22 19:18:05 -04:00
Iuri Matias ac5c6389d3 revert change to rowCount and Data methods 2020-05-22 19:02:04 -04:00
Iuri Matias 9947bae85a fix issue with rebase 2020-05-22 17:09:40 -04:00
Jonathan Rainville e371d2fe4b chore: fix a couple of warnings 2020-05-22 17:09:40 -04:00
Pascal Precht 10b51956f2 ui: render mailservers list 2020-05-22 16:56:51 -04:00
Iuri Matias 1d371d5054 simplify some objects that don't need qt references 2020-05-22 16:54:42 -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 68b48a7082 move sendMessage to the chats model 2020-05-22 15:55:07 -04:00
Richard Ramos f29191bc59 fix: random crash due to no messages availables in signal 2020-05-22 10:59:46 -04:00
Iuri Matias 6344beee9f remove old file 2020-05-21 19:50:58 -04:00
Pascal Precht 985b5d93d0 fix(ui/wallet): don't require password to be entered as hashed hex 2020-05-21 19:50:58 -04:00
Richard Ramos ec46dd13f1 refactor: join public chats 2020-05-21 19:43:02 -04:00
Richard Ramos 0e2131d499 feat: support multiple channels on the UI 2020-05-21 19:36:36 -04:00
Iuri Matias 50fc70adfb address code review 2020-05-21 19:33:14 -04:00
Iuri Matias c1f6a0d06d address code review 2020-05-21 19:33:14 -04:00
Iuri Matias f59401a80a clean up 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 656e553a32 cleanup 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 f5a1c8a065 cleanup 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 8a0a5a2e60 separate model events from app events 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 ff25fc818a move logic to model 2020-05-21 19:33:14 -04:00
Iuri Matias 81a478d797 remove unsused method 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 6e2f61b08e add todos 2020-05-21 19:33:14 -04:00
Iuri Matias 23f72c77bc move generateRandomAccountAndLogin out of 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 033cd3bd06 rename onboarding view; cleanup 2020-05-21 19:33:14 -04:00
Iuri Matias e08c4b75a4 rename onboarding 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 ed683fd2f0
fix: support multiple subscribers per signal 2020-05-21 16:13:26 -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 5cc31ae28d display identicons; display correct details for the user own messages 2020-05-19 19:40:40 -04:00
Iuri Matias 6a4c50fe9c subscribe node module to notifications 2020-05-19 17:00:29 -04:00
Iuri Matias 755fd6056b move block notification to node management tab 2020-05-19 17:00:29 -04:00
Jonathan Rainville 26d7cacaea feat: add easy to use get function for chat channels 2020-05-19 16:29:39 -04:00
Iuri Matias 8341dd36c0 address code review changes 2020-05-19 15:29:57 -04:00
Iuri Matias cd1e6780be remove unused file 2020-05-19 15:29:57 -04:00
Iuri Matias 175c3a57f4 remove logic message model from view and replace it with view representation 2020-05-19 15:29:57 -04:00
Iuri Matias 1883a4bc1f display users own message 2020-05-19 15:29:57 -04:00
Jonathan Rainville 33011385af feat: enable to send private messages after doing add chat
Fixes #50
2020-05-19 15:16:31 -04:00
Pascal Precht 76a0b55d47 feat(ui/wallet): add basic form to send transaction
Closes #49
2020-05-19 11:48:41 -04:00
Pascal Precht 407577c247 feat(status/wallet): add APIs to retreive accounts 2020-05-19 11:48:41 -04:00
Pascal Precht a09f694d23 feat(core/libstatus): expose status-go `sendTransaction` binding 2020-05-19 11:48:41 -04:00
Richard Ramos 87e31105e3 Code cleanup 2020-05-19 06:30:30 -04:00
Richard Ramos 03f48c5a25 fix: rename files 2020-05-18 16:41:16 -04:00
Richard Ramos a4deb4b7a9 Display chat messages 2020-05-18 16:41:16 -04:00
Richard Ramos df1199060d Apply polymorphism to signals, instead of using json strings 2020-05-18 16:41:16 -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 9411aa61e7 feat: display message in wallet 2020-05-18 11:42:50 -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 5bff1f49a4 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
Richard Ramos c1d1b60f46 Adding nimbus-build-system 2020-05-15 17:18:20 -04:00
Jonathan Rainville 491718a0bd feat: add wallet asset icon 2020-05-15 06:46:21 -04:00
Jonathan Rainville a962069b73 feat: hook wallet assets to nim model 2020-05-15 06:46:21 -04:00
Iuri Matias bb1190cbba use status abstraction instead of libstatus directly 2020-05-13 19:22:18 -04:00
Iuri Matias 18db5dc145 add various methods needed for wallet: get price, balance, convert hex wei to eth 2020-05-13 19:22:18 -04:00
Richard Ramos ed0059d48f Adding missing signals 2020-05-13 19:05:59 -04:00
Richard Ramos ba2fc5eb73 Signal management 2020-05-13 19:05:59 -04:00
Iuri Matias 9e24821c33 move chat sending json-rpc into status chat module 2020-05-13 15:21:45 -04:00
Iuri Matias a9e84c685d send message instead of rpc request 2020-05-13 15:21:45 -04:00
Richard Ramos 79638f6214 feat: Join chats on demand 2020-05-13 14:01:12 -04:00
Richard Ramos f16863ab2d reorg status integration 2020-05-13 13:32:52 -04:00
Richard Ramos 0459dd06e5 fix: extract signals to separate file 2020-05-13 13:32:52 -04:00
Iuri Matias abb0c4cee6 attempting to call different proc inside signal handler 2020-05-13 13:32:52 -04:00
emizzle 4769f578a6 feat: Onboarding carousel
Onboarding carousel completed

Redo folder restructuring

NOTES:
1. nim_status_client binary is output to `./bin/nim_status_client`, so you'll need to update your workflow to run this file. README has been updated to reflect this. Also, if you're running VSCode, instructions for code reload were added.
2. All `ui` files now live in `ui/`
3. All lib files (ie `libstatus`) now live in `lib/`
4. Removed the Qt Creater user project file as this is unique to each user
5. Moved the project file to `ui/`, so just open up the `ui` folder in Qt creator and it should locate the project file
6. `-d:release` removed from compilation as it wasn't needed
7. Broke up main.qml in to the main app and onboarding components, however this should be broken down further into more reusable components
8. Click "Get started" to show chat

Format some files using nimpretty
2020-05-12 18:52:51 -04:00
Iuri Matias 01182c8aee move signalcallback to status module 2020-05-11 17:52:06 -04:00
Iuri Matias 87c7abe687 rename applicationLogic to applicationView to better reflect purpose 2020-05-11 14:22:01 -04:00
Iuri Matias b8563b25a3 abstract message sending from the view 2020-05-11 14:01:03 -04:00
Iuri Matias 03b6209f6b move status specific logic of the application view 2020-05-11 13:31:07 -04:00
Iuri Matias 3b9be01cc5 move subscriber logic to level above the view 2020-05-11 07:30:59 -04:00
Iuri Matias 41dd96e9c9 display values from a list, and support changing that list from nim 2020-05-11 07:30:59 -04:00
Iuri Matias a0580893c4 basic application state; basic subscriber and dispatcher 2020-05-11 07:29:48 -04:00
Richard Ramos f5eed607bd some comments 2020-05-10 19:24:06 -04:00
Iuri Matias 8a8e60cd29 display main account 2020-05-08 13:47:34 -04:00
Iuri Matias aba191841b display account 2020-05-08 11:59:49 -04:00
Iuri Matias 5a174f260a add missing flag 2020-05-08 11:44:07 -04:00
Richard Ramos a5d2f25b01
Getting messages from #test 2020-05-08 11:14:34 -04:00
Richard Ramos d5d4c03003
test 2020-05-08 11:14:34 -04:00
Richard Ramos c95e7db187
feat: subscribing to signals 2020-05-08 11:14:06 -04:00
emizzle dc99dfb99d
feat: Connect to peer and call private RPC 2020-05-08 21:07:50 +10:00
Richard Ramos 9a93298508
feat: makefile 2020-05-06 17:26:32 -04:00
Richard Ramos f628630ea5
fix - project name 2020-05-06 13:51:37 -04:00
Richard Ramos 54454ebbc2
Initial commit 2020-05-06 13:40:00 -04:00