Preliminary v3 Testing Results


Sonarr version (exact version):
Mono version (if Sonarr is not running on Windows): 4.6.2
OS: QNAP QTS 4.2.6 x86 TS-459 Pro II
Debug logs:
(Make sure debug logging is enabled in settings and post the full log to hastebin/pastebin/dropbox/google drive or something similar, do not post them directly here. Post in .txt not .doc, .rtf or some other formatted document)
Description of issue:

UI :

  1. Prev/Next Buttons Goes off screen
  2. Background Image is not seen like in Sonar 2.x as Alpha transparency is not set on all objects

Adding Series:

  1. Even Series is Monitored and Season is monitored individual episodes are not so they are not seen in Monitored Calendar, When I have Logs I’ll attach. Current workaround is to unmonitor season and set it as monitored again.

  2. Series AIRLOCK Fail to import even by using “tvdb:345427” search format.

Will update things accordingly


Will be fixed in the next release.

Not sure what you mean, the background artwork is not supposed to be the same.

Definitely going to need logs and know which monitoring option you chose.

It appears that TVDB ID does not exist, or at least does not exist on their API, though the UI should present that better. Looks like their API may have had issues that caused that error to appear and result in the error.


Yes, it is strange that it doesn’t exist in Api but exist as Series under URL

Season and Episode listings were Semi Transparent in 2.x so that Background is seen thru, where in 3.x background is simply cut.

few More UI missing/tweaking things:
3. Root Menus are always expanded (When you list/browse there is no need for expanded menu in case Root is selected). Thu Button expand would be nice

  1. Collapse Root Menu to Icon Size or completely to Left would be Nice Touch

  2. If Status shows Downloaded It would be great to be able to click on Status Text and play the file or make it open in Browser to be played. See better description below.


  1. Ability to Initiate File Playback from Listing as described in (UI 5 above) with these functions:
    a) Use “Remote Path Mappings” to generate Play link eg. file:///
    b) Use Simple HTML5 Video Player to open/stream file directly to browser like:
<!DOCTYPE html>


  <title>Stream Player</title>

<h1>HTML5 Player</h1>
<video id="player" controls autoplay="autoplay"><source src="file:///// Kai/Season 01/Cobra.Kai.S01E01.Ace Degenerate.mkv" type="video/mp4">Your browser does not support the video element.</video>
  <button onclick="document.getElementById('player').play()">Play</button>
  <button onclick="document.getElementById('player').pause()">Pause</button>
  <button onclick="document.getElementById('player').volume += 0.1">Vol+ </button>
  <button onclick="document.getElementById('player').volume -= 0.1">Vol- </button>



Root menu button?

Again not sure what you mean…

That’s been asked and answered numerous times, it’s not possible without plugins and we’re not going to implement it. We’re not going to add playback features to Sonarr.


Root menu Button = Menu with Expand button
Icon Size Menu = Small width Side menu so that only Menu icons are seen.
Something like this

Regarding plugins: I’m not implying to playback I was just suggested to use “Remote Path Mappings” to generate link on Status Text or in Path (Under Actions) so that browser decide if it will play or point to external URI. No implementation on your part. I also do not see any need for plugin Engine it is essentially one line of code containing SRC to above generated URI unless you want to include controls. But I completely understand your point.


Thanks for clarifying we do not plan to have the side bar collapse in desktop browsers at this time.

The full path top the episode is in the episode modal, but there won’t be any translation of it nor would there be a good way to translate it as remote path mappings are for importing downloads, not translating a path for whatever client connects (Sonarr wouldn’t have a way to know which mapping to apply).


Too bad, Collapsing the Menu would be great when using/navigating On Mobile Screens as it take too much space.

I do not agree with you, it should be fairly easy and it is not your to determine what client will do but just give anything that client can work with after that it is very simple to do in client conversion. I’ll see if work allow me to make you working example as I’ve done it in Transmission, ruTorrent, jDownloader and few others. All I needed is starting point and translation is done internally in client.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.



Thank you for re open of Topic.
Regarding your Post Preliminary v3 Testing Results There is clear way to determine exact client connecting to Sonarr and what mapping to use and it is easy to determine and do reverse mapping for showing in Client browser or Create play link (tested on Firefox/WaterFox, Edge, Chrome, Opera).

NOTE: I used Local Windows QBittorrent Client to test Mappings in order to see if it works and it did in 100% of cases.

To better explain on how to do it I’ll attach picture with steps:
RED = Defined Local QBitTorrent client to confirm IP and Created Remote Mappings for that IP
GREEN = Using PHP (was easier for me) I got Client IP in order to Filter possible mapping
PINK = Using Mapping I converted Episode Path (RED) to Local Path (PINK) and then done URLEncode (manually add “file://” prefix replace string from Mapping and do simple “” -> “/” Replace) resulting “file://///!!!serije/Airlock/Airlock%20-%20S01E01%20-%20Episode%201.mp4” to parse link into browser which without problem played Episode (as seen in attached picture)

So result is NO player part and video is played in browser.


There are several reasons why we don’t want to do this, not really that it can’t be done.

  1. Playback will depend on the browser and the file format
  2. file:/// links are not clickable in Chrome when the site is not loaded via file:// it appears to be the same in Firefox This SO answer goes into detail:

3. Remote Path mappings are meant for importing, they could work here, but that’s not the goal
4. This works on your network only, not outside, we’re not looking to add a feature that works some of the time and have to field answers about why it’s not working

If you want this functionality it would be better suited as a browser plugin, we do not have plans to support such a feature in Sonarr at this time.

  1. You are right.

  2. You are also right about file:// and specific cases

  3. The goal is that client accessing the Sonarr and looking at Episode info simply either copy/paste link to File Explorer and episode play or know where to navigate locally. Same conversion can be used so that in File Rename User can see exact path and result of rename which is extremely useful in cases where actually Mapping needs to be used in order to actually see where files will end where now you need to convert it. Example my daughter constantly ask me where is that file “/share/… I can’t play it” and she is right as file is actually at “\…”

  4. The point of this is to make it work locally. For WAN access there will be no Mapping, and if user uses VPN to access local network then again mappings will work.

And finally here is working example (sorry PHP again):
Filename: WantPlay.php

<!DOCTYPE html>


  <title>I want to play: Airlock - S01E01 - Episode 1</title>


I want to play local file!<br/>

<b>PLS:</b> <a href="playpls.php" target="_blank" title="Airlock - S01E01 - Episode 1.mp4">\\\!!!serije\Airlock\Airlock - S01E01 - Episode 1.mp4</a>


And player parse/downloaded file: playpls.php

// Vars Filled from Sonarr
// ----------
$MappedEpisodePath ='\\\\!!!serije\Airlock\Airlock - S01E01 - Episode 1.mp4'; 
$EpisodeTitle='Airlock - S01E01 - Episode 1';
// ----------
$the_data = '[playlist]
$filename = 'sonarr.pls';

header("Pragma: no-cache");
header("Cache-Control: no-cache, no-store, must-revalidate"); // set expiration time
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: Application/pls");
header("Content-Disposition: inline; filename=".$filename.";");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: no-store");
header("Content-Length: ".strlen($the_data));

echo $the_data;

Only downside of this approach is that admin need to create mappings for each client.

Please test this and consider it at least because I really like sonarr and it should be not too difficult to implement.


Really, just install Plex or Kodi or something and point that to the share. She’ll have a nice interface to browse too, and Plex can transcode and serve content to clients outside your local network too if you want.

Really not meant as being harsh, but I feel like you’re wanting sonarr to do more than it was ever intended to do.


I already have application for that it is called MediaMonkey v5.0 and yes, I would like to see that Sonarr go outside a bit and give bit more, especially as feature is already 90% there and things just needs to be added in source.

Plex is well Plex (Premium Subscription needed) and I certainly do not want to have 20GB Movie transcoded if it can be natively played.

Kodi well OK in some cases, but still I would need to switch from one app to another in order to see what is scheduled.

Beside UI Tweaks I already pointed here the only thing beside direct play link is ability to set Episode Watch like SickRage (Plex have that also) and I would be more than satisfied.


if you feel strongly about it then raise a feature request in github and see if others also want it. pointless arguing about it here with the admins

personally i dont want it. i want sonarr to stay as an exceptional download system, not get bloated and become a playback system as well - there are plenty of those already in existence that do a really good job.

biggest factor is that there are already a large number of fixes and enhancements to its core functionality that i, and probably most other people, would prefer were worked on before even thinking about turning it into something else.


I have to agree there. Sonarr is a system for fetching new episodes of a set of given shows, and does that excellently, media playback just isn’t a natural fit for Sonarr IMO. Not if it is to be done well, and why do anything if you’re just gonna whing it?

I too would rather see even more of the core features added, a popular request is the ability to watch for HEVC sources, while this is doable after a fashion today, it isn’t a very “good” system. More flexibility in indexers, native handling of archives, a more organized way of handling series, their paths and retrievals, more finegrained handling of special releases (proper, internal, others), more finegrained control of which indexers to use when, possibly multiuser-support…there are many avenues that IMO would be a more natural focus than media playback.


Not sure why you classify this as Playback system as it is not intended to be like that. Using Linux based NAS in Windows Network completely change how paths are handled. Simply paths are not same and user needs to have knowledge of both Linux internal Paths and then translate them into shared paths.

Also Adding/Submit Risk free Ready Code into app that do not make any difference to current implementation nor change any of current behavior is problem, but OK if making it more user friendly to make it easier for less iterate users then I’m ok with it.

GitHub for v3.0 do not exist as I know and it is not known to be open to suggestion.

I’m not sure why you constantly refer this to playback when this is about mapping paths so that clients accessing it directly instead translating paths manually.

I agree on that, but also as you pointed it can be already done with indexer filtering easily.

I guess that for example Subtitle download is not core feature, but I can’t live without them (I use Plex Subzero plugin for that), also SickRage Have full Subtitle search download for example but it is too unstable as app. Again I do not propose playback in Sonarr, nice but we all agree not worth time to do it now. My solution eliminate even requests for such feature as that simple code I provided on click exports playlist that calls Users default player to play file(s) and OK maybe not needed but what is teh point of showing Episode path to file that is not valid for anything than simply presenting internal Sonarr path. That said I guess that you have not even tried the example to see what it actually do and read my reply.

I’m sorry that I wanted to give my 20+ years of my experience in media management (Downloading, sorting, metadata, catalog) to improve something I find great, but OK lesson learned better sell than contribute for free.


then youre not explaining the feature well. you want a direct link in the web client which really can only mean playback, what other purpose is there for it if not playback?

what “client” will be using the web gui except a web browser, so how does having a direct link to the file in a web browser help? except for playback purposes but why would you need that when plex and other playback systems already allow for that and have full blown api’s, possibly download purposes but then you already know where the file is so why bother?

said no developer - ever.

v3 is not going to shift github projects, its likely a branch/fork and will be merged back in once it goes live, so just use the v2 project to lodge your request against.

wait, youre suggesting they just use code that plays back the video and thats not even what you wanted?

because on some systems its perfectly valid - its just not valid on your system.

its just there to show where the file is. theres no real reason it has to even be displayed, its just a visual extra

its also not really that hard when its a mapping to a known starting point (we do set it up after all). eg my /media volume in dockered sonarr points to /volume6/data/media so i dont need to use a lot of brain cells to work out where that file is going to be located on my nas. the nas smb share is //nas/data/media, and is mapped to the N drive on my windows machines, again very simple to find my media when i have to.

unless your media spread out over a large number of destinations in a weird random order then you should be able to work out where it is on your storage/nas pretty simply - or use something like plex to suck it all back up and present it nicely for playback.

youre just pissed because we dont like your feature request - welcome to the internet where not everyone will like your ideas for the product were all using - thats why feature requests exist - stop being a sook and raise one. if people like the idea then it will get upvoted, if they dont then youll have your answer.

if you really feel that hard done by then theres nothing stopping you from forking the project and adding the code into your own private fork is there. thats the beauty of github projects.


:slight_smile: True, QA always say that.

Copy/Paste in file explorer/TotalCommander/ES file Explorer/…

Read Above.

No, problem with me but other users (I have 7 of them) do not know where paths are, they only know that new episode is out that want to watch. PLEX is not free on All platforms and paying 7 Subscriptions is too expensive (at least for me). Kodi is too complicated and not useful on many devices Usually 5.2" old android phones. I as administrator can easily enter mapping and all other see exact paths to files. Not all youngsters (8+ Years) know how to translate linux paths nor they are interested. Also I didn’t ask that you bother just add what I have bothered with, I hoped that few copy/paste should not be a problem or time consuming.

You are not answering, will adding my code make problems in Sonarr or not? If yes, what it would break or make worse?

No, I wanted that client from X see paths corresponding to their path format instead of Linux internal Localhost paths. Playback link is just Bonus content that I simple added to give additional benefit to sonarr instead of simple listing and info. Especially as like you said

My suggestion just gave it a reason/function to be there instead of just being “visual extra”.

Ok can you please let me know what device ON LAN/WLAN would be able to access “/Share/MD1_DATA/Series/Slutever (2018)/” which is full Internal Sonarr Local NAS Path and you enter it in any file manager?
Or even better for what accessing client system “its perfectly valid” in this path case and can be used as is?

Where “\\Series\Slutever (2018)” for Windows based systems and “smb:// (2018)/” on most Linux/Mac/iOS/Android systems works to access exact path.

Mapped drive letters :smile: How do you easy map Drive letter on Android or iOS?

Great for DOS Windows 95 and command line but personally way outdated and buggy.

Like you said when you have 1 PC it is OK but when you have 4 PCs/MACs, 5 Tablets and 6 Phones all on different systems it is very hard to remember all that all the time where UNC path format is same for Mostly all.

Not pissed at all, it is just disappointing to see how much internet is changed to worse. Too much information so no one read it. It was not an idea, but contribution. Also like I pointed I already got the answer.

No need for that, we already had similar code to MediaMonkey v5 and this was simply way to say thanks and I do not have time to work on another project.

Wonder have you ever tested My code?
All you need to replace $MappedEpisodePath and $EpisodeTitle with one of your shared Videos and see how simple it is.


Ok, I’ll bite (again). Personal opinion, disclaimer, trying to give an adult response etc.

It has been suggested numerous times over the years to have some sort of playback capability. Or to turn the paths in sonarr into clickable links like you suggest. Or both.

Time and time again it has been denied by the devs because 1% feature, something that would only work under specific circumstances, support hell, outside the scope of the project, etc, pick your favourite. I honestly think you’re trying to fight a war that was lost years ago. Really, no bad intentions from met at all, but I just don’t think it’s going to happen. I think you fought hard for something you think is right, but sometimes you have to let things go. And given the stance of the devs over the years, I don’t even think a pull request will ever get accepted.