upstream-relation: I am the maintainer and original author of the project
supported-category: debug tools
reasoning: This tool requires classic confinement to be fully functional because it instantiates Google Chrome and Chromium in instrumented mode, with the Chrome Websocket debugging API (used by known libraries such as Puppeteer, etc.) as a core feature (see https://github.com/marin-m/pbtk/blob/1.0.9/src/extractors/web_extract.py)
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap to work under strict confinement.
As far as I understood, the reasons provided do not quite fit classic confinement requirements. As per the policy, this falls under the following unsupported criteria:
dependent software only available on host (ship in instead snap (eg, stage-packages, build from source))
This can be tackled using one of the following two things:
Bundle chromium within the snap
User start the chromium application on the host and then snap connects to the port using network interface.
@shishirsub10 Thank you, regarding solution #1 do you know how I can make the Chromium binary exposed to my app? I tried just adding Chromium as a stage-snap and the binary is not visible into $PATH.
This is trying to launch the chromium installation in your host, rather than the copy staged in the snap. Chromium could be launched from inside the snap with $SNAP/bin/chromium.launcher. However, I just realized that chromium itself needs a long list of permissions to work.
User start the chromium application on the host and then snap connects to the port using network interface.
I think this will be the cleanest solution in this case, and it should not be very complicated for the audience of this snap. If you are willing to give it a try, I’ll be happy to support you with issues that may arise as much as I can