[Bug]: "Add project starts in" saved on the All environments scope copies one machine's path to every machine
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- react, typescript
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 24.8k
- Forks
- 6.4k
- Merge moyen
- 4 h 16 min
- PR mergées (30 j)
- 352
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de pingdotgg/t3code
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de pingdotgg/t3code
Issues similaires
-
idea-scout idea:453
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
jeanibarz/agent-notebook#453 ·
Les mainteneurs répondent en général sous 1 jour
-
level/task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 95/100
wazuh/wazuh-dashboard-plugins#9642 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 91/100
unicef/adt-studio#1112 ·
Les mainteneurs répondent en général sous 2 jours
-
feature request good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
TabularisDB/tabularis#1513 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 75/100