Itβs been about 5 weeks since we shared an update about our Web Monetization advocacy and software development work.
In this installment, we share progress for June and July.
People β£οΈ
We welcomed two wonderful humans to the team, Sid Vishnoi (full-stack Web developer and Web Monetization connoisseur) who currently works from Delhi, India, and Rabeb Othmani (Tech product baddie and UX expert) who works from Bristol, England.
Advocacy
Santosh Viswanatham (Interledger ambassador and advocate for open Web technologies) shared valuable guides for contributing to the open source projects that we champion (check out Santosh's post here):
Alpha 2 Release
On 21 June, we released the alpha 2 build of the Web Monetization extension (available here). Here are the juiciest bits in the release:
Browser compatibility
The browser extension is now compatible with 2 more browsers (i.e. Mozilla Firefox, Microsoft Edge), and it now supports manifest version 3 (i.e. MV3). MV2 is no longer supported. From June 2024, Google Chrome mandated that new browser extensions must support MV3, for continued compatibility with the browser.
Sidenote: The manifest file of a Web browser extension holds optional information about the extension, like its icon, name, or description.
Bugs
Handle link tag changes
A monetized website may change any of its link tags at any time. The extension now handles link tag changes dynamically by correctly adjusting the rate of pay for the link tags that remain on a web page, and by removing the payment sessions for all removed link tags.
Payment session tokens
The Web Monetization extension sets up a payment session in order to send payments to the receiving wallet of a valid link tag on a monetized page. The connected wallet issues an access token to allow the extension to set up payment sessions. A token can expire, or be rotated at any time (more about token rotation).
Previously, when a token expired, all of the active payment sessions would attempt to rotate the same access token of the connected wallet, leading to a race condition disrupting the flow of monetization payments. The extension now gracefully handles token rotation, eliminating the race condition.
UX & invalid messages
In the earlier release, the extension would allow a website visitor to attempt to pay a non-monetized website. The actual payment always failed, but under certain conditions where the extension did not correctly identify the active browser tab, the extension would incorrectly display a payment success message. We have addressed this by:
- Correctly and consistently identifying the active browser tab.
- Removing the possibility of attempting a one-time payment on a non-monetized web page by displaying a screen without options to pay.
UX & visual cues
The extension has been updated to remember any text entered by a website visitor, prior to connecting the extension to a wallet. This way, a website visitor can begin to enter data like their wallet address on the extension, be able to navigate away, and then return to the extension without losing text that they had already entered.
Optimizations
Start, stop & resume payments
Previously, one of the components of the extension (i.e. the content script) would send a message for every valid monetization link that was found on a web page, to another component of the extension (i.e. the background - service worker). We have optimized the internal messaging by batching all messages into a single one, sending only one message between the two internal components of the extension with all the monetization links.
Looking ahead
A little bit more has happened in July...please come back for the August update.
To stay plugged into our open source Web extension work, check this out on GitHub.
Top comments (1)
Welcome Sid and Rabeb! We are super lucky to have you around!
Santosh! Big thank you for the work done on the guides!