ZIm/crates
Piotr Osiewicz fb1f9d1212
lsp: Correctly serialize errors for LSP requests + improve handling of unrecognized methods (#35738)
We used to not respond at all to requests that we didn't have a handler
for, which is yuck. It may have left the language server waiting for the
response for no good reason. The other (worse) finding is that we did
not have a full definition of an Error type for LSP, which made it so
that a spec-compliant language server would fail to deserialize our
response (with an error). This then could lead to all sorts of
funkiness, including hangs and crashes on the language server's part.

Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Closes #ISSUE

Release Notes:

- Improved reporting of errors to language servers, which should improve
the stability of LSPs ran by Zed.

---------

Co-authored-by: Lukas <lukas@zed.dev>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2025-08-06 18:27:48 +00:00
..
acp_thread ACP champagne (#35609) 2025-08-06 09:01:06 +00:00
activity_indicator Regroup LSP context menu items by the worktree name (#34838) 2025-07-21 17:48:07 +00:00
agent ACP champagne (#35609) 2025-08-06 09:01:06 +00:00
agent2 Drop native agent session when AcpThread gets released (#35713) 2025-08-06 10:20:40 +00:00
agent_servers Fix CC todo tool parsing (#35721) 2025-08-06 13:27:11 +00:00
agent_settings Use the same prompt as agent thread summary for text threads (#35669) 2025-08-05 21:47:17 +00:00
agent_ui Thread view scrollbar (#35655) 2025-08-06 14:01:34 +00:00
ai_onboarding Recategorize a few items in the component preview (#35681) 2025-08-05 23:11:43 +00:00
anthropic Add Claude Opus 4.1 (#35653) 2025-08-05 18:16:47 +00:00
askpass Revert "git: Intercept signing prompt from GPG when committing" (#34306) 2025-07-11 23:20:35 +00:00
assets Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
assistant_context ACP champagne (#35609) 2025-08-06 09:01:06 +00:00
assistant_slash_command Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00
assistant_slash_commands chore: Bump Rust version to 1.88 (#33439) 2025-06-26 20:54:19 +02:00
assistant_tool assistant_tool: Fix rejecting edits deletes newly created and accepted files (#35622) 2025-08-05 06:02:42 +05:30
assistant_tools ACP champagne (#35609) 2025-08-06 09:01:06 +00:00
audio Upgrade rodio to 0.21 (#34368) 2025-07-29 13:24:34 -07:00
auto_update windows: Publish nightly (#24800) 2025-07-09 08:57:03 +08:00
auto_update_helper windows: Publish nightly (#24800) 2025-07-09 08:57:03 +08:00
auto_update_ui Fix documentation of view release notes actions (#33851) 2025-07-03 14:22:28 +00:00
aws_http_client bedrock: Fix remaining streaming delays (#33931) 2025-07-22 11:55:24 -04:00
bedrock Add Claude Opus 4.1 (#35653) 2025-08-05 18:16:47 +00: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 sum_tree: Store context on cursor (#34904) 2025-07-22 18:20:48 +02:00
call collab: Add screen selector (#31506) 2025-07-21 13:44:51 +02:00
channel sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
cli cli: Remove manual std::io::copy implementation (#34409) 2025-07-15 16:37:15 +02:00
client Fix minidump endpoint configuration (#35646) 2025-08-05 10:07:30 -07:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
cloud_api_client Don't trigger authentication flow unless credentials expired (#35570) 2025-08-04 08:41:23 +00:00
cloud_api_types cloud_api_client: Add accept_terms_of_service method (#35452) 2025-08-01 02:50:38 +00:00
cloud_llm_client zeta: Collect git sha / remote urls when data collection from OSS is enabled (#35514) 2025-08-04 14:18:06 -06:00
collab collab: Remove unused StripeBilling methods (#35740) 2025-08-06 17:42:12 +00:00
collab_ui Simplify ListState API (#35685) 2025-08-06 00:02:26 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Misc code cleanups accumulated while working on other changes (#34787) 2025-07-20 23:22:13 +00:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Recategorize a few items in the component preview (#35681) 2025-08-05 23:11:43 +00:00
context_server Update to new agent schema (#35578) 2025-08-04 13:49:41 +00:00
copilot sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
crashes Add minidump crash reporting (#35263) 2025-08-04 18:19:42 -07:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Send initialized event from fake server at a more realistic time (#35446) 2025-07-31 19:45:02 -04:00
dap_adapters debugpy: Fetch a wheel into Zed's work dir and use that with users venv (#35640) 2025-08-05 19:09:42 +02: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 Allow remote loading for DAP-only extensions (#33981) 2025-07-06 14:52:16 +02:00
debugger_tools debugger: Improve appearance of session list for JavaScript debugging (#34322) 2025-07-12 15:56:05 +00:00
debugger_ui Thread view scrollbar (#35655) 2025-08-06 14:01:34 +00:00
deepseek language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
diagnostics Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
docs_preprocessor docs: Pin mdbook to v0.4.40 (#35380) 2025-07-31 01:34:26 +00:00
edit_prediction Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
edit_prediction_button Add workspace::ToggleEditPrediction for toggling inline completions globally (#35418) 2025-08-05 09:35:52 -04:00
editor Use new language server info on remote servers (#35682) 2025-08-05 23:24:40 +00:00
eval zeta: Add CLI tool for querying edit predictions and related context (#35491) 2025-08-01 21:08:09 +00:00
explorer_command_injector Just Zed instead of Zed Editor (#34146) 2025-07-10 21:08:43 +02:00
extension Use a better type for language IDs field (#35566) 2025-08-04 07:12:02 +00:00
extension_api Move language-specific debugging docs to the page for each language (#33692) 2025-07-01 20:02:12 +00:00
extension_cli extension_cli: Copy over snippet file when bundling extensions (#34450) 2025-07-15 11:07:29 +00:00
extension_host languages: Remove a eager conversion from LanguageName to String (#35667) 2025-08-05 23:46:57 +03:00
extensions_ui ui: Add Chip component (#34521) 2025-07-16 01:15:45 -03:00
feature_flags Add TestPanic feature flag (#34963) 2025-07-23 18:01:16 +00:00
feedback gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
file_finder Allow searching Windows paths with forward slash (#35198) 2025-07-29 17:58:28 +02:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs git: Add option to branch from default branch in branch picker (#34663) 2025-08-04 18:08:00 +00:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Prevent out of bounds access in recursive_score_match (#35630) 2025-08-06 10:53:20 +02:00
git git: Add option to branch from default branch in branch picker (#34663) 2025-08-04 18:08:00 +00:00
git_hosting_providers git_hosting_providers: Support GitHub remote URLs that start with a slash (#34134) 2025-07-24 18:25:21 -04:00
git_ui git_panel: Improve toast messages for push/pull/fetch (#35092) 2025-08-04 18:20:20 -04:00
go_to_line Remove into SelectionEffects from .change_selections (#33554) 2025-06-27 14:31:31 -06:00
google_ai Update Gemini Models (#32902) 2025-06-17 20:26:27 +00:00
gpui Respect paths' content masks when copying them from MSAA texture to drawable (#35688) 2025-08-05 20:40:33 -07:00
gpui_macros gpui: Add use state APIs (#34741) 2025-07-19 01:27:54 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown agent: Fix crash with pathological fetch output (#34253) 2025-07-11 21:01:09 -04:00
http_client Verify downloaded rust-analyzer and clang binaries by checking the artifact digest (#35642) 2025-08-06 08:32:25 +00:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons Revise and clean up some icons (#35582) 2025-08-04 11:58:31 -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 Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00
inspector_ui Disable minimap in the inspector (#34607) 2025-07-17 09:22:04 +00:00
install_cli gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04: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 gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
language languages: Remove a eager conversion from LanguageName to String (#35667) 2025-08-05 23:46:57 +03:00
language_extension Use a better type for language IDs field (#35566) 2025-08-04 07:12:02 +00:00
language_model ACP champagne (#35609) 2025-08-06 09:01:06 +00:00
language_models Fetch models right after signing in (#35711) 2025-08-06 10:04:07 +00:00
language_selector languages: Remove a eager conversion from LanguageName to String (#35667) 2025-08-05 23:46:57 +03:00
language_tools Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
languages Ignore metadata file in RustLspAdapter::get_cached_server_binary (#35708) 2025-08-06 09:08:32 +00:00
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client Fix LiveKit audio for devices with different sample formats (#35604) 2025-08-05 16:36:08 +02:00
lmstudio lmstudio: Propagate actual error message from server (#34538) 2025-07-25 09:36:43 -04:00
lsp lsp: Correctly serialize errors for LSP requests + improve handling of unrecognized methods (#35738) 2025-08-06 18:27:48 +00:00
markdown gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
markdown_preview Simplify ListState API (#35685) 2025-08-06 00:02:26 +00:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
migrator Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
mistral mistral: Add support for magistral-small and magistral-medium (#34983) 2025-07-23 23:13:49 -04:00
multi_buffer sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
nc Claude experiment (#34577) 2025-07-17 14:25:55 +00:00
net windows: Add support for SSH (#29145) 2025-07-08 14:34:57 +00:00
node_runtime Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
notifications sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
ollama ollama: Add support for gpt-oss (#35648) 2025-08-06 10:44:15 -04:00
onboarding Recategorize a few items in the component preview (#35681) 2025-08-05 23:11:43 +00:00
open_ai open_ai: Make OpenAI error message generic (#33383) 2025-06-28 14:38:27 +02:00
open_router open_router: Fix tool_choice getting serialized to null (#34532) 2025-07-16 11:44:08 -04:00
outline Remove into SelectionEffects from .change_selections (#33554) 2025-06-27 14:31:31 -06:00
outline_panel gpui: Press enter, space to trigger click to focused element (#35075) 2025-08-05 18:15:30 -04:00
panel git panel: Add some design refinements (#34064) 2025-07-08 11:23:36 -03:00
paths paths: Fix using relative path as custom_data_dir (#35256) 2025-07-29 15:31:54 +00:00
picker Simplify ListState API (#35685) 2025-08-06 00:02:26 +00:00
prettier Shutdown language servers better (#35038) 2025-07-24 15:24:53 +00:00
project Use new language server info on remote servers (#35682) 2025-08-05 23:24:40 +00:00
project_panel gpui: Press enter, space to trigger click to focused element (#35075) 2025-08-05 18:15:30 -04:00
project_symbols Remove into SelectionEffects from .change_selections (#33554) 2025-06-27 14:31:31 -06:00
prompt_store editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
proto Use new language server info on remote servers (#35682) 2025-08-05 23:24:40 +00:00
recent_projects gpui: Press enter, space to trigger click to focused element (#35075) 2025-08-05 18:15:30 -04:00
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 chore: Move a bunch of foreground tasks into background (#35322) 2025-07-30 10:29:03 +00:00
remote_server Add minidump crash reporting (#35263) 2025-08-04 18:19:42 -07:00
repl Simplify ListState API (#35685) 2025-08-06 00:02:26 +00:00
reqwest_client Add minidump crash reporting (#35263) 2025-08-04 18:19:42 -07:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
rpc Remove payload_type (#35690) 2025-08-06 01:18:21 +00:00
rules_library Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search search: Update results multi-buffer before search is finished (#35470) 2025-08-04 18:25:42 +02:00
semantic_index Simplify ListState API (#35685) 2025-08-06 00:02:26 +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 onboarding: Show indication that settings have already been imported (#35615) 2025-08-04 20:01:53 -04:00
settings_profile_selector Tighten up settings profile selector modal width (#35419) 2025-07-31 17:31:12 +00:00
settings_ui keymap_ui: Show matching bindings (#35732) 2025-08-06 12:16:05 -04:00
snippet Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
snippet_provider Default `#[schemars(deny_unknown_fields)] for json-language-server schemas (#33883) 2025-07-04 00:57:43 +00:00
snippets_ui languages: Remove a eager conversion from LanguageName to String (#35667) 2025-08-05 23:46:57 +03:00
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 project panel: Add indent guides for sticky items (#34092) 2025-07-09 05:28:25 +05:30
streaming_diff Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
sum_tree sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
supermaven Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
supermaven_api supermaven_api: Ensure downloaded Supermaven binary has executable permissions set (#32576) 2025-06-17 14:39:45 +00:00
svg_preview gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
tab_switcher gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
task Add support for Nushell in shell builder (#33806) 2025-07-08 14:57:37 +00:00
tasks_ui Revise and clean up some icons (#35582) 2025-08-04 11:58:31 -03:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +00:00
terminal Fix incorrect minimum_contrast comment (#34710) 2025-07-18 10:01:09 -04:00
terminal_view Revise and clean up some icons (#35582) 2025-08-04 11:58:31 -03:00
text sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
theme Add icon for KDL files (#35377) 2025-08-04 09:49:51 -03:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer theme_importer: Add missing color imports for the minimap thumb (#34724) 2025-07-18 16:55:03 +00:00
theme_selector Add zed://extension/{id} links (#34492) 2025-07-15 13:42:25 -06:00
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar gpui: Press enter, space to trigger click to focused element (#35075) 2025-08-05 18:15:30 -04:00
toolchain_selector gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
ui Thread view scrollbar (#35655) 2025-08-06 14:01:34 +00:00
ui_input Support multiple OpenAI compatible providers (#34212) 2025-07-22 12:20:07 -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 ui_prompt: Fix prompt dialog is hard to see on large screen (#35348) 2025-07-30 23:03:53 +05:30
util Verify downloaded rust-analyzer and clang binaries by checking the artifact digest (#35642) 2025-08-06 08:32:25 +00: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 Rename remaining mentions of "inline completion" to "edit prediction" (#35512) 2025-08-04 16:22:18 +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 Replace zed_llm_client with cloud_llm_client (#35309) 2025-07-30 00:09:14 +00:00
web_search_providers Replace zed_llm_client with cloud_llm_client (#35309) 2025-07-30 00:09:14 +00:00
welcome Fix edit prediction disablement with "disable_ai": true setting (#35513) 2025-08-04 15:45:11 +00:00
workspace gpui: Press enter, space to trigger click to focused element (#35075) 2025-08-05 18:15:30 -04:00
worktree sum_tree: Do not implement Dimension on tuples, use new Dimensions wrapper instead (#35482) 2025-08-05 00:37:22 +00:00
x_ai Add xAI language model provider (#33593) 2025-07-15 15:35:50 -04:00
zed Bump Zed to v0.200 (#35719) 2025-08-06 13:11:46 +00:00
zed_actions Introduce settings profiles (#35339) 2025-07-30 21:48:24 +00:00
zeta zeta: Collect git sha / remote urls when data collection from OSS is enabled (#35514) 2025-08-04 14:18:06 -06:00
zeta_cli zeta: Collect git sha / remote urls when data collection from OSS is enabled (#35514) 2025-08-04 14:18:06 -06:00
zlog Add meta description tag to docs pages (#35112) 2025-07-29 23:01:03 +00:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00