Buttons not working properly

I am using an ESP8266 NodeMCU 1.0, the Vivaldi Web Browser and the Cayenne Android App

Buttons do not work reliably, they have spinning circles that don’t go away, or pressing a button does not trigger the action it should, This happens both in the website and the Android App.

The code is a slightly modified version of the Cayenne ESP8266 Example

   // This example shows how to connect to Cayenne using an ESP8266 and send/receive sample data.
// Make sure you install the ESP8266 Board Package via the Arduino IDE Board Manager and select the correct ESP8266 board before compiling. 

#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.h>

// WiFi network info.
char ssid[] = "A*** ****";
char wifiPassword[] = "A********";

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "1d02c5b0-96fe-11e7-a5d9-************";
char password[] = "fe786648aa9a1ce8ba8ade1539cf4bf92*******";
char clientID[] = "53797190-f5be-11e9-84bb-8f711*******";

unsigned long lastMillis = 0;

void setup() {
	Serial.begin(9600);
	Cayenne.begin(username, password, clientID, ssid, wifiPassword);
  pinMode(5, OUTPUT);
}

void loop() {
	Cayenne.loop();
}

// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
CAYENNE_OUT_DEFAULT()
{
	// Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
  	//Cayenne.virtualWrite(0, millis());
	// Some examples of other functions you can use to send data.
	//Cayenne.celsiusWrite(1, 22.0);
	//Cayenne.luxWrite(2, 700);
	//Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);
}

// Default function for processing actuator commands from the Cayenne Dashboard.
// You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands.
CAYENNE_IN(5)
{
  digitalWrite(5, getValue.asInt());
	CAYENNE_LOG("Channel %u, value %s", request.channel, getValue.asString());
	//Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError("Error message");
}

we are aware of this issue and are working on fixing it.

can you test it now?