With Chrome moving to require extensions to use Manifest Version 3, extensions will no longer be able to remotely load executable code, which affects extensions using the InboxSDK. The InboxSDK has relied on remotely-loading code from our servers to keep every InboxSDK-using extension on the latest version in a timely and hassle-free manner. Moving forward to MV3 support means moving away from remotely-loading code and changing how we distribute the InboxSDK.
Launching todayStarting now, a MV3-compatible beta build of the InboxSDK is available through the NPM package manager as the “@inboxsdk/core” package. We’re choosing to publish using the NPM package manager to allow developers to use standardized tooling to keep themselves on the latest version of the InboxSDK, and to better integrate with modern NPM-compatible Javascript build tooling such as Webpack, Parcel, etc. The NPM package contains Typescript type definitions too for Typescript users!
We’ve updated an example at https://github.com/InboxSDK/hello-world/tree/mv3 showing one way of how to build an extension using the InboxSDK through NPM with the Parcel bundler. Do let us know if you have any questions about the example. We’re interested in helping developers make use of this in their projects, and we’re also interested in figuring out if there’s anything we can do on our end to make it easier for developers to work with.
We encourage developers to use tools such as Webpack or Parcel, and we imagine many developers are already, but for developers who are not using any build tools that are compatible with NPM modules, you can access an MV3-compatible drop-in replacement “inboxsdk.js” file at https://unpkg.com/@inboxsdk/core@latest/inboxsdk.js. You can replace the inboxsdk.js file you already have in your project with this one.
Changes to updatesBecause the InboxSDK is losing its ability to remote-load code in this MV3-compatible version, it will become necessary for developers to release an extension update whenever they need a new version of the InboxSDK. This might mean that if Gmail makes a change that introduces a bug with the InboxSDK, developers of affected extensions will need to pull the latest version of the InboxSDK and release a new version of their extension containing it. It’s possible for developers to use tools like Dependabot to alert them when there are new versions of the InboxSDK published on NPM. We’re interested in discovering and documenting other ways to communicate to developers about updates to the InboxSDK, so let us know if there’s a different workflow that works well for you. Any critical updates to the InboxSDK will be announced on this mailing list in addition.
The futureThe previously-released non-MV3 remote-loading version of the InboxSDK will stay accessible and maintained as long as possible. If you currently have a pre-MV3 Chrome extension deployed, then the InboxSDK will continue to work in it as-is as long as Chrome continues to allow pre-MV3 extensions.
The MV3 version of the InboxSDK is not allowed by the Chrome team to remote-load code, but the Chrome team does allow extensions to remote-load declarative configuration, so we’re planning on making the InboxSDK remote-load configuration from our server. This will allow us in some cases to update the DOM selectors used to find specific Gmail elements in the page without needing extension developers to update their installed version of the InboxSDK or deploy a new version of their extension.
--
You received this message because you are subscribed to the Google Groups "InboxSDK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inboxsdk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/f830c971-a53c-48ef-bb46-f3416728d336n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/d7f1eb75-46d3-4975-bce0-fbe6f7fb543fn%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "InboxSDK" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inboxsdk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/b5573c1d-4ae0-46b7-b316-96045633730fn%40googlegroups.com.
Hi Cris,
XMLHttpRequest is a browser api; it's not native to node.
You plan to publish
the MV3 version of the InboxSDK non-NPM?
Regards,
--
You received this message because you are subscribed to a topic in the Google Groups "InboxSDK" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/inboxsdk/MAT_zImFu5I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to inboxsdk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inboxsdk/dad241e4-4b5e-4f01-90b3-3602e03dfa2cn%40googlegroups.com.