Skip to content

v12.2: Send and receive gifts (red packet); Major user experience improvement for creating a new wallet; Many bug fixes

Compare
Choose a tag to compare
@polymorpher polymorpher released this 19 Sep 00:45
· 1581 commits to master since this release

New features:

Major improvements

Wallet creation, main screen

  • Eliminated all unnecessary text
  • QR Code now looks like a button on mobile
  • Added clear instructions for mobile users to tap the button
  • The screen no longer zooms into little boxes when the user selects / types the authenticator code
  • Made it clear that authenticator code should be copied, not memorized and typed, from authenticators (latter of which often causes expiry)
  • Added a "Paste" button for mobile users to easily paste the code from authenticator

Wallet creation, deployment screen (step 2)

  • Hided all text setting and explaining fund recovery address. They are visible only after the user clicks "Set a fund recovery address?"
  • Fund recovery address is now always set to 1wallet treasury by default (which can be changed later), unless otherwise specified, instead of a previously created wallet (if available)
  • Substantially simplified the language explaining what fund recovery address is (less than 3 lines on mobile)
  • Substantially simplified the language explaining 1wallet treasury (1 simple paragraph)

Wallet creation, post-creation

  • Warning messages such as "your wallet is outdated" no longer briefly appears then disappears when new wallet is created
  • Address is displayed in full in the one-time box which reminds the user to save their address (this will be changed to QR code image in the upcoming version)

Miscellaneous

  • Improved mobile and desktop component spacing and alignment
  • Maximum spending amount now takes into account of existing spend for the current time period (e.g. how much is already spent today)
  • Address input now shows addresses' names or labels correctly after they are selected
  • Progress bar now shows up faster when sending tokens (previously only showing up on step 2, commit)
  • Renamed local testing network to "Ganache"

Critical bug fixes

  • Fixed a bug where Android users may see a blank screen after the wallet is created (caused by .replaceAll not supported by older Chrome browser versions)

Frontend Infrastructure

  • Added support for "temporary wallet". They are not count towards total balance computation, are not be displayed on wallet listing screen, and are automatically deleted after pre-set expiration time. They are identified by a temp flag
  • Created exportable components for NFT grid items, NFT loader, NFT metadata loader, NFT balance auto-updater
  • Created components for WalletCreationProgress
  • Created components for Gift and Unwrap (red packet)
  • Added "merge mode" for updating wallet state. They are identified by a _merge field in the payload. They are ideal for use cases which multiple parts of a wallet may be loaded asynchronously
  • Made frontend loading flow fail-safe across many components even when wallet information fails to load due to various unexpected errors

Wallet Contract

  • lastOperationTime is now publicly accessible
  • getNonce is now consistently computed using uint32 in all steps

Core library

  • Call data can now be encoded correctly for empty calls (e.g. sending funds via .call(""))
  • Added multi-call encoder

image

image