Classic confinement request for cs-visualizer

To make the review of your request easier, please use the following template to provide all the required details and also include any other information that may be relevant.


  • name: cs-visualizer
  • description: CS Visualizer is a developer and education tool that visualizes Java and C# code in real time — recursion trees, flowcharts, OOP diagrams, data structure animations, and complexity analysis. It works as a companion app to IDE extensions for VS Code, IntelliJ IDEA, Visual Studio, Eclipse, and browser extensions for Chrome and Firefox.
  • snapcraft: https://github.com/davidFrucht/cs-visualizer/blob/main/snap/snapcraft.yaml
  • upstream: PRIVATE
  • upstream-relation: I am the author and sole developer of this project.
  • supported-category: Development tools
  • reasoning: The app is built with PyInstaller, which at runtime extracts bundled .NET subprocess binaries into a temporary directory (/tmp) and executes them. Strict confinement blocks execution of files from /tmp, which breaks the core visualization features entirely. Additionally, the app launches a system tray icon via pystray and binds to localhost to serve web interfaces. The existing interfaces are not sufficient because the fundamental issue is PyInstaller’s extraction-to-tmp execution model, which cannot be addressed through interface plugs alone without a complete rewrite of the packaging approach.

V I understand that strict confinement is generally preferred over classic.

V I’ve tried the existing interfaces to make the snap to work under strict confinement.

To get a usable /tmp you should be able to set TMPDIR=$XDG_RUNTIME_DIR in your snapcraft.yaml or in a wrapper, that will point to /run/user/$UID/ and does not have noexec set …

There are literally tons of apps using notifications as well as tray icons in the snap store via the desktop interface and the gnome or KDE extensions … to bind web interfaces to localhost you can simply use the network-bind interface, there is not really a need fort classic confinement here …

This request has been added to the queue for review by the @reviewers team.