Strange compile error

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

platform = espressif32
board = firebeetle32
framework = arduino

monitor_speed = 115200
lib_deps = 
    painlessmesh/painlessMesh @ 1.4.9

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))