🤖 fix: a Daytona setConfig call without an API key still logs every sandbox out of ssh
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- authentication, desktop
Línea de trabajo
Empieza por src/node/services/daytona/daytonaAccount.ts:91 y lee el esquema de daytona.setConfig y el comportamiento de DaytonaCredentialsStore.update descritos en el issue. Añade una prueba para setConfig({}) que compruebe que el archivo de inclusión de SSH conserva sus alias y que no se revoca ningún token almacenado en caché. El issue estará terminado cuando una clave de API omitida o sin cambios ya no active la limpieza por cambios en la configuración, o cuando el esquema exija la clave y rechace su omisión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up from the Codex review of #7100 (thread: https://github.com/coder/xum/pull/7100#discussion_r4369788514, src/node/services/daytona/daytonaAccount.ts:91).
Problem
The daytona.setConfig schema says an omitted apiKey leaves the key unchanged, and DaytonaCredentialsStore.update({}) writes nothing. DaytonaAccount.setConfig still runs the settings-change cleanup after it: it drops readiness, removes every Xum alias from the ssh include file and revokes the cached tokens. So an API caller that sends {} (for example xum api) logs every running Daytona workspace out of external editors and raw ssh until the next readiness check mints new tokens. The settings page always sends apiKey, so the app itself does not hit this.
Proposed fix
Either skip onSettingsChange when the patch leaves the key unchanged (no apiKey, or the same key), or make apiKey required in the schema and drop the "omitted = unchanged" case. Add a test that setConfig({}) keeps the include file's aliases and revokes nothing.
Why it is deferred
#7100 runs its review loop under a P0/P1-only rule; P2 findings get a tracked follow-up. No caller in the app sends a patch without apiKey.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.1k
- Forks
- 139
- Merge medio
- 3 h 41 min
- PR fusionados (30 d)
- 955
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de coder/xum
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
coder/xum#7733 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
🤖 tests: lock in git status outgoing-count rename equivalence and clarify index-lock commentAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
Los mantenedores suelen responder en 2 días
-
BeOS .json missingAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
mihaip/infinite-mac#475 ·
-
Let TypeScript accept an initial object in ReactiveDictPosiblemente ocupada @yograj-vijay-yadav la tomó hoy. Abiertobug good first issue help wanted workshop
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
meteor/meteor#14919 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
marmelab/atomic-crm#401 ·
Los mantenedores suelen responder en 1 día
-
account: profile
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 5 días