107 Commits

Author SHA1 Message Date
Andrei Smirnov
5d837c450c Fixed issues #2560, #2795, #2796. 2021-07-02 08:51:14 -04:00
Jonathan Rainville
702f52f6ed fix(browser): fix browser undefined model 2021-06-22 12:59:11 -04:00
Iuri Matias
599bf731fb refactor: extract 'channels' to its own file 2021-06-18 12:12:01 -04:00
Iuri Matias
6bcdb9ca54 refactor wallet views
add getSettings methods to src/status

fix issue with calling getSettings; document issue

remove most direct references to libstatus; document some common issues

remove most references to libstatus wallet

add mailserver layer to status lib; remove references to libstatus mailservers

remove libstatus accounts references

move types out of libstatus; remove libstatus types references

remove libstatus browser references

refactor libstatus utils references

remove more references to libstatus stickers

remove references to libstatus constants from src/app

remove more libstatus references from src/app

refactor token_list usage of libstatus

refactor stickers usage of libstatus

refactor chat usage of libstatus

remove libstatus references from the wallet view

remove logic from ens manager view

fix issue with import & namespace conflict

remove unnecessary imports

refactor provider view to not depend on libstatus

refactor provider view

refactor: move accounts specific code to its own section

fix account selection

move collectibles to their own module

update references to wallet transactions

refactor: move gas methods to their own file

refactor: extract tokens into their own file

refactor: extract ens to its own file

refactor: extract dappbrowser code to its own file

refactor: extract history related code to its own file

refactor: extract balance to its own file

refactor: extract utils to its own file

clean up wallet imports

fix: identicon for transaction commands
Fixes #2533
2021-06-17 16:11:01 -04:00
Eric Mastro
0b0a542828 fix: loading of wallet history, display of tx datetime
Fixes: #2539.

Transaction history is now correctly being fetched from status-go as per mobile. Firstly, when accounts are added (ie as watch accounts), `wallet_checkRecentHistory` must be called first so that the status-go db is populated. After that, `wallet_getTransfersByAddress` can be called. On app load, when we run the `initBalance` logic, we are calling `wallet_getTransfersByAddress`, asking for the last 20 transactions with the `loadMore` parameter set to false. When the user navigates to the Wallet > History tab, they can then click “Load More” to fetch more transactions from status-go. Once the number of transactions returns false below the expected amount, the remaining transactions to fetch have been exhausted and the “Load More” button is disabled.

feat: add non-archival node warning to the UI to indicate to the user that they may not have complete results

feat: set active account to the added account
Once an account is added to the wallet, that newly added account is selected as the active account.

1. The “load more” button is active when new transactions that aren’t already displayed are returned from `wallet_getTransfersByAddress`. This is the only way to enable or disable the “Load more” button as status-go is not able to return information regarding whether or not there are more transactions to be fetched. The downside to this is that lets say the last page of transactions is returned, but there are no more pages left. These returned txs are not currently displayed, so the “load more” button will still be enabled. However, the next click of the button will return 0 results, thus disabling it. It’s effectively an extra click to get to the disabled state.
2. For more information on how the `toBlock` parameter operates for the `wallet_getTransfersForAddress` RPC call, see https://notes.status.im/XmENTrVRRaqhwE4gK0m8Mg?view.
2021-06-10 10:47:03 +10:00
Richard Ramos
5895495bc3 Add missing accountsChanged event to web3 provider
Fixes #2423
2021-05-18 15:24:41 -04:00
Eric Mastro
ee1287b71d fix: prevent crash on generate account wrong password
Fixes #2448.

Currently, if a wrong password is entered when generating a wallet account, the app will crash due to attempting to decode a `GeneratedAccount ` from an rpc response containing only an error.

With this PR, we are detecting if an error is returned in the response, and if so, raising a StatusGoException. This exception is caught in the call chain, and translated in to a `StatusGoError` which is serialised and sent to the QML view, where it is parsed and displayed as an invalid password error in the input box.

refactor: remove string return values as error messages in wallet model
In the wallet model, we were passing back empty strings for no error, or an error as a string. This is not only confusing, but does not benefit from leaning on the compiler and strong types. One has to read the entire code to understand if a string result is returned when there is no error instead of implicitly being able to understand there is no return type.

To alleviate this, account creation fundtions that do not need to return a value have been changed to a void return type, and raise `StatusGoException` if there is an error encountered. This can be caught in the call chain and used as necessary (ie to pass to QML).

refactor: move invalid password string detection to Utils
Currently, we are reading returned view model values and checking to see if they include a known string from Status Go that means there was an invalid password used. This string was placed in the codebased in mulitple locations.

This PR moves the string check to a Utils function and updates all the references to use the function in Utils.
2021-05-14 10:27:37 -04:00
Richard Ramos
7ee11e27e2 fix: can't send transactions on browser
Fixes #2433
Fixes #2422
2021-05-03 14:13:41 -04:00
Pascal Precht
aa8d9a7f48 feat: introduce StatusLoadingIndicator component
A `StatusIcon` that rotates infinitely and can be used for indicating
pending states.

Usage:

```
StatusLoadingIndicator {
    width: 24 // default: 17
    height: 24 // default: 17
    color: "red" // default: loading asset color
}
```

This also removes `LoadingImage` component from `ui/shared`.

Closes #2360
2021-04-27 14:56:09 -04:00
B.Melnik
e211acae9b feat: process activeFocusChange event and select all in address line in Browser 2021-04-22 09:58:24 -04:00
B.Melnik
9dc51b82fd feat: add processing CTRL + W to Browser 2021-04-20 12:59:59 -04:00
B.Melnik
35b8699f9f feat: add https protocol to urls without protocol in Browser 2021-04-20 12:06:49 -04:00
Iuri Matias
9621230e6d update default settings 2021-03-16 16:51:14 -04:00
Iuri Matias
9c404a1047 show browser favourites bar by default 2021-03-16 16:51:14 -04:00
Jonathan Rainville
0e699cac65 chore: run translation scripts 2021-02-18 15:23:58 -05:00
Pascal Precht
62183fb414 refactor: replace StyledButton with StatusButton
There are some inconcistencies in the application when it comes to
button UI elements because we're using `StatusButton` in some places,
in other we use `StyledButton`. The latter is the original
component we've created when we started out building Status
Desktop, but is planned to be removed entirely in favour of
`StatusButton`.

This commit replaces the usages of `StyledButton` with `StatusButton`
2021-02-02 10:57:42 +01:00
Jonathan Rainville
e459d4dbd4 fix: fix PopupModal to not show a footer at all if there is no children 2021-01-13 14:32:35 -05:00
Jonathan Rainville
71477d0496 feat: implement redirect to block explorer if settings is not none 2021-01-05 11:24:31 -05:00
Jonathan Rainville
ac4404c565 feat: implement using the wanted search engine in the browser 2021-01-05 11:24:31 -05:00
Jonathan Rainville
6c2836ded1 feat: use browserHomepage settting as the browsers default page 2021-01-05 11:24:31 -05:00
Jonathan Rainville
89da5dd923 feat: open links in user request browser with modal 2021-01-04 15:29:23 -05:00
Jonathan Rainville
1ead1c3db5 feat: show favorites bar when setting is enabled 2020-12-30 16:52:44 -05:00
Richard Ramos
3258ac8f9c feat: disconnect accounts in browser 2020-12-17 16:44:50 -05:00
Richard Ramos
c2f2b7e6cd fix: default value for trx data 2020-12-11 14:04:25 -05:00
Richard Ramos
e37cba7edd fix: etherscan link 2020-12-11 14:04:16 -05:00
Richard Ramos
a0fcb0e4c7 fix: resolve ens addresses in bookmarks 2020-12-09 14:19:49 -05:00
Richard Ramos
b0829a4615 fix: account selector in browser 2020-12-09 14:19:26 -05:00
Richard Ramos
ae30d04010 refactor: ProfileView 2020-12-08 17:01:22 -05:00
Richard Ramos
426fe504b4 refactor: move generateIdenticon to utils 2020-12-08 17:01:14 -05:00
RichΛrd
ad11305b98 Update ui/app/AppLayouts/Browser/BrowserLayout.qml
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2020-12-02 14:43:50 -05:00
Richard Ramos
3e1a1c9ca9 fix: disable file:// browsing 2020-12-02 14:43:50 -05:00
Jonathan Rainville
6e7bb6ba1c code review 2020-12-01 14:07:31 -05:00
Jonathan Rainville
724b73072f refactor: get the bookmark image from status-go instead 2020-12-01 14:07:31 -05:00
Jonathan Rainville
ea436e79c6 feat: put favicon urls in the settings when we fetch them 2020-12-01 14:07:31 -05:00
Jonathan Rainville
58db0f144d feat: add menu for the bookmark butons 2020-12-01 14:07:31 -05:00
Jonathan Rainville
f7cc0cf78d feat: add popup menu to add favorites on sites themselves 2020-12-01 14:07:31 -05:00
Jonathan Rainville
ff0a96c02b feat: add the Add favorite popup 2020-12-01 14:07:31 -05:00
Jonathan Rainville
a13f1f2043 feat: add basic bookmark support 2020-12-01 14:07:31 -05:00
Richard Ramos
ff6ceb840a fix: remove reset 2020-11-26 13:25:07 -05:00
Richard Ramos
2f25ce5e80 fix: code review 2020-11-26 13:25:07 -05:00
Richard Ramos
b996d860d1 fix: update design for signing messages in browser 2020-11-26 13:25:07 -05:00
Richard Ramos
9aedc5cd1c fix: code review 2020-11-26 13:23:31 -05:00
Richard Ramos
3d72e18fb9 fix: design 2020-11-26 13:23:31 -05:00
Richard Ramos
913a7e5b5d feat: message dialogs 2020-11-26 13:23:31 -05:00
hydrogen
388b57cb76 fix: remove already fixed TODO comment 2020-11-26 11:18:50 -05:00
hydrogen
8ca3a9b899 feat: make download view a browser tab instead
fixes https://github.com/status-im/nim-status-client/issues/1232
This PR repurposes the DownloadView into a Loader component of a browser tab and is displayed when:

1. a new downloads tab is opened or
2. a new tab with the link status://downloads or finally when
3. the ShowAll button has been clicked.

You can open any number of Downloads tabs

When you open a new tab and type in status://downloads the title will remain as 'New Tab'

fix: add localization
2020-11-26 11:18:50 -05:00
emizzle
e0e1487643 refactor: replace transaction modal reset functionality
The transaction component's `reset` functionality was meant ot reset a form when the modal was closed. It was difficult to manage and added extra overhead for each additional transaction modal created.

Instead of using reset functions, we can use Loaders to load and destroy the modal's as they are opened and closed. We do not need to keep them in memory and then also reset their functions. It creates a smaller memory footprint to destroy the object and reload on open.

feat: load gas prediction prices asynchronously
2020-11-26 11:17:24 -05:00
Richard Ramos
d2ec9854ad fix: transaction dialog not showing up due to missing slot 2020-11-26 10:50:47 -04:00
Richard Ramos
6f3749d787 fix: compass should not display over devtools and webpages can request focus 2020-11-19 17:00:07 -05:00
Richard Ramos
1122b33ff8 feat: support Swarm and IPNS ENS contenthashes 2020-11-05 10:55:13 -05:00