Auto-connect request for `uartly`: raw-usb, serial-port, and hardware-observe

name: uartly

description: Advanced UART Serial Terminal and debugging GUI tool (built with Python/CustomTkinter) for hardware engineers to read logs and debug issues.

snapcraft: https://github.com/Anant1711/uartly/blob/main/snap/snapcraft.yaml

upstream: GitHub - Anant1711/uartly: UARTly is a modern, feature-rich serial terminal and logger for UART debugging. Features include real-time log viewing, log filtering, interactive terminal, configurable baud rates, and theme switching. · GitHub

upstream-relation: I am the upstream developer and publisher

interfaces:
  raw-usb:
    request-type: auto-connection
    reasoning: Required by the underlying `pyserial` library (`serial.tools.list_ports.comports()`) to scan the system's USB hardware trees and enumerate USB interface descriptors (such as `bNumInterfaces`). Without this, retrieving these values returns `None`, crashing the application with a `TypeError` during its initial launch port-scan attempt.
  
  hardware-observe:
    request-type: auto-connection
    reasoning: Also required by `pyserial` to safely traverse `/sys/class/tty` and udev to list available USB-to-Serial TTL adapters to the user in the GUI dropdown.

  serial-port:
    request-type: auto-connection
    reasoning: Required to actually open the connection to the `/dev/ttyUSB*` or `/dev/ttyACM*` devices to read and write the serial data through the application's graphical interface without requiring users to run manual terminal commands prior to using the app.

This request has not been added to the review queue. It should be placed in the appropriate store-requests subcategory using the subcategory template for classic-confinement, privileged-interfaces and aliases requests.

Added in correct subcategory

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

This will not be possible, the serial port slots are either provided by a gadget snap and have some randomly picked name by the gadget author or are coming from the hotplug feature in snapd which also makes up a random name (out of the info it has about the device) for the slot, so a generic auto connection can not work for this interface …

1 Like

Since auto-connect won’t work for serial-port hotplugging, I would like to request Classic Confinement for this snap under the Programming Tools / Hardware Debuggers category instead.

Hello @anant,

We are happy to review this snap for possible classic confinement. To do so, could you please create a new forum request in the classic confinement subcategory as described here and provide your detailed justification there describing the need for classic. Thank you!