-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Manifest V3 on Chrome #166
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing! Thanks for upgrading it. The changes are so clean.
@tyao1 seems like the pipeline is broken (related to a bad node version), have we encountered this before or is this new? |
@tyao1 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
NVM my bad, I didnt see that you've already updated the node version :D |
@Asymons has updated the pull request. You must reimport the pull request before landing. |
@tyao1 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@Asymons I tried it locally and built the unpacked version with Did you get the same error? |
This works fine for me when build for production and run as an unpacked extension with I can also reproduce the problem @tyao1 has run into - when using |
@tomgasson thank you for investigating this 🙏 @tyao1 apologies this slipped under the radar for me. would we be fine with merging this in and doing a follow up PR to get dev working again? not sure what the implications are for switching to webpack's devtool. I understand that this may not be ideal given we're merging in something that'll break the dev build; however, I guess it's better than this extension being effectively offline 😅 I'll leave it up to you as one of the core maintainers to make the call |
I will let the team review the merge and publish the new version once it's merged |
Description
Support for Manifest V2 is coming close to an end (seems to be June 2025) so in order to maintain this project, we need to upgrade to Manifest V3.
This also removes the warning from the Chrome Extensions Web Store.
![image](https://private-user-images.githubusercontent.com/1833964/400109078-45ff71e4-7069-4688-92a5-e9e05794f14c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMzAzNDcsIm5iZiI6MTczOTAzMDA0NywicGF0aCI6Ii8xODMzOTY0LzQwMDEwOTA3OC00NWZmNzFlNC03MDY5LTQ2ODgtOTJhNS1lOWUwNTc5NGYxNGMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMTU1NDA3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ODhlMGVhMzFhY2ZkMzYyMzY5OWVlMjIzNWNkMGNjMTYyOTQzM2Y5NmY1ZTcyNjBjNTI0ZWMwNzE3NGQxNjBjOCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.4b5uYorNu2NumG9B-wlHiQxGzLp5G376A0Zc00OoVKA)
The changes are quite simple and deviate slightly from the implementation in react-devtools. I originally thought to follow what was done there but quickly came to understand I was introducing a bunch of unnecessary code and abstraction that may not be needed for this project.
The upgrade to Manifest V3 from V2 requires a few changes, primarily related to security, so here's what we did:
Tests
I basically ran everything on Chrome as it seems Firefox isn't supported (had some trouble getting it running personally). I ran our light unit tests
yarn test
and the video below demonstrates me poking around a website that supports Relay.Screen.Recording.2025-01-03.at.9.35.42.PM.mov