Closed
Description
This issue tracks the work on upgrading to Manifest V3.
- Remove direct access of monitors to background page Redux store (addressed in Upgrade to Manifest V3 #1714)
- The primary Redux DevTools window accesses the background page and takes advantage of the fact that variables could be directly accessed through the
window
variable. This is no longer possible in MV3, so we'll need to rely on message passing instead. This unfortunately means that the Redux DevTools will be slower by undoing the performance gains that were made in Improve performance for Chrome devpanel zalmoxisus/redux-devtools-extension#580.
- The primary Redux DevTools window accesses the background page and takes advantage of the fact that variables could be directly accessed through the
- Split large messages sent from background page to devpanel #1706
- Chrome has a maximum message length. We work around this when passing messages between the content script and background page by splitting messages. Since we now need to rely on message passing between the background page and the monitors, we need to add message splitting there as well.
- Remove Redux store from background page (partially addressed by Upgrade to Manifest V3 #1714)
- Background pages have been replaced with service workers which are terminated when not in use. This means that we can no longer rely on keeping a Redux store in-memory in the service worker. This means that we either need to store the Redux state in localStorage and recreate the store each time the service worker is created or make it so that the service worker does not need the Redux store at all.
- Update page script code injection (addressed by Upgrade to Manifest V3 #1714)
- MV3 no longer allows injecting a script element into the page, so we'll have to adjust our strategy for injecting the page script. Looking at how React DevTools adjusted to this for inspiration.
- Make sure Firefox still works
- Fix E2E tests
More work will be added to this list as needed.
Metadata
Metadata
Assignees
Labels
No labels