jlcodes99/cockpit-tools · error

wakeup.notice.testMissingModel

wakeup.notice.testMissingModel

Error message

wakeup.notice.testMissingModel

What it means

Guard in AccountsPage's wakeup-selected flow: fetch_available_models returned a list but no entry with a usable id (empty list or entries missing id), so there is no model to run the wakeup test against. The wakeup notice testMissingModel is thrown and shown to the user instead of silently waking nothing.

Source

Thrown at src/pages/AccountsPage.tsx:1716

    } catch (e) {
      console.error(e)
    } finally {
      await loadVerificationHistory()
      setRefreshingAll(false)
    }
  }

  const handleWakeupSelected = async () => {
    if (selected.size === 0 || wakeupRunning) return
    setWakeupRunning(true)
    setMessage(null)
    const selectedIdSet = new Set(selected)
    const selectedAccounts = accounts.filter((account) => selectedIdSet.has(account.id))
    try {
      const models = await invoke<Array<{ id: string }>>('fetch_available_models')
      const model = models.find((item) => item.id)?.id
      if (!model) {
        throw new Error(t('wakeup.notice.testMissingModel'))
      }
      const officialLsVersionMode = loadWakeupOfficialLsVersionMode()
      const results = await Promise.allSettled(
        selectedAccounts.map((account) =>
          invoke('trigger_wakeup', {
            accountId: account.id,
            model,
            prompt: undefined,
            maxOutputTokens: 0,
            cancelScopeId: undefined,
            officialLsVersionMode,
          }),
        ),
      )
      const failed = results.filter((result) => result.status === 'rejected').length
      const success = results.length - failed
      setMessage({
        text:

View on GitHub (pinned to 1ed8b77992)

Solutions

  1. Verify the provider/backend is online and actually exposes models
  2. Check account credentials — an unauthorized backend often returns an empty model list
  3. Pick a fallback model or prompt the user to configure one when the list is empty
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/pages/AccountsPage.tsx:1716 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jlcodes99/cockpit-tools@1ed8b77992 (2026-09-05). Data as JSON: /api/errors/a449fcfad81100ff. Report an issue: GitHub.