Open t0815 opened 1 year ago
Do you actually have files for this series?
I believe you're using the beta Web UI, check on there and let us know what it says.
yes, i have files for the given series. How do i access the beta web ui?
Manually download it and replace the contents of the Web UI folder with it.
Or just change the update channel for the web ui to dev and hit update.
And if you're coming from a stable version of web ui, then hard refresh the web browser, reset the local storage and/or session storage, and close and re-open the tab. You probably need to do this regardless of how you update to the β web ui.
Same in web-ui:
Files are available and unwatched:
I'm having a similar issue with server 4.2.2 and Desktop 4.2.1, in my case I noticed the problem the other way, series I KNOW are completed (even with the vote) with un-watched episodes. On "Series Info" I get "all episodes have watched" but on the episodes tab I get the un-watched episodes (so I do on the search)
I would not take much issue, but the "mark all as watched" button does not work. While I see this happening mostly with recent series, it also happens with older series. I'm my case with over 3k series, is a bit hard to really find the errors on the desktop client, but I'll check the DB later.
Edit: Ok, on desktop I created a filter with "Has un-watched episodes: include" and "user voted: include". Definitively is mostly with recent added, watched and voted series.
I also tested the other way with "has unwatched episodes: exclude" and "user voted (any): exclude", and I got a few series.
i did some messing around in the db and did notice the entries for crossref_file_episode did not match the videolocal entries. I did update them with correct hash, filename and size, then the problem was fixed. I have no clue tho, under which circumstances old invalid crossref entries remain or are not updated....
And for the particular case above, the issue was in videolocal_user, there the resume position would be present, which seems to break the continue watching tile. EDIT: did some more digging, and this seems to be the root cause, for breaking continue watching. I found several more instances, and every time the resume position was set (> 0). So to conclude, the query to fetch next episode will return null when the resume position is set. This gets set, if you play an episode via internal MP (I believe) / use play controls in UI. This also explains the issue https://github.com/ShokoAnime/ShokoDesktop/issues/627
Is this still an issue? I know you're on daily, or at least were. It's a server issue, and we've messed with that logic quite a bit
im not on daily anymore, since quite a while tbh. Could check tho...
We're about to hit the next stable, so daily is very... Stable right now
🤣 okee, ill try...
meh, got error during DB migration, latest daily. I think there is a typo in the query, but not sure.
[2024-09-23 19:59:28:030] Error|Shoko.Server.Server.ShokoServer > DATABASE ERROR: 129.35 ALTER TABLE `TMDB_Movie` CHANGE COLUMN IF EXISTS `EnglishOvervie` `EnglishOverview` TEXT CHARACTER SET UTF8 NOT NULL; | MySqlConnector.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS `EnglishOvervie` `EnglishOverview` TEXT CHARACTER SET UTF8 NOT NULL' at line 1
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 892
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 483
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 309
at MySqlConnector.MySqlCommand.ExecuteNonQuery() in /_/src/MySqlConnector/MySqlCommand.cs:line 108
at Shoko.Server.Databases.MySQL.Execute(MySqlConnection connection, String command) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 1151
at Shoko.Server.Databases.MySQL.ExecuteCommand(MySqlConnection connection, String command) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 1137: DATABASE ERROR: 129.35 ALTER TABLE `TMDB_Movie` CHANGE COLUMN IF EXISTS `EnglishOvervie` `EnglishOverview` TEXT CHARACTER SET UTF8 NOT NULL; | MySqlConnector.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS `EnglishOvervie` `EnglishOverview` TEXT CHARACTER SET UTF8 NOT NULL' at line 1
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 892
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 483
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 309
at MySqlConnector.MySqlCommand.ExecuteNonQuery() in /_/src/MySqlConnector/MySqlCommand.cs:line 108
at Shoko.Server.Databases.MySQL.Execute(MySqlConnection connection, String command) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 1151
at Shoko.Server.Databases.MySQL.ExecuteCommand(MySqlConnection connection, String command) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 1137
[2024-09-23 19:59:28:066] Error|Shoko.Server.Utilities.Utils > Database Error
[2024-09-23 19:59:28:066] Trace|Shoko.Server.Server.ServerState > Starting Server: Start fehlgeschalgen. Bitte überprüfe die Datenbankeinstellungen.
MySQL or Maria?
mysql. The EnglishOvervie
EnglishOverview
seems wrong
Looking at it
New version is building
next sql error:
[2024-09-23 21:11:28:473] Error|Shoko.Server.Server.ShokoServer > DATABASE ERROR: 130.1 [MigrateRenamers] | NHibernate.Exceptions.GenericADOException: could not execute native bulk manipulation query:CREATE TABLE IF NOT EXISTS RenamerInstance (ID INT NOT NULL AUTO_INCREMENT, Name text NOT NULL, Type text NOT NULL, Settings mediumblob, PRIMARY KEY (ID));
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Name (Name);
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Type (Type);[SQL: CREATE TABLE IF NOT EXISTS RenamerInstance (ID INT NOT NULL AUTO_INCREMENT, Name text NOT NULL, Type text NOT NULL, Settings mediumblob, PRIMARY KEY (ID));
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Name (Name);
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Type (Type);]
---> MySqlConnector.MySqlException (0x80004005): BLOB/TEXT column 'Name' used in key specification without a key length
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 892
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 483
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 309
at MySqlConnector.MySqlCommand.ExecuteNonQuery() in /_/src/MySqlConnector/MySqlCommand.cs:line 108
at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(DbCommand cmd)
at NHibernate.Engine.Query.NativeSQLQueryPlan.PerformExecuteUpdate(QueryParameters queryParameters, ISessionImplementor session)
--- End of inner exception stack trace ---
at NHibernate.Engine.Query.NativeSQLQueryPlan.PerformExecuteUpdate(QueryParameters queryParameters, ISessionImplementor session)
at NHibernate.Impl.SessionImpl.ExecuteNativeUpdate(NativeSQLQuerySpecification nativeQuerySpecification, QueryParameters queryParameters)
at NHibernate.Impl.SqlQueryImpl.ExecuteUpdate()
at Shoko.Server.Databases.MySQL.MigrateRenamers(Object connection) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 991: DATABASE ERROR: 130.1 [MigrateRenamers] | NHibernate.Exceptions.GenericADOException: could not execute native bulk manipulation query:CREATE TABLE IF NOT EXISTS RenamerInstance (ID INT NOT NULL AUTO_INCREMENT, Name text NOT NULL, Type text NOT NULL, Settings mediumblob, PRIMARY KEY (ID));
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Name (Name);
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Type (Type);[SQL: CREATE TABLE IF NOT EXISTS RenamerInstance (ID INT NOT NULL AUTO_INCREMENT, Name text NOT NULL, Type text NOT NULL, Settings mediumblob, PRIMARY KEY (ID));
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Name (Name);
ALTER TABLE RenamerInstance ADD INDEX IX_RenamerInstance_Type (Type);]
---> MySqlConnector.MySqlException (0x80004005): BLOB/TEXT column 'Name' used in key specification without a key length
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 892
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 483
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 309
at MySqlConnector.MySqlCommand.ExecuteNonQuery() in /_/src/MySqlConnector/MySqlCommand.cs:line 108
at NHibernate.AdoNet.AbstractBatcher.ExecuteNonQuery(DbCommand cmd)
at NHibernate.Engine.Query.NativeSQLQueryPlan.PerformExecuteUpdate(QueryParameters queryParameters, ISessionImplementor session)
--- End of inner exception stack trace ---
at NHibernate.Engine.Query.NativeSQLQueryPlan.PerformExecuteUpdate(QueryParameters queryParameters, ISessionImplementor session)
at NHibernate.Impl.SessionImpl.ExecuteNativeUpdate(NativeSQLQuerySpecification nativeQuerySpecification, QueryParameters queryParameters)
at NHibernate.Impl.SqlQueryImpl.ExecuteUpdate()
at Shoko.Server.Databases.MySQL.MigrateRenamers(Object connection) in D:\a\ShokoServer\ShokoServer\Shoko.Server\Databases\MySQL.cs:line 991
Ok, thanks. We don't have anyone that uses MySQL on the dev team anymore, so that helps
New one is building
in shoko-desktop the issue is still present, but in Web-UI its fixed
.... Ok. Not sure how or why
if i remember, the query for next episodes took the value for played seconds into account. Not sure, if web-api uses same query (obviously not i guess).
VERSION INFORMATION
Server Version: 4.2.1
Desktop Version: 4.2.1
LOG FILE
n/a
DESCRIPTION
Related to #627 propably.
I noticed that some series show, there are no episodes remaining to watch after update, but all episides are actually unwatched. Did not start playing them with new version either.
STEPS TO REPRODUCE