[Bug]: "Add project starts in" saved on the All environments scope copies one machine's path to every machine
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- TypeScript
- Stelle
- 24.8k
- Fork
- 6.4k
- Merge medio
- 4h 16m
- PR unite (30g)
- 352
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pingdotgg/t3code
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pingdotgg/t3code
Issue simili
-
Autocomplete still accepts an option after becoming disabledForse già presa @Xapollon430 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
reduxjs/react-redux#2416 · 1 commento ·