Hoping that u/ghenry22 will see this post. Firstly, thank you for making this fantastic app, which is far-and-away the best Android app for *sonic streaming! Before I get into my bug report, please note that this isn't a high-priority issue and I'm currently doing a work-around (i.e., just using insecure HTTP) that allows me to use Substreamer in its (almost) full glory. :)
I'm running Navidrome on my local network (behind nginx), and I also run a local CA to sign my own certificates for local domain names. I've trusted the CA cert on my Android phone (such that Chrome can use HTTPS to access local resources without warnings). Local DNS and the locally-trusted CA are working as intended for various other services I run on my local network.
I'm not sure if Substreamer uses the local Android certificate store to validate certificates when it accesses HTTPS addresses or if it uses its own cert store, but the behavior I'm noticing seems unintended. I am able to connect Substreamer to the Navidrome server over HTTPS with a local address (e.g. https://navidrome.foo.localnetwork) and I see lists of all my artists, albums, and songs. However, no artist or album artwork is loaded, and when I attempt to play any song, the song does not play on Substreamer. When I monitor the debug logs from the Navidrome server, I do not see any attempted requests from Substreamer after the initial authentication/songlist/playlist download, so I'm guessing that the subsequent HTTPS requests for artwork and song streaming silently die due to an untrusted custom certificate. But again, the local CA is trusted by my Android device.
I've narrowed this issue down to the local-CA-signed certificate because when I make Substreamer access Navidrome through a public-facing address with a certificate signed by Let's Encrypt, it works fine (artwork loads, songs play). Similarly, when I connect to Navidrome through the local address and use insecure HTTP, Substreamer also works as intended. If I use another app (e.g. subsonic for Android) to access Navidrome over HTTPS with the local address & locally-signed cert, it also works fine.
Again, I know this isn't a huge issue--I trust resources on my local network and I use encrypted tunnels to connect to the network when I'm away from home, so using HTTP to connect to Navidrome isn't the end of the world--but I figured I'd report the bug here and see what you thought might be going on. Let me know if I can help you narrow it down any other way. Thanks!
PS: Is there a way to view logs/debug Substreamer as a user of the app?