Hey there,
I'm a heavy Readwise user myself and finally got around to looking into the errors surfaced by the Readwise extension.
Locally, I was able to hack up the extension to get it running.
While I've attached my locally patched version to this post, it should go without saying that you probably shouldn't trust random zip files from strangers, myself included. If in doubt, you can grab your own copy of the extension and make the modifications manually by following the steps below.
With that, this post is mainly aimed at Orion devs, it'll be pretty verbose and boring.
To start with, I tried all three extensions (Chrome, Firefox and Safari).
As a side note, the Chrome extension was downloaded as a zip file using the CRX Extractor/Downloader extension. Firefox natively allows downloading XPI files and Safari downloads extension packages (.app) to /Applications.
All three variants mostly share the same DNA, although with some slight alterations. At a glance, Chrome and Safari are actually much closer than Firefox but I didn't dive too much into these differences as my goal was just getting something working for my own use after all.
Starting with the Firefox extension, pointing the dev tools console at the extension view shows up the following error:

Failed to load resource: The operation could not be completed. (Orion.SchemeHandlerError error 2.)
Off the bat, this smelled like something on Orion's end so I pretty quickly pivoted to the other extensions and didn't dig any further with Firefox.
When first installing the Chrome and Safari (via Tools -> Extensions -> Install From Disk...), nothing will appear to happen. Digging into the console, we're presented with an interesting error and our first hint of trouble.

SyntaxError: Can't create duplicate variable that shadows a global property: 'window'
Sure enough, the extension is has some code in background/index.js
that is fiddling with the global Window variable:
const window = globalThis;
window.crypto = crypto;
globalThis.global = globalThis;
globalThis.window = window;
I couldn't find anything to actually cite but it seems that the shadowing of globals is a quirk of WebKit? I'm not entirely sure I believe it though because this exact same code is in the Safari extension, which runs just fine. It only seems to trigger when loaded into Orion (either via the Safari or Chrome extensions)
To work past this, I modified this block of code like so to sidestep the shadowing issues:
const _window = globalThis;
_window.crypto = crypto;
globalThis.global = globalThis;
globalThis.window = _window;
Carrying on, we run into our next issue:

Error: !isRunningInExtensionBackground
If we dig into the (minified) function Ype
, which calls the (minified) function Lhe
, we see the following:

This function consists of two checks: aE()
and a check to see that self.registration
exists.
aE()
consists of a bunch of other functions which all evaluate to true but self.registration
does not exist and so the Lhe
check fails which raises the !isRunningInExtensionBackground
check failure we see.
After a bit of digging, I discovered that self.registration
is part of the ServiceWorkerGlobalScope.
If we jump over to Chrome, inspect the registered service worker view and query the window object, sure enough we see that there is a registration
function.

As far as I can tell, Orion either doesn't register or surface a service worker view for the extension. If there is one, I couldn't find it clicking around.
With another edit in the extension code to delete two of the "registration" in self
checks, I reinstalled the extension and with that, everything starts working just fine.

As a bonus tip, I noticed a few checks in the Chrome extension that would infer whether the browser was Safari based on the browser's internal navigator string.

Because the Orion navigator includes both Chrome and Safari, the Chrome extension thinks that it's running inside of Chrome. This may actually end up being fine if the Chrome APIs it's trying to call do actually exist though.

Anyway, with that, I now have a working (static) version of the extension running on my laptop and it doesn't seem to have any further issues even though the service worker check was stubbed out.
I did also try installing it briefly on my phone, which worked although I couldn't get it to seemingly trigger. I didn't bother trying to debug the extension remotely (which would be a next step) as I realised that it's a bit pointless to install on mobile when I can trigger the same functionality from the Share Sheet thanks to the native iOS application 😛
As a standard disclaimer, you should never trust random links you see on the internet and do your own vetting.
With that out of the way, there's a patched version of the 0.16.7 Chrome extension to try in the meantime.
I don't/can't offer any guarantees that it will continue to work whenever the next update releases and I won't be offering patches of any kind going forward just to be clear.