zed/crates/edit_prediction
Seth Wood 46845bf2f5
edit_prediction: Skip cloud Zeta requests when not signed in (#57615)
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

Closes #57962

## What

When a user is not signed in to their Zed account, the edit prediction
system was still attempting a cloud API request on every keystroke. The
request would fail deep in the credential check
(`CloudApiClient::build_request`) with a `ClientApiError::NotSignedIn`
error, which propagated back up and was logged at `ERROR` level via
`.log_err()` at line 2389 of `edit_prediction.rs`.

## Why

The sign-in check was happening too late — only discovered after async
tasks were already spawned and the full request pipeline entered. This
fix gates the request at the top of `request_prediction_internal`,
returning `Task::ready(Ok(None))` immediately before any inputs are
built or tasks spawned.

The guard mirrors the existing `is_cloud` provider check already used
elsewhere in the same file, and only applies to the `Zeta` model on the
cloud provider path. Local providers (Ollama, `OpenAiCompatibleApi`) and
other models (Mercury, Fim) are unaffected.

Note: I haven't added a test for this — testing the early-return would
require mocking auth state, which I wasn't sure was worth the complexity
for a one-liner guard. Happy to add one if preferred.

Release Notes:

- Fixed noisy `not signed in` error log on every keystroke when not
signed in to Zed

---------

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Co-authored-by: MrSubidubi <finn@zed.dev>
Co-authored-by: David3u <3udavid@gmail.com>
2026-05-29 07:21:30 +00:00
..
benches Track additional metrics in settled (#52938) 2026-04-08 18:39:17 -04:00
license_examples Reorganize edit prediction code and remove old experiments (#44187) 2025-12-04 15:56:57 -08:00
license_patterns Reorganize edit prediction code and remove old experiments (#44187) 2025-12-04 15:56:57 -08:00
src edit_prediction: Skip cloud Zeta requests when not signed in (#57615) 2026-05-29 07:21:30 +00:00
Cargo.toml ep: Make tree-sitter dependency optional in edit_prediction_metrics (#57829) 2026-05-27 14:11:23 +00:00
LICENSE-GPL