ZIm/crates
Finn Evers 7cc3c03b08
editor: Fix hang when scrolling over single line input fields (#28471)
Closes #21684
Closes #28463
Closes #28264 

This PR fixes Zed hanging when scrolling over single line input fields
with `scroll_beyond_last_line` set to `vertical_scroll_margin`. The
change here is to fix the calculations of available lines.

The issue only arises with the setting present because with all
overscroll settings and `max_row` being 1 for single-line editors, the
calculation would still return the correct value of available lines,
which is 1. However, with overscrolling set to `vertical_scroll_margin`
and that set to any value greater than 0, the calculation would return
that the single-line editor has more than one line, which caused the
issues described above (Actually, setting `vertical_scroll_margin` to 1
works for some reason, overscrolls "properly" and does not cause a
crash. But I really did not want to investigate this buggy behavior
further).

This PR fixes this by always reporting the number of available lines as
the line number value for single line editors, which will (mostly) be 1
(for more context see the discussion in this PR).

Release Notes:

- Fixed an issue where Zed would crash when scrolling over single line
input fields and `scroll_beyond_last_line` set to
`vertical_scroll_margin`.
2025-04-22 00:37:04 +02:00
..
activity_indicator Git activity indicator (#28204) 2025-04-07 18:10:01 +00:00
agent Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
anthropic Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
askpass Remove netcat dependency (#28920) 2025-04-16 19:46:36 -04:00
assets Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant Add ability to attach rules as context (#29109) 2025-04-21 20:16:51 +00:00
assistant_context_editor inline assistant: Fix model picker (#29136) 2025-04-21 01:12:57 +00:00
assistant_settings Actually run the eval and fix a hang when retrieving outline (#28547) 2025-04-11 00:01:33 +00:00
assistant_slash_command Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_slash_commands Add ability to attach rules as context (#29109) 2025-04-21 20:16:51 +00:00
assistant_tool Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
assistant_tools Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
audio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update windows: Implement AutoUpdater (#25734) 2025-04-14 10:36:31 -07:00
auto_update_helper Update block diagnostics (#28006) 2025-04-15 09:35:13 -06:00
auto_update_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
breadcrumbs breadcrumbs: Update multibuffer to match singleton (#28267) 2025-04-07 20:26:55 +00:00
buffer_diff Fix diff recalculation hang (#28377) 2025-04-10 22:58:41 +00:00
call Fix deafening new participants (#28330) 2025-04-08 16:01:27 +00:00
channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
cli Try to weak-link ScreenCaptureKit always (#28585) 2025-04-11 17:38:14 +00:00
client Upgrade async-tungstenite to tokio (#26193) 2025-04-08 09:17:08 -06:00
clock Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
collab debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
collab_ui Rename regex search tool to grep and accept an include glob pattern (#29100) 2025-04-20 00:53:30 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Add example agent tool preview (#28984) 2025-04-17 17:29:19 +00:00
component_preview component preview: Focus search input immediately upon opening (#29155) 2025-04-21 11:28:49 -03:00
context_server agent: Return ToolResult from run inside Tool (#28763) 2025-04-15 14:28:09 +00:00
context_server_settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
copilot Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
dap_adapters debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
db debugger_ui: Move DEBUGGER_PANEL_PREFIX out of db (#28768) 2025-04-15 14:59:42 +00:00
debugger_tools debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
debugger_ui debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
deepseek Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
diagnostics Set diagnostic width based on ems (#28936) 2025-04-16 22:31:04 -06:00
docs_preprocessor Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
editor editor: Fix hang when scrolling over single line input fields (#28471) 2025-04-22 00:37:04 +02:00
eval Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
extension extension: Use heck instead of convert_case for snake_case check (#28608) 2025-04-11 22:01:25 +00:00
extension_api chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
extension_cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension_host Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extensions_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
feature_flags agent: Add websearch tool (#28621) 2025-04-16 19:25:00 +02:00
feedback feedback: Update issue template URL (#28790) 2025-04-15 21:36:30 -04:00
file_finder agent: Refine language model selector (#28597) 2025-04-11 23:02:50 +00:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs Implement dragging external files to remote projects (#28987) 2025-04-17 11:06:56 -07:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git Add support for remote branches to the branch picker (#28978) 2025-04-17 16:13:02 +00:00
git_hosting_providers Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git_ui agent: Attach thread ID and prompt ID to telemetry events (#29069) 2025-04-18 20:41:02 +00:00
go_to_line vim: Fix character count in visual line mode (#28669) 2025-04-17 22:14:44 -06:00
google_ai Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
gpui windows: Fix window_min_size (#29118) 2025-04-21 16:38:36 +08:00
gpui_macros Rename regex search tool to grep and accept an include glob pattern (#29100) 2025-04-20 00:53:30 +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 Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons agent: Refine language model selector (#28597) 2025-04-11 23:02:50 +00:00
image_viewer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
indexed_docs Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
inline_completion Show edit predictions usage in status bar menu (#29046) 2025-04-18 14:15:19 +00:00
inline_completion_button Show edit predictions usage in status bar menu (#29046) 2025-04-18 14:15:19 +00:00
install_cli install_cli: Show feedback when installing CLI from welcome screen (#28532) 2025-04-11 01:47:40 +05:30
journal Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language Omit duplicate LSP data when generating completion item labels (#29137) 2025-04-21 02:24:51 +00:00
language_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_model Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
language_model_selector inline assistant: Fix model picker (#29136) 2025-04-21 01:12:57 +00:00
language_models Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
language_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_tools gpui: Introduce PlatformKeyboardLayout trait for human-friendly keyboard layout names (#29049) 2025-04-19 22:23:03 +08:00
languages Improve Regex highlighting (#28183) 2025-04-18 12:44:13 -04:00
livekit_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
livekit_client Fix deafening new participants (#28330) 2025-04-08 16:01:27 +00:00
lmstudio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
lsp Add support for insert_text_mode of a completion (#28171) 2025-04-07 10:35:11 -06:00
markdown Streaming tool calls (#29179) 2025-04-21 22:28:32 +00:00
markdown_preview Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
media chore: Make objc a workspace level crate (#28258) 2025-04-07 18:46:09 +00:00
menu Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
migrator agent: Migrate tool names in settings (#29168) 2025-04-21 17:03:42 +00:00
mistral Switch from open-codestral-mamba to codestral-latest for default mistral model (#29104) 2025-04-19 23:29:36 +00:00
multi_buffer Fix anchor_in_excerpt on replaced excerpts (#28880) 2025-04-16 12:35:40 -06:00
node_runtime Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
notifications Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ollama Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
open_ai Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
outline editor: Refactor EditorMode::Full (#28546) 2025-04-10 23:22:27 +00:00
outline_panel outline_panel: Rename outline_panel::Open to outline_panel::OpenSelectedEntry (#28890) 2025-04-17 01:44:00 +05:30
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Add zed to Flatpak config and data directories (#28952) 2025-04-19 10:41:03 -07:00
picker agent: Refine language model selector (#28597) 2025-04-11 23:02:50 +00:00
prettier Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
project debugger: Fix restarting terminated child sessions (#29173) 2025-04-21 14:25:38 -04:00
project_panel Implement dragging external files to remote projects (#28987) 2025-04-17 11:06:56 -07:00
project_symbols Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prompt_library Add ability to attach rules as context (#29109) 2025-04-21 20:16:51 +00:00
prompt_store Add ability to attach rules as context (#29109) 2025-04-21 20:16:51 +00:00
proto debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
recent_projects debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
refineable Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
release_channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote_server debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
repl Upgrade async-tungstenite to tokio (#26193) 2025-04-08 09:17:08 -06:00
reqwest_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
rpc rpc: Remove llm module in favor of zed_llm_client (#28900) 2025-04-16 20:22:44 +00:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search Rename regex search tool to grep and accept an include glob pattern (#29100) 2025-04-20 00:53:30 +00:00
semantic_index agent: Attach thread ID and prompt ID to telemetry events (#29069) 2025-04-18 20:41:02 +00:00
semantic_version Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
session Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
settings gpui: Introduce PlatformKeyboardLayout trait for human-friendly keyboard layout names (#29049) 2025-04-19 22:23:03 +08:00
settings_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet_provider snippet_provider: Use proper casing of VsCode in identifiers (#29038) 2025-04-18 12:11:54 +00:00
snippets_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
storybook Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
streaming_diff Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sum_tree Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
tab_switcher tab_switcher: Add keybind to close tab tooltip (#27212) 2025-04-08 15:57:36 -06:00
task debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
tasks_ui debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events telemetry_events: Rename AssistantEvent to AssistantEventData (#28133) 2025-04-04 19:28:32 -04:00
terminal debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
terminal_view debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
text format: Re-implement support for formatting with code actions that contain commands (#28392) 2025-04-09 01:53:54 +00:00
theme Add icon for Vyper files (#28307) 2025-04-09 10:49:39 -04:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
time_format Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
title_bar project: Show detached head commit SHA in branch pickers (#29007) 2025-04-18 04:23:56 +05:30
toolchain_selector toolchain: Respect currently focused file when querying toolchains (#28875) 2025-04-16 19:05:57 +02:00
ui ui: Add .color method to the Switch (#29074) 2025-04-21 10:56:42 -03:00
ui_input Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_macros Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_prompt markdown: Don't retain MarkdownStyle in favor of using MarkdownElement directly (#28255) 2025-04-07 19:03:24 +00:00
util Fix zed sometimes stopping by using setsid on interactive shells (#29070) 2025-04-18 15:04:26 -06:00
util_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
vim debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
vim_mode_setting Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
web_search agent: Add websearch tool (#28621) 2025-04-16 19:25:00 +02:00
web_search_providers agent: Add websearch tool (#28621) 2025-04-16 19:25:00 +02:00
welcome install_cli: Show feedback when installing CLI from welcome screen (#28532) 2025-04-11 01:47:40 +05:30
workspace debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
worktree Systematically optimize agentic editing performance (#28961) 2025-04-19 02:47:59 +00:00
zed debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
zed_actions Add ability to attach rules as context (#29109) 2025-04-21 20:16:51 +00:00
zeta Show edit predictions usage in status bar menu (#29046) 2025-04-18 14:15:19 +00:00
zlog debugger: More tidy up for SSH (#28993) 2025-04-21 16:00:03 +00:00
zlog_settings zlog: Use zlog as default log implementation (#28612) 2025-04-14 14:17:07 +00:00