ENS Logo

ENS Web Update April 2024

April 11th 20246 min read
ENS Web Update April 2024

Web Update August 2023 - April 2024

It's been a while since we published a blog update. Did you miss us?

We've been hard at work since our last update in August 2023. Our blog may have taken a hiatus, but the new features kept coming so this will be a long post. Grab your favorite caffeinated beverage and get comfortable.

New Blog

Some of our community members asked for a central place to get the latest news about ENS. Message received.

View our new blog at blog.ens.domains.

New Documentation Site

The ENS Labs team has finally put the finishing touches on our new documentation site. Take some time and review it. We've even included some of our recent video workshops.

View our new documentation site, and read our last post about all the features and enhancements.

Gasless DNSSEC Support

We added support for gasless DNS names, and built a new flow for importing them. This means they'll show up through the search bar in the homepage with the "imported" tag, and they're also viewable as profiles.

  • The old way of importing is still around, and may still be desirable for some users.
  • The main difference is that the old method involved issuing a name onchain, whereas gasless DNS names rely on offchain gateways for resolution.

In the new flow, you're presented with two options for importing: Offchain or Onchain. The app provides instructions for each option based on your selection. See example screenshot below.

New Facelift for ens.domains

We added a lot of subtle changes to the font, icons, copy, and even included a new vibrant offchain diagram.

View our new ens.domains site.

Ownership Tab

The new ownership tab has been designed to make it as clear as possible to see the different accounts involved in the ownership of a name, along with registration/expiration dates.

Quality of Life Improvements

The search functionality is now case-insensitive. See screenshot below.

Etherscan

The Etherscan link in the upper right-hand corner on the name/address page has been added.

Testnet

A Testnet indication banner has been added.

Address Records

Profile icons for the Ethereum L2 address records have been added and offer a splash of eye candy. Icons added are below:

  • Arbitrum
  • Base
  • Linea
  • Optimism
  • Starknet
  • zkSync
  • Zora

More Record Data

We added contenthash & email records to the profile page.

Security Issue - Search Autocomplete

We had previously been adding ".ETH" on the end of names typed into the search bar in the ENS app. This was a very mild form of autocomplete that was a quality of life improvement for the user. However, this turned into a potential security risk.

If someone registers a target's ETH address as an ENS name (for example "0xb794f5ea0ba39494ce839613fffba74279579268.eth"), and enters their address into a search bar, the top result displays their hex address with ".eth" on the end. This can potentially lead someone to sending crypto to a scammer's ENS name.

This feature was promptly removed within a couple of hours of ENS testing and finding the bug.

Web3 Starter Kit: Next.js

Have you ever wanted to quickly build and deploy a new Web3 project? Well, we've created a web3 starter kit just for that which uses the same technology stack as the Manager App. View an example project here.

Evolving Our End-to-End Testing Infrastructure

End-to-End (E2E) testing is probably the biggest pain point in front-end development, given that it involves spinning up a browser which is a relatively heavy piece of software. Don't forget the need to spin up other required supporting infrastructure such as databases.

This is complicated even further in Web3 as we have wallet interactions with the blockchain to add into the mix. They tend to be notoriously flaky and it can be hard to keep tests isolated. To achieve this, you must spin-up a new environment for every test run. All of these things add up and slow down the time between the code being ready and it getting deployed into production.

So we decided to take a step back, and investigate our approach to how we write our tests.

Based on our research, we chose to transition from Cypress to Playwright. This has resulted in huge improvement in many aspects of our testing process, from reducing the time it takes for the tests to run, to making it easier for our developers to write and maintain them. This should lead to us being able to safely release more features, or at the very least it will save us some gray hairs!

Minor Updates

TopicUpdate
Avatar imageImproved avatar image load times.
Browser walletWe enhanced handling of users with multiple browser wallets installed. We also added support for Phantom wallet.
Earni.fiEarni.fi has become Bankless with copy and link updates made.
LanguageChinese translation has been updated (thank you liubb:-)).
LinksWe replaced links to medium with links to mirror on ens.domains and app.ens.domains.
Load timeUpgraded faster subname list view load time. We also reduced the ENS app bundle size.
Name expiryWe created better warnings around extending the expiration date of a name the user does not own.
PaymentETH is now the default payment method during the registration process.
RecordsMore records are being loaded, by default, on the profile page.
TestnetsGoerli is deprecated. ENS contracts have been deployed to Sepolia and Holesky, and are supported in the manager app with faucets.
TransactionsAll multi-step transactions will no longer rely on localStorage. This is helpful for users who use private browsing sessions or otherwise disable localStorage.
TwitterWe replaced the bird icon with 'X'.

Bug Fixes

TopicUpdate
Avatar imageFixed issues with avatars uploading and displaying correctly. Avatar upload was failing for subnames and we corrected the bug.
BrowserResolved issue preventing NFT avatar images displaying on Firefox.
CoinsSome coins were not being validated and this bug has been fixed.
ExpirationsThe expiration on 'My Names' list was displayed as NaN and has been resolved.
FailuresIdentified failures from transactions have been corrected.
GitHubFixed validation on GitHub record text input.
Gnosis SafeResolved bug preventing Gnosis Safe users from making transactions.
LabelsWe no longer show the expiration label for names that don't have an expiration date during the send name flow.
Unspported networkAn unsupported network page now navigates back to Mainnet.
Message"Extending this name will not give you ownership of it" message displayed in the wrong screen. We've corrected this bug.
Name expiryRemoved the extend and reminder buttons on the Ownership tab of expired names.
NamesSupport for names with "#" in them was added.
RegistrationWe've ensured registration steps respond to a change in chainId correctly.
SearchWe made the search function case-insensitive.
TLDsWe fixed the ENS app displaying some supported TLDs as unsupported.
Wallet connectThe Wallet connect on delegate.ens.domains was not working. All fixed.
WalletsChainId was not being cleared on disconnect and has been improved.

Small Dev Updates

  • Viem, Wagmi, React Query and RainbowKit have been updated to the latest versions.
  • Migrated from Jest to Vitest.
  • Subgraph label validation.
  • Updated to the latest version of The Graph.
  • content-hash rewrite in typescript.
enslabs.eth
enslabs.eth
ENS Labs Ltd is a Singapore-based non-profit organisation and is responsible for the core software development of the Ethereum Name Service (ENS)
View Profile