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

Ouverte
#166 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
56/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
electron, javascript
Domaine
backend, desktop

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
Shell
Étoiles
110
Forks
9
Merge moyen
12 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CommandCodeAI/desktop

Toutes les issues de CommandCodeAI/desktop

Issues similaires

Plus d'issues Shell/Bash

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.