fix: after /login opencode freemodel exit then /model can't fetch model list
Browse files
assets/ctx_auto_compose/compact_dream_subagent.png
ADDED
|
Git LFS Details
|
src/components/SearchableModelPicker.tsx
CHANGED
|
@@ -103,6 +103,9 @@ export function SearchableModelPicker({
|
|
| 103 |
}
|
| 104 |
|
| 105 |
if (provider === 'opencode' && modelOptions.length <= 1) {
|
|
|
|
|
|
|
|
|
|
| 106 |
pollTimer = setInterval(async () => {
|
| 107 |
if (!mounted) {
|
| 108 |
if (pollTimer) clearInterval(pollTimer)
|
|
@@ -350,4 +353,4 @@ export function SearchableModelPicker({
|
|
| 350 |
)
|
| 351 |
|
| 352 |
return content
|
| 353 |
-
}
|
|
|
|
| 103 |
}
|
| 104 |
|
| 105 |
if (provider === 'opencode' && modelOptions.length <= 1) {
|
| 106 |
+
const { fetchOpencodeModels } = await import('../services/api/opencodeClient.js')
|
| 107 |
+
void fetchOpencodeModels()
|
| 108 |
+
|
| 109 |
pollTimer = setInterval(async () => {
|
| 110 |
if (!mounted) {
|
| 111 |
if (pollTimer) clearInterval(pollTimer)
|
|
|
|
| 353 |
)
|
| 354 |
|
| 355 |
return content
|
| 356 |
+
}
|
src/main.tsx
CHANGED
|
@@ -2928,7 +2928,7 @@ async function run(): Promise<CommanderCommand> {
|
|
| 2928 |
tasks: {},
|
| 2929 |
agentNameRegistry: new Map(),
|
| 2930 |
verbose: verbose ?? getGlobalConfig().verbose ?? false,
|
| 2931 |
-
mainLoopModel: initialMainLoopModel,
|
| 2932 |
mainLoopModelForSession: null,
|
| 2933 |
isBriefOnly: initialIsBriefOnly,
|
| 2934 |
expandedView: getGlobalConfig().showSpinnerTree ? 'teammates' : getGlobalConfig().showExpandedTodos ? 'tasks' : 'none',
|
|
|
|
| 2928 |
tasks: {},
|
| 2929 |
agentNameRegistry: new Map(),
|
| 2930 |
verbose: verbose ?? getGlobalConfig().verbose ?? false,
|
| 2931 |
+
mainLoopModel: initialMainLoopModel ?? resolvedInitialModel,
|
| 2932 |
mainLoopModelForSession: null,
|
| 2933 |
isBriefOnly: initialIsBriefOnly,
|
| 2934 |
expandedView: getGlobalConfig().showSpinnerTree ? 'teammates' : getGlobalConfig().showExpandedTodos ? 'tasks' : 'none',
|
src/setup.ts
CHANGED
|
@@ -390,12 +390,16 @@ export async function setup(
|
|
| 390 |
await getRecentActivity()
|
| 391 |
}
|
| 392 |
|
| 393 |
-
// Start background fetch of
|
| 394 |
-
// This is non-blocking and
|
| 395 |
const { getConfiguredAuthProvider } = await import('./utils/auth.js')
|
| 396 |
-
|
|
|
|
| 397 |
const { startOpenRouterModelsFetch } = await import('./utils/model/openRouterModels.js')
|
| 398 |
startOpenRouterModelsFetch()
|
|
|
|
|
|
|
|
|
|
| 399 |
}
|
| 400 |
|
| 401 |
// If permission mode is set to bypass, verify we're in a safe environment
|
|
|
|
| 390 |
await getRecentActivity()
|
| 391 |
}
|
| 392 |
|
| 393 |
+
// Start background fetch of dynamic provider model lists if configured.
|
| 394 |
+
// This is non-blocking and warms the /model picker before the user opens it.
|
| 395 |
const { getConfiguredAuthProvider } = await import('./utils/auth.js')
|
| 396 |
+
const configuredAuthProvider = getConfiguredAuthProvider()
|
| 397 |
+
if (configuredAuthProvider === 'openrouter') {
|
| 398 |
const { startOpenRouterModelsFetch } = await import('./utils/model/openRouterModels.js')
|
| 399 |
startOpenRouterModelsFetch()
|
| 400 |
+
} else if (configuredAuthProvider === 'opencode') {
|
| 401 |
+
const { fetchOpencodeModels } = await import('./services/api/opencodeClient.js')
|
| 402 |
+
void fetchOpencodeModels()
|
| 403 |
}
|
| 404 |
|
| 405 |
// If permission mode is set to bypass, verify we're in a safe environment
|