Skip to content

Commit c3b3dc2

Browse files
committed
PR feedback
1 parent ff33f54 commit c3b3dc2

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

src/extension.ts

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import {
4040
CodeActionProvider,
4141
} from "./activate"
4242
import { initializeI18n } from "./i18n"
43+
import { flushModels, getModels } from "./api/providers/fetchers/modelCache"
4344

4445
/**
4546
* Built using https://github.com/microsoft/vscode-webview-ui-toolkit
@@ -141,24 +142,32 @@ export async function activate(context: vscode.ExtensionContext) {
141142
}
142143
}
143144

144-
// Flush and reload Roo models cache on auth state change to ensure fresh token is used
145-
try {
146-
const { flushModels, getModels } = await import("./api/providers/fetchers/modelCache")
147-
await flushModels("roo")
148-
149-
// Reload models with current auth token
150-
const sessionToken = cloudService?.authService?.getSessionToken()
151-
await getModels({
152-
provider: "roo",
153-
baseUrl: process.env.ROO_CODE_PROVIDER_URL ?? "https://api.roocode.com/proxy",
154-
apiKey: sessionToken,
155-
})
156-
157-
cloudLogger(`[authStateChangedHandler] Reloaded Roo models cache for state: ${data.state}`)
158-
} catch (error) {
159-
cloudLogger(
160-
`[authStateChangedHandler] Failed to reload Roo models cache: ${error instanceof Error ? error.message : String(error)}`,
161-
)
145+
// Handle Roo models cache based on auth state
146+
const handleRooModelsCache = async () => {
147+
try {
148+
await flushModels("roo")
149+
150+
if (data.state === "active-session") {
151+
// Reload models with the new auth token
152+
const sessionToken = cloudService?.authService?.getSessionToken()
153+
await getModels({
154+
provider: "roo",
155+
baseUrl: process.env.ROO_CODE_PROVIDER_URL ?? "https://api.roocode.com/proxy",
156+
apiKey: sessionToken,
157+
})
158+
cloudLogger(`[authStateChangedHandler] Reloaded Roo models cache for active session`)
159+
} else {
160+
cloudLogger(`[authStateChangedHandler] Flushed Roo models cache on logout`)
161+
}
162+
} catch (error) {
163+
cloudLogger(
164+
`[authStateChangedHandler] Failed to handle Roo models cache: ${error instanceof Error ? error.message : String(error)}`,
165+
)
166+
}
167+
}
168+
169+
if (data.state === "active-session" || data.state === "logged-out") {
170+
await handleRooModelsCache()
162171
}
163172
}
164173

0 commit comments

Comments
 (0)