tl;dr; New IPFS-Companion MV3 RC-Beta Implementation is available for testing here.
IPFS-Companion browser extension is one of the key tools that enhances the IPFS experience in the browser. We are thrilled to introduce the beta version of IPFS-Companion built on MV3 (Manifest V3), which brings exciting improvements and changes the way you interact with this powerful tool.
MV3, or Manifest V3, is the latest iteration of the manifest file format used by browser extensions. MV3 introduces several key changes compared to the previous MV2, such as the adoption of a service worker model for background scripts, increased permissions granularity, a few new APIs like
declarativeNetRequest and deprecation in the behaviour of a few APIs like
webRequest and their blocking nature on intercepted requests.
How MV3 Changes the Interaction with IPFS-Companion
Improved Performance and Responsiveness:
With the new
declarativeNetRequest APIcompanion no longer blocks requests in the request lifecycle. Rather it merely observes the request and if it is serviceable by the configured node, creates a redirection rule in the browser to transform the request dynamically. This non-blocking nature, makes the requests a lot faster.
Better Resource Utilization:
ServiceWorkermodel for background scripts ensures optimal utilization of browser resources, unlike background pages,
ServiceWorkergoes to sleep when not in use and wakes up when needed.
Compatibility with the Latest Browser Versions:
As browser technologies evolve, it’s crucial for extensions to adapt. IPFS-Companion built on MV3 ensures compatibility with the latest versions of popular browsers, such as Google Chrome, Brave and Firefox. This compatibility ensures that you can enjoy the benefits of IPFS-Companion without limitations.
A few gotchas
Uninstall Stable IPFS-Companion/Use Duplicated Browser Profile:
Before testing this out make sure to uninstall the stable IPFS-Companion, so that there are no conflicts. Or you can setup a duplicated browser profile that can help you recover faster in case there’s a problematic update.
The existing companion configs don’t automatically migrate as the storage model has changed. If you’re using a custom config you might have to redo those.
The beta is not available for firefox, but it can be made available based on community needs. The changes above do not completely apply to Firefox as there exists support for
webRequestblocking and we will continue to use that.
The new MV3 implementation available as an RC-Beta for chrome and brave that can be installed here: IPFS Companion RC-MV3 (Beta @ 806f7d8) - Chrome Web Store
Please report bugs or feedback here: github issue
The original issue (#666) regarding MV3 is more than four years old. A tremendous amount of discussion, planning and effort has gone into making this possible. The beta version of IPFS-Companion built on MV3 marks an exciting milestone in the evolution of this essential IPFS tool. With improved performance and compatibility with the latest standards, it promises to improve your interaction experience within the IPFS network.
Stay tuned as we work towards refining this beta version and incorporating valuable feedback from the community. The current progress regarding this is being tracked in issue #1152 and the work is being published in
rc/3.0-mv3 branch. The future of IPFS-Companion on MV3 holds tremendous potential for empowering individuals to participate in a decentralized and secure web ecosystem.
Download the beta version today and embark on an exciting journey exploring the possibilities offered by IPFS and IPFS-Companion. Together, let’s shape the future of web decentralization!