Clear entropy on completion of onboarding

This commit is contained in:
w3irdrobot 2023-03-10 14:15:52 -05:00
parent debc9566cc
commit 710a7dd2de
Signed by: w3irdrobot
GPG Key ID: 3E6DBBB622F3155C
2 changed files with 13 additions and 1 deletions

View File

@ -1,19 +1,27 @@
import { useIntl, FormattedMessage } from "react-intl"; import { useIntl, FormattedMessage } from "react-intl";
import { useDispatch } from "react-redux";
import { useNavigate, Link } from "react-router-dom"; import { useNavigate, Link } from "react-router-dom";
import { RecommendedFollows } from "Const"; import { RecommendedFollows } from "Const";
import Logo from "Element/Logo"; import Logo from "Element/Logo";
import FollowListBase from "Element/FollowListBase"; import FollowListBase from "Element/FollowListBase";
import { useMemo } from "react"; import { useMemo } from "react";
import { clearEntropy } from "State/Login";
import messages from "./messages"; import messages from "./messages";
export default function DiscoverFollows() { export default function DiscoverFollows() {
const { formatMessage } = useIntl(); const { formatMessage } = useIntl();
const dispatch = useDispatch();
const navigate = useNavigate(); const navigate = useNavigate();
const sortedReccomends = useMemo(() => { const sortedReccomends = useMemo(() => {
return RecommendedFollows.sort(() => (Math.random() >= 0.5 ? -1 : 1)); return RecommendedFollows.sort(() => (Math.random() >= 0.5 ? -1 : 1));
}, []); }, []);
async function clearEntropyAndGo() {
dispatch(clearEntropy());
navigate("/");
}
return ( return (
<div className="main-content new-user" dir="auto"> <div className="main-content new-user" dir="auto">
<Logo /> <Logo />
@ -27,7 +35,7 @@ export default function DiscoverFollows() {
<FormattedMessage {...messages.Share} values={{ link: <Link to="/">{formatMessage(messages.World)}</Link> }} /> <FormattedMessage {...messages.Share} values={{ link: <Link to="/">{formatMessage(messages.World)}</Link> }} />
</p> </p>
<div className="next-actions continue-actions"> <div className="next-actions continue-actions">
<button type="button" onClick={() => navigate("/")}> <button type="button" onClick={() => clearEntropyAndGo()}>
<FormattedMessage {...messages.Done} />{" "} <FormattedMessage {...messages.Done} />{" "}
</button> </button>
</div> </div>

View File

@ -333,6 +333,9 @@ const LoginSlice = createSlice({
window.localStorage.setItem(PrivateKeyItem, action.payload.key); window.localStorage.setItem(PrivateKeyItem, action.payload.key);
state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(action.payload.key)); state.publicKey = secp.utils.bytesToHex(secp.schnorr.getPublicKey(action.payload.key));
}, },
clearEntropy: state => {
state.generatedEntropy = undefined;
},
setPublicKey: (state, action: PayloadAction<HexKey>) => { setPublicKey: (state, action: PayloadAction<HexKey>) => {
window.localStorage.setItem(PublicKeyItem, action.payload); window.localStorage.setItem(PublicKeyItem, action.payload);
state.loggedOut = false; state.loggedOut = false;
@ -479,6 +482,7 @@ export const {
init, init,
setPrivateKey, setPrivateKey,
setGeneratedPrivateKey, setGeneratedPrivateKey,
clearEntropy,
setPublicKey, setPublicKey,
setRelays, setRelays,
removeRelay, removeRelay,