Status Desktop client made in Nim & QML https://status.app
Go to file
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
ci ci: scripts/sign-windows-bin.sh for signing Windows binaries 2021-04-28 18:19:17 +02:00
devuser_guide document communities 2021-05-13 16:37:46 -04:00
docs adjust readme 2021-05-07 16:32:41 -04:00
scripts ci: scripts/sign-windows-bin.sh for signing Windows binaries 2021-04-28 18:19:17 +02:00
src fix: prevent crash on generate account wrong password 2021-05-14 10:27:37 -04:00
ui fix: prevent crash on generate account wrong password 2021-05-14 10:27:37 -04:00
vendor chore: update status-go 2021-04-29 12:30:05 -04:00
.gitignore feat: command-line option can be used to specify app's data directory 2021-04-26 09:40:58 -05:00
.gitmodules chore: remove wrong git submodule 2021-05-04 15:40:31 -04:00
.npmrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
.yarnrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
AppRun build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
Info.dev.plist build: modify run logic for macOS dev builds so notifications work 2021-05-03 14:06:14 -04:00
Info.plist chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
LICENSE.md docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
Makefile build: modify run logic for macOS dev builds so notifications work 2021-05-03 14:06:14 -04:00
QtWebEngineProcess.plist chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
README.md move building section to docs section; use readme from docs/readme 2020-06-22 10:34:07 -04:00
VERSION update to 0.1.0-beta.9 2021-04-22 12:49:11 -04:00
build-linux.sh build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
config.nims build: fetch macOS Homebrew bottles from GitHub Packages instead of bintray 2021-04-14 15:37:53 -04:00
docker-linux-app-image.sh build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
env.sh feat: get collectibles from the contracts and their respective apis 2020-06-18 10:55:48 -04:00
fleets.json update mailserver fleet port to 443; 30504 was causing issues for some people 2020-12-09 16:55:59 -05:00
nim-status.desktop build: use same container as Jenkins CI for local packaged builds on Linux 2021-04-27 13:49:46 -05:00
nim.cfg build system refactoring 2020-06-08 13:07:25 -04:00
nim_status_client.nimble docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
package-lock.json chore: bump package-lock.json 2021-01-25 16:04:13 -06:00
package.json fix: inside packaged macOS builds 'OPEN ME.webloc' should be a file not a symlink 2021-01-22 14:10:09 -05:00
status-dev.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status-dev.svg build: use a different colored app icon and a non-default STATUS_PORT for dev builds 2020-12-18 15:37:06 -05:00
status-macos-dev.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status-macos.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status.ico add status icon 2020-05-11 16:41:45 -04:00
status.svg chore: update status.svg 2020-09-18 08:42:49 -05:00
windows-install.txt build: implement packaging steps for the Windows build 2020-07-17 13:57:32 -05:00

README.md