mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-28 01:24:17 +00:00
Fixes #52453 Fixes #53246 Both issues were introduced by #51208 ("Handle Linux FS Rescan Events"), which added `PathEventKind::Rescan` handling. ## Rules files not loading (#52453) `load_worktree_info_for_system_prompt` called `load_worktree_rules_file` synchronously, which uses `entry_for_path()` on the current worktree snapshot. If the background scanner hasn't finished its initial scan, the entry doesn't exist yet and the lookup returns `None` — the code concludes no rules file exists. This was always a latent race condition, but became more visible after Rescan events were introduced, since they can trigger additional `WorktreeUpdatedEntries` churn that interacts with the refresh mechanism. The fix awaits `scan_complete()` on local worktrees before performing the rules file lookup, ensuring the full directory tree is indexed first. ## Config file rescan clearing OAuth tokens (#53246) The `Rescan` handlers in `watch_config_dir` used `fs.load(file_path).await.unwrap_or_default()`, which turns any file-read error into an empty string. This empty string flows to consumers like `CopilotChat`, where `extract_oauth_token("")` returns `None`, causing the OAuth token to be unconditionally overwritten with `None` — triggering re-authentication. The fix changes both Rescan handlers to skip files that fail to load (using `if let Ok(contents) = ...`), matching the pattern already used by the `Created`/`Changed` handler. Release Notes: - Fixed rules files (AGENTS.md, CLAUDE.md, .rules, etc.) sometimes not being applied in agent threads. - Fixed GitHub Copilot re-prompting for authentication after filesystem rescan events. |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| LICENSE-GPL | ||