7903f4e
Fix the install-linux fix (#22466)
Click to expand commit body
Follow-up fix to #22465, forgot my shell fundamentals! Release Notes: - N/A
Cole Miller created
7903f4e
Fix the install-linux fix (#22466)
Follow-up fix to #22465, forgot my shell fundamentals! Release Notes: - N/A
Cole Miller created
a3dec64
Fix script/install-linux in non-CI settings (#22465)
Closes #22456 Release Notes: - N/A
Cole Miller created
02cc0b9
Update Blade with acquire fixes, multisampling (#22409)
Fixes #22406
Picks up:
- https://github.com/kvark/blade/pull/234 and
https://github.com/kvark/blade/pull/237 (`OutOfDate` workaround)
- https://github.com/kvark/blade/pull/229 ("metal-rs" to "objc2"
migration)
Release Notes:
- Improved handling of resizing and multiple monitors in Linux/Windows
Dzmitry Malyshau created
7874663
copilot: Update Copilot Chat to o1 GA model version (#22376)
Closes #22375 Release Notes: - Fixed model version of o1 in GitHub Copilot Chat --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Marcel Kersten and Peter Tripp created
34f8bb2
assistant2: Scroll to the bottom when you submit a new message (#22451)
Up until now, in the assistant 2, if you scrolled up either while a message was being generated or after it's been generated, then submitted a new message, you'd keep your scroll position. Now, with this PR, if your scroll position is somewhere else that's not the bottom, as you submit a new message, you'll be back at the bottom. https://github.com/user-attachments/assets/8b111c10-27ff-4d7b-9b10-4c31093c6457 Release Notes: - N/A Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal and Agus Zubiaga created
56b425f
assistant2: Show the popover keybinding when context is empty (#22452)
This PR makes it so we always show the "Add Context {keybinding}" text
when there's no context pills attached. Also, while we haven't fully
implemented the mention system (triggered by typing `@`), we removed the
instruction on the message editor placeholder. Once that's fully in
place, we should return with it!
<img width="800" alt="Screenshot 2024-12-27 at 1 35 56 PM"
src="https://github.com/user-attachments/assets/201cf784-e7ac-420a-adf2-51b6e075c2b6"
/>
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal and Agus Zubiaga created
ed61abb
Resolve completion items once exactly (#22448)
Closes https://github.com/zed-industries/zed/issues/19214 Closes https://github.com/zed-industries/zed/pull/22443 Adds `resolved` property into Zed completion item data, to ensure we resolve every completion item exactly once. There are 2 paths for singplayer Zed, and corresponding 2 analogues for multi player code, where resolve may happen: * completions menu display & selection, that ends up using `resolve_completions` in `lsp_store.rs` * applying a completion menu entry, that ends up using `apply_additional_edits_for_completion` in `lsp_store.rs` Now, all local counterparts check `enabled` field before resolving and set it to true afterwards, and reuse the same `resolve_completion_local` method for resolving the items. A logic for re-generating docs and item labels was moved out from the `resolve_completion_local` method into a separate method, as `apply_additional_edits_for_completion` does not need that, but needs the rest of the logic for resolving. During the extraction, I've noted that multiplayer clients are not getting the item labels, regenerated after the resolve — as the Zed protocol-based flow is not the exact copy of the local resolving. To improve that, `resolve_completion_remote` needs to be adjusted, but this change is omitted to avoid bloating the PR. Release Notes: - Fixed autocomplete inserting multiple imports
Kirill Bulatov created
d71180a
Update Rust crate async-broadcast to v0.7.2 (#22424)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-broadcast](https://redirect.github.com/smol-rs/async-broadcast) | dependencies | patch | `0.7.1` -> `0.7.2` | --- ### Release Notes <details> <summary>smol-rs/async-broadcast (async-broadcast)</summary> ### [`v0.7.2`](https://redirect.github.com/smol-rs/async-broadcast/blob/HEAD/CHANGELOG.md#Version-072) [Compare Source](https://redirect.github.com/smol-rs/async-broadcast/compare/0.7.1...0.7.2) - Add `Sender::broadcast_blocking` and `Receiver::recv_blocking`. [#​41](https://redirect.github.com/smol-rs/async-broadcast/issues/41) - Use `Mutex` instead of `RwLock` for securing the inner data. [#​42](https://redirect.github.com/smol-rs/async-broadcast/issues/42) - Many non-user-facing internal improvements and fixes. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
af2ac1a
Update Rust crate env_logger to v0.11.6 (#22425)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [env_logger](https://redirect.github.com/rust-cli/env_logger) | workspace.dependencies | patch | `0.11.5` -> `0.11.6` | --- ### Release Notes <details> <summary>rust-cli/env_logger (env_logger)</summary> ### [`v0.11.6`](https://redirect.github.com/rust-cli/env_logger/blob/HEAD/CHANGELOG.md#0116---2024-12-20) [Compare Source](https://redirect.github.com/rust-cli/env_logger/compare/v0.11.5...v0.11.6) ##### Features - Opt-in file and line rendering </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
c742cda
Update Rust crate libc to v0.2.169 (#22427)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [libc](https://redirect.github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.168` -> `0.2.169` | --- ### Release Notes <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.169`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.169) [Compare Source](https://redirect.github.com/rust-lang/libc/compare/0.2.168...0.2.169) ##### Added - FreeBSD: add more socket TCP stack constants [#​4193](https://redirect.github.com/rust-lang/libc/pull/4193) - Fuchsia: add a `sockaddr_vm` definition [#​4194](https://redirect.github.com/rust-lang/libc/pull/4194) ##### Fixed **Breaking**: [rust-lang/rust#132975](https://redirect.github.com/rust-lang/rust/pull/132975) corrected the signedness of `core::ffi::c_char` on various Tier 2 and Tier 3 platforms (mostly Arm and RISC-V) to match Clang. This release contains the corresponding changes to `libc`, including the following specific pull requests: - ESP-IDF: Replace arch-conditional `c_char` with a reexport [#​4195](https://redirect.github.com/rust-lang/libc/pull/4195) - Fix `c_char` on various targets [#​4199](https://redirect.github.com/rust-lang/libc/pull/4199) - Mirror `c_char` configuration from `rust-lang/rust` [#​4198](https://redirect.github.com/rust-lang/libc/pull/4198) ##### Cleanup - Do not re-export `c_void` in target-specific code [#​4200](https://redirect.github.com/rust-lang/libc/pull/4200) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
5261448
docs: Add "bounded" mode to soft_wrap documentation (#22430)
Closes #22272 Release Notes: - Added documentation for the new "bounded" mode in the soft_wrap configuration Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
sofaspawn and Kirill Bulatov created
8b0a0df
gpui: Update Shadow Example (#22434)
This PR adds a more comprehensive shadow example to gpui:  This is prep to work on the following issues: - Shadows with a blur of 0 do not render. Expected: A shadow with sharp edges (#22433) - Spread does not correctly conform to the shape the shadow is cast from Release Notes: - N/A
Nate Butler created
f5935d0
Pin actions/checkout action to 11bd719 (#22422)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [actions/checkout](https://redirect.github.com/actions/checkout) | action | pinDigest | -> `11bd719` | --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
d32fe02
Update Rust crate anyhow to v1.0.95 (#22423)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://redirect.github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.94` -> `1.0.95` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.95`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.95) [Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.94...1.0.95) - Add [`Error::from_boxed`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.from_boxed) ([#​401](https://redirect.github.com/dtolnay/anyhow/issues/401), [#​402](https://redirect.github.com/dtolnay/anyhow/issues/402)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44MC4wIiwidXBkYXRlZEluVmVyIjoiMzkuODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
2957263
pane: Add keybinding to "Close Left" and "Close Right" actions (#22402)
Was super missing these as I use these actions all the time 😄 <img width="680" alt="Screenshot 2024-12-24 at 3 18 04 PM" src="https://github.com/user-attachments/assets/5dbf9ebd-afc5-438c-aad7-c17ca59d9f9b" /> Release Notes: - Add keybinding to "Close Left" and "Close Right" actions
Danilo Leal created
95911aa
windows: Fix crashing when minimizing a window on Windows 11 (#22414)
Closes #22366 This PR fixes the issue of crashing when minimizing a window on Windows 11. And this PR supersedes #22366. The main change in this PR is to stop rendering the window when it is minimized. Additionally, I’ve made some modifications to the code in #21756 to improve clarity (I think...). cc @mgsloan Release Notes: - N/A
张小白 created
1a9f0a6
chore: Remove explicit usages of once_cell in favor of std (#22407)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
45c7141
Sticky multibuffer headers (#22391)
https://github.com/user-attachments/assets/92cc5ff7-d8be-4e4b-ac6e-68eb310fffce Release Notes: - Multibuffer headers will now stick to the top of the viewport as you scroll - Added support for expanding diagnostic excerpts --------- Co-authored-by: Michael <michael@zed.dev>
Agus Zubiaga and Michael created
4c84600
assistant2: Derive the `Context` icon at render time instead of storing (#22397)
This PR is a follow up to #22385 that makes it so we treat the icon as derived state. Release Notes: - N/A
Marshall Bowers created
564936e
assistant2: Add stray visual adjusments (#22386)
This PR adds just some tiny visual clean ups to the assistant2 panel. Nothing major, honestly. <img width="800" alt="Screenshot 2024-12-24 at 12 19 46 AM" src="https://github.com/user-attachments/assets/da22aa7f-8a42-4ff0-9e4c-5e8b60b28802" /> Release Notes: - N/A
Danilo Leal created
3d4e078
assistant2: Add icons to the context pill (#22385)
This PR adds an icon field to the `ContextKind` enum, which means that icons will now display on context pills, both on the message editor and on the active thread. <img width="800" alt="Screenshot 2024-12-24 at 12 23 17 AM" src="https://github.com/user-attachments/assets/f00e540b-30fe-49ac-b3df-7c7a5dc86d65" /> Release Notes: - N/A
Danilo Leal created
44a46e3
assistant2: Don't render the context space if there's none (#22383)
Note the extra bottom space on the before version. That was because, previously, the container that holds the context pills in an active thread was being rendered even if there was no attached context. | Before | After | |--------|--------| | <img width="1577" alt="Screenshot 2024-12-23 at 8 42 00 PM" src="https://github.com/user-attachments/assets/b74bdc67-0a08-4d59-b1ec-43a00a59a373" /> | <img width="1577" alt="Screenshot 2024-12-23 at 8 39 00 PM" src="https://github.com/user-attachments/assets/1cbc340d-19df-4cce-8c0b-b671703a0ff5" /> | Release Notes: - N/A
Danilo Leal created
8a724ac
Add new CSS logo (#22382)
CSS has a brand new logo :) For context, see: - https://github.com/CSS-Next/logo.css - https://github.com/CSS-Next/logo.css/issues/54 - https://github.com/CSS-Next/logo.css/pull/53 - https://github.com/CSS-Next/logo.css/pull/55 <img width="1412" alt="Screenshot 2024-12-23 at 6 17 07 PM" src="https://github.com/user-attachments/assets/7352a921-06fa-4e50-8aad-44c974c57ed4" /> Release Notes: - Add new CSS logo
Danilo Leal created
7595d36
assistant2: Refine buffer inline assistant styles (#22377)
A lot of spacing tweaks. But, most notably, using the buffer font for the inline assistant. <img width="800" alt="Screenshot 2024-12-23 at 12 46 16 PM" src="https://github.com/user-attachments/assets/ee2908a7-7515-4244-83fc-791172b29364" /> Release Notes: - N/A
Danilo Leal created
d25c2ff
assistant2: Improve markdown rendering design (#22321)
This PR visually balances code blocks within thread messages a bit more. <img width="800" alt="Screenshot 2024-12-23 at 11 26 14 AM" src="https://github.com/user-attachments/assets/6d459aac-5d94-4021-8289-0125bc82e77c" /> Release Notes: - N/A
Danilo Leal created
7f33f31
docs: Use higher-quality image in the header (#22195)
Improved image quality of docs site logo at top. Prior Change: <img width="159" alt="SCR-20241218-konx" src="https://github.com/user-attachments/assets/18c936e8-958d-4970-98e2-8dd1ad3a0a89" /> Post Change: <img width="177" alt="SCR-20241218-kojm" src="https://github.com/user-attachments/assets/0b874ac2-7193-44ec-9634-b91a71c53864" /> Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
plyght and Danilo Leal created
5df4099
Use more elaborate messages for permission denied errors on startup (#22368)
Also show all paths with issues, grouping them by the issue kind. Inspired by https://github.com/zed-industries/zed/issues/22365 , https://github.com/zed-industries/zed/issues/20162, https://github.com/zed-industries/zed/issues/13426, ... Attempts to provide example `chown` and `chmod` commands on this error, instead of encouraging to submit another issue. For now, uses a hardcoded command examples, but we might provide a better workflow later, e.g. try to automatically run those commands. I seem to be unable to select the size of the modal, but for something that's supposed to appear only once, it seems to be ok.     Release Notes: - N/A
Kirill Bulatov created
8ccc7b8
Restore crates/zed dependency on libc (#22354)
This somehow got lost during or after merge of #22202. Release Notes: - N/A
Cole Miller created
a0e4464
Update Luau docs (#22351)
The domain has changed and the old StyLua arguments work again. Release Notes: - N/A
teapo created
204af9c
linux: Fix "Failed to start language server" errors when starting Zed from .desktop file (#22335)
Closes #21406 Context: A few weeks ago on Linux, we resolved an [issue](https://github.com/zed-industries/zed/issues/20070) where users could not open more than one file from the file explorer. This was fixed by replacing `zed-editor` (zed binary in the code) with `zed` (cli binary in the code) in the `.desktop` file. The reason for this change was that using the cli to open files is more convenient - it determines weather to spawn a new Zed instance or use an existing one, if we use main binary instead it would throw error `Zed is already running`. You can read the complete PR here: [linux: Fix file not opening from file explorer](https://github.com/zed-industries/zed/pull/21137). While this fix resolved the original issue, it introduced a new one. Problem: When the cli binary is used, it assumes it is always being invoked from a terminal and relies on `std::env::vars()` to retrieve the environment variables needed to spawn Zed. These env vars are then passed to the worktree, and eventually, languages use the `PATH` from this env to find binaries. This leads to the "Failed to start language server" error when the `.desktop` entry is used on Linux. Solution: When the `zed-editor` binary is used, it uses some clever Unix-specific logic to retrieve the default shell (`load_shell_from_passwd`) and then fetch the env vars from that shell (`load_login_shell_environment`). This same logic should be used in the cli binary when it is invoked via a `.desktop` entry rather than from a terminal. Approach: I moved these two functions mentioned above to a utils file and reused them in cli binary to fetch env vars only on Linux when it is not run from a terminal. This provides missing paths, and fix the issue. It is also possible to handle this in the `zed-editor` binary by modifying the logic in `handle_cli_connection`, where `CliRequest::Open` is processed. There we can discard incoming env, and use our logic. But discarding incoming envs felt weird, and I thought it's better to handle this at source. Release Notes: - Fixed `Failed to start language server` errors when starting from dekstop entry on Linux
tims created
a2022d7
Improve Linux panic reporting (#22202)
- [x] Upload separate debug symbols for Linux binaries to DigitalOcean - [x] Send raw offsets with panic report JSON on Linux - [x] Update `symbolicate` script to handle Linux crashes - [x] Demangle backtraces 🎉 - [x] Check that it works - [x] Improve deduplication (?) Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Cole Miller and Conrad created
b51a28b
Return back Windows menu (#22339)
Follow-up of https://github.com/zed-industries/zed/pull/21873 Release Notes: - N/A
Kirill Bulatov created
dbb7610
Improve layout of completions doc popover (#22337)
* Now more often displayed to the right. Resizes docs width if more space than min width is available. * If constrained in horizontal space and so displayed above/below resize docs height to fit. * Makes space for scrollbar and gap. Layout is imperfect for viewport sizes smaller than the context menu, left TODOs in the code for handling this. Wanted to get this change out for feedback first. Release Notes: - N/A
Michael Sloan created
6b92e0b
In terminal context, open new terminals with `cmd-n` instead of new files (#22253)
Release Notes: - In terminal context, `cmd-n` and `ctrl-n` now open a new terminal instead of a new file
Cole Miller created
2930211
Allow disabling editor scrollbars programmatically (#22333)
Disable them in the diff editors Closes https://github.com/zed-industries/zed/issues/22271 Release Notes: - N/A
Kirill Bulatov created
1449377
assistant2: Fix panics when confirming nonexistent entries in the context picker (#22332)
This PR fixes a panic that could occur when confirming when the context picker had no matching entries. Release Notes: - N/A
Marshall Bowers created
831930a
Make git panel entries clickable (#22329)
Makes a first pass over git panel UI, making it more interactive.  * every item can be selected, the selection is shown in the panel * every item can be clicked, which changes the selection and creates/focuses the editor with a project changes multi buffer * the editor is scrolled so that the clicked item is in the center * it's possible to nagivate up and down the panel, selecting next/previous items in it, triggering the editor scroll Known issues: * entries are updated oddly sometimes (should become better after DiffMap improvements land?) * only unstaged diffs are shown currently (entry status storage should help with this) * no deleted files are displayed (the underlying work is done by others now) * added files have no diff hunks shown (DiffMap will have it?) * performance story has not improved (again, DiffMap and status storage should help with this) Release Notes: - N/A
Kirill Bulatov created
bc32b4d
zeta: Compute diff on background thread (#22328)
@iamnbutler noticed slowness in assistant panel which I've pinned down to the fact that we're calculating buffer diff on foreground thread. This PR moves this computation into the background; I don't know much about Zeta but it seems fine to do, as the call-site is asynchronous anyways. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
fac5118
python: Fix decorated test detection (#22327)
Follow-up to #22325, where I missed a couple points in the review that were actually quite relevant. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
7184b15
Add decorated function to pytest runnables (#22325)
Fixes: #22324 Closes #ISSUE Release Notes: - Fixed pytest decoracted function discovery
Thomas created
e82af55
assistant2: Adjust role info colors on the thread header (#22318)
<img width="800" alt="Screenshot 2024-12-20 at 9 01 29 PM" src="https://github.com/user-attachments/assets/5e9e9bf2-c84e-4215-b658-9b668dd151b2" /> Release Notes: - N/A
Danilo Leal created
dcd21e6
assistant2: Use `SwitchWithLabel` for the tool toggle (#22317)
<img width="800" alt="Screenshot 2024-12-20 at 8 52 27 PM" src="https://github.com/user-attachments/assets/4b4f62a3-eb23-489b-a459-2117baaa37b4" /> Release Notes: - N/A
Danilo Leal created
9efa131
assistant2: Use a label to render the thread menu item (#22316)
The thread menu items were rendering with a larger font that the file & directory counterparts. Now, they're consistent! | Before | After | Reference | |--------|--------|--------| | <img width="800" alt="Screenshot 2024-12-20 at 8 39 47 PM" src="https://github.com/user-attachments/assets/d196adcb-aea6-4399-8fb1-f5b771e76c1f" /> | <img width="800" alt="Screenshot 2024-12-20 at 8 35 43 PM" src="https://github.com/user-attachments/assets/a1e22c13-fd7e-4665-b09b-f3b583e7ce24" /> | <img width="800" alt="Screenshot 2024-12-20 at 8 40 38 PM" src="https://github.com/user-attachments/assets/d509ac6f-1251-4240-a369-906faebed8c0" /> | Release Notes: - N/A
Danilo Leal created
6dbc12f
Add the `SwitchWithLabel` component (#22314)
<img width="800" alt="Screenshot 2024-12-20 at 8 31 14 PM" src="https://github.com/user-attachments/assets/1d7bd10a-0db3-41e4-9f59-977cc2ab137c" /> Release Notes: - N/A
Danilo Leal created
a8afc63
gpui: Remove use of `use gpui::*` in examples (#22311)
This PR removes the use of `use gpui::*` in the GPUI examples, as this is not how consumers should be importing GPUI. Release Notes: - N/A
Marshall Bowers created
7c6feeb
Remove usage of `use gpui::*` (#22310)
This PR removes usages of `use gpui::*;` in the codebase (excluding examples). We should only use glob imports for `gpui::prelude`, and then import everything else individually. Release Notes: - N/A
Marshall Bowers created
fadf9ff
Make breadcrumb content scrollable (#22309)
Part of https://github.com/zed-industries/zed/issues/5363 https://github.com/user-attachments/assets/66c90cb7-1b36-4436-ad1e-344fbcd4befc Release Notes: - N/A
Danilo Leal created
9b2bc45
Expand diagnostic excerpts using heuristics on syntactic information from TreeSitter (#21942)
This is quite experimental and untested in languages other than Rust. It's written to attempt to do something sensible in many languages. Due to its experimental nature, just releasing to staff, and so not including it in release notes. Future release note might be "Improved diagnostic excerpts by using syntactic info to determine the context lines to show." Release Notes: - N/A
Michael Sloan created
ca9cee8
linux: Fix non-maximized Zed windows growing larger across sessions (#22301)
Closes #17870
Context:
On Linux, when creating a new window, bounds are either pulled from
existing workspace data (serialized in an SQLite DB) or fall back to
some default constants if no data exists.
These bounds include the full dimensions of the window (width and
height), which already account for insets. However, properties like
`inset` (Wayland) or `last_insets` (X11) exist only at the platform
level and are not part of the window bounds themselves.
During rendering, we call `set_client_inset`, which updates the inset
values and also adjusts the window bounds, increasing their dimensions.
In Zed's case, the inset is 10px, which adds 20px to both the width and
height (10px from each side).
Problem:
When quitting, the full window bounds (which already account for inset)
are saved to the DB. On reopening, these saved bounds are used to create
the window. `set_client_inset` runs again and inflates the dimensions
even more.
Solution:
Store window bounds *without* the inset-inflated dimensions. On the next
session, `set_client_inset` will take care of applying the inset,
resulting window dimensions matching the previous session. This fix is
in the PR.
Alternative Solution:
Another option is to save the inset explicitly in the DB and apply it
during window creation. But this means storing more data, and the inset
would need to be platform-agnostic, which adds complexity. Doesn’t seem
worth it for no real gain.
X11 Before:
```sh
saving window bounds with width: 1136, height: 784
tims@lemon ~/w/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.37s
Running `target/debug/zed`
saving window bounds with width: 1156, height: 804 <---- +20px
tims@lemon ~/w/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
Running `target/debug/zed`
saving window bounds with width: 1176, height: 824 <---- +20px
tims@lemon ~/w/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.36s
Running `target/debug/zed`
saving window bounds with width: 1196, height: 844 <---- +20px
```
X11 After:
```sh
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
Running `target/debug/zed`
saving window bounds with width: 1116, height: 764
tims@lemon ~/w/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
Running `target/debug/zed`
saving window bounds with width: 1116, height: 764 <---- same
tims@lemon ~/w/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.35s
Running `target/debug/zed`
saving window bounds with width: 1116, height: 764 <---- same
```
On Wayland, saving occurs only when you actually resize the window (on
X11, saving happens both on init and while dragging the window). To
trigger saving, I manually resized the window by ~1px to make it print.
Wayland Before:
```sh
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
Running `target/debug/zed`
saving window bounds with width: 945, height: 577
tims@orange ~/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.77s
Running `target/debug/zed`
saving window bounds with width: 966, height: 597 <--- +20px on both (1px increase in width is me resizing)
tims@orange ~/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.87s
Running `target/debug/zed`
saving window bounds with width: 987, height: 618 <--- +20px on both (1px increase in width and height is me resizing)
tims@orange ~/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.89s
Running `target/debug/zed`
saving window bounds with width: 1006, height: 638 <--- +20px on both (1px decrease in width is me resizing)
```
Wayland After:
```sh
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.82s
Running `target/debug/zed`
saving window bounds with width: 925, height: 558
tims@orange ~/zed (fix-window-growing-larger)> cargo run
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.84s
Running `target/debug/zed`
saving window bounds with width: 925, height: 557 <--- same (1px decrease in height is me resizing)
saving window bounds with width: 925, height: 558
```
Release Notes:
- Fix non-maximized zed windows growing larger across sessions on Linux
---------
Co-authored-by: mgsloan@gmail.com <michael@zed.dev>
tims and mgsloan@gmail.com created
c01403b
Reapply completion docs prefetch (#22306)
Leaving release notes as N/A because it had release notes in the past in #21705 In #21286, documentation resolution was made more efficient by only resolving the current completion. However, this meant that single line documentation shown inline in the menu was missing until scrolled to. This also meant that it would wait for navigation to resolve completion docs, leading to lag for displaying documentation. This change resolves this by attempting to fetch all the completions that will be shown. It also mostly avoids re-resolving completions. It intentionally re-resolves the current selection on navigation, as some language servers will respond with more information later on. Release Notes: - N/A
Michael Sloan created