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: