material-extensions / material-icons-browser-extension

Browser Addon that enhances file browsers of version controls with material icons.
MIT License
511 stars 38 forks source link

The extension might have been removed from the firefox addons page. #26

Closed bobitoe closed 2 years ago

bobitoe commented 2 years ago

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. 2021-10-13-091837_1524x610_scrot 2021-10-13-091823_1413x435_scrot

Claudiohbsantos commented 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

kidonng commented 2 years ago

On getting rid of innerHTML:

Claudiohbsantos commented 2 years ago

@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

Claudiohbsantos commented 2 years ago

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 :)

Claudiohbsantos commented 2 years ago

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!