terminal_view: Fix terminal opening in / when no project is open (#46582)
Closes #46574
The `default_working_directory()` function in
`crates/terminal_view/src/terminal_view.rs:1585` returned `None` when no
project directory was available. The code comment (now removed)
incorrectly claimed "None implies `~` on whichever machine we end up
on". However, when `None` is passed to `alacritty_terminal`, it uses the
process CWD, not the home directory. On macOS when Zed is launched from
a .`app` bundle, the CWD is `/`.
Added a fallback at the end of` default_working_directory()` that
explicitly returns the home directory when no project directory is
found: `directory.or_else(dirs::home_dir)`
This ensures:
1. `CurrentProjectDirectory` with no project open → home directory
2. `FirstProjectDirectory `with no project open → home directory
3. `AlwaysHome `→ home directory (explicitly, not relying on shell
behavior)
4. Always `{ directory }` with invalid directory → home directory
Release Notes:
- Fixed terminal opening in `/` instead of home directory when no
project is open.
d76258da9aMax Malkin committed on 1/13/2026, 7:07:04 AM· committed by GitHubparent271bcf6