Front-end team April 2023 Update
Version 3 Release!
Why is the current version of the app known as v3? There was a lesser known v1 version of the manager app that predates the previous version, check it out! (opens in a new tab) This only works with names registered pre-2019, if that's not you give arachnid.eth or jefflau.eth a try.
For the dev team this this also marked the soft launch into production of our ENS utility library (ENSjs) rewrite (opens in a new tab), and of our design system Thorin (opens in a new tab).
There are too many improvements to go over here and so we will have a dedicated post for that shortly. Below will be a summary of the work done in the month of April.
Transaction in progress indicator

If you have a transaction in progress you will now see a progress indicator in key areas in the app.
Leagcy Favourites
We intend to release a new and improved version of favourites in the coming weeks, but we did not provide a way for users to continue to view favourites that they had already added via v2. If you have legacy favourites available then a link to them will show up in the navigation bar, and you can also navigate to them directly here. (opens in a new tab)

Imporoved profile warning flow for various resolver states
Partly in response to feedback from the community we decided to fast track improvements to the various warnings we show when opening up the profile editor depending on what resolver has been set:
-
Migrate/Resolver out of sync: pretty much a complete rethink of this flow. Previously it would force you to either migrate your records to the new resolver or use the records on the new resolver, after editing the profile. Now it asks you if you want to change your resolver (which can be ignored), it will then check if the records between resolvers are out of sync. If they are in sync you will get the option to reset or keep your profile. If they are out of sync you will get the options to reset, migrate or use the profile that exists on the new resolver. It also adds a warning for people resetting their profile.
-
Resolver out of date: adjusted the flow to ask before editing the profile and also lets the user ignore it if they want. It also adds a warning for people resetting their profile.
-
No resolver: Copy update
-
Registry out of date: Copy update
These changes now also allow people to use the profile editor for custom resolvers (before they had to use the record editor). We've added the option to ignore resolver upgrades in each flow.

Smaller Improvements
- Reduced bytes size of avatar text upload, resulting in gas savings
- Will now only migrate profile when wrapping a name if current resolver is not NameWrapper aware
- Organised useQuery cache keys using a queryKey factory
- More accurate gas estimates via tenderly API
- Made registration page load faster
- Added a 'Recreate name' button so a subname can be recreated by the parent after it expires
- Updated v2 to be namewrapper aware
- Protected against stale data during input stage of transaction flow
- Removed target="_blank" for owner/parent link
- Added custom 404 and error pages
- Added banners for switching between v3 and v2 during soft launch
- Ensured v2 links end up at the right place in v3
- Prevented clicking outside of the transaction dialog during profile editing
- Hosted v2 app on legacy.ens.domains
Bug Fixes
- Adding a custom record with ' or " on Desktop would crash the app
- Fix Metamask not loading correctly if the browser decides to pre-render the page
- Reverse address lookup in the Dogfood component would fail to validate due to a caching issue
- Remove 'name' record showing up as a default in the records editor
- Confetti would show twice after registerting a name with moonpay
- Extend name would hang after page was inactive for 2 mins
- Error when searching root node address
- Feedback window display issues on mobile
- Allow names list to show even if a name fails normalisation
- Extend names would show loading spinner each time the length is adjusted
- Searching for an address would come up as invalid
- Fixed aligment on imported domain text
- Added missing translation keys
- IPNS link in contenthash field is marked as invalid in editor window
- Registered name flashes register page when clicking "view name"
- WalletConnect issues
- Text alignment on domain registrar dropdown
- Moonpay dialog styling
- If names had an expiry very far in the future, subnames could not be edited
- Incorrect order when sorting names by expiry on names list
- IPFS input asks for content hash (should be content id (CID)), but expects full ipfs gateway url
- Incorrect error message when setting expiry for burning PCC
- 'Expiry' should always refer to the start of the grace period
- Emoji normalisation issues
- Unable to remove BNB address record
- Profile dropdown width incorrect
- Parent of eth is shown as none
- Android PWA stopped working
- Searching with punycode causes app to crash
- Extend button hidden when no extendable/selectable items are in the names list
- Names with hyphens not displayed correctly in transaction history
- Improve smoothness of avatar multi-touch
- When creating a new transaction flow inside an transaction input, you can now go back in the transaction and not lose your inputs
- Contenthash link should use .limo
- % Symbol in search crashes site
- Resolver migration was not migrating abi records
- NightSky overflows on Safari