Commit Graph

523 Commits

Author SHA1 Message Date
hydr063n 572e0c3e4c fix: call wakuext_contacts RPC once
include make proposed fix

remove more lines that are already included in `setActiveChannel`
2020-09-17 15:17:42 -04:00
Pascal Precht 02dcc106e4 uiux(Contacts): add loading indicator when searching for contacts to add 2020-09-17 15:16:24 -04:00
emizzle 7b0d3c496c fix: exception handling in mutli-threaded transactions
Currently, exceptions thrown during transactions or gas estimation that were spawned in another thread are not being propagated, due to a limitation in nim (see https://nim-lang.org/docs/manual_experimental.html#parallel-amp-spawn).

This means any exceptions from status-go were not propagated correctly and would cause the app to crash. This includes entering the wrong password when trying to send a transaction.

The issue was addressed by passing a `success` variable by reference, which is set to false if an exception was thrown by status-go.
2020-09-17 12:21:29 -04:00
Jonathan Rainville bcbcd13611 refactor: use profileSettingsFile QtProperty instead of profile directly 2020-09-16 16:58:55 -04:00
Jonathan Rainville db9472bc0b refactor: change settings to use a filename instead 2020-09-16 16:58:55 -04:00
Jonathan Rainville 23ca5f9930 feat: make settings user dependant and clean settings uses 2020-09-16 16:58:55 -04:00
Jonathan Rainville cebd889fd6 fix: fix assets not updating in views when getting new balance 2020-09-16 16:58:36 -04:00
Richard Ramos e4ffc897d7 fix: code review + reset sticker pack pending state 2020-09-16 14:22:29 -04:00
Richard Ramos d0bca7afa6 fix: show stickers as pending while trx is being mined
Fixes #885
2020-09-16 14:22:29 -04:00
Richard Ramos e46ab433f4 feat: transaction dialog for registering ENS name 2020-09-16 14:22:29 -04:00
Richard Ramos 83b0c8057e fix: code review 2020-09-16 14:22:29 -04:00
Richard Ramos 0091fded3a feat: toast messages for sticker and ens trxs 2020-09-16 14:22:29 -04:00
Jonathan Rainville 17aa8d274e fix: fix defaultTokenList use in QML 2020-09-14 14:54:17 -04:00
Jonathan Rainville 103f02b289 feat: show toast message for transaction status changes 2020-09-14 14:48:26 -04:00
Jonathan Rainville b0c9155e70 feat: track pending transactions for wallet transfers 2020-09-14 14:48:26 -04:00
Jonathan Rainville 22d9c3be5d refactor: use wallet model instead of lib status 2020-09-11 16:55:36 -04:00
Jonathan Rainville ad00709104 feat: show loading image on the button when sending 2020-09-11 16:55:36 -04:00
Iuri Matias 212f33b3c0 filter out watch only accounts in account list for sending transactions 2020-09-11 14:40:31 -04:00
Richard Ramos f2a56c70e1 fix: rebase gone wrong 2020-09-11 13:25:55 -04:00
Richard Ramos 2f1416e042 feat: check if a transaction is confirmed before installing a sticker pack 2020-09-11 12:46:13 -04:00
emizzle 366fdc15a1 feat: show stickers purchased from non-main account
Fixes: #815

Previously, only stickers purchased from the main status account were shown. Now, stickers purchased from any of the accounts are shown.

Accounts include any accounts returned by `accounts_getAccounts` and are non-chat accounts.
2020-09-11 12:01:08 -04:00
emizzle 2c7dd929ad feat: enable token transactions
Fixes #788.
Fixes #853.
Fixes #856.

refactor: gas estimation and transaction sends have been abstracted to  allow calling `estimateGas`, `send`, and `call` on the contract method (similar to the web3 API).

Moved sticker pack gas estimation and purchase tx over to the new API

*Sticker purchase:*
 - gas estimate is done using new API and debounced using a timer

*Wallet send transaction:*
 - tokens can now be sent
 - gas is estimated correctly for a token tx, and debounced using a timer

***NOTE***
1. If attempting to send tokens on testnet, you must use a custom token as the token addresses in the pre-built list are for mainnet and will not work on testnet.
2. The new API should support all existing gas estimates, send txs, and calls. The loading of sticker pack data, balance, count, purchased sticker packs, etc, can be moved over to the new API. Almost all of the `eth_sendTransaction`, `eth_gasEstimate`, and `eth_call` could be move over as well (that's the idea at least).
2020-09-11 12:01:08 -04:00
emizzle 4f0cdad8c7 refactor: move stickers to own model
Remove from ChatModel and add StickerModel
2020-09-11 12:01:08 -04:00
Pascal Precht 729a2781f0 feat(TransactionModal): introduce async validation for ENS names
This commit extends the AddressInput to perform ENS lookups when valid
ENS values are entered. The lookup happens asynchronously, so we show a loading
indicator as the request is happening.

Closes #790
2020-09-10 13:40:42 -04:00
Richard Ramos 24212a63e9 feat: testnet tokens 2020-09-09 16:35:51 -04:00
Richard Ramos 27abf30fc8 feat: list, toggle and remove custom tokens 2020-09-09 16:10:51 -04:00
Jonathan Rainville f3f27a5e59 fix: address more comments about the chat commands 2020-09-09 15:03:45 -04:00
Jonathan Rainville 348e0a9bdc fix: address review comments for the send forms 2020-09-09 15:03:45 -04:00
Jonathan Rainville 6b3cac31bc feat: enable sending chat requests 2020-09-09 15:03:45 -04:00
Jonathan Rainville 60492b4db1 feat: add chat command bubbles for received txs 2020-09-09 15:03:45 -04:00
Iuri Matias aeb8d2958d display first menu option; include channel id 2020-09-09 14:08:19 -04:00
Pascal Precht 4bea011417 uiux(Chat): show loading indicator when fetching more messages 2020-09-08 14:09:09 -04:00
Richard Ramos 98aaa69e9d fix: transaction history handling
- Determine if the recent transaction history is being fetched or available before obtaining the first 20 transactions
- On account change, reset the selected tab to show the asset list
- Collectibles were kinda pixelated/blurry (not anymore)

Fixes #806
2020-09-07 12:54:59 -04:00
Pascal Precht 1481f2648f feat: introduce "fetch more messages" button to request old messages
Closes #149
2020-09-07 10:20:17 -04:00
Richard Ramos 057cdc08da feat: update balances when receiving a transaction 2020-09-04 17:21:40 -04:00
Richard Ramos e52d287cf9 refactor: move signals to status and generate events 2020-09-04 16:42:26 -04:00
emizzle d8b0145eb3 feat: Add Sticker purchase transaction modal
Add gas estimate for sticker pack purchase.

Update transaction for sticker pack purchase.

Add GasValidator component which validates gas is selected correctly and displays an error message if not. This component is not visible until it is not valid (at which point the valdiation error message is displayed).

In a future PR, need to:
1. estimate gas for token txfer (sendTransaction) via a normalised method for estimating gas for EthSend
2. move sticker pack purchase to use an EthSend object so gas can be estimated and tx sent
2020-09-04 16:13:33 -04:00
Richard Ramos 374da83cff feat: receive wallet events and bump nim-status 2020-09-04 15:57:29 -04:00
Richard Ramos 0b6643ac2d feat: show SNT by default in the token list, and STT in ropsten
fixes #805
2020-09-03 16:06:20 -04:00
Pascal Precht addd1d9c3e chore(chat): request mailserver messages since last request
Prior to this commit, the app would request messages from the last
24 hours for all joined channels.
The changes made here ensure that messages since the *last* request
are requested. The last request for each topic/chat is stored in the
nodes mailserver topics.

When no channels are joined, the default is still 24 hours, however,
as soon as a channel is joined, the last request time will be updated
and honored in the next request.
2020-09-03 15:58:49 -04:00
Richard Ramos 782e89508c fix: escape html in messages 2020-09-03 15:47:05 -04:00
emizzle 1e020a203c feat(tx-comps): Send transaction modal
Fixes #669.

Composes all tx components to create a send transaction modal for the wallet.

1. Add a reusable TransactionStackView component that wraps a StackView component to show the screens of the Send Tx modal and handles back/forward/reset functionality.
2. Add a reusable TransactionStackGroup which holds tx components and allows modal header and button text to be defined and handles validation for all child components.
3. Add an isValid property to all tx comps for pristine validation state.
4. Reset all components in modal once modal is closed. This consists of a `resetInternal` function that each component should implement to reinstate its original starting state, and a `reset` function that parent components can use to reinstate the overridden properties.
5. Tx error handling to display either a StatusGo error message in the dialog, or wrong password in the TransactionSigner.
6. Fix ReceiveModal to allow for pre-selected account based on current wallet account.
7. Add focused border colour to Input component.
8. Fix issue with last TransactionStackGroup input not being able to obtain focus.
9. Fix fiatBalance not appearing on initial load on AccountSelector.
10. Fix selected asset updated properly when assets changed in the AssetSelector component.
11. AccountSelector is pre-populated with selected wallet account. Supporting work on the components has been done to suppor this.
12. Changing accounts in the "from account" updates the asset balances in the AssetAndAmountInput component.
13. Move validation from ContactSelector to the Select component.

1. Test sending of tokens. This requires that tokens contracts are setup on testnet. Right now, they are set up for contract addresses on mainnet.
2. Loading state once transaction is sent. Button in modal needs to move to a loading state and the "toast" messages in the wallet need to appear informaing user of tx progress.
3. Need to clarify (and implement?) support of ENS names in the AddressInput. It appears that ENS names could be resolved. This would be a long operation and require some kind of UI loading indication.
4. Wallet balances need to be updated on every block, so for example, sending funds between accounts I should be able to see the balance updated in real time.

1. Sending to a contact currently doesn't work because the ContactSelector component selects the Contact's whipser key, instead of his/her wallet address. May need to figure out how this is done in status-react. As it stands, attempting to send to a contact will crash the app.
2. Sending *from* an imported account does not work, with an error from StatusGo `cannot locate account for address: 0x123...`
2020-09-03 15:32:55 -04:00
Pascal Precht fb83886086 fix(Chat): ensure only mentions with leading whitespace are replaced 2020-09-01 11:54:44 +02:00
Richard Ramos 84df214f6f fix: handle message reactions for old messages not loaded 2020-08-28 13:38:54 -04:00
Richard Ramos 8bf2e394c6 fix: update contract address on ropsten and use label instead of namehash 2020-08-28 11:31:35 -04:00
Richard Ramos 7d4c4ac4c7 feat: change pubkeys for already owned ens usernames 2020-08-28 11:31:35 -04:00
Richard Ramos 7df357dcf7 feat: show terms and conditions, add ens registry contract, and determine if you have enough SNT balance. 2020-08-28 11:31:35 -04:00
Richard Ramos 8f1f01b6a0 feat: register status ens usernames 2020-08-28 11:31:35 -04:00
Richard Ramos ce8cd4183f feat: show terms and conditions, add ens registry contract, and determine if you have enough SNT balance. 2020-08-28 11:06:12 -04:00
Jonathan Rainville fef2e6651d feat: add stickers to collectibles 2020-08-28 11:05:19 -04:00
Pascal Precht bdfdf263cc fix(Chat): Allow for case insensitive pubkey replacement
When entering a user name like `@Pascal` it wouldn't be properly replaced
with the pubKey of `pascal.stateofus.eth` since it was comparing to `@pascal`

This commit ensures simple user name mentions are properly matched against
their ens names regardles of their case.

Fixes part of #769
2020-08-27 17:38:32 -04:00
Jonathan Rainville d19f15bb84 fix: fix chat links in a couple of ways
- link color in compact mode
- channel links did not have a #
- clicking on a mention should show that profile
- The AddChat button image didn't reposition when closing
2020-08-27 17:09:04 -04:00
Pascal Precht f47fda6d68 fix(Chat): ensure new active channel messages are marked as seen
Also, selecting a channel with unread messages marks them as seen as well

Closes #738
2020-08-27 17:00:08 -04:00
Jonathan Rainville bd9e1619fa refactor: never save mnemonic in memory unless totally necessary
Necessary cases are:
- Onboarding to show the list of 5 accounts
- In QML when we show it to the user for the backup
  - Change it to a Loader, so the component and its memory is cleaned when closed
2020-08-27 16:42:25 -04:00
Jonathan Rainville 5f119e1ead feat: enable removing emoji reactions from the context menu 2020-08-27 16:34:35 -04:00
Jonathan Rainville 99ca0e9e55 feat: enable adding reactions to chat messages from the menu 2020-08-27 16:34:35 -04:00
Jonathan Rainville 72af6adb69 feat: get and display emoji reactions in chat 2020-08-27 16:34:35 -04:00
Jonathan Rainville 898bb27b56 feat: save collectiblesList to WalletAccount 2020-08-25 11:49:11 -04:00
Jonathan Rainville 68a903e3f0 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 11:49:11 -04:00
Jonathan Rainville 9d8fe87fd8 Revert "feat: add error management to the collectibles"
This reverts commit 9eaf0a2d90.
2020-08-25 09:19:28 -04:00
Jonathan Rainville 9eaf0a2d90 feat: add error management to the collectibles
plus reload button

(cherry picked from commit 718f806557ffb041263e035845a21c2f7126807c)
2020-08-25 09:18:50 -04:00
Jonathan Rainville 3219b0f5f4 refactor: refactor collectibles to be loaded individually 2020-08-25 09:15:01 -04:00
Jonathan Rainville 95f4bd8d09 fix: fix pixelated icon and add description and URL for kudos 2020-08-25 09:15:01 -04:00
Jonathan Rainville f083310193 feat: make all collectibles work and fix Cryptokitties 2020-08-20 14:21:20 -04:00
Pascal Precht b528e784c9 feat: introduce TransactionSigner UI component
Closes #676
2020-08-19 15:33:05 -04:00
Pascal Precht ef22fb348d feat: allow users to mute and unmute channels
Closes #152
2020-08-19 14:39:31 -04:00
Pascal Precht 832518a0e1 feat(GasSelector): introduce GasSelector component
Closes #674
2020-08-17 14:08:28 -04:00
emizzle 3ff93c26e6 fix/tx-comps: Update assets when tokens changed
When tokens are added/removed, the asset list in the AssetAndAmountInput is updated.

The selected asset can be specified by the parent component which is needed for things like sticker market where we need to set SNT as the fixed token.

Improved the validation for the component:
 - validate() can be called externally
 - validation display is handled internally and messages can be customised
 - validation error messages are handled by the Input component and validation UX is consistent with other tx components
2020-08-13 14:39:43 -04:00
emizzle d07daac377
feat/tx-comps: Add RecipientSelector component
Based on the spec in https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20, this component handles user input for a recipient address, which can be sourced from manual address input, ENS name, contact selection, or another of the user's wallet accounts.
2020-08-13 09:28:35 +02:00
Richard Ramos 9b35a01103 fix: group chat colors and adding nbsp; only when the message is from the current user 2020-08-11 14:35:03 -04:00
Richard Ramos 477f5aa460
feat: display empty state when user has no contacts 2020-08-11 08:39:10 -04:00
Richard Ramos edbb183242
fix: show ens and alias on profile popup header 2020-08-11 08:39:10 -04:00
Richard Ramos e96f3ed47f
fix: display ens names with correct format in all screens 2020-08-11 08:39:07 -04:00
Richard Ramos 71fee14add feat: show ENS username details 2020-08-10 10:27:56 -04:00
Richard Ramos 9d5c71fb4e feat: load stickerpacks async 2020-08-10 10:27:38 -04:00
Richard Ramos c53b2cc78a feat: select preferred ENS username 2020-08-10 09:47:25 -04:00
Jonathan Rainville 156aaba0aa feat: improve style of the notification box
Use the Channel box for that
2020-08-10 09:34:02 -04:00
Pascal Precht 441d58a4cb refactor: rename getFiatValue to convertValue 2020-08-10 09:32:01 -04:00
Pascal Precht 56568f68c8 feat: introduce AssetAndAmountInput component
Closes #673
2020-08-10 09:32:01 -04:00
Pascal Precht d62d8b3a92 refactor: rename Asset.fiatValue -> Asset.fiatBalanceDisplay
This is done because `fiatValue` included the currency symbol
2020-08-10 09:32:01 -04:00
Richard Ramos e484c41291
fix: alignment of emojis
- Added an nsbp in front of paragraphs, otherwise the alignment property was ignored
- Enabled richformat for channel list to avoid emoji overlap in last message
2020-08-06 15:48:06 -04:00
Richard Ramos 40e8802218
feat: list preferred username, available ens names and send preferred username on new messages 2020-08-06 17:07:48 +02:00
Richard Ramos 43f4f8775b
feat: connect existing status ens username
- Show welcome page only when there are no ens names registered
- If you already have an ens username for the current account, connect and mark it as preferred name
- State machine navigation
2020-08-06 16:56:46 +02:00
Richard Ramos 5e7eefe553
feat: search ens names for registration 2020-08-06 16:03:11 +02:00
Jonathan Rainville 32b0e185db
feat: add channel list context menu 2020-08-06 15:49:54 +02:00
emizzle 9374be5857
feat: Send transaction component -- Account selector
Fixes #670.

Component spec based on https://www.notion.so/emizzle/Wallet-transaction-components-2003b78a8d0d41c4ab3d21eb2496fb20.

Changes the current Select shared component to a model databound component. This means we can bind directly to `QAbstractListModel`'s coming from Nim instead of needing manipulating the data in to javascript objects. The changes to the Select component will be used for the upcoming Asset selector shared component.
2020-08-05 16:38:49 +10:00
Richard Ramos cb92c1dc14
fix: incorrect mentions behavior when text contains emojies 2020-08-04 10:19:42 -04:00
Richard Ramos 459de8cd1c
fix: display emojis on input textarea 2020-08-04 10:14:57 -04:00
Richard Ramos d066b59f81
feat: load transaction history async 2020-07-31 11:48:41 -04:00
Richard Ramos 5ab1088f7c
feat: play audio messages 2020-07-30 13:49:50 -04:00
Richard Ramos 6e62df9109
feat: Load collectibles async 2020-07-29 17:43:10 -04:00
Richard Ramos 7fd1f9c468 fix: send emoji contentType 2020-07-28 15:35:06 -05:00
Richard Ramos e91cd9e610 fix: validate mnemonic format when importing a existing key 2020-07-28 22:22:50 +02:00
Richard Ramos 83d2e274ff fix: show disconnected/connected banner on load 2020-07-24 11:04:47 -04:00
Pascal Precht e18188514a feat(profile): implement contact management
This introduces the ability to:

- list search existing contacts
- block contacts
- unblock contacts
- list blocked contacts
- remove contacts
- search and add contacts

Closes #608
2020-07-24 09:37:32 -04:00
Jonathan Rainville 9604faff08 feat: add New messages box in chat when scrolling up 2020-07-23 17:01:04 -04:00
Jonathan Rainville c73da6accf fix: fix chat list scrolling down when user was looking up the chats 2020-07-23 17:00:41 -04:00
Richard Ramos 90236e89e9 fix: set initial disconnected status 2020-07-23 15:59:55 -04:00
Jonathan Rainville 145519719b fix: fix MyProfile not having the right data 2020-07-23 15:59:18 -04:00
Richard Ramos e8d08e08cc fix: mark messages as read only if there are unviewed messages 2020-07-23 15:55:26 -04:00
Richard Ramos 9151cbe849 fix: avoid moving the channel to top when switching a channel or marking it as read 2020-07-23 15:55:26 -04:00
Richard Ramos 4b558c8c72 feat: show unread messages badge 2020-07-23 15:55:26 -04:00
Jonathan Rainville e176443ceb fix: fix chat not scrolling to bottom on load 2020-07-23 15:44:59 -04:00
Richard Ramos 7ca512661b fix: load messages on scroll up, scroll down when sending messages and hide sending status for expired messages 2020-07-22 15:58:31 -04:00
emizzle d4d532691e feat: get current network details
Adds settings API for getting current network details.

Uses the current network details to display the correct etherscan link in QML (etherscan URL is a setting in the current network settings).
2020-07-21 15:12:48 -04:00
Michael Bradley, Jr e334e80774 fix: add missing comma in src/app/chat/views/message_list.nim 2020-07-21 14:38:33 -04:00
Richard Ramos 6829a24986 fix: create images in a tmp dir 2020-07-21 14:26:20 -04:00
Richard Ramos 7115a1bed6 feat: resize images and remove EXIF data - UNSAFE 2020-07-21 14:26:20 -04:00
Richard Ramos a32a156651 feat: send images - UNSAFE -
Sends images but does not clean metadata nor limits file size
2020-07-21 14:26:20 -04:00
Richard Ramos 5351fb62dc feat: display messages with an image contenttype 2020-07-21 13:15:22 -04:00
Jonathan Rainville a9cddde37e fix: fix text selection by putting mouseArea under text
And put link click handling by the TextField itself
2020-07-21 12:00:24 -04:00
Jonathan Rainville 489ad7052f feat: add changeTranslation function 2020-07-21 11:09:00 -04:00
Richard Ramos 0278379495 fix: allow resending older expired messages 2020-07-21 10:19:12 -04:00
Richard Ramos f9335c0969 feat: retry sending messages 2020-07-21 10:19:12 -04:00
Richard Ramos 449b8c0454 fix: open first chat on load 2020-07-17 13:23:18 -04:00
Pascal Precht 1e39cf4821 feat(chat): implement mention auto complete
Closes #515
2020-07-17 12:31:20 -04:00
Richard Ramos fd88fd19d0 feat: display connected/disconnected status in the chat module 2020-07-16 11:38:00 -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
Iuri Matias 0aed036fa1 Update src/app/chat/view.nim
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2020-07-16 10:55:42 -04:00
Iuri Matias 054d3579d7 only show notifications for new messages 2020-07-16 10:55:42 -04:00
Jonathan Rainville 7d178b355e feat(chat): add image support
This commit adds support for rendering images by detecting
image URLs inside of a message and attaching them to their
corresponding message bubble.
2020-07-15 16:05:35 -04:00
emizzle 69ba3c4468 feat: add support for purchased sticker packs 2020-07-15 15:53:48 -04:00
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 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
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 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 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
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
Jonathan Rainville 0f9a79e214 feat: save and get appearance from the settings 2020-07-03 09:59:14 -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
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 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
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 649d0a2149 get collectibles when requested instead of at login 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
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 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 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 33b3c4dc97 fix: manage contacts without systemTag 2020-06-22 15:21:13 -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
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 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
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
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 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 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 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 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
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
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
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
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
Jonathan Rainville 3bab66fde9 add the account like a boss 2020-06-04 16:31:17 -04: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
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 886f58491d Handling peer summary changes (required for mailservers) 2020-06-02 16:19:44 -04:00