jamule's AmuleConnection created a new BufferedInputStream on every
request over the same persistent socket. Recreating the wrapper
discards whatever it read ahead into its own buffer past the current
packet boundary -- those bytes are gone from the raw stream, never
reaching the parser, corrupting framing for the next packet on that
connection. This showed up as intermittent
'jamule.exception.ServerException: Invalid opcode (wrong protocol
version?)' failures, unpredictably dropping some Torznab searches.
Patched jamule keeps one BufferedInputStream per connection (recreated
only alongside the socket on reconnect), published locally as
com.vexdev:jamule:1.0.3-thax1.
Patched TorznabApi.kt to accept the hyphenated action names
(movie-search, tv-search) that Caps.kt already advertises and that
Radarr/Sonarr actually send, alongside the original non-hyphenated
variants (movie, tvsearch).
Upstream: https://github.com/danielchc/amarr