La barra lateral de sesiones locales de Codex Desktop puede mostrar carpetas de proyecto vacías cuando existen muchas sesiones
Me encontré con un problema de Codex Desktop en Windows en el que las carpetas de proyecto antiguas en la barra lateral no mostraban conversaciones, aunque las sesiones seguían existiendo en el disco.
Lo que observé
En una máquina con cientos de sesiones locales de Codex:
La base de datos de estado SQLite todavía tenía las filas de los hilos.
Los archivos JSONL de rollout seguían existiendo en .codex/sessions.
Las llamadas directas a codex.exe app-server a thread/list podían devolver las conversaciones faltantes al usar paginación.
La barra lateral de Desktop seguía mostrando algunas carpetas de proyecto como vacías, especialmente carpetas antiguas fuera de la ventana de hilos recientes cargada inicialmente.
Esto hacía parecer que las sesiones se habían eliminado, pero no era así. El problema era que la UI no había cargado suficientes hilos recientes como para poblar esos grupos de proyecto.
Solución alternativa local
Hice una solución alternativa local solo para Windows que mantiene intacta la app oficial de Codex:
Copiar los recursos de la app oficial de Codex instalada en un directorio de parche local separado.
Extraer resources/app.asar.
Parchear el gestor de hilos recientes del frontend para que la obtención inicial de hilos recientes siga nextCursor durante varias páginas en lugar de depender de una primera página pequeña.
Aumentar los límites de cargar más y de búsqueda en la barra lateral a 1000.
Ejecutar la app parcheada mediante un runner de Electron separado con su propia CODEX_ELECTRON_USER_DATA_PATH.
Renombrar la ventana a Codex Patched para que pueda coexistir con la ventana oficial Codex sin confusión.
Proyecto:
Discusión oficial de Codex:
Comentario de issue relacionado:
Esto no modifica .codex/state_5.sqlite, no reordena updated_at y no elimina ni reescribe archivos de rollout. Solo cambia un bundle de frontend copiado.
Arreglo sugerido upstream
Sería útil que Codex Desktop permitiera a los usuarios configurar el límite del historial local de sesiones/barra lateral, o que la barra lateral paginara automáticamente lo suficiente como para poblar las carpetas de proyecto de forma fiable.
Como mínimo, la UI debería distinguir entre:
“Esta carpeta no tiene conversaciones”
“La lista de conversaciones no se ha cargado por completo”
Para usuarios con historiales locales grandes, un tope configurable como 50 / 100 / 500 / 1000 / todo haría que el comportamiento fuera predecible y eliminaría la necesidad de parcheo local.