I'm trying to hide channels programmatically via the API on M3U and TVE sources. The endpoint works for HDHomeRun (returns 400 but no crash) but panics for M3U and TVE devices.
Channels DVR version: 2026.02.09.1530
Steps to reproduce:
curl -X PUT http://localhost:8089/devices/M3U-Pluto/channels \
-H "Content-Type: application/json" \
-d '{"ID":"pluto-rawhide-ca","Hidden":true}'
Expected: 200 or a structured error response
Actual: HTTP 500, server log shows:
[Recovery] panic recovered:
interface conversion: interface {} is *m3u.Device, not *hdhr.Device
github.com/fancybits/channels-server/http_device.go:554
The handler at http_device.go:554 appears to assume the device is always *hdhr.Device regardless of the source type.
Question: Is there a supported way to hide channels on M3U and TVE sources via the API? I'm trying to automate duplicate channel cleanup across HDHomeRun, Pluto (M3U), and Fubo/Sling (TVE) sources.

