JagandeepBrar / lunasea

Self-hosted software controller built using Flutter
https://www.lunasea.app
GNU General Public License v3.0
1.31k stars 64 forks source link

Bug - Failed to add movie. #5

Closed Lasikie closed 4 years ago

Lasikie commented 4 years ago

Unable to add new movies.

Every movie attempted fails with the error.

Failed to add movie. Movie might already exist in Radarr

https://i.imgur.com/TPYkdbL.png

JagandeepBrar commented 4 years ago

Can you confirm some details with me?

Lasikie commented 4 years ago
  • Do other things in Radarr work, such as editing a title’s folder path or quality profile? Nope - Failed to update
  • What version of Radarr are you currently using? Version - 0.2.0.1450
  • And the most obvious, you can confirm you don’t have Mission Impossible in your Radarr catalogue? Already checked ;)
JagandeepBrar commented 4 years ago

That is very strange, I will take a look into it more soon. I have the same version number and am able to add movies and edit movies without any issue.

Could you try enabling trace level logging in Radarr (Settings -> General -> Logging), attempting to add a movie and edit a movie, and then attach the radarr.trace.txt (or specifically during the time that you tried to do these requests)? You can get the radarr.trace.txt file after from System -> Logs -> Files -> radarr.trace.txt.

Lasikie commented 4 years ago

I tried to wrap this in code but it wasn't working. Hope this is what you are after.

19-12-28 18:42:40.1|Trace|ConfigService|Using default config value for 'downloadclienthistorylimit' defaultValue:'30' 19-12-28 18:42:40.1|Trace|ConfigService|Using default config value for 'removecompleteddownloads' defaultValue:'False' 19-12-28 18:42:40.1|Trace|EventAggregator|Publishing TrackedDownloadRefreshedEvent 19-12-28 18:42:40.1|Trace|EventAggregator|TrackedDownloadRefreshedEvent -> QueueService 19-12-28 18:42:40.1|Trace|EventAggregator|Publishing QueueUpdatedEvent 19-12-28 18:42:40.1|Trace|EventAggregator|QueueUpdatedEvent -> QueueModule 19-12-28 18:42:40.1|Trace|EventAggregator|QueueUpdatedEvent <- QueueModule 19-12-28 18:42:40.1|Trace|EventAggregator|TrackedDownloadRefreshedEvent <- QueueService 19-12-28 18:42:40.1|Trace|CommandQueueManager|Updating command status 19-12-28 18:42:40.1|Trace|Http|Req: 256 [GET] /api/queue?sort_by=timeleft&order=asc 19-12-28 18:42:40.1|Trace|EventAggregator|Publishing CommandExecutedEvent 19-12-28 18:42:40.1|Trace|EventAggregator|CommandExecutedEvent -> TaskManager 19-12-28 18:42:40.1|Trace|TaskManager|Updating last run time for: NzbDrone.Core.Download.CheckForFinishedDownloadCommand 19-12-28 18:42:40.1|Trace|EventAggregator|CommandExecutedEvent <- TaskManager 19-12-28 18:42:40.1|Trace|EventAggregator|CommandExecutedEvent -> TaskModule 19-12-28 18:42:40.1|Trace|EventAggregator|CommandExecutedEvent <- TaskModule 19-12-28 18:42:40.1|Trace|CommandExecutor|CheckForFinishedDownloadCommand <- DownloadMonitoringService [00:00:00.3674830] 19-12-28 18:42:40.1|Trace|Http|Res: 256 [GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (14 ms) 19-12-28 18:42:40.1|Debug|Api|[GET] /api/queue?sort_by=timeleft&order=asc: 200.OK (14 ms) 19-12-28 18:42:49.5|Trace|Http|Req: 257 [GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 19-12-28 18:42:49.5|Trace|Http|Res: 257 [GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 303.SeeOther (1 ms) 19-12-28 18:42:49.5|Debug|Api|[GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 303.SeeOther (1 ms) 19-12-28 18:42:49.6|Trace|Http|Req: 258 [GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 19-12-28 18:42:49.6|Debug|Parser|Parsing string 'mission impossible 2' 19-12-28 18:42:49.6|Debug|Parser|Unable to parse mission impossible 2 19-12-28 18:42:49.6|Trace|HttpClient|Req: [GET] https://api.themoviedb.org/3/search/movie?api_key=1a7373301961d03f97f853a876dd1212&query=mission%2Bimpossible%2B2&year=&include_adult=False 19-12-28 18:42:49.6|Trace|ConfigService|Using default config value for 'proxyenabled' defaultValue:'False' 19-12-28 18:42:49.8|Trace|HttpClient|Res: [GET] https://api.themoviedb.org/3/search/movie?api_key=1a7373301961d03f97f853a876dd1212&query=mission%2Bimpossible%2B2&year=&include_adult=False: 200.OK (212 ms) 19-12-28 18:42:49.9|Trace|Http|Res: 258 [GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 200.OK (300 ms) 19-12-28 18:42:49.9|Debug|Api|[GET] /api/movie/lookup?term=mission%20impossible%202&apikey=(removed) 200.OK (300 ms) 19-12-28 18:42:51.7|Trace|Http|Req: 259 [GET] /api/profile?apikey=(removed) 19-12-28 18:42:51.7|Trace|Http|Res: 259 [GET] /api/profile?apikey=(removed) 303.SeeOther (1 ms) 19-12-28 18:42:51.7|Debug|Api|[GET] /api/profile?apikey=(removed) 303.SeeOther (1 ms) 19-12-28 18:42:51.7|Trace|Http|Req: 260 [GET] /api/profile?apikey=(removed) 19-12-28 18:42:51.7|Trace|Http|Res: 260 [GET] /api/profile?apikey=(removed) 200.OK (19 ms) 19-12-28 18:42:51.7|Debug|Api|[GET] /api/profile?apikey=(removed) 200.OK (19 ms) 19-12-28 18:42:51.8|Trace|Http|Req: 261 [GET] /api/rootfolder?apikey=(removed) 19-12-28 18:42:51.8|Trace|Http|Res: 261 [GET] /api/rootfolder?apikey=(removed) 303.SeeOther (2 ms) 19-12-28 18:42:51.8|Debug|Api|[GET] /api/rootfolder?apikey=(removed) 303.SeeOther (2 ms) 19-12-28 18:42:51.8|Trace|Http|Req: 262 [GET] /api/rootfolder?apikey=(removed) 19-12-28 18:42:51.9|Trace|Http|Res: 262 [GET] /api/rootfolder?apikey=(removed) 200.OK (74 ms) 19-12-28 18:42:51.9|Debug|Api|[GET] /api/rootfolder?apikey=(removed) 200.OK (74 ms) 19-12-28 18:42:56.5|Trace|Http|Req: 263 [POST] /api/movie?apikey=(removed) 19-12-28 18:42:56.5|Trace|Http|Res: 263 [POST] /api/movie?apikey=(removed) 303.SeeOther (3 ms) 19-12-28 18:42:56.5|Debug|Api|[POST] /api/movie?apikey=(removed) 303.SeeOther (3 ms) 19-12-28 18:42:56.5|Trace|Http|Req: 264 [GET] /api/movie?apikey=(removed) 19-12-28 18:42:56.6|Trace|Owin|SQLite warning (284): automatic index on AlternativeTitles(MovieId) 19-12-28 18:42:56.6|Trace|Owin|

19-12-28 18:42:56.6|Trace|Owin|SQLite warning (284): automatic index on MovieFiles(MovieId) 19-12-28 18:42:56.6|Trace|Owin|

19-12-28 18:42:56.7|Trace|Http|Res: 264 [GET] /api/movie?apikey=(removed) 200.OK (139 ms) 19-12-28 18:42:56.7|Debug|Api|[GET] /api/movie?apikey=(removed) 200.OK (139 ms) 19-12-28 18:43:00.1|Trace|Http|Req: 265 [GET] /api/health 19-12-28 18:43:00.1|Trace|Http|Req: 266 [GET] /api/diskspace 19-12-28 18:43:00.1|Trace|Http|Res: 265 [GET] /api/health: 200.OK (5 ms) 19-12-28 18:43:00.1|Debug|Api|[GET] /api/health: 200.OK (5 ms) 19-12-28 18:43:00.1|Trace|Owin|SQLite warning (284): automatic index on AlternativeTitles(MovieId) 19-12-28 18:43:00.1|Trace|Owin|

19-12-28 18:43:00.1|Trace|Owin|SQLite warning (284): automatic index on MovieFiles(MovieId) 19-12-28 18:43:00.1|Trace|Owin|

19-12-28 18:43:00.1|Trace|Http|Req: 267 [GET] /api/health 19-12-28 18:43:00.1|Trace|Http|Res: 267 [GET] /api/health: 200.OK (2 ms) 19-12-28 18:43:00.1|Debug|Api|[GET] /api/health: 200.OK (2 ms) 19-12-28 18:43:00.3|Trace|ConfigService|Using default config value for 'downloadedmoviesfolder' defaultValue:'' 19-12-28 18:43:00.4|Trace|Http|Res: 266 [GET] /api/diskspace: 200.OK (275 ms) 19-12-28 18:43:00.4|Debug|Api|[GET] /api/diskspace: 200.OK (275 ms) 19-12-28 18:43:00.4|Trace|Http|Req: 268 [GET] /api/diskspace 19-12-28 18:43:00.4|Trace|Owin|SQLite warning (284): automatic index on AlternativeTitles(MovieId) 19-12-28 18:43:00.4|Trace|Owin|

19-12-28 18:43:00.4|Trace|Owin|SQLite warning (284): automatic index on MovieFiles(MovieId) 19-12-28 18:43:00.4|Trace|Owin|

19-12-28 18:43:00.5|Trace|ConfigService|Using default config value for 'downloadedmoviesfolder' defaultValue:'' 19-12-28 18:43:00.6|Trace|Http|Res: 268 [GET] /api/diskspace: 200.OK (270 ms) 19-12-28 18:43:00.6|Debug|Api|[GET] /api/diskspace: 200.OK (270 ms) 19-12-28 18:43:01.1|Trace|Http|Req: 269 [GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal 19-12-28 18:43:01.2|Trace|Http|Res: 269 [GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal: 200.OK (29 ms) 19-12-28 18:43:01.2|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal: 200.OK (29 ms) 19-12-28 18:43:01.2|Trace|Http|Req: 270 [GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal 19-12-28 18:43:01.2|Trace|Http|Res: 270 [GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal: 200.OK (11 ms) 19-12-28 18:43:01.2|Debug|Api|[GET] /api/log?page=1&pageSize=50&sortKey=time&sortDir=desc&filterType=equal: 200.OK (11 ms) 19-12-28 18:43:03.1|Trace|Http|Req: 271 [GET] /api/log/file 19-12-28 18:43:03.1|Trace|Http|Res: 271 [GET] /api/log/file: 200.OK (7 ms) 19-12-28 18:43:03.1|Debug|Api|[GET] /api/log/file: 200.OK (7 ms) 19-12-28 18:43:03.1|Trace|Http|Req: 272 [GET] /api/log/file/radarr.trace.txt

JagandeepBrar commented 4 years ago

Huh, this is making it even more confusing...

19-12-28 18:42:56.5|Trace|Http|Req: 263 [POST] /api/movie?apikey=(removed)
19-12-28 18:42:56.5|Trace|Http|Res: 263 [POST] /api/movie?apikey=(removed) 303.SeeOther (3 ms)
19-12-28 18:42:56.5|Debug|Api|[POST] /api/movie?apikey=(removed) 303.SeeOther (3 ms)

This is the critical block, and it looks like it is returning HTTP error 303 (See Other): https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303

Currently it checks for status code 201 (Created) which is what I receive on my end.

When you hit add, does it actually get added to Radarr but it fails on the LunaSea client side?

Lasikie commented 4 years ago

Nope, doesn't get added at all.

Lasikie commented 4 years ago

Managed to resolve this

Reverse proxy setup with authentication on the domain.

Got to add the authentication into the url like so

https://username:password@domain.com/radarr

Only works for Radarr and Sonarr, Haven’t tested Lidarr. Does not work with Sabnzbd.

JagandeepBrar commented 4 years ago

Glad to hear! I’ll be adding notes on how to correctly add a host into the prompt for future users.