ZIm/crates
Richard Feldman 6073d2c93c
Automatically retry when API is Overloaded or 500s (#33275)
<img width="484" alt="Screenshot 2025-06-25 at 2 26 16 PM"
src="https://github.com/user-attachments/assets/340f15d7-b115-4895-bae8-b12a915bfda1"
/>

<img width="460" alt="Screenshot 2025-06-25 at 2 26 08 PM"
src="https://github.com/user-attachments/assets/6e587a38-d542-405f-809f-402e87520538"
/>

Now we:
* Automatically retry up to 3 times on upstream Overloaded or 500 errors
(currently for Anthropic only; will add others in future PRs)
* Also automatically retry on rate limit errors (using the provided
duration to wait, if we were given one)
* Give you a notification if you don't have Zed open and we stopped the
thread because of an error

Still todo in future PRs:
* Update collab to report Overloaded and 500 errors differently if
collab itself is passing through an upstream error vs not (currently we
report these as "Zed's API is overloaded" when actually it's the
upstream one!)
* Updating providers other than Anthropic to categorize their errors so
that they benefit from this
* Expanding graceful error handling/retry to other things besides
Overloaded and 500 errors (e.g. connection reset)

Release Notes:

- Automatically retry in Agent Panel instead of erroring out when an
upstream AI API is overloaded or 500s
- Show a notification when an Agent thread errors out and Zed is not the
active window
2025-06-26 10:53:33 -04:00
..
activity_indicator Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
agent Automatically retry when API is Overloaded or 500s (#33275) 2025-06-26 10:53:33 -04:00
agent_settings settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
agent_ui Automatically retry when API is Overloaded or 500s (#33275) 2025-06-26 10:53:33 -04:00
anthropic Thread Anthropic errors into LanguageModelKnownError (#33261) 2025-06-23 18:48:26 +00:00
askpass supermaven_api: Ensure downloaded Supermaven binary has executable permissions set (#32576) 2025-06-17 14:39:45 +00:00
assets Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
assistant_context text_thread: Improve roles after assistant::Split (shift-enter) (#33215) 2025-06-25 13:26:24 -04:00
assistant_slash_command chore: Make terminal_view own the TerminalSlashCommand (#31070) 2025-05-21 09:27:54 +00:00
assistant_slash_commands editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
assistant_tool agent: Less disruptive changed file notification (#31693) 2025-06-16 18:45:24 +03:00
assistant_tools settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
audio agent: Add sound notification when done generating (#31472) 2025-05-26 21:20:41 -03:00
auto_update Silence failed auto update checks (#32696) 2025-06-13 13:11:02 -04:00
auto_update_helper Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
auto_update_ui Do not show update "View Release Notes" notification in nightly builds (#33394) 2025-06-25 17:28:06 +00:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock bedrock: Add prompt caching support (#33194) 2025-06-25 17:15:13 +03:00
breadcrumbs breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507) 2025-05-30 08:32:54 -07:00
buffer_diff Diff view (#32922) 2025-06-18 14:43:23 +00:00
call Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
channel Fetch and wait for channels when opening channel notes via URL (#33291) 2025-06-24 05:14:15 +00:00
cli Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
client Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
collab collab: Save Customer name and billing address to Customer on checkout (#33385) 2025-06-25 16:06:14 -04:00
collab_ui Fix being unable to input a whitespace character in collab channels filter (#33318) 2025-06-24 16:11:25 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Fix typo (#32160) 2025-06-05 12:59:22 +00:00
context_server Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
copilot copilot: Remove PromptTokensDetails from Usage struct (#33029) 2025-06-19 17:37:58 +03:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Generate inline values based on debugger.scm file (#33081) 2025-06-24 18:24:43 +00:00
dap_adapters debugger: Generate inline values based on debugger.scm file (#33081) 2025-06-24 18:24:43 +00:00
db Misc nitpicks, changes too small / unrelated to be in other PRs (#32768) 2025-06-15 19:51:04 +00:00
debug_adapter_extension debugger: Support passing custom arguments to debug adapters (#33251) 2025-06-23 17:06:48 +00:00
debugger_tools debugger: Improve logging of debug sessions (#32718) 2025-06-13 20:56:23 +00:00
debugger_ui debugger_ui: Fix variable completion accept in console appends the whole word (#33378) 2025-06-25 19:54:08 +05:30
deepseek language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
diagnostics Show inline previews for LSP document colors (#32816) 2025-06-17 13:46:21 +00:00
docs_preprocessor gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
editor gpui: Prevent the same action name from being registered multiple times (#33359) 2025-06-26 06:24:14 +00:00
eval Automatically retry when API is Overloaded or 500s (#33275) 2025-06-26 10:53:33 -04:00
extension Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
extension_api zed_extension_api: Release v0.6.0 (#32945) 2025-06-18 14:05:29 +00:00
extension_cli extensions: Add "Debug Adapters" category to the extension store (#32845) 2025-06-17 12:09:08 +02:00
extension_host Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
extensions_ui Suggest reST extension for .rst files (#33413) 2025-06-26 08:59:04 -04:00
feature_flags debugger: Remove feature flag (#32877) 2025-06-17 13:56:19 -06:00
feedback Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
file_finder file_finder: Fix create wrong file in multiple worktree (#33139) 2025-06-25 19:17:41 +03:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs Improve FreeBSD support (#33162) 2025-06-22 16:23:17 -04:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
git gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
git_hosting_providers Allow configuring custom git hosting providers in project settings (#31929) 2025-06-03 12:23:01 -04:00
git_ui Remove git_panel::GenerateCommitMessage in favor of git::GenerateCommitMessage (#33421) 2025-06-25 22:29:30 +00:00
go_to_line go_to_line: Show position relative to current excerpt in a multi-buffer (#31947) 2025-06-03 09:41:45 +02:00
google_ai Update Gemini Models (#32902) 2025-06-17 20:26:27 +00:00
gpui gpui: Prevent the same action name from being registered multiple times (#33359) 2025-06-26 06:24:14 +00:00
gpui_macros gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons Add support for Vercel as a language model provider (#33292) 2025-06-24 11:02:06 -03:00
image_viewer Option to auto-close deleted files with no unsaved edits (#31920) 2025-06-03 13:18:29 +02:00
indexed_docs editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
inline_completion agent: Fix issues with usage display sometimes showing initially fetched usage (#33125) 2025-06-20 21:28:48 +00:00
inline_completion_button inline_completion_button: Fix links to account page (#31558) 2025-05-27 21:52:42 +00:00
inspector_ui Fix anchor biases for completion replacement ranges (esp slash commands) (#32262) 2025-06-06 20:54:00 +00:00
install_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
jj Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
jj_ui editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
journal VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
language language: Add context-aware decrease indent for Python (#33370) 2025-06-26 11:11:03 +05:30
language_extension Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
language_model agent: Fix issue with Anthropic thinking models (#33317) 2025-06-24 16:23:59 +00:00
language_models settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
language_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
language_tools lsp-log: Avoid trimming leading space in language server logs (#33418) 2025-06-25 16:24:51 -06:00
languages language: Add context-aware decrease indent for Python (#33370) 2025-06-26 11:11:03 +05:30
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client Bump livekit-rust-sdks for candidate webrtc-sys build fix (#33387) 2025-06-25 21:00:33 -04:00
lmstudio Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
lsp Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
markdown chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
markdown_preview Allow multiple Markdown preview tabs (#32859) 2025-06-25 16:43:00 +00:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu agent: Add new panel navigation dropdown (#29539) 2025-04-29 21:58:45 -03:00
migrator settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
mistral Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
multi_buffer Cleanup handling of surrounding word logic, fixing crash in editor::SelectAllMatches (#33353) 2025-06-24 23:18:35 -06:00
node_runtime Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
notifications notification: Add built-in dismiss button in the Status Toast component (#33278) 2025-06-23 19:55:21 -03:00
ollama Standardize on u64 for token counts (#32869) 2025-06-17 10:43:07 -04:00
open_ai language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
open_router language_models: Add thinking support to OpenRouter provider (#32541) 2025-06-21 08:03:50 +02:00
outline Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
outline_panel Omit outlines from the outline panel, not related to the buffer's main language (#32987) 2025-06-18 22:36:00 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Improve logic for finding VSCode / Cursor settings files (#32721) 2025-06-14 21:39:54 -06:00
picker Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
prettier Improve logging of prettier errors (#32665) 2025-06-13 07:26:06 +00:00
project Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
project_panel gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
project_symbols editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
prompt_store editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
proto Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
recent_projects editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
refineable Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
release_channel Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
remote Default to cargo-zigbuild for ZED_BUILD_REMOTE_SERVER (#33391) 2025-06-25 16:49:37 +00:00
remote_server Add language server control tool into the status bar (#32490) 2025-06-25 19:57:28 +03:00
repl Add horizontal scroll to REPL outputs (#33247) 2025-06-24 10:15:20 +03:00
reqwest_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
rpc extensions: Add "Debug Adapters" category to the extension store (#32845) 2025-06-17 12:09:08 +02:00
rules_library linux: Add title bar for rules library (#33025) 2025-06-19 18:23:09 +05:30
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
semantic_index Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
semantic_version Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
session Avoid unnecessary DB writes (#29417) 2025-04-25 17:41:49 +03:00
settings gpui: Add keybind metadata API (#33316) 2025-06-24 16:07:45 +00:00
settings_ui gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
snippet Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
snippet_provider Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
snippets_ui editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
sqlez Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story gpui: Add a standard text example (#30747) 2025-05-16 17:35:44 +02:00
storybook gpui: Add keybind metadata API (#33316) 2025-06-24 16:07:45 +00:00
streaming_diff Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
sum_tree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api supermaven_api: Ensure downloaded Supermaven binary has executable permissions set (#32576) 2025-06-17 14:39:45 +00:00
tab_switcher gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
task Silence another backtrace-full log (#32990) 2025-06-18 22:47:48 +00:00
tasks_ui debugger: Refine session modal design (#33004) 2025-06-19 02:27:34 -03:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Add new action to run agent eval (#29158) 2025-04-21 21:30:21 -07:00
terminal terminal: Fix trailing single quote included when opening link from terminal (#33376) 2025-06-25 19:51:33 +05:30
terminal_view gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
text chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
theme Add icon for Cairo files (#33268) 2025-06-23 20:53:55 -03:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer theme: Add colors for minimap thumb and border (#30785) 2025-05-26 18:23:41 +00:00
theme_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
toolchain_selector editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
ui gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
ui_input agent: Add ability to change the API base URL for OpenAI via the UI (#32979) 2025-06-18 18:47:43 -03:00
ui_macros Update syn crate from 1.0.109 to 2.0.101 (#31301) 2025-05-23 19:31:25 +00:00
ui_prompt gpui: Improve window.prompt to support ESC with non-English cancel text on macOS (#29538) 2025-05-30 15:26:27 +00:00
util Redact command environment variables from log output (#32985) 2025-06-21 11:19:23 -04:00
util_macros Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
vercel vercel: Use proper model identifiers and add image support (#33377) 2025-06-25 13:26:41 +00:00
vim gpui: Prevent the same action name from being registered multiple times (#33359) 2025-06-26 06:24:14 +00:00
vim_mode_setting vim: Fix escape key switching back to default mode instead of normal mode (#31843) 2025-06-18 21:26:12 +00:00
watch chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
web_search agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
web_search_providers Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
welcome editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
workspace pane: Update pinned tab count when it exceeds actual tab count (#33405) 2025-06-25 19:52:15 +00:00
worktree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
zed settings: Remove version fields (#33372) 2025-06-25 19:05:29 +02:00
zed_actions gpui: Simplify Action macros + support doc comments in actions! (#33263) 2025-06-24 04:34:51 +00:00
zeta agent: Fix issues with usage display sometimes showing initially fetched usage (#33125) 2025-06-20 21:28:48 +00:00
zlog Initialize zlog default filters on init rather than waiting for settings load (#32209) 2025-06-06 00:49:30 -06:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00