Technical explanation of the bug:
TOTP changes every 30 seconds. System or server time is used to calculate TOTP.
So if there is a difference in clocks of client & server, TOTP generated by client may not match with the server.
To safeguard from this, the server normally matches the TOTP entered by client with current TOTP & also with TOTP which was valid in the previous 30 seconds. This makes sure small differences (less than 30 seconds) in client & server do not affect the login.
Angel is likely only comparing it with current OTP & not comparing with OTP that has expired in previous 30 seconds.
Due to this the "Invalid otp" is coming sometimes & sometimes it is working.
We are sending this details to Angel. Hopefully they will fix it before tomorrow morning.