fix: liveData is not updated

- due to roll back of upstream commit, duplicated code allocated json buffer twice
- enlarge json buffer to 4200
This commit is contained in:
helgeerbe 2023-10-24 15:25:31 +02:00
parent 9ca3655de6
commit 49a10305e2

View File

@ -67,20 +67,14 @@ void WebApiWsLiveClass::loop()
try { try {
std::lock_guard<std::mutex> lock(_mutex); std::lock_guard<std::mutex> lock(_mutex);
DynamicJsonDocument root(4096 * INV_MAX_COUNT); DynamicJsonDocument root(4200 * INV_MAX_COUNT); // TODO(helge) check if this calculation is correct
JsonVariant var = root; JsonVariant var = root;
generateJsonResponse(var); generateJsonResponse(var);
String buffer; String buffer;
// free JsonDocument as soon as possible
{
DynamicJsonDocument root(4096 * INV_MAX_COUNT); // TODO(helge) check if this calculation is correct
JsonVariant var = root;
generateJsonResponse(var);
serializeJson(root, buffer);
}
if (buffer) { if (buffer) {
serializeJson(root, buffer);
if (Configuration.get().Security_AllowReadonly) { if (Configuration.get().Security_AllowReadonly) {
_ws.setAuthentication("", ""); _ws.setAuthentication("", "");
} else { } else {
@ -252,7 +246,7 @@ void WebApiWsLiveClass::onLivedataStatus(AsyncWebServerRequest* request)
try { try {
std::lock_guard<std::mutex> lock(_mutex); std::lock_guard<std::mutex> lock(_mutex);
AsyncJsonResponse* response = new AsyncJsonResponse(false, 4096 * INV_MAX_COUNT); AsyncJsonResponse* response = new AsyncJsonResponse(false, 4200 * INV_MAX_COUNT);
JsonVariant root = response->getRoot(); JsonVariant root = response->getRoot();
generateJsonResponse(root); generateJsonResponse(root);