Remove auto-refresh of code

This commit is contained in:
Neeraj Gupta 2024-01-29 15:17:32 +05:30
parent 89f8e2f564
commit 8f954e0d1b

View file

@ -7,7 +7,6 @@ import {
toB64,
} from '@ente/shared/crypto/internal/libsodium';
import { useRouter } from 'next/router';
import TimerBar from 'components/TimerBar';
import LargeType from 'components/LargeType';
import { useCastReceiver } from '@ente/shared/hooks/useCastReceiver';
import EnteSpinner from '@ente/shared/components/EnteSpinner';
@ -31,31 +30,17 @@ const convertDataToDecimalString = (data: Uint8Array): string => {
return decimalString;
};
const REFRESH_INTERVAL = 3600 * 1000;
export default function PairingMode() {
const [digits, setDigits] = useState<string[]>([]);
const [publicKeyB64, setPublicKeyB64] = useState('');
const [codeGeneratedAt, setCodeGeneratedAt] = useState<Date | null>(null);
const [borderWidthPercentage, setBorderWidthPercentage] = useState(100);
const [codePending, setCodePending] = useState(true);
const { cast } = useCastReceiver();
useEffect(() => {
init();
const interval = setInterval(() => {
setCodePending(true);
init();
}, REFRESH_INTERVAL); // the kex API deletes keys every 60s, so we'll regenerate stuff prematurely
return () => {
clearInterval(interval);
};
}, []);
useEffect(() => {
@ -115,7 +100,6 @@ export default function PairingMode() {
const pollForCastData = async () => {
if (codePending) {
console.log('code pending');
return;
}
// see if we were acknowledged on the client.
@ -195,27 +179,6 @@ export default function PairingMode() {
advertisePublicKey(publicKeyB64);
}, [publicKeyB64]);
useEffect(() => {
if (!codeGeneratedAt) return;
// compute border width based on time left until next code regenerates
const interval = setInterval(() => {
const now = new Date();
const timeLeft =
codeGeneratedAt.getTime() + REFRESH_INTERVAL - now.getTime();
if (timeLeft > 0) {
const percentage = (timeLeft / REFRESH_INTERVAL) * 100;
setBorderWidthPercentage(percentage);
}
}, 1000);
return () => {
clearInterval(interval);
};
}, [codeGeneratedAt]);
return (
<>
<div
@ -249,7 +212,6 @@ export default function PairingMode() {
) : (
<>
<LargeType chars={digits} />
<TimerBar percentage={borderWidthPercentage} />
</>
)}
</div>