Strange compile error

Hi
I am trying to compile a small program for an ESP32-Wroom-32EU. I get an error that does not make sense to me.

.pio\libdeps\firebeetle32\painlessMesh\src/painlessmesh/router.hpp:111:25: error: no match for 'operator==' (operand types are 'ArduinoJson6193_F1::DeserializationError' and 'int')
   while (variant->error == 3 && baseCapacity <= 20480) {

This is my platform.ini

[env:firebeetle32]
platform = espressif32
board = firebeetle32
framework = arduino


monitor_speed = 115200
upload_speed=921600
lib_deps = 
    painlessmesh/painlessMesh @ 1.4.9
    bblanchon/ArduinoJson 
    TaskScheduler
    ESPAsyncTCP

The same code will compile for espressif8266@2.6.3. I have not upgraded due to many issues. Does the same go for the ESP32 and if so, what is the package that I should use?

Any suggestions where to look please?

I have the same problem, but I use ESP8266(NodeMCU 1.0).
Do you solve the problem? Thanks

You’re using an outdated version of the painlessMesh code with regards to the latest ArduinoJson version you dictate via

Now the code does not check against “3” but while (variant->error == DeserializationError::NoMemory ..

OK, I get it. Thank a lot.

I solved the problem by changing the parentheses but it looks like the latest release does things differently anyway.
This changed

(variant->error == 3 && baseCapacity <= 20480)

To this

((variant->error == 3) && (baseCapacity <= 20480))