[SOLVED] Webhooks stop working -- not sure why

I’m submitting a…

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

Current behavior

After a time, the webhook stops working – the history just says “pending” with no way (that I’ve found) to get it to start working again.

Expected behavior

Webhook keeps working

Minimal reproduction of the problem

Not entirely sure. More information about the setup: Webhook rule with a “Content changed” settings.

Environment

  • [X] Self hosted with docker
  • [ ] Self hosted with IIS
  • [ ] Self hosted with other version
  • [ ] Cloud version

Browser:

  • [X] Chrome (desktop)
  • [ ] Chrome (Android)
  • [ ] Chrome (iOS)
  • [ ] Firefox
  • [ ] Safari (desktop)
  • [ ] Safari (iOS)
  • [ ] IE
  • [ ] Edge

Others:
It fixes if I “recycle” the container.

Okay, now i’m seeing this when I run it:

{


  "logLevel": "Error",


  "action": "QueueWebhookEvents",


  "status": "Failed",


  "exception": {


    "type": "System.FormatException",


    "message": "An error occurred while deserializing the Job property of class Squidex.Domain.Apps.Entities.MongoDb.Rules.MongoRuleEventEntity: Error reading string. Unexpected token: StartObject. Path 'actionData'.",


    "stackTrace": "   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeMemberValue(BsonDeserializationContext context, BsonMemberMap memberMap)\n   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeClass(BsonDeserializationContext context)\n   at MongoDB.Bson.Serialization.BsonClassMapSerializer`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)\n   at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)\n   at MongoDB.Driver.Core.Operations.CursorBatchDeserializationHelper.DeserializeBatch[TDocument](RawBsonArray batch, IBsonSerializer`1 documentSerializer, MessageEncoderSettings messageEncoderSettings)\n   at MongoDB.Driver.Core.Operations.FindCommandOperation`1.CreateCursorBatch(BsonDocument commandResult)\n   at MongoDB.Driver.Core.Operations.FindCommandOperation`1.CreateCursor(IChannelSourceHandle channelSource, BsonDocument commandResult)\n   at MongoDB.Driver.Core.Operations.FindCommandOperation`1.ExecuteAsync(IReadBinding binding, CancellationToken cancellationToken)\n   at MongoDB.Driver.Core.Operations.FindOperation`1.ExecuteAsync(IReadBinding binding, CancellationToken cancellationToken)\n   at MongoDB.Driver.OperationExecutor.ExecuteReadOperationAsync[TResult](IReadBinding binding, IReadOperation`1 operation, CancellationToken cancellationToken)\n   at MongoDB.Driver.MongoCollectionImpl`1.ExecuteReadOperationAsync[TResult](IClientSessionHandle session, IReadOperation`1 operation, ReadPreference readPreference, CancellationToken cancellationToken)\n   at MongoDB.Driver.MongoCollectionImpl`1.UsingImplicitSessionAsync[TResult](Func`2 funcAsync, CancellationToken cancellationToken)\n   at MongoDB.Driver.IAsyncCursorSourceExtensions.ForEachAsync[TDocument](IAsyncCursorSource`1 source, Func`2 processor, CancellationToken cancellationToken)\n   at Squidex.Domain.Apps.Entities.Rules.RuleDequeuerGrain.QueryAsync() in /src/Squidex.Domain.Apps.Entities/Rules/RuleDequeuerGrain.cs:line 80"


  },


  "app": {


    "name": "Squidex",


    "version": "1.0.0.0",


    "sessionId": "909bbe13-347d-4d64-a986-2a4fbcdb3d5e"


  },


  "timestamp": "2018-12-05T21:29:07.2024953Z"


}```

my webhooks have also stopped working

Have you deployed the latest dev version?

I did today, yes. So far it’s still working and hasn’t stopped…

But not when you reported the bug? Because I made a major refactoring to get rid of the Json.NET dependency and I have forgotten to write a migration for a breaking change.

I added a migration.

Yeah, its working now – but I just pulled latest to make sure it’s all good.

Thanks Sebastian!