nixgates / plugin.video.seren

Repository for Seren Development
320 stars 102 forks source link

RD needs to be constantly re-authorized in 2.1.2 #647

Closed cphilpotts closed 3 years ago

cphilpotts commented 3 years ago

This has been a very hard bug to track down... and is still labeled "Unreproducible" for that very reason. We haven't been able to reproduce it. With that in mind, the settings code has had a nice rework for 2.1.2, so we're hoping this one won't crop up again. In any case, I'm going to close it now, and if it comes up again, we'll address it then.

This has started happening again in 2.1.2. RD won't stay authorized and changes to "invalid" in settings before I've finished watching a show. I've wiped add-on data, uninstalled and reinstalled twice now.

Originally posted by @cphilpotts in https://github.com/nixgates/plugin.video.seren/issues/635#issuecomment-874296261

drinfernoo commented 3 years ago

The issue that you're referring to was regarding settings being wiped, which is not what's happening here.

We need a debug log to even attempt to figure out what's happening, as this has been unreproducible for our team.

cphilpotts commented 3 years ago

Log file

https://paste.kodi.tv/nodoqujela

drinfernoo commented 3 years ago

Can you please get a debug log, as I indicated in my last comment?

What would be even more help than that would be your settings.xml from after the authorization is lost, but before you reauthorize.

drinfernoo commented 3 years ago

Also, what if you just restart Kodi when your status changes to "Invalid"? Does that help?

cphilpotts commented 3 years ago

Clearing cache or restarting Kodi doesn't fix it.

Here's a log with debug enabled when it was working, switched to "invalid" and prior to re-authorizing again.

https://paste.kodi.tv/furinayatu

drinfernoo commented 3 years ago

What would be even more help than that would be your settings.xml from after the authorization is lost, but before you reauthorize.

cphilpotts commented 3 years ago

Here's settings.xml (with my API keys removed) after RD gets set to "Invalid" but prior to re-authorizing RD.


<settings version="2">
    <setting id="general.localtimezone">America/Toronto</setting>
    <setting id="general.manualtimezone" default="true">false</setting>
    <setting id="general.choosetimezone" default="true" />
    <setting id="searchHistory">true</setting>
    <setting id="general.flatten.episodes" default="true">false</setting>
    <setting id="general.hideSpecials" default="true">false</setting>
    <setting id="general.hideUnAired">true</setting>
    <setting id="general.hideWatched" default="true">false</setting>
    <setting id="general.datedelay">true</setting>
    <setting id="trakt.auth">39c5569c10a940eb434939152089410cd62e1b54073afbae832878e21c1b77c1</setting>
    <setting id="nextup.sort">1</setting>
    <setting id="general.sourceselectlines">true</setting>
    <setting id="general.textColorSelect" default="true" />
    <setting id="general.displayColor" default="true">None</setting>
    <setting id="general.setViews" default="true">false</setting>
    <setting id="general.viewidswitch" default="true">false</setting>
    <setting id="addon.view" default="true">0</setting>
    <setting id="addon.view.id" default="true">0</setting>
    <setting id="movie.view" default="true">0</setting>
    <setting id="movie.view.id" default="true">0</setting>
    <setting id="show.view" default="true">0</setting>
    <setting id="show.view.id" default="true">0</setting>
    <setting id="episode.view" default="true">0</setting>
    <setting id="episode.view.id" default="true">0</setting>
    <setting id="season.view" default="true">0</setting>
    <setting id="season.view.id" default="true">0</setting>
    <setting id="general.paginatetraktlists">true</setting>
    <setting id="general.paginatecollection">true</setting>
    <setting id="general.sortcollection" default="true">0</setting>
    <setting id="general.genres.endpoint" default="true">0</setting>
    <setting id="general.subtitle.enable">true</setting>
    <setting id="general.widget.hide_next" default="true">false</setting>
    <setting id="skin.updateAutomatic">true</setting>
    <setting id="skin.active" default="true">Seren Fox</setting>
    <setting id="skin.install" default="true" />
    <setting id="skin.uninstall" default="true" />
    <setting id="skin.switch" default="true" />
    <setting id="skin.updates" default="true" />
    <setting id="skin.testmenu" default="true">false</setting>
    <setting id="general.fanart.fallback" default="true">false</setting>
    <setting id="general.checkAddonUpdates">true</setting>
    <setting id="general.menucaching">true</setting>
    <setting id="general.appendtitles">3</setting>
    <setting id="general.appendepisodegeneral" default="true">0</setting>
    <setting id="general.appendListTitles">1</setting>
    <setting id="general.disableNotificationSound" default="true">false</setting>
    <setting id="general.showRemainingUnwatched">true</setting>
    <setting id="item.limit">40</setting>
    <setting id="general.metalocation">1</setting>
    <setting id="general.meta.showoriginaltitle" default="true">false</setting>
    <setting id="general.force.widget.refresh.playback" default="true">false</setting>
    <setting id="migration.attempted" default="true">false</setting>
    <setting id="tvdb.jw">eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjYzNzkwNDYsImlkIjoiS29kaSIsIm9yaWdfaWF0IjoxNjI1Nzc0MjQ2fQ.GZ-0R1P8wNTQi3gyVEsDPkbCIAkMRf58PF2rRhCZVe43zIuv5ZyvfVTAnOeGlSrUTWpd_zGQ3Uh-0nvVLzBZBWe8V5pWmQisRQDxKrqdy5mAu9tWa6-FXnvi27J0y-aH4UXxp1kq1hJGyFxeG00OJgOPFJE4aZMZd3gmo55i_RYbbdv2RI7R5t9roz1FmV6KoAsXI-uUSs6sepXcqc48w5qFFeBOOlijnVWOtTsKZ9thqTPnCtH3KyiFN_t2NKWNOHSDzHIs8NSWUhjODq9JXqQF3uS-U0jrjBCM7OOzG5g24o-wM34mMaJqn76-QqUo5I90cSzvfC58tY2O5XlOOQ</setting>
    <setting id="tvdb.expiry">1625860641.650247</setting>
    <setting id="trakt.refresh">20841cc79b242028aeb9ce9e526166aa7a152f5f6b5a2fe78d094f748b8dea9b</setting>
    <setting id="trakt.expires">1633057168</setting>
    <setting id="rd.auth">J42J7JZVXXWGP57WIKAEDNXE3CQF6KOEWECXLTHODSMATHW4R76A</setting>
    <setting id="rd.refresh" default="true" />
    <setting id="rd.client_id" default="true" />
    <setting id="rd.expiry">1625701342.4819233</setting>
    <setting id="rd.secret" default="true" />
    <setting id="premiumize.token" default="true" />
    <setting id="general.textColor" default="true" />
    <setting id="alldebrid.apikey" default="true" />
    <setting id="general.trakt.failure.timeout" default="true">0</setting>
    <setting id="update.news.version">2.0</setting>
    <setting id="fanart.apikey">....removed....</setting>
    <setting id="artwork.preferredsize">1</setting>
    <setting id="movies.preferedsource">1</setting>
    <setting id="movie.artwork.advanced" default="true">false</setting>
    <setting id="movies.poster_limit">1</setting>
    <setting id="movies.fanart_limit">1</setting>
    <setting id="movies.banner">true</setting>
    <setting id="movies.landscape">true</setting>
    <setting id="movies.keyart_limit" default="true">0</setting>
    <setting id="movies.clearlogo">true</setting>
    <setting id="movies.clearart">true</setting>
    <setting id="movies.discart">true</setting>
    <setting id="movies.characterart_limit" default="true">0</setting>
    <setting id="tvshows.preferedsource">1</setting>
    <setting id="tv.artwork.advanced" default="true">false</setting>
    <setting id="tvshows.poster_limit">1</setting>
    <setting id="tvshows.fanart_limit">1</setting>
    <setting id="tvshows.banner">true</setting>
    <setting id="tvshows.landscape">true</setting>
    <setting id="tvshows.keyart_limit" default="true">0</setting>
    <setting id="tvshows.clearlogo">true</setting>
    <setting id="tvshows.clearart">true</setting>
    <setting id="tvshows.characterart_limit" default="true">0</setting>
    <setting id="season.poster">true</setting>
    <setting id="season.banner">true</setting>
    <setting id="season.landscape">true</setting>
    <setting id="season.fanart">true</setting>
    <setting id="episode.fanart">true</setting>
    <setting id="general.scrapedisplay" default="true">0</setting>
    <setting id="general.torrentCache">true</setting>
    <setting id="general.threadpoolScale">1</setting>
    <setting id="general.timeout">60</setting>
    <setting id="general.autocache">true</setting>
    <setting id="general.cacheAssistMode" default="true">0</setting>
    <setting id="general.cachelocation">1</setting>
    <setting id="preem.enabled">true</setting>
    <setting id="preem.movieres" default="true">0</setting>
    <setting id="preem.tvres">1</setting>
    <setting id="preem.limit">5</setting>
    <setting id="preem.type" default="true">0</setting>
    <setting id="preem.cloudfiles">true</setting>
    <setting id="preem.adaptiveSources">true</setting>
    <setting id="set.download.location" default="true" />
    <setting id="download.location" default="true">userdata</setting>
    <setting id="general.playstyleMovie">1</setting>
    <setting id="general.playstyleEpisodes" default="true">0</setting>
    <setting id="general.autotrynext">true</setting>
    <setting id="general.resolvefailurehandling">1</setting>
    <setting id="general.bookmarkstyle" default="true">0</setting>
    <setting id="smartplay.displaystyle" default="true">0</setting>
    <setting id="smartplay.playlistcreate">true</setting>
    <setting id="smartplay.clickresume" default="true">false</setting>
    <setting id="smartPlay.preScrape">true</setting>
    <setting id="smartplay.playingnextdialog">true</setting>
    <setting id="playingnext.time">30</setting>
    <setting id="playingnext.defaultaction">1</setting>
    <setting id="smartplay.stillwatching" default="true">false</setting>
    <setting id="stillwatching.numepisodes">3</setting>
    <setting id="general.accountNotifications">true</setting>
    <setting id="trakt.username">cphilpotts</setting>
    <setting id="trakt.authtrakt" default="true" />
    <setting id="trakt.scrobbling">true</setting>
    <setting id="trakt.ignoreSecondsAtStart">180</setting>
    <setting id="trakt.playCountMinimumPercent">80</setting>
    <setting id="trakt.revoketrakt" default="true" />
    <setting id="premiumize.enabled" default="true">false</setting>
    <setting id="premiumize.auth" default="true" />
    <setting id="premiumize.username" default="true" />
    <setting id="premiumize.premiumstatus" default="true" />
    <setting id="premiumize.priority">10</setting>
    <setting id="premiumize.torrents">true</setting>
    <setting id="premiumize.hosters">true</setting>
    <setting id="premiumize.transcoded" default="true">false</setting>
    <setting id="premiumize.addToCloud" default="true">false</setting>
    <setting id="premiumize.autodelete">true</setting>
    <setting id="premiumize.threshold">750</setting>
    <setting id="premiumize.cloudInspection">true</setting>
    <setting id="realdebrid.enabled">true</setting>
    <setting id="rd.username" default="true" />
    <setting id="rd.premiumstatus">Invalid</setting>
    <setting id="rd.auth_start" default="true" />
    <setting id="rd.priority">10</setting>
    <setting id="rd.torrents">true</setting>
    <setting id="rd.hosters">true</setting>
    <setting id="rd.autodelete">true</setting>
    <setting id="rd.cloudInspection">true</setting>
    <setting id="alldebrid.enabled" default="true">false</setting>
    <setting id="alldebrid.username" default="true" />
    <setting id="alldebrid.premiumstatus" default="true" />
    <setting id="alldebrid.auth_start" default="true" />
    <setting id="alldebrid.priority">10</setting>
    <setting id="alldebrid.torrents">true</setting>
    <setting id="alldebrid.hosters">true</setting>
    <setting id="alldebrid.cloudInspection">true</setting>
    <setting id="providers.autoupdates">true</setting>
    <setting id="providers.checkupdates" default="true" />
    <setting id="providers.manage" default="true" />
    <setting id="general.maxResolution" default="true">0</setting>
    <setting id="general.enablesizelimit">true</setting>
    <setting id="general.sizelimit.movie">30</setting>
    <setting id="general.sizelimit.episode">15</setting>
    <setting id="general.sizeminimum.movie" default="true">0</setting>
    <setting id="general.sizeminimum.episode" default="true">0</setting>
    <setting id="general.disable3d">true</setting>
    <setting id="general.disable265" default="true">false</setting>
    <setting id="general.disablelowQuality" default="true">false</setting>
    <setting id="general.hidesd" default="true">false</setting>
    <setting id="general.disablehdrsources" default="true">false</setting>
    <setting id="general.sortsources">2</setting>
    <setting id="general.sizesort">true</setting>
    <setting id="general.reversesizesort" default="true">false</setting>
    <setting id="general.265sort" default="true">false</setting>
    <setting id="general.lowQualitysort" default="true">false</setting>
    <setting id="advanced.apikeys">true</setting>
    <setting id="tmdb.apikey">...removed...</setting>
    <setting id="trakt.clientid" default="true" />
    <setting id="trakt.secret" default="true" />
    <setting id="tvdb.apikey">...removed...</setting>
    <setting id="omdb.apikey" default="true" />
    <setting id="cache.clear" default="true" />
    <setting id="cache.cleartorrent" default="true" />
    <setting id="cache.clearsearch" default="true" />
    <setting id="cache.wipeaddon" default="true" />
    <setting id="traktdb.flush" default="true" />
    <setting id="traktdb.force" default="true" />
    <setting id="traktdb.rebuild" default="true" />
    <setting id="reuselanguageinvoker.status">Disabled</setting>
    <setting id="reuselanguageinvoker.toggle" default="true" />
    <setting id="windowtests.playingNext" default="true" />
    <setting id="windowtests.stillWatching" default="true" />
    <setting id="windowtests.resolverWindow" default="true" />
    <setting id="windowtests.sourceSelectWindow" default="true" />
    <setting id="windowtests.manualCacheWindow" default="true" />
</settings>
drinfernoo commented 3 years ago

@cphilpotts While I wish you had used a paste service rather than a code wall there, it is what I asked for... We'll take a look.

cphilpotts commented 3 years ago

@cphilpotts While I wish you had used a paste service rather than a code wall there, it is what I asked for... We'll take a look.

Better?

https://dpaste.org/EmDH

Chucknorris1975 commented 3 years ago

I posted in the subreddit yesterday about this happening, and did a fresh wipe of Kodi with only seren now installed. This is my log. kodi.log Installed seren, Authorised Trakt, RD and then installed providers. Made sure everything was showing in the options menu, Tried to watch a movie and got the "No authorised RD account error" appear. Re went into settings and Trakt and RD were empty. PXL_20210711_003127838 PXL_20210711_003251309 PXL_20210711_004154563

EDIT: I deleted Kodi 19.1 and reinstalled 18.9. Installed Seren and authorized Trakt and RD. Nothing. Tried once more and it stuck. At the time of this edit, it's been 12hr and both RD and Trakt have kept their authorization. Will let you know if this changes.

tadad01 commented 3 years ago

Am having the same problem, previous versions of Seren kept indicating RD had expired, current version reports RD as INVALID. Rebooting my nVidia Shield seems to fix the problem temporarily but it returns. This is a clean install of Kodi on a factory reset device with Seren the only add-on installed.

drinfernoo commented 3 years ago

We've got a special version of settings_cache.py for you to try out, which may fix it, and if it doesn't it has a lot of extra logging included that may help us track down the issue for everyone.

settings_cache.zip

Can you please download this file, and unzip it (or copy the settings_cache.py file inside) to special://addons/plugin.video.seren/resources/lib/modules/settings_cache.py? Make sure to either do this with Kodi not running, or reboot Kodi afterwards.

If you have any more issues (besides a very long log file), please upload the log again. You'll most likely have to send the whole file, as it will probably be too long for a paste service.

cphilpotts commented 3 years ago

We've got a special version of settings_cache.py for you to try out, which may fix it, and if it doesn't it has a lot of extra logging included that may help us track down the issue for everyone.

settings_cache.zip

Can you please download this file, and unzip it (or copy the settings_cache.py file inside) to special://addons/plugin.video.seren/resources/lib/modules/settings_cache.py? Make sure to either do this with Kodi not running, or reboot Kodi afterwards.

If you have any more issues (besides a very long log file), please upload the log again. You'll most likely have to send the whole file, as it will probably be too long for a paste service.

I've added this. Will let you know what happens.

cphilpotts commented 3 years ago

We've got a special version of settings_cache.py for you to try out, which may fix it, and if it doesn't it has a lot of extra logging included that may help us track down the issue for everyone.

settings_cache.zip

Can you please download this file, and unzip it (or copy the settings_cache.py file inside) to special://addons/plugin.video.seren/resources/lib/modules/settings_cache.py? Make sure to either do this with Kodi not running, or reboot Kodi afterwards.

If you have any more issues (besides a very long log file), please upload the log again. You'll most likely have to send the whole file, as it will probably be too long for a paste service.

Trying to watch a tv show says no sources again but settings is now showing RD as premium instead of invalid. Here's the log prior to re-authorizing RD again (which fixes the no sources issue)

https://paste.kodi.tv/viyefeduko

Let me know if you'd like me to try something else.

Chucknorris1975 commented 3 years ago

Could it be that that particular TV show or episode has no sources? Have you tried another episode or show?

I get that with obscure TV shows.

cphilpotts commented 3 years ago

Could it be that that particular TV show or episode has no sources? Have you tried another episode or show?

I get that with obscure TV shows.

once I re-authorized it worked again. Same show and episode.

cphilpotts commented 3 years ago

The RD authorization has stayed active since yesterday's re-auth. Don't want to jinx it yet and say it's fixed but it's definitely staying active longer than it was prior to using this test file you sent.

drinfernoo commented 3 years ago

It would actually be really great if you could also test these two files... I've packaged this zip so that you can unzip it into special://addons, and it should put them where they belong.

plugin.video.seren.zip

Hopefully we should not have any more issues with settings getting broken after the changes in those files.

drinfernoo commented 3 years ago

I'm going to go ahead and close this one... The fixed files I sent above were some of the main fixes in 2.1.3, which should have fixed the "settings reset" bug, and thus this one as well.

cphilpotts commented 3 years ago

I'm going to go ahead and close this one... The fixed files I sent above were some of the main fixes in 2.1.3, which should have fixed the "settings reset" bug, and thus this one as well.

I haven't had a chance to test the most recent files, but the prior file has fixed my issue. Thanks!