26th Mar 2020
7 min read

ARK Desktop Wallet v2.9.1 — Expanded Plugin Usability

The New Desktop Wallet release is upon us. This update is focused on bringing additional functionality to the Plugin Manager and fixing recently reported issues.

You can download the ARK Desktop Wallet at https://ark.io/wallet or use the new download feature from within your current wallet (available in v2.7.0+).

With more frequent releases of the Desktop Wallet, we want to bring a constant flow of improvements to our users. With this release, we expanded the Plugin Manager’s usability by exposing more internals to developers, adding a new language plugin section and much more so let’s get to it!

What’s New?

  • Added ARK Grants icon & updated fetching plugin config — with ARK’s newest development program ARK Grants (check the link if you want to learn more on how you can get funding by developing Desktop Wallet plugins) we have now added a special icon that will be assigned to each funded plugin inside the Desktop Wallet. We have also moved the ARK Official plugin icon to match this design and be located beside the plugin title.

  • Allow plugins to add languages — adds the LANGUAGES permission which allows plugins to add new languages. All potential languages will now be available via plugins.

  • Break words if the vendor field message is large — when viewing a transaction modal with a large vendor field, the message is split into individual lines to keep the modal at a reasonable size.

  • Allow setting up default fee type — adds a new option to the profile edition page which allows the user to specify the default transaction fee type used, either LAST or AVERAGE.

  • Add scrollbar to the installed plugin list — if 5 or more plugins are installed, the wallet will add a scrollbar to the plugin list.

  • Use the left and right arrows on the keyboard to switch between the plugin images — when you are browsing specific plugin images via a slider you can use left or right arrows to move between them.

  • Add names to plugin themes — plugin themes can have an additional name property in their config, which will show up in the respective dropdowns in the app side menu and profile edition page.

  • Multipayment display modal details — multiple improvements to the multipayment view such as: align the smartbridge to the right and the label to top, add the recipient count, add the total amount, add the vendorfield and fee.

  • The bridgechain list is not updated automatically after registration — After registering a bridgechain, the bridgechain list is now auto-updated without the user having to reload or change peer for it to show.

  • Multisignature improvements — fixed issue when performing a Bridgechain Resignation, fixed issue where “sign” button was still showing for multisig transaction even though min signatures was reached and a potential bug with a check for a vote transaction type.

  • Fetch known wallets from the repository — the known wallets are now available in the Common repository.

  • Expose more UI components to plugins — developers can now use UI components since these new ones are now exposed to plugins: WalletIdenticon, SvgIcon, ModalCloseConfirmation, ModalConfirmation and ModalWindow.

  • Exposing save/open dialogs to plugins —the electron_writeFile and electron_readFile methods are accessible for the plugin system. They are made accessible by adding the DIALOGS permission: walletApi.dialogs.save(raw, filename, filters) andwalletApi.dialogs.open(filters).

  • Replacing pricing API with Platform SDK— we replaced the pricing APIs with a newly developed Platform SDK package, which will be used to share things across our applications.

  • Try fetching local plugin images first — instead of fetching the preview images from the defined URLs directly, try to get the images from a default path first (images/).

  • Added scope to plugin routes and menu items — scopes the plugin routes under the plugin’s ID. Navigation through the ROUTES permission can still be done without using the scope.

  • Expose profiles themes to plugins — in order to display graphics in the appropriate color scheme (dark / light) plugins need information about the currently defined theme.

  • Allow all global plugin options to be retrieved at once — refactors the storage sandboxes getOptions method so that all global options can be retrieved.

  • Allow plugins to clear all options at once — extends the storage sandbox by a clear(global = false) method which allows plugins to clear their stored data at once.

  • Adjusted business and bridgechain transaction form validation — we added better checks and fixed some validation errors when trying to register your own business or bridgechain on APN.

  • Fix back button after wallet reload — the back button wasn’t working properly if you reloaded wallet.

  • Don’t manipulate raw transaction when it is stored — fixed a problem where resending an expired transaction fails while still showing a success message.

  • Update Mac menu titles — unified the menu titles across the platforms.

  • Exposing current peer to plugins and allow options in requests — the current peer can be exposed through the wallet API to plugins and can be retrieved with walletApi.peers.getCurrent(). It also refactors the get / post methods to accept an options object, which for example allows passing in query parameters instead of having to build the URL.

  • Exposing peer discovery to plugins — exposing an instance of the peer discovery to the plugin system. The instance is created by leveraging the getPeerDiscovery dispatch method from the peer store module in order to not duplicate the instantiation logic.

  • Exposing the BigNumber plugin and Datetime service to plugins — we added new plugin permission, UTILS, which exposes the BigNumber plugin and the datetime service which can be accessed as walletApi.utils.bigNumber and walletApi.utils.datetime respectively.

  • Added ‘watch’ to allowed component keys — Allows the use of watchers in plugin components.

  • Allow hiding cancel button of confirmation modal — under certain circumstances it makes sense to have a confirmation modal with only one option. This PR adds a new prop to the ModalConfirmation component which allows hiding the cancel button.

  • Include typegroup when setting the last fee — last fees stored are grouped by type group, thus stopping magistrate transactions from overriding the last fees of standard transactions.

  • Wait for next tick when focusing password/passphrase input — when toggling the visibility of the passphrase and password inputs the focus is set before the component is fully rendered, thus causing the focus to be set at the beginning of the input and not at the end.

Changes In Numbers

Since the previous release:

  • 11 different developers contributing to the ARK Desktop Wallet.
  • 70 new commits to the ARK Desktop Wallet.
  • 179 files changed in the ARK Desktop Wallet.
  • 6,978 lines of code added to the ARK Desktop Wallet.
  • 1,804 lines of code deleted from the ARK Desktop Wallet.

Hashes for v2.9.1 of the Desktop Wallet (SHA256)

  • Linux (ark-desktop-wallet-linux-x64–2.9.1.tar.gz) 708e52ee9eea5b21390bebd18d278a3c6f7579bd0d3d168f4c375a0984b24778
  • MacOS (ark-desktop-wallet-mac-2.9.1.dmg) fe428a1d7e89fcaa870c70db9a19de93bd9def66460e03eef0f80500f7d72669
  • Ubuntu (ark-desktop-wallet-linux-amd64–2.9.1.deb) 06537ff90663560d82b710bb28d3826755924caf75b8d5ce5ddca271505ea7f1
  • Windows X86 & X64 (ark-desktop-wallet-win-2.9.1.exe) b73c6ef213f7ecf250e8ccb52f9e1171d51f090469b1b8aa1f0aeae1d1c94239
  • Linux-AppImage***(ark-desktop-wallet-linux-x86_64–2.9.1.AppImage)*** c5d6f083630fcb9f1910714dac567678359c7c6563baa01b146e8244f0623950

I found a bug / an issue — what do I do?

Please open an issue with all of the details on ARK Desktop Wallet Issues page.

I want to help with development — what do I do?

Please open a pull request , and don’t forget, we are also running Github development bounty , so you can earn some extra ARK.

Share:

Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.



An Ecosystem of Developers

Join us on our journey to create the future of Web3.