[Bug]: "Add project starts in" saved on the All environments scope copies one machine's path to every machine
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
Línea de trabajo
Start with settingsScope.ts, SettingsPanels.tsx, and scopedSettings.ts to trace how the All environments scope saves addProjectBaseDirectory; then read CommandPalette.tsx and AddProjectToMachineDialog.tsx to see how the picker uses it. The report offers several possible fixes, so first determine which behavior to implement. Done means a path from one machine cannot send the other machine's picker to a nonexistent directory; cover the chosen behavior with focused tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- Connect a macOS desktop app to a remote Linux environment, so Settings has two environments.
- Open Settings → New projects and leave the scope selector on its default, All environments.
- Set Add project starts in to a Mac folder, e.g.
/Users/me/code/. - Open Add Project and choose the Linux environment.
Expected behavior
The Linux environment's picker opens in a folder that exists on Linux. That could be its own value or ~/. A path that only exists on another machine shouldn't reach the Linux server.
Actual behavior
The Linux picker opens at /Users/me/code/, which doesn't exist there. You have to clear the field back to / and browse down to your projects every time.
The Linux server's own ~/.t3/userdata/settings.json now contains "addProjectBaseDirectory": "/Users/me/code/". Fixing it for one machine takes knowing to switch the settings scope to that environment first. Nothing on the default scope suggests this setting is per-machine.
Impact
Minor bug or occasional failure
Version or commit
macOS desktop 0.1.10-nightly.20261112.4564, remote Linux environment on the same version. Code references are from main @ ee90bdc.
Environment
macOS desktop app plus a remote Ubuntu server environment.
Diagnosis
This is a follow-up to #11756, which was closed after per-environment scope selection was added in #10589. Per-environment values work, but the default scope still writes one filesystem path to every machine:
- With no machine selected, the settings scope resolves to
kind: "all"with every environment id (settingsScope.ts#L144-L149). - The field commits with
updateSettings({ addProjectBaseDirectory: next })(SettingsPanels.tsx#L1751), andplanScopedSettingsPatchsends it to every connected environment in that scope (scopedSettings.ts#L220-L232). - The picker uses the stored value as-is and only falls back to
~/when it's empty, not when the directory is missing on that machine (CommandPalette.tsx#L671-L679).AddProjectToMachineDialog.tsx#L115does the same.
Possible fixes, any of which would help:
- Treat machine-specific path settings (
addProjectBaseDirectory, and likelynewProjectsRoot) as per-environment only. On the All environments scope, show the field read-only or ask which environment to set. - Before saving a path to an environment, check it exists there, or warn when it doesn't.
- In the Add Project picker, fall back to
~/when the configured directory doesn't exist on the target environment.
Workaround
In Settings, switch the scope selector to the remote environment and set Add project starts in there.
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 4 h 16 min
- PR fusionados (30 d)
- 352
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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 pingdotgg/t3code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
Autocomplete still accepts an option after becoming disabledPosiblemente ocupada @Xapollon430 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
reduxjs/react-redux#2416 · 1 comentario ·