Time Input widget erratic behavior

This used to work a few weeks ago… I have the following code…

BLYNK_WRITE(V51) {
channel1HasTime = false;

TimeInputParam t(param);

if (t.hasStartTime())
{
channel1Hour = t.getStartHour();
channel1Minute = t.getStartMinute();
channel1Second = t.getStartSecond();
Serial.print(channel1Hour); //debug print
Serial.print(“:”);
Serial.print(channel1Minute);
Serial.print(“:”);
Serial.println(channel1Second);
}

// Process weekdays (1. Mon, 2. Tue, 3. Wed, …)
for (int i = 1; i <= 7; i++) {
channel1Days[i != 7 ? i + 1 : 1] = t.isWeekdaySelected(i);
Serial.println(t.isWeekdaySelected(i));
}
}

If in the Time input, I don’t have “Allow Days Selection” checked then every time I change the time from the iPhone App, I see the time being printed. When I restart the iPhone App the values are persisted.

As soon as I enable the “Allow Days Selection” issues start to happen.
First, When I change the time from iPhone App and select “Monday”, “Tuesday”, nothing gets printed from BLYNK_WRITE(V51), it not getting called.
Second, when I restart the iPhone app, days selection do not get synced from the server (time part does), all days are unselected.
Third, when I restart NodeMCU, with the Blynk.syncAll(); call in BLYNK_CONNECTED() this time BLYNK_WRITE(V51) does get called and seems like the server has the updated values from last time but any changes to the widget again BLYNK_WRITE(V51) not getting called.

Any idea what is going on? Not seeing the same issue with button and other widget.