[Bug]: A improvement in 0.1.61 causes fails to start the GUI

Aberta
#166 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
56/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
electron, javascript
Domínio
backend, desktop

Direção de pesquisa

The report points to the preload sequence and process.getSystemMemoryInfo() in the desktop app. Read the code that sets residentChatLimit and check how it handles sandboxed Linux startup when retrieving system memory throws. Reproduce with the 0.1.61 AppImage in a sandboxed environment; done means the preload completes and the GUI loads without the renderer errors.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug
GUI version

0.1.61

Operating system

Linux (Debian/Ubuntu)

Reproduction steps
  1. Launch CommandCode-0.1.61-x86_64.AppImage on Linux (in our case upgraded from 0.1.60 via the in-app updater).
  2. Wait for startup to finish. The main-process log reaches window-created / ready-to-show normally.
  3. Observe the window: it shows the error page "An unexpected error occurred. Reloading usually fixes this..." (in some runs under Wayland the window never appears at all, while the process keeps running).
  4. Click Reload → the error page comes back every time; the app never becomes usable.
Expected behavior

The app loads its UI normally and the preload script installs without errors.

Actual behavior

Timeline captured with --enable-logging, in order of occurrence:

  1. First exception — start of the failure chain: the preload script fails to load:
Unable to load preload script: <AppDir>/resources/app/out/preload/index.js
Error: Unable to retrieve system memory information
  1. Because the preload never finishes, the IPC bridge is never installed; the renderer then crashes with:
TypeError: Cannot read properties of undefined (reading 'authStatus')
TypeError: Cannot read properties of undefined (reading 'onMenuAction')
  1. The renderer shows the generic error page. Every reload fails identically, so press the "reload" button never recovers.
Screenshots, recordings, or sanitized logs

An improvement introduced in 0.1.61—"The app stays responsive on 8 GB machines and while long replies stream"—involves setting a memory threshold in preload sequence:

const threshold = 8 * 2**30;  // 8 GiB, in bytes

function chooseLimit(totalBytes) {
  return totalBytes <= threshold ? 3 : 8;
}

residentChatLimit: chooseLimit(
  process.getSystemMemoryInfo().total * 1024 // Convert KiB to bytes
)

(Comments added by the issue author)

This approach first checks the machine’s available memory and then selects a memory limit based on that amount. However, in a sandboxed environment, calling getSystemMemoryInfo() will throw an error, resulting in the message "Error: Unable to retrieve system memory information" during debugging, and the GUI will redirect to a generic error page. Starting the application with the --no-sandbox parameter may resolves this issue.

Safety check
  • I removed credentials and private project information from this report.
Linguagem predominante
Shell
Estrelas
110
Forks
9
Merge médio
12min
PRs com merge (30d)
1

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de CommandCodeAI/desktop

Todas as issues de CommandCodeAI/desktop

Issues semelhantes

Mais issues de Shell/Bash

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.