Closed bobitoe closed 2 years ago
:man_facepalming: Getting this extension on firefox has proven a lot more painful than I first thought. The Extension itself works on firefox without a problem. The problem is that since it sets innerHtml
, the Firefox store requires that it go through manual review for security, which I understand. The issue is that for some reason the build script that works on my window,s my Ubuntu 20.04 and on the Github Action vm doesn't seem to be working properly on the reviewers environment. Debugging this has been a slow and painful process since for every change I make in an attempt to remedy the situation I need to cut a new release, resubmit and then wait until the new version reaches the top of review queue.
I am now planning to try to completely get rid of innerHtml
, since that's a better and more permanent solution that would allow the extension to be automatically updated in Firefox the way it currently is on Chrome. That's a bigger project though, so I haven't managed to find the time to dive into it quite yet. If that proves too painful, I'll just have to revisit the node/npm versions that are confirmed to work and set up the engine
field in package.json
to disallow all unconfirmed versions. That doesn't feel right though, so I'll reserve that as a fallback.
Hopefully in the next couple weeks I'll get some time to revamp this, but until then I'm afraid the Firefox Add-on won't be available in the store. Sorry
On getting rid of innerHTML:
DOMParser
, this probably the easiest solution for current situation<img src>
, this implementation is seen in Gitakofile-icons-js
, however that's not what we want (Material Icons) and building a font icon doesn't seem to be a easy task. This solution is mentioned here only for completeness.@kidonng Thanks for the tips! Much appreciated
I'm currently going down the DOMParser
route. The issue is that parsing at runtime is too expensive and causes a rendering delay that is pretty noticeable. I'm instead trying to parse during build and programmatically build the nodes in js.
Though now that you mention, just bundling the SVGs might be a better route. My first version for this extension bundled the SVGs loaded them at runtime. At the time I moved towards innerHTML
because I could get much better performance that way, but I think there might be better ways to bridge that gap now that the code is a bit more mature. I'll at least take a look there again.
And yeah, I went down the icon font rabbit whole a while back and decided against it because supporting multiple colors for a single icon is a gigantic pain that way. IIRC "multicolor" icon-fonts really use multiple overlayed characters, one of each color. For the Material icons used by this extension that would be a pretty complex project, and I imagine it would also make it harder to keep the icons updated relative to the upstream project.
Thanks for these again, I'll take a look into these asap
Ok, version 1.5.0 was just released and completely gets rid of innerHTML
. I didn't notice any performance issues on Chrome so I'm crossing my fingers that this will be it. Submitted the new version to Firefox, let's see if this already gets this moving again.
Next step will be to stop using Parcel to bundle the extension just to simplify the project/reviews. This shouldn't be too hard, it's mostly boring since this will involve re-implementing what I'm currently using `selector-observer' for. Oh well, I'm sure there will be plenty of snow days ahead so this might happen sometime soon :)
Version 1.5.1 is live on the addons page 😌 . Closing this issue now. If there are any issues with v1.5.1 running in Firefox please open a new issue so I know it's a compatibility problem and not an addon review problem. Thanks!
Following the link in the README gets me to a page which basically says the extension no longer exists and it is not included in the search results when searching for it, as far as I can tell it is still on the chrome webstore and the edge addons page.