[SOLVED] Assets view empty after upgrade to 7.11.0 (red alert notification in bottom right corner)

I have…

  • [ x Checked the logs and have uploaded a log file and provided a link because I found something suspicious there. Please do not post the log file in the topic because very often something important is missing.

I’m submitting a…

  • Regression (a behavior that stopped working in a new release)
  • Bug report
  • Performance issue
  • Documentation issue or request

Current behavior

I upgraded Squidex from 7.8.2 to 7.11.0 and Assets view now give me an error:

2024-01-04T16:08:29.105842779Z   "logLevel": "Error",
2024-01-04T16:08:29.105850779Z   "message": "An unexpected exception has occurred.",
2024-01-04T16:08:29.105856679Z   "timestamp": "2024-01-04T16:08:29Z",
2024-01-04T16:08:29.105861680Z   "app": {
2024-01-04T16:08:29.105866380Z     "name": "Squidex",
2024-01-04T16:08:29.105871180Z     "version": "7.11.0.0",
2024-01-04T16:08:29.105875880Z     "sessionId": "058b2f9c-cf0d-49b6-bb06-f8893dad680a"
2024-01-04T16:08:29.105880781Z   },
2024-01-04T16:08:29.105885281Z   "web": {
2024-01-04T16:08:29.108890530Z     "requestId": "00-0d363559158337672bd9aa8fb40fc621-33a0acbea957693b-01",
2024-01-04T16:08:29.108909231Z     "requestPath": "/api/apps/test-db/assets/query",
2024-01-04T16:08:29.108915031Z     "requestMethod": "POST",
2024-01-04T16:08:29.108919732Z     "routeValues": {
2024-01-04T16:08:29.108924332Z       "area": "api",
2024-01-04T16:08:29.108928932Z       "action": "GetAssetsPost",
2024-01-04T16:08:29.108933832Z       "controller": "Assets"
2024-01-04T16:08:29.108938433Z     }
2024-01-04T16:08:29.108942733Z   },
2024-01-04T16:08:29.108947233Z   "category": "Squidex.Web.ApiExceptionFilterAttribute",
2024-01-04T16:08:29.108970034Z   "exception": {
2024-01-04T16:08:29.108974834Z     "type": "System.FormatException",
2024-01-04T16:08:29.116717019Z     "message": "Required element \u0027ts\u0027 for property \u0027TotalSize\u0027 of class Squidex.Domain.Apps.Entities.MongoDb.Assets.MongoAssetEntity is missing.",
2024-01-04T16:08:29.116740820Z     "stackTrace": "   at MongoDB.Bson.Serialization.BsonClassMapSerializer\u00601.DeserializeClass(BsonDeserializationContext context)\n   at MongoDB.Bson.Serialization.BsonClassMapSerializer\u00601.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)\n   at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer\u00601 serializer, BsonDeserializationContext context)\n   at MongoDB.Driver.Core.Operations.CursorBatchDeserializationHelper.DeserializeBatch[TDocument](RawBsonArray batch, IBsonSerializer\u00601 documentSerializer, MessageEncoderSettings messageEncoderSettings)\n   at MongoDB.Driver.Core.Operations.FindOperation\u00601.CreateFirstCursorBatch(BsonDocument cursorDocument)\n   at MongoDB.Driver.Core.Operations.FindOperation\u00601.CreateCursor(IChannelSourceHandle channelSource, IChannelHandle channel, BsonDocument commandResult)\n   at MongoDB.Driver.Core.Operations.FindOperation\u00601.ExecuteAsync(RetryableReadContext context, CancellationToken cancellationToken)\n   at MongoDB.Driver.Core.Operations.FindOperation\u00601.ExecuteAsync(IReadBinding binding, CancellationToken cancellationToken)\n   at MongoDB.Driver.OperationExecutor.ExecuteReadOperationAsync[TResult](IReadBinding binding, IReadOperation\u00601 operation, CancellationToken cancellationToken)\n   at MongoDB.Driver.MongoCollectionImpl\u00601.ExecuteReadOperationAsync[TResult](IClientSessionHandle session, IReadOperation\u00601 operation, ReadPreference readPreference, CancellationToken cancellationToken)\n   at MongoDB.Driver.MongoCollectionImpl\u00601.UsingImplicitSessionAsync[TResult](Func\u00602 funcAsync, CancellationToken cancellationToken)\n   at MongoDB.Driver.IAsyncCursorSourceExtensions.ToListAsync[TDocument](IAsyncCursorSource\u00601 source, CancellationToken cancellationToken)\n   at Squidex.Infrastructure.MongoDb.MongoExtensions.ToListRandomAsync[T](IFindFluent\u00602 find, IMongoCollection\u00601 collection, Int64 take, CancellationToken ct) in /src/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs:line 236\n   at Squidex.Domain.Apps.Entities.MongoDb.Assets.MongoAssetRepository.QueryAsync(DomainId appId, Nullable\u00601 parentId, Q q, CancellationToken ct) in /src/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/MongoAssetRepository.cs:line 135\n   at Squidex.Domain.Apps.Entities.Assets.Queries.AssetQueryService.QueryCoreAsync(Context context, Nullable\u00601 parentId, Q q, CancellationToken ct) in /src/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs:line 254\n   at Squidex.Domain.Apps.Entities.Assets.Queries.AssetQueryService.QueryAsync(Context context, Nullable\u00601 parentId, Q q, CancellationToken ct) in /src/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryService.cs:line 186\n   at Squidex.Areas.Api.Controllers.Assets.AssetsController.GetAssetsPost(String app, QueryDto query) in /src/src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs:line 151\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeActionMethodAsync\u003Eg__Logged|12_1(ControllerActionInvoker invoker)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeNextActionFilterAsync\u003Eg__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State\u0026 next, Scope\u0026 scope, Object\u0026 state, Boolean\u0026 isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.\u003CInvokeInnerFilterAsync\u003Eg__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.\u003CInvokeNextExceptionFilterAsync\u003Eg__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"

Expected behavior

Squidex should not throw error in Assets view and I should be able to see my images.

Minimal reproduction of the problem

Upgrade Squidex from 7.8.2 with some images (possibly webp/avif that is causing this) to 7.11.0

Environment

  • Self hosted with docker
  • Self hosted with IIS
  • Self hosted with other version
  • Cloud version

Version: 7.11.0

Browser:

  • Chrome (desktop)
  • Chrome (Android)
  • Chrome (iOS)
  • Firefox
  • Safari (desktop)
  • Safari (iOS)
  • IE
  • Edge

Others:

Update:

I upgraded one version at a time. This is the result:

squidex/squidex:7.8.2 WORKS
squidex/squidex:7.9.0 WORKS
squidex/squidex:7.10.0 DOES NOT WORK

I’m guessing it has to do with the following?

  • Assets: New configuration flag to enable the automatic conversion of assets into AVIF or WEBP, depending on the browser support.

Yes, I see it in code. It is a one liner that I can fix tomorrow.

Purrfect :smile_cat:
Let me know when done and i will test it.

Sorry, I have forgotten to give you the docker tag. It is dev-7846

I just tested with the dev-7846 image tag, and it is working :raised_hands:
The only thing I noticed is that the version is coming up as 7.0.0.0 in the logs though. But I guess it will come up correctly when you generate the official version.

I noticed that too actually when building it myself.

No worries and thank you for the quick fix!

Yes. For settingt the version I have to use docker ARGs. This destroys my caching and slows down the build. Therefore I do not set the version in dev builds.

1 Like