git: Fix add safe directory button doing nothing (#58705)

We had a nested spawn that was disguising the fact that the actual
`git_config` task was being dropped immediately instead of detached.
This only seems to cause problems in release builds due to timing
issues.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Release Notes:

- Fixed a bug where clicking the button to trust a git repository would
do nothing.
This commit is contained in:
Cole Miller authored and GitHub committed 2026-06-05 23:14:26 +00:00
1 parent 9709caec23
commit e5c370b3b2
1 file changed
+5 -7
+5 -7
View File
@@ -3174,7 +3174,7 @@ impl GitPanel {
/// worktree to the `safe.directory` config, ensuring that, even if the user
/// that's running the application is not the owner of `.git/`, it can still
/// read the repository's contents.
fn add_safe_directory(&mut self, window: &mut Window, cx: &mut Context<Self>) {
fn add_safe_directory(&mut self, _window: &mut Window, cx: &mut Context<Self>) {
let Some(active_repository) = &self.active_repository else {
return;
};
@@ -3192,12 +3192,10 @@ impl GitPanel {
path_arg,
];
cx.spawn_in(window, async move |git_panel, cx| {
git_panel.update(cx, |git_panel, cx| {
git_panel.project.read(cx).git_config(path, args, cx)
})
})
.detach();
self.project
.read(cx)
.git_config(path, args, cx)
.detach_and_log_err(cx);
}
}