Add 'reset state' debug option; fix kodu login flow after reset state; update Announcement

This commit is contained in:
Saoud Rizwan
2024-08-26 00:21:12 -04:00
parent 2d5c3ad63b
commit 4af5eee2a5
7 changed files with 78 additions and 24 deletions

View File

@@ -33,8 +33,9 @@ const App: React.FC = () => {
const [taskHistory, setTaskHistory] = useState<HistoryItem[]>([])
const [showAnnouncement, setShowAnnouncement] = useState(false)
const [koduCredits, setKoduCredits] = useState<number | undefined>(undefined)
const [isNewUser, setIsNewUser] = useState(false)
const [shouldShowKoduPromo, setShouldShowKoduPromo] = useState(true)
const [didAuthKoduFromWelcome, setDidAuthKoduFromWelcome] = useState<boolean>(false)
useEffect(() => {
vscode.postMessage({ type: "webviewDidLaunch" })
}, [])
@@ -51,8 +52,8 @@ const App: React.FC = () => {
message.state!.apiConfiguration?.awsAccessKey !== undefined ||
message.state!.apiConfiguration?.koduApiKey !== undefined
setShowWelcome(!hasKey)
if (!hasKey && !isNewUser) {
setIsNewUser(true)
if (!hasKey) {
setDidAuthKoduFromWelcome(false)
}
setApiConfiguration(message.state!.apiConfiguration)
setMaxRequestsPerTask(
@@ -88,31 +89,25 @@ const App: React.FC = () => {
setShowSettings(false)
setShowHistory(false)
break
case "koduCreditsFetched":
setKoduCredits(message.state!.koduCredits)
break
case "koduAuthenticated":
if (!isNewUser) {
if (!didAuthKoduFromWelcome) {
setShowSettings(true)
setShowHistory(false)
}
break
case "koduCreditsFetched":
setKoduCredits(message.state!.koduCredits)
break
}
break
}
// (react-use takes care of not registering the same listener multiple times even if this callback is updated.)
},
[isNewUser]
[didAuthKoduFromWelcome]
)
useEvent("message", handleMessage)
useEffect(() => {
if (showWelcome === false) {
setIsNewUser(false)
}
}, [showWelcome])
const { selectedModelInfo } = useMemo(() => {
return normalizeApiConfiguration(apiConfiguration)
}, [apiConfiguration])
@@ -128,6 +123,7 @@ const App: React.FC = () => {
apiConfiguration={apiConfiguration}
setApiConfiguration={setApiConfiguration}
vscodeUriScheme={vscodeUriScheme}
setDidAuthKoduFromWelcome={setDidAuthKoduFromWelcome}
/>
) : (
<>