e4b827a
agent: Detect overlapping edits in StreamingEditFileTool (#50181)
Click to expand commit body
Release Notes: - N/A
Bennet Bo Fenner created
e4b827a
agent: Detect overlapping edits in StreamingEditFileTool (#50181)
Release Notes: - N/A
Bennet Bo Fenner created
7cca7bc
ssh: Fix IPv6 address formatting in port forward `-L` arguments (#49032)
## Summary - Fix SSH `-L` port-forward arguments to wrap IPv6 addresses in brackets (e.g. `-L[::1]:8080:[::1]:80`), so SSH can correctly parse them - Rewrite `parse_port_forward_spec` to support bracket-wrapped IPv6 tokens like `[::1]:8080:[::1]:80` - Add diagnostic logging for stdin read failures in the remote server to aid debugging connection issues Closes #49009 ## Test plan - [x] New unit tests: `test_parse_port_forward_spec_ipv6`, `test_port_forward_ipv6_formatting`, `test_build_command_with_ipv6_port_forward` - [x] Existing tests pass: `cargo test -p remote --lib transport::ssh::tests` (6/6) - [ ] Manual verification: connect via SSH to an IPv6 host with port forwarding configured 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude <noreply@anthropic.com>
Wuji Chen and Claude created
8453286
Fix panic in diff hunk rendering (#50163)
When `row_infos.is_empty()` (if you have very very tiny editors) we could end up trying to read the first item out of it. Fixes ZED-5AT Fixes ZED-54F Fixes ZED-56N Updates #49260 cc @Veykril Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed a panic rendering diff hunk headers in 0-height editors
Conrad Irwin created
55a5483
lsp_button: Improve UI for LS submenu (#50160)
This PR improves the language server submenu UI, which previously, had its width growing way too much to fit the server message as well as some other small inconsistencies. Now, this is all fixed and the server message appear in full. | Before | After | |--------|--------| | <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 13@2x" src="https://github.com/user-attachments/assets/6922a78f-75aa-4004-af34-9343998ac6c5" /> | <img width="2312" height="1342" alt="Screenshot 2026-02-26 at 1 17@2x" src="https://github.com/user-attachments/assets/03c6a9c9-e814-4de2-a0d6-de86a73fa1df" /> | Release Notes: - N/A
Danilo Leal created
1d6a2c6
Fix Windows remote server (#50152)
More fallout from https://github.com/zed-industries/zed/pull/49277. Closes #50149. Release Notes: - Fixed remote server failing to launch on Windows.
John Tur created
2ec2b4c
Fix and improve docs automation scripts (#50120)
## Summary
Fixes issues discovered while running the docs automation workflow for
the first time, plus improvements based on the v0.225 run where 44
suggestions overwhelmed a single Droid invocation.
### docs-suggest-publish
- Ignore untracked files when checking for clean working directory
- Add `--auto high` flag to droid exec for non-interactive use
- Add error handling to show droid output on failure
- Remove non-existent `documentation` label from PR creation
- Use `--write` flag for prettier to fix formatting
- **Batch suggestions** into groups of 10 (configurable with
`--batch-size`) to prevent Droid from dropping suggestions when context
is too large
- **Pre-PR docs build validation** — runs `generate-action-metadata` +
`mdbook build` before creating the PR to catch invalid `{#action}` and
`{#kb}` references locally instead of waiting for CI (skippable with
`--skip-validation`)
- **Prompt guardrail** — instructs Droid not to invent `{#kb}` or
`{#action}` references, only reusing action names already present in
docs files
- **Stable release detection** — at publish time, checks each queued
PR's merge commit against the latest stable release tag. PRs already in
stable get annotated "ALREADY IN STABLE" so Droid applies content
changes without adding incorrect Preview callouts
- **Feature flag detection** — parses
`crates/feature_flags/src/flags.rs` for all feature flag struct names,
then checks each PR's diff for references. PRs behind feature flags are
skipped entirely since those features aren't generally available yet
### docs-strip-preview-callouts
- Remove non-existent `documentation` label from PR creation
- Add `Release Notes: - N/A` to generated PR body (fixes Danger bot
check)
## Context
These scripts were run for the first time as part of the v0.225 release.
Issues found:
1. The `documentation` label doesn't exist in this repo
2. Droid exec needs `--auto high` for non-interactive execution
3. Prettier needs `--write` to actually fix files (was running in check
mode)
4. Untracked files should not block the workflow
5. Sending all 44 suggestions in one Droid invocation only applied 2 —
batching in groups of 10 fixed this
6. Droid hallucinated action names (`settings::OpenSettings`,
`gpui::Modifiers::secondary_key`) that broke the docs preprocessor build
7. PRs that shipped in stable v0.225 incorrectly got Preview callouts
because the queue doesn't distinguish preview-only from
already-in-stable
8. PRs behind feature flags (subagents, git graph) got documented
despite not being generally available
Release Notes:
- N/A
morgankrey created
3da9adc
Edit prediction: add some typescript evals, fix a teacher model failure mode (#50141)
In some evals, the teacher produced hallucinations, seemingly due to context rot. This makes the zeta prompt crate's budgeted rendering usable by the teacher, so that it can truncate the list of excerpts. I've also cleaned up the implementation of zeta_prompt's `format_related_files_within_budget`, and changed the behavior so that it filters the the excerpts by priority but renders the files in their original order. Release Notes: - N/A
Max Brunsfeld created
72d69d1
multi_workspace: Move up action handler and modal rendering from workspace to multi workspace (#49995)
Now that MultiWorkspace is the root view, actions bound to the `Workspace` key context wouldn't be dispatched when `Workspace` is not in the key context stack (e.g. when the sidebar is focused). To fix this, the `Workspace` key context and action handlers are moved up to the MultiWorkspace rendering layer. This avoids introducing a new key context and the keymap migration that would require. This PR also moves modal rendering up a layer so modals are centered within the window (MultiWorkspace element) instead of the Workspace element. ### Before <img width="3248" height="2122" alt="image" src="https://github.com/user-attachments/assets/233a0b75-47a1-423a-8394-c6a1b50fb991" /> ### After <img width="3248" height="2122" alt="image" src="https://github.com/user-attachments/assets/9c51c839-e524-4ef8-afc9-9429b028def0" /> Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A --------- Co-authored-by: cameron <cameron.studdstreet@gmail.com>
Anthony Eid and cameron created
72fa971
repl: Fix duplicate output inside notebooks (#48616)
- Render the output only when needed, fixes the duplicate output that can happen after opening a saved notebook. - Vim in Jupyter View with j/k navigation across notebook cells Release Notes: - N/A
MostlyK created
697e71d
multiworkspace: Disable sidebar if disable_ai is enabled (#50137)
We don't want to show the sidebar to users if they have `disable_ai` enabled because it's an AI focused feature. In the future if we add non AI functionality to the sidebar we'll reenable it. Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Anthony Eid created
a2e34cb
agent: Implement streaming for edit file tool (#50004)
Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Bennet Bo Fenner and Zed Zippy created
078ab61
extension_ci: Shorten SHA length in PR titles (#50135)
This PR shortens the length of the Git SHAs in the PR titles to 7 characters, as this is the default for short SHAs. Release Notes: - N/A
Finn Evers created
4bd99a0
docs: Add small fix to the MCP page (#50134)
Release Notes: - N/A
Danilo Leal created
e439c29
zeta2: Send snapshot event (#50126)
Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
1a43b4b
docs: Fix content in some AI pages (#50129)
Follow-up to https://github.com/zed-industries/zed/pull/50118. Release Notes: - N/A
Danilo Leal created
a18b772
Add GPT-5.3-Codex BYOK model under the OpenAI provider (#50122)
Adds `gpt-5.3-codex` as a built-in model under the OpenAI provider for BYOK usage. Model specs: - 400,000 context window - 128,000 max output tokens - Reasoning token support (default medium effort) - Uses the Responses API (like other codex models) - Token counting falls back to the gpt-5 tokenizer Closes AI-59 Release Notes: - Added support for GPT-5.3-Codex as a bring-your-own-key model in the OpenAI provider.
Richard Feldman created
876086e
docs: Apply preview release suggestions (#50118)
Documentation updates for Preview release - generated by docs-suggest-publish Release Notes: - N/A
morgankrey created
646ec5e
docs: Remove Preview callouts for stable release (#50119)
This PR removes Preview callouts from documentation for features that are now in Stable. Features documented with Preview callouts are now included in the stable release. Generated by script/docs-strip-preview-callouts Release Notes: - N/A
morgankrey created
b4fe63b
git_graph: Polish UX (#50123)
This is a follow-up on #50027 I address my comments by adding a hash map look-up to find the selected pending commit. I also removed the limitation where we would only retry finding the pending commit 5 times. The pending selection is removed when the graph is fully loaded and doesn't contain the pending commit. This PR also cleans up some internal code structure and starts work to enable search and propagating git log error messages to the UI. UI wise I made the git graph item show the repository name instead of "Git Graph" in Zed. Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
046b173
agent: Improve SpawnAgentTool instructions for clarity (#50114)
Trying to keep it from reiterating instructions Release Notes: - N/A
Ben Brandt created
c9aea6f
ep: Stratify by cursor_path by default (#50111)
Also, `ep split train=100` now means 100 lines, not 100 groups (repos or cursor_paths). Release Notes: - N/A
Oleksiy Syvokon created
706faa9
project_panel: Fix selection not updating for already-visible gitignored files (#49521)
## Summary - Keep auto-reveal behavior for ignored files unchanged (no implicit reveal). - When an ignored file is already visible in the project panel, mark it as selected on `ActiveEntryChanged`. - Add regression coverage for switching back to a visible gitignored file. ## Testing - `project_panel_tests::test_autoreveal_and_gitignored_files` - `project_panel_tests::test_gitignored_and_always_included` - `project_panel_tests::test_explicit_reveal` Closes #49515 Release Notes: - Fixed project panel not updating selection when switching to a gitignored file that was already visible.
Efe created
6acc1a3
Remove dead AgentGitWorktreeInfo code (#50101)
This code was part of a series of stacked diff PRs that became obsolete because we changed the UI design, so none of this code is necessary anymore. Release Notes: - N/A
Richard Feldman created
1b2c1b4
Fix a bug where closing the workspace could skip the dirty check for other workspaces (#50105)
Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Mikayla Maki created
bbbe723
git: Add diff stats in git_panel (#49519)
This PR adds the small UI change of `git diff --numstat` to the git panel so you can see the number of additions/deletions per file. There is an option in the settings UI for this under `git_panel`.`diff_stats`. This option is set to `false` by default. <!-- initial version <img width="1648" height="977" alt="Screenshot 2026-02-18 at 18 42 47" src="https://github.com/user-attachments/assets/b8b7f07c-9c73-4d06-9734-8f1cf30ce296" /> --> <img width="1648" height="977" alt="Screenshot 2026-02-18 at 21 25 02" src="https://github.com/user-attachments/assets/73257854-6168-4d12-84f8-27c9e0abe89f" /> Release Notes: - Added git diff stats to git panel entries --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Anthony Eid <anthony@zed.dev>
Bob Mannino , Danilo Leal , and Anthony Eid created
f4920f4
Fix Zed panicking on invalid ranges in semantic token deltas (#50106)
Closes ZED-59J Release Notes: - Fixed Zed panicking on invalid ranges in semantic token deltas
Kirill Bulatov created
c40cc0c
extension_ci: Ensure version bump does not happen too often (#50108)
Sigh.... Release Notes: - N/A
Finn Evers created
21fdf70
Fix "add custom context server" modal hanging indefinitely (#50085)
Tom Houlé created
f786e04
Notify after populating MCP server IDs (#50089)
Tom Houlé created
c235d53
agent: Support streaming tool input (#50099)
This PR introduces a `ToolInput` struct which allows tools to receive their inputs incrementally as they stream in. Right now no tool makes use of the streaming APIs, will be used for the streaming edit file tool in #50004 Release Notes: - N/A
Bennet Bo Fenner created
3714f31
extension_ci: Fix condition comparison type (#50100)
No comment. No string. And this definitely does not spark joy. Release Notes: - N/A
Finn Evers created
533cdb8
gpui(linux): Fix RefCell borrow panic when callbacks register new callbacks (#49533)
## Summary
Fixes RefCell borrow panic on Linux (Wayland and X11) when callbacks try
to register new callbacks.
**Root cause:** Linux GPUI backends invoked callbacks while still
holding a `RefCell` borrow on the `Callbacks` struct. If a callback
tried to register a new
callback (e.g., `on_window_should_close`), it would panic with "already
borrowed: BorrowMutError".
**Bug pattern:**
```rust
// Callback runs while borrow is held - panics if callback borrows
callbacks
if let Some(ref mut fun) = self.callbacks.borrow_mut().input {
fun(input);
}
Fix: Apply the take-call-restore pattern (already used in macOS
backend):
// Take callback out, release borrow, call, restore
let callback = self.callbacks.borrow_mut().input.take();
if let Some(mut fun) = callback {
let result = fun(input);
self.callbacks.borrow_mut().input = Some(fun);
}
Changes
- Wayland (window.rs): Fixed 6 callback invocations
- X11 (window.rs): Fixed 4 callback invocations
Test plan
- cargo check -p gpui compiles successfully
- Tested on Linux (Wayland) - no more RefCell panic
Release Notes:
- Fixed a crash on Linux when window callbacks attempted to register new
callbacks
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
cardinalpointstudio and Claude Opus 4.5 created
ea09744
zeta2: Try to fix ep disabled in buffer bugs (#50098)
Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
ff83f08
python: Fix warning in injections query (#49397)
Release Notes: - N/A
Finn Evers created
afadd4b
agent_server: Remove root_dir from agent server connect APIs (#50093)
This isn't necessary and allows us to potentially share processes across threads. Release Notes: - N/A
Ben Brandt created
8b41a64
Bump Zed to v0.227 (#50095)
Release Notes: - N/A
Joseph T. Lyons created
ae53f56
Redact environment variables from debugger errors (#50008)
Closes #50007 - Follow-up to: https://github.com/zed-industries/zed/pull/44783 Release Notes: - Improved redaction of sensitive environment variables from debugger error logs.
Peter Tripp created
aa3a12b
sidebar: Zoom temporarily hides sidebar (#50088)
Using zoom now temporarily hides the sidebar. Unzooming reopens the sidebar Release Notes: - N/A *or* Added/Fixed/Improved ...
Cameron Mcloughlin created
54ac532
agent_servers: Use agent display_name for session titles (#50092)
Use a separate `display_name` field (distinct from `server_name`) so that session titles show a human-readable name. For custom agents this resolves to the configured display name; for built-ins it falls back to the server name. Release Notes: - N/A
Ben Brandt created
94d66ff
project_panel: Add diagnostic count badges (#49802)
Discussed in #6668 specifically this comment from @zackangelo: > The biggest thing keeping me from using Zed as a daily driver is error indication in the project panel. When I'm making big project-wide changes I can't clearly see which files have errors (in editors like VSCode the filenames turn red). > VSCode seems to use a letter on the right gutter to indicate git status and a number next to it to indicate diagnostic status. The color indicates either. This PR implements that, I added an opt-in `diagnostic_badges` setting (default is false) that shows error and warning counts as colored labels on the right side of each project panel entry. Counts bubble up to parent directories. When `diagnostic_badges` is enabled, diagnostic severity takes priority over git status for entry text color. Since warnings and git-modified share the same yellow, git status with this option on is readable through the file icon decoration and the absence of a number badge on the right. Example: <img width="522" height="785" alt="image" src="https://github.com/user-attachments/assets/2da62580-86fe-480b-9b57-ff137ea42285" /> <img width="884" height="580" alt="image" src="https://github.com/user-attachments/assets/198e9a45-dacd-4f1e-a66c-f2b84fd4db63" /> Release Notes: - Added diagnostic count badges to the project panel, displaying error and warning counts next to file names. You can modify this setting using the `diagnostic_badges` option, which is enabled by default. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Davide Scaccia and Smit Barmase created
13eb0f6
git_ui: Improve connection between the graph and commit views (#50027)
- Enabled opening the Git Graph, with the corresponding commit detail drawer open, from the commit view - Redesigned the commit view's header and toolbar to allow addition of the Git Graph icon button - Redesigned icons for the Git Graph and commit view https://github.com/user-attachments/assets/8efef60a-0893-4752-9b40-838da21ceb54 --- Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A (_Git Graph is still feature flagged, so no release notes for now_)
Danilo Leal created
bc023b3
languages: Improve completion sorting for Python-based LSPs (#47160)
Closes #47086 This PR detects completion items ending with `=` (which typically represent keyword arguments in function calls provided by `Pyright`/`BasedPyright`/`pylsp`) and assigns them the highest sorting priority. This ensures that when a user is filling out function arguments, the named parameters appear at the top of the list, rather than being buried mixed with other symbols. After fix: <img width="786" height="460" alt="image" src="https://github.com/user-attachments/assets/75e94b0f-a2e7-4876-b9bd-02ad98cc8c50" /> > **Note on Sorting:** Currently, these named arguments will be sorted alphabetically by label. Preserving the original order of the function definition would be ideal, but it requires information not currently available in this logical block. Insights on how to retrieve the definition order would be appreciated. > **Note on other LSPs:** > * **`ty`**: Already provides well-sorted completions natively, so no intervention is required. Release Notes: - Improved completion order for Python-based LSPs
Xin Zhao created
6fb5109
agent_ui: Refresh agent registry when reopening page (#50078)
Make sure we get an up-to-date list whenever you actually visit the page Release Notes: - N/A
Ben Brandt created
8829947
Add debug panel toggle (#48020)
This adds `debug_panel::Toggle` which is the same as
`terminal_panel::Toggle` but for the debug panel. It also moves
`debug_panel::{Toggle, ToggleFocus}` to its own `pub mod` for
consistency with other keybinds.
[Related
discussion](https://github.com/zed-industries/zed/discussions/47931#discussion-9404091)
Release Notes:
- Added `debug_panel::Toggle` to show/hide debug panel like
`terminal_panel::Toggle`
Samuel Domínguez Lorenzo created
938b8ab
languages: Add `.mdc` as a recognized Markdown file suffix (#50074)
Highlight files ending in `.mdc` as Markdown. The `.mdc` extension is used by Cursor for its Markdown-based rule files (`.cursor/rules/*.mdc`). These files are standard Markdown with optional YAML frontmatter, which the existing Markdown grammar already handles well. Adding `.mdc` to the recognized suffixes ensures proper syntax highlighting out of the box. This was requested during review of the agnix extension PR ([zed-industries/extensions#4743](https://github.com/zed-industries/extensions/pull/4743)) by @MrSubidubi as the preferred approach over defining a custom MDC language in an extension. Release Notes: - Added `.mdc` as a recognized Markdown file extension.
Avi Fenesh created
3d5c8a5
thread_view: Add fallback error handling for connect failures (#50063)
Following up from https://github.com/zed-industries/zed/pull/50061: when connecting to an ACP adapter fails before any thread is active, errors would not display in the Agent Panel. Falling back to `handle_load_error` to show the error UI properly as it already handles this. Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Added fallback error handling for connect failures in the Agent Panel
Kunall Banerjee created
ca066cb
Replace some hot `TreeMaps` with `Arc<HashMap>` (#49984)
These tend to be very often mutated while we don't really need the subtree sharing of TreeMaps, so replacing them here is generally cheaper. Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored by: John Tur <jtur@zed.dev>
Lukas Wirth created
7e3e168
Fix window bounds related bugs from multi-workspace serialization (#50065)
Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Mikayla Maki created
21bd74a
text: Narrow insertion-relative offsets from `usize` to `u32` (#49801)
Reduces memory usage of `InsertionSlice` from 32 to 24 bytes, `Fragment` from 120 to 96 bytes by narrowing offsets that are relative to individual insertion operations from `usize` to `u32`. These offsets are bounded by the size of a single insertion, not the total buffer size, so `u32` is sufficient. To prevent any single insertion from exceeding `u32::MAX` bytes, both `Buffer::new_normalized` and `apply_local_edit`/`apply_remote_edit` now split large text insertions into multiple fragments via `push_fragments_for_insertion`. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a0d7698
agent: Delay edit tool buffer clearing until the first chunk is sent (#49633)
Release Notes: - The agent edit tool no longer clears files until the first edit comes in, preventing a buffer being empty for prolonged time if the agent is slow in reporting the first text chunk
Lukas Wirth created