[Bug]: "Add project starts in" saved on the All environments scope copies one machine's path to every machine
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 55/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- react, typescript
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- TypeScript
- Estrelas
- 24.8k
- Forks
- 6.4k
- Merge médio
- 4h 16min
- PRs com merge (30d)
- 352
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de pingdotgg/t3code
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
Todas as issues de pingdotgg/t3code
Issues semelhantes
-
idea-scout idea:453
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
jeanibarz/agent-notebook#453 ·
Mantenedores costumam responder em até 1 dia
-
level/task
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
wazuh/wazuh-dashboard-plugins#9642 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 91/100
unicef/adt-studio#1112 ·
Mantenedores costumam responder em até 2 dias
-
feature request good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
TabularisDB/tabularis#1513 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100