zed/crates
Max Brunsfeld 6036830049
Throttle the sending of UpdateFollowers messages (#8918)
## Problem

We're trying to figure out why we sometimes see high latency when
collaborating, even though the collab server logs indicate that messages
are not taking long to process.

We think that high volumes of certain types of messages, including
`UpdateFollowers` may cause a lot of messages to queue up, causing
delays before collab sees certain messages.

## Fix

This PR reduces the number of `UpdateFollowers` messages that clients
send to collab when scrolling around or moving the cursor, using a
time-based throttle.

The downside of this change is that scrolling will not be as smooth when
following someone. The advantage is that it will be much easier to keep
up with the stream of updates, since they will be sent much less
frequently.

## Release Notes:

- Fixed slowness that could occur when collaborating due to excessive
messages being sent to support following.

---------

Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
2024-03-06 14:58:41 +01:00
..
activity_indicator Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
ai Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assets Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
assistant Enable clippy::cmp_owned (#8899) 2024-03-05 14:36:53 -05:00
audio Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
auto_update Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
breadcrumbs Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
call Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
channel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
cli Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
client Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab Throttle the sending of UpdateFollowers messages (#8918) 2024-03-06 14:58:41 +01:00
collab_ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collections Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
color Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
command_palette_hooks Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
copilot Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
copilot_ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
db Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
diagnostics Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
editor Enable clippy::unnecessary_to_owned (#8908) 2024-03-05 17:28:58 -05:00
extension Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
extension_api Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
extensions_ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
feature_flags Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
feedback Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
file_finder Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
fs Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
fsevent Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
fuzzy Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
git Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
go_to_line Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
gpui Throttle the sending of UpdateFollowers messages (#8918) 2024-03-06 14:58:41 +01:00
gpui_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
install_cli Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
journal Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
languages Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
live_kit_client Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
live_kit_server Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
lsp Always resolve code action if needed (#8904) 2024-03-05 23:42:12 +02:00
markdown_preview Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
media Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
multi_buffer Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
node_runtime Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
notifications Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
outline Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
picker Throttle the sending of UpdateFollowers messages (#8918) 2024-03-06 14:58:41 +01:00
prettier Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
project Always resolve code action if needed (#8904) 2024-03-05 23:42:12 +02:00
project_core Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
project_panel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
project_symbols Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
quick_action_bar Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
recent_projects Improve wording on recent projects placeholder instructions 2024-03-05 13:51:25 -05:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rich_text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rope Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
rpc Log the time incoming RPC messages were queued (#8909) 2024-03-05 14:40:09 -08:00
search Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
semantic_index Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
settings Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
snippet Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
storybook Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
sum_tree Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
task Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
tasks_ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
telemetry_events Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
terminal Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
terminal_view Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
text Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme_importer Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
theme_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
time_format Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
ui Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
util Windows: use folders under AppData (#8828) 2024-03-05 09:48:27 -08:00
vcs_menu Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
vim Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
welcome Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
workspace Throttle the sending of UpdateFollowers messages (#8918) 2024-03-06 14:58:41 +01:00
zed Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00