Releases: polkadot-cloud/polkadot-staking-dashboard
Releases · polkadot-cloud/polkadot-staking-dashboard
v1.0.9.2
v1.0.9.1
Fixes
- Fixes an issue where unclaimed payout syncing was hanging when switching to another account with unclaimed payouts.
- Fixes an issue where zero balance unclaimed payouts were being displayed.
- Removes "Claim All" from the Claim Payout modal after a discovery that it can quickly exceed block limits with a large transaction.
- Fixes an issue where the modal height was not adjusting correctly in Safari and Firefox.
- Brings back scrollbars for the modal.
- Fixes translation errors.
v1.0.9
Features
- Unclaimed payout UI has been introduced to the Nominate page, with optimisations to erasStakers and validator entry data fetching:
- Validator entries are now cached in local storage, and refresh per era.
erasStakers
are now cached for the current era, and refresh per era.- Added
Payouts
context, fetch up toMaxSupportedPayoutEras
unclaimed payouts per account. - Pending Payouts stat replaces Controller Account stat on Nominate page.
- Ability to claim pending payouts via a new
ClaimPayouts
modal, accessible with aClaim
button next to pending payouts. - Pool member points are now being converted to pool balance and displayed in the ManageBond card on the Pools page.
- Account list has been expanded with a 2-row design, with free balance showing on the second row.
- Odometer has been re-engineered and replaced, and now lives at
@polkadot-cloud/react
. The odometer is now being used for more balance stats throughout the main page UI. - Network token symbols are now being used on main page UI alongside balances in place of the text-based symbol.
- All Pools list has been simplified, counters have been added to the Pools page tabs.
- Update Reserve button has moved to above the statistic on Overview page.
- Polkawatch has been added as another resource in Overview -> balances.
- Overlay transitions have been revised with improved in and out transitions.
System
- Added a
QRCode
component to library, discontinuing usage of the@polkadot/react-qr
dependency. - Updated and migrated styled components to version 6.
- Updated and migrated prettier to version 3.
- Moved styled component props to transient props where not valid HTML attributes.
- Began using the
@polkadot-cloud/core
package for true source of app themes. - Began using the
@polkadot-cloud/community
package for true source of extensions and validator operator community. Removed the corresponding data from codebase. - Introduced a
useEffectIgnoreInitial
hook to reduce unneeded initial renders of some components. - Moved modal wrappers to
@polkadot-cloud/react
. - Introduced a new full-screen
canvas
overlay as an additional overlay tomodal
. - Unified the overlay backgrounds into 1 component that is used for both modal and canvas, with a dynamic blur radius that adjusts depending on which form of overlay is used.
- Modal and canvas were bundled into a
@polkadot-cloud/react
component:- UI component at
@polkadot-cloud/react/Overlay
. - Provider at
@polkadot-cloud/react/OverlayProvider
. useOverlay
hook at@polkadot-cloud/react/hooks
.
- UI component at
- ESLint rules
consistent-return
,@typescript-eslint/ban-ts-comment
,no-shadow
andno-underscore-dangle
have been activated, with fixed codebase. - Github pages deployment has been automated with Github CI.
Connect
context:importExternalAccounts
,importVaultAccounts
andimportLedgerAccounts
functions have been unified into oneimportLocalAccounts
function, with misc syntax improvements across the context.- The
useNominationStatus
hook has been improved,getNominationStatus
has been removed fromStaking
context. - The
Validator
context has been refactored to more efficiently fetch validator metadata (such as identities), and opts to fetch data rather than subscribe to it where applicable. - Favorite validators functionalities have been separated into a new
FavoriteValidators
context. Account
andPoolAccount
UI components have been unified underlibrary/Account
.- A new
PolkadotIcon
component hosted on@polkadot-cloud/react
is now being used in place ofIdenticon
. - Uses a new
ellipsisFn
in place ofclipAddress
.clipAddress
has been deprecated.
Fixes
- Fixed some scenarios where the modal would not resize upon error message updates.
- Misc styling improvements, removal of unused / deprecated CSS and styled components.
- Fixed an issue where the modal did not increase in height on window resizing after firstly decreasing in height.
- Fixed the unwanted behaviour of a scrollbar appearing on some browsers in the side menu.
v1.0.8.3
v1.0.8.2
This release is a maintenance release that fixes a number of bugs, and by default now disables pool member syncing from the page load, and instead asynchronously fetches pages of pool members when the Members
tab is visited.
Changelog
- Transient props have been used for styled components where it makes sense.
- Styled components has been updated to version 6.
- Some unused styles have been removed.
- Fixed an issue where claim permission was not enabled on all networks.
bond
andsetController
calls have been fixed for runtime 0.9.43 on Kusama.- Added
usePoolCommission
hook for capping max commission to global maximum automatically. - Added chain state (chain name version, ss58 format) to API context - to be expanded upon in a future update.
- Gets pool members and pool member count from Subscan by default, preventing all pool members to be synced on page load.
- Fixed an issue where Commission change rate's
minDelay
would break. - Fixed an issue where the updated pool commission configs (now
None
formaxPools
) would cause an error. - Dockerfile has been added for container support.
- Identicon and QR Code components are now a part of staking dashboard library, and no longer external packages.
v1.0.8.1
v1.0.8
Features
- Polkadot Vault has been added as an additional Hardware extension. Users can now import accounts and sign transactions from Polkadot Vault.
- Nomination pool commission UI has been introduced for Kusama and Westend. Users can configure their commission rate & payee, maximum commission and change rate settings from the Manage Pool modal.
- Nomination pool commission can be claimed on Westend and Kusama from the Manage Pool modal.
Pool members can now configure their claim permission, allowing other accounts to compound and/or withdraw rewards on their behalf. - Tabs have been introduced in the Connect modal to account for Extensions, Read Only and Proxies.
The Accounts button (top right of app) is now accompanied by a connect icon, allowing users to open the Connect modal directly. - Connect modal now allows users to declare proxy delegates by providing the delegator address.
- The staking status card on Overview has been redesigned to maintain its height and adopt a ⅓ and ⅔ design to fall in line with the rest of the page.
- Tips now include page links.
- Introduced logic to not reserve an account’s existential deposit if account locks were already in place.
- Added a fee reserve feature, accessible from the Overview page, allowing users to reserve additional free balance on top of their existential deposit to pay transaction fees. This reserve is applied to bonding and fast unstake to prevent funds leaving the user’s account.
- Fonts have been revised, with 3 distinct weights for Inter and a bolder Unbounded font, now in the smaller woff2 format. In addition, spacing and the general style guide of the dashboard has been iterated, improving on the overall aesthetics of the app.
- PolkaGate was added as a supported extension.
- Dark mode improvements.
- Ledger transactions are now enabled for proxied batch calls.
System
- Substrate Connect is now dynamically imported, and is only loaded when users activate the light client.
- The dashboard bundle size has been decreased by 70%, dramatically increasing page load time.
- Account locks are now deducted from the reserve balance in the dashboard, so no reserve is needed if your account locks cover the existential deposit.
system.accounts
data structure has been amended for the latest runtime upgrade for Westend and Kusama.staking.bond
andstaking.setController
have been amended for the latest runtime upgrade for Westend.- Using more core-ui components from
@polkadotcloud/core-ui
. - Removed unneeded types from iterators.
- Syntax tidy-up for Staking and Validators contexts.
GraphWrapper
andCardWrapper
have been combined and moved to Dashboard UI, along with hardware import elements, - and additional miscellaneous elements.- When a proxy account is active,
proxy.proxy
now wraps each call within a batch call, making Ledger proxied batch calls possible. - Added an additional Ledger feedback item for when nested calls are not supported.
Fixes
- Fixed an issue where non-authorised web extensions were not providing correct feedback when users attempted to connect to it.
- Fixed an issue where imported Ledger accounts acting as a controller account were treated as not imported.
- Fixed an issue where read-only proxies were being displayed in the proxies list.
- Fixed an issue where transactions requiring manual signing (Ledger, Vault) that were proxy accounts were not displaying the Sign button.
v1.0.7
Features
- Proxy account support has been introduced to the dashboard!
Any
andStaking
proxies are now recognised in the dashboard.- View your proxies from the account selection modal, and find them below the delegator account.
- Both the delegator and proxy account need to be imported into the dashboard. A future update will allow users to manually declare a proxy account without the need of the delegator being imported.
- A Controller account deprecation prompt is shown for nominators who have a different controller account to their stash account, with one-click access to update the controller to the stash account.
- Account selection modal groups accounts that are both nominating and in a pool, preventing duplicate list entries.
- Added help items to Ledger feedback.
- Favourite validators have been moved to a tab within the Validators page.
- Fearless wallet has been added as an additional extension.
- Miscellaneous theming improvements.
- A pulse animation has been added to active transaction submission buttons.
System
- Migrated from
lottie-react
and the Lottie JSON format to the dot-lottie player and.lottie
format, shrinking bundle size by ~10%. - Migrated the app's remaining structural wrappers to
@polkadotcloud/core-ui
. - Deprecated
src/utils.ts
in favour of@polkadotcloud/utils
. - Deprecated
che-react-number-easing
in favour of@polkadotcloud/react-odometer
, that introduces smooth number animations to stat boxes. - Added a
totalAdditionalBond
property to transfer options for nominating and pools. - Ledger feedback has been simplified.
- No longer calculates pending pool rewards in-app, but rather relies on the
nominationPoolsApi.pendingRewards
runtime call. - Removed state objects for unsubscribe objects, that are now only using a ref.
- Mobile font size has been made
0.5px
larger.
Fixes
- Fixed an issue on carousel modals that were resizing incorrectly.
- Fixed an issue where pools were not taking into consideration account locks when displaying the maximum possible bond amount.
- Fixed an issue where a pool's outstanding reward balance would be preloading if it remained at zero.
- Fixed button spacing via the latest
@polkadotcloud/core-ui
package update. - Fixed an issue where the maximum number of nominees could not be added to a nomination set.
- Fixed an issue where font weights were too bold on Safari.
v1.0.6
Features
- BETA: Native Ledger support has been introduced to the dashboard! Import your public keys into the dashboard and sign extrinsics directly from Ledger Stax, Nano X, Nano S Plus and Nano S.
- Fully featured: Every extrinsic in staking dashboard works with Ledger.
- No web extension required.
- Even works with light-client enabled.
- Supported on Polkadot and Kusama networks with the Polkadot and Kusama Ledger apps respectively. The Kusama Ledger app is considered experimental, and is treated as experimental in the dashboard.
- Limited to Google Chrome / Brave browsers over a USB (HID) connection.
- Extension UI has been revamped with larger icons, 2 items per row, and links to each extension’s website.
- New Dark mode theming with improved colour balance and branding.
- Substrate Connect support has been re-enabled, speeding up light client syncing when using the Substrate Connect extension.
- An additional
All
pools tab item has been added to the pools list, allowing users to view inactive pools. - The design of the staking status card on Overview has been simplified.
System
- Migrated from CRA to a Vite + React & Typescript config.
- Webpack config has been replaced with Vite plugins.
- Syntax has been refactored to account for the Vite toolchain, ranging from type and worker import syntax, environment variables, and cjs formatting for node scripts.
- A new visualizer script summons the
vite-bundle-visualizer
plugin, offering dashboard bundle analysis. Run withyarn visualizer
. - Vitest is now being used to run existing dashboard tests.
downshift
has been deprecated and removed as a dependency.- The
Balances
context has been split intoAccounts/Balances
andAccounts/Identities
. TheAccount
context has been renamed toIdentities
. - A new
Accounts/Proxies
context has been created to sync imported account proxies. This currently has no impact on the rest of the dashboard. @rossbulat/polkadot-dashboard-ui
has been deprecated in favour ofpolkadotcloud/dashboard-ui
.- Dashboard now uses
core/Entry
fromdashboard-ui
and discontinuesEntryWrapper
. - Github CI updates
- Added Dependabot auto-merging of minor and patch releases.
- Mergify has been deprecated in favour of native auto merge support.
Fixes
- Fixed an issue that sometimes caused an identity to not update in validator lists once they were synced.
- Fixed an issue where pool claims were not displaying in large payout lists.
- Fixed an issue where more validators were being displayed on a page than was intended.
- Fixed an issue where payouts were not being capped early enough for larger lists of payouts.
- The Payouts graph title on the Payouts page is now persisted, and does not reinitialise on every page visit.
- Fixed an issue where the
UpdatePayee
modal would emit an error boundary when an invalid account was given. - Fixed an issue where the syncing graphic was not displaying on the pools page when
poolMembers
were not yet fetched. - 10 day averages are now accurately calculated from the first payout in payout graphs if enough payout history exists.
v1.0.5
Features
- Unclaimed rewards are now displayed as “pending” rewards and represented by transparent bars in payout bar graphs.
- Unlock chunks contain a live countdown of time left before withdrawal is enabled.
- Removes controller accounts from accounts list, and improves presentation.
- Light client has been re-enabled as a connection option.
- Added additional validator operators in the community section.
System
- Introduced
Array.at
syntax where applicable. - All network metrics that were numbers have been converted to
BigNumber
. - Minimum active bond has been replaced with minimum active stake directly from API storage.
totalStake
andminActiveBond
have been removed from the staking worker.- Allows countdowns to take any arbitrary start date.
- Introduced
ButtonHelp
from UI library, replacingOpenHelpIcon
.
Fixes
- Fixes an issue where the payouts graph title was incorrectly displaying None for pool rewards.
- Fixes an issue where pool claims sometimes did not display in the payouts list.
- Fixes an issue where meta batch state was not being updated correctly.
- Fixes an issue where time-left displays would jump forward a matter of seconds due to re-renders resetting the start date.
- Fixes an issue where deleting a multi-character search term from the search bar resulted in no results being displayed.
- All payouts are now rendered in one state update and only one page is fetched per payout type, preventing failed Subscan requests or unsmooth re-renders.