Summary
This new release contains only frontend changes to the Console, with little visual improvements. Some of the changes are related to maintenance, while others aim to optimize loading monitoring, memory usage, and module statuses.
Overview
Note
No new versions of the modules (smart contracts), crates or libraries included.
Changes
Here is a list of changes included in this release:
Console (Frontend)
The console UI/UX has been improved as follows:
Features
- Sort the list of satellites alphabetically to maintain consistency in the order on the launchpad.
- List only the running modules when creating monitoring and on the CLI login page. Monitoring cannot be activated for a stopped module, and a controller cannot be attached to a stopped module.
- Prevent Satellites and Orbiters from being stopped or deleted if monitoring has not been disabled.
- Cleaner navigation without
/?s=
in the URL when no satellite is selected. - Remove spinner status sync. Over time, this indication has lost meaning since other real-time values were updated without a particular loading animation.
- Create loaders for loading module-synced data (status, memory, etc.) and monitoring. This aligns and cleans up the loading process by creating a wrapper loader declared a single time around an entire view instead of being nested.
- For the same reasons, create stores to provide values within the application. These are actually duplicated to provide two ways to retrieve the information: one being updated per canister and another store being updated in bulk when all data is available. This aims to reduce the number of re-renders if necessary.
- Display ICP up to 8 decimal places (instead of a maximum of 4).
- Update the list of subnets.
- Improve and review types with more Zod schemas.
- Migrate deprecated
$page
derived store to SvelteKit/Svelte v5. - Increase
agent-js
retry attempts to 10 to address the random issueInvalid basic signature: EcdsaP256 signature could not be verified
thrown by the library or the IC after modules are created.
Fixes
- The assertion of the maximum amount that could be used was incorrectly adding the fees to the balance instead of reducing them.
- Empty subnet type incorrectly displayed.
Styles
- Improved backdrop blur effect.
- Fixed trimmed Mission Control status indicator on the launchpad when the screen is a few pixels wider than the large breakpoint.
Refactoring
- Various refactoring of naming and moving modules for readability.
- Use
fromNullishNullable
from DFINITY utils instead of a custom implementation.
Build
- Bump DFINITY libraries (
ledger-icp
,ledger-icrc
,signer
, etc.). - Bump all development dependencies (Svelte, Vite, etc.).
- Add DFINITY Zod schemas.
- Resolve SvelteKit breaking changes by adding a
svelte-kit sync
as aprepare
script. - Resolve Vitest deprecation when timeout is set as the third parameter.
Chore
- Fix typo in comments.
- Run test suites in CI when
package-lock.json
is changed as well.