0a391ab
zed 0.177.5
Joseph T. Lyons created
0a391ab
zed 0.177.5
Joseph T. Lyons created
e29fb61
git_ui: Try to prompt the model out of including the diff output (#26281)
This PR updates the prompt for generating commit messages to tell the model not to include the raw diff output in the message. Release Notes: - N/A
Marshall Bowers created
9db97b8
Fix inline diagnostics in the project diff (#26275)
https://github.com/zed-industries/zed/blob/205f9a9f0391da47a87cac45a41f67d2a23f5a95/crates/editor/src/element.rs#L1643 Due to the snippet above, Zed is supposed to have `row` larger or equal to `start_row` here: https://github.com/zed-industries/zed/blob/205f9a9f0391da47a87cac45a41f67d2a23f5a95/crates/editor/src/element.rs#L1694 yet the panic were reported when clicking in the project diff. That project diff has a lot of highlighting happening already, so the PR disables inline diagnostics within a git diff view. Release Notes: - N/A
Kirill Bulatov created
871bca5
git: Fix git panel not using default width (#26220)
Closes #26062 Removing the width here causes zed to use the default value (inside default settings) after restart like other panels. Release Notes: - Fixed issue where git panel wasn't using default width after restart Co-authored-by: Mikayla Maki <mikayla@zed.dev>
loczek and Mikayla Maki created
6dde040
Add staged variants of the hunk_style controls (#26259)
This PR adds a few more hunk style settings that flips the emphasis. Normally, the concept at Zed has been that the project diff should emphasize what's going into the commit. However, this leads to a problem where the default state of all diff hunks are in the non-emphasized state, making them hard to see and interact with. Especially on light themes. This PR is an experiment in flipping the emphasis states. Now the project diff is more like a queue of work, with the next "job" (hunk to be evaluated) emphasized, and the "completed" (staged) hunks deemphasized. This fixes the default state issue but is a big jump from how we've been thinking about it. So here we can try it out and see how it feels :) Release Notes: - Git Beta: Added hunk style settings to emphasize the unstaged state, rather than the staged state.
Mikayla Maki created
d6190db
Restore co-author hiding (#26257)
Release Notes: - N/A
Mikayla Maki created
7365cac
Improve the generate commit message design (#26233)
[WIP] Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Marshall Bowers , Mikayla Maki , and Danilo Leal created
84f8b86
Fix paths on Windows in new test (#26255)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Cole Miller created
e53389f
Disable restore hunk control for created files (#25841)
Release Notes: - Git Beta: disable hunk restore action and button for created files
Cole Miller created
12fb23b
Add StatusToast & the ToastLayer (#26232)
https://github.com/user-attachments/assets/b16e32e6-46c6-41dc-ab68-1824d288c8c2 This PR adds the first part of our planned extended notification system: StatusToasts. It also makes various updates to ComponentPreview and adds a `Styled` extension in `ui::style::animation` to make it easier to animate styled elements. _**Note**: We will be very, very selective with what elements are allowed to be animated in Zed. Assume PRs adding animation to elements will all need to be manually signed off on by a designer._ ## Status Toast  These are designed to be used for notifying about things that don't require an action to be taken or don't need to be triaged. They are designed to be ignorable, and dismiss themselves automatically after a set time. They can optionally include a single action. Example: When the user enables Vim Mode, that action might let them undo enabling it.  Status Toasts should _not_ be used when an action is required, or for any binary choice. If the user must provide some input, this isn't the right component! ### Out of scope - Toasts should fade over a short time (like AnimationDuration::Fast or Instant) when dismissed - We should visually show when the toast will dismiss. We'll need to pipe the `duration_remaining` from the toast layer -> ActiveToast to do this. - Dismiss any active toast if another notification kind is created, like a Notification or Alert. Release Notes: - N/A --------- Co-authored-by: Cole Miller <m@cole-miller.net>
Nate Butler and Cole Miller created
75f7def
Add event to track LLM-generated commit messages (#26245)
Release Notes: - N/A
Joseph T. Lyons created
9195cd5
git_ui: Add support for generating commit messages with an LLM (#26227)
This PR finishes up the support for generating commit messages using an LLM. We're shelling out to `git diff` to get the diff text, as it seemed more efficient than attempting to reconstruct the diff ourselves from our internal Git state. https://github.com/user-attachments/assets/9bcf30a7-7a08-4f49-a753-72a5d954bddd Release Notes: - Git Beta: Added support for generating commit messages using a language model. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Marshall Bowers and Conrad Irwin created
f0be142
git_ui: Scaffold out support for generating commit messages with an LLM (#26161)
This PR adds the rough structure needed to support generating commit messages using an LLM. This functionality is not yet surfaced to the user. This is the current state, if you tweak the source to show the button: https://github.com/user-attachments/assets/66d1fbc4-09f3-4277-84f4-e9c9ebab274c Release Notes: - N/A
Marshall Bowers created
0dec6fb
Cherry-pick: Worktree paths in git panel, take 2 (#26047) (#26252)
Release Notes: - Git Beta: updated the git panel to use worktree-relative paths and support opening files outside the active repository's worktree
Cole Miller created
4f8a094
Fix early return when reaching end excerpt in `lift_buffer_metadata` (#26253)
Release Notes: - Fixed a bug causing slowness when viewing multi buffers with lots of excerpts
Max Brunsfeld created
43c8106
Disable restore hunk control for created files (cherry-pick #25841) (#26251)
Cherry-picked Disable restore hunk control for created files (#25841) Release Notes: - Git Beta: disable hunk restore action and button for created files Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot] and Cole Miller created
b7b700e
language_models: Remove `.unwrap`s in Bedrock provider (cherry-pick #26238) (#26241)
Cherry-picked language_models: Remove `.unwrap`s in Bedrock provider (#26238) This PR removes a number of `.unwrap`s in the Bedrock provider. We must not `.unwrap` in situations where it is not provably safe to do so, which it was not in any of these cases. Release Notes: - Fixed some potential panics in the AWS Bedrock model provider. Co-authored-by: Marshall Bowers <git@maxdeviant.com>
gcp-cherry-pick-bot[bot] and Marshall Bowers created
f3fb7b7
Git telemetry (cherry-pick #26222) (#26229)
Cherry-picked Git telemetry (#26222) Release Notes: - git: Adds telemetry to git actions Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
decfd98
Git askpass (#25953)
Supersedes #25848 Release Notes: - git: Supporting push/pull/fetch when remote requires auth --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Conrad Irwin and Mikayla Maki created
661e36f
Clear pending staged/unstaged diff hunks hunks when writing to the git index fails (#26173)
Release Notes: - Git Beta: Fixed a bug where discarding a hunk in the project diff view performed two concurrent saves of the buffer. - Git Beta: Fixed an issue where diff hunks appeared in the wrong state after failing to write to the git index.
Max Brunsfeld created
c80d251
Git uncommit warning (#25977)
Adds a prompt when clicking the uncommit button when the current commit is already present on a remote branch:  Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Julia Ryan and Conrad created
420bb84
ci: Less Windows CI for PRs (#26155)
Split Windows GHA CI job into `windows_clippy` and `windows_tests` (`cargo test` and `cargo build`). `windows_clippy` will continue to run on every PR commit, but `windows_tests` will only be run on main. Tag a PR `windows` if you would like to run windows tests. Added a call to the Azure metadata service to detect the Azure hardware used by the GitHub hosted Windows runners. This is temporary and I'll remove once I've gathered some data (adds 5-15secs to Windows CI times) Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Peter Tripp and Mikayla Maki created
b8d1c3c
git: Make repo selector wider (#26149)
âŚm_item() Closes #ISSUE Release Notes: - git: Fixed repository selector being too narrow
Conrad Irwin created
090c38d
Fix git branches in non-active repository (#26148)
Release Notes: - Git Beta: Fixed a bug where the branch selector would only show for the first repository opened. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Mikayla Maki , Conrad Irwin , and Richard Feldman created
8a0fb91
zed 0.177.4
Joseph T. Lyons created
664ccc4
git: Fix git commit font fallbacks (#26184)
Closes #ISSUE Release Notes: - Fixed git commit font_fallbacks
0x2CA created
b575bc9
Fix panic in commit editor selections syncing (cherry-pick #26186) (#26188)
Cherry-picked Fix panic in commit editor selections syncing (#26186) Closes #26183 Release Notes: - Git Beta: Fixed a panic when selecting text in one of the commit message editors Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot] and Cole Miller created
da895a6
git: Add CHERRY_PICK_HEAD to the list of merge heads (cherry-pick #26145) (#26168)
Cherry-picked git: Add CHERRY_PICK_HEAD to the list of merge heads (#26145) Attempt to fix an issue where conflicts from a cherry-pick don't get cleared out of the git panel after being resolved. Release Notes: - Git Beta: Fixed resolution of conflicts from cherry-picks not being reflected in the git panel Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot] and Cole Miller created
2309721
Fix panic when expanding a deletion hunk with blame open (cherry-pick #26130) (#26142)
Cherry-picked Fix panic when expanding a deletion hunk with blame open (#26130) Closes #26118 Release Notes: - Fixed a panic when expanding diff hunks while git blame is open Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot] and Cole Miller created
fa2f982
Fix language model selector (#26138)
This PR fixes the language model selector. I tried to piece together the state prior to #25697 (the state it was in at 11838cf89e0b96531f90f22432b3df6859587871) while retaining unrelated changes that happened since then. Release Notes: - Fixed an issue where language models would not be authenticated until after the model selector was opened (Preview only).
Marshall Bowers created
78b460f
Clean up language model selector (#26134)
This PR does some cleanup for the language model selector after https://github.com/zed-industries/zed/pull/26090. Release Notes: - N/A
Marshall Bowers created
2d5063b
zed 0.177.3
Cole Miller created
a87929c
Bump Tree-sitter to 0.25.3 for error recovery fixes (#26092)
For https://github.com/tree-sitter/tree-sitter/pull/4257 Release Notes: - Fixed a hang that could occur when editing certain Zig files.
Max Brunsfeld created
535c949
Fix performance regression in multibuffer diff syncing (cherry-pick #26137) (#26139)
Cherry-picked Fix performance regression in multibuffer diff syncing (#26137) This fixes a performance problem introduced in #25906 and caused by calling `BufferDiff::snapshot` too frequently. Release Notes: - Fixed a performance regression related to buffer diffs Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Conrad <conrad@zed.dev>
gcp-cherry-pick-bot[bot] , Cole Miller , and Conrad created
4b6fcef
zed 0.177.2
Joseph T. Lyons created
dc37471
Fix diff_hunk_before in a multibuffer (cherry-pick #26059) (#26102)
Cherry-picked Fix diff_hunk_before in a multibuffer (#26059) Also simplify it to avoid doing a bunch of unnecessary work. Co-Authored-By: Cole <cole@zed.dev> Closes #ISSUE Release Notes: - git: Fix jumping to the previous diff hunk --------- Co-authored-by: Cole <cole@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Cole <cole@zed.dev>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and Cole created
c084706
git: Improvements to fetch/push/pull (cherry-pick #26041) (#26051)
Cherry-picked git: Improvements to fetch/push/pull (#26041) - Add global handlers so these actions can be invoked from the command palette, etc. - Tweak spinner to not show itself until a remote has been selected Release Notes: - N/A Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot] and Cole Miller created
578c9f8
Synchronize modal commit editor with panel editor (cherry-pick #26068) (#26093)
Cherry-picked Synchronize modal commit editor with panel editor (#26068) Release Notes: - Git Beta: Synchronized selections between the modal editor and the panel editor - Git Beta: Allow opening the commit modal even if we're unable to commit. Co-authored-by: Mikayla Maki <mikayla@zed.dev>
gcp-cherry-pick-bot[bot] and Mikayla Maki created
f06cee4
Fix focus handle leak (cherry-pick #26090) (#26094)
Cherry-picked Fix focus handle leak (#26090) This fixes a major performance issue in the current git beta. This PR also removes the PopoverButton component, which was easy to misuse. Release Notes: - Git Beta: Fix frame drops caused by opening the git panel --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and Mikayla Maki created
1f936ec
Fix lag when large diff hunk intersects the viewport (#26088)
We were iterating over the row range of a hunk, and inserting into a hash map for every row. Release Notes: - Fixed a performance problem when a large diff hunk was displayed in an editor.
Max Brunsfeld created
1516ee3
zed 0.177.1
Joseph T. Lyons created
53af68a
git: Fix project diff shortcuts (cherry-pick #26045) (#26049)
Cherry-picked git: Fix project diff shortcuts (#26045) Release Notes: - git: Fix keyboard shortcut display in project diff view - vim: add git keyboard shortcuts: `d u/d U` for staging/unstaging in the project diff view. `d o/d O` to show hide/toggle staged in the editor and `d p` for restoring the hunk. Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
e897f19
Git Beta: Fix a few cases of empty toasts showing up (cherry-pick #25985) (#25987)
Cherry-picked Git Beta: Fix a few cases of empty toasts showing up (#25985) Improve parsing of git remote outputs Release Notes: - N/A Co-authored-by: Mikayla Maki <mikayla@zed.dev>
gcp-cherry-pick-bot[bot] and Mikayla Maki created
aba10b7
Git fix repo selection (cherry-pick #25996) (#25998)
Cherry-picked Git fix repo selection (#25996) Release Notes: - git: Fixed a bug where staging/unstaging of hunks could use the wrong git repository if you had many open Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
46190bd
git: Fix race condition loading project diff (cherry-pick #25992) (#25999)
Cherry-picked git: Fix race condition loading project diff (#25992) Release Notes: - git: Fixed a race condition where some files would be missing from project diff Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
0b360fe
git: Add `hunk_style` setting (#26038)
This PR adds the `git.hunk_style` setting, allowing setting an alternate style for hunks â specifically the rendering of unstaged hunks. It has 2 options: - `transparent` (unstaged hunks are more transparent/less opaque than staged hunks) - `pattern (unstaged hunks are indicated by a visual pattern) We'll possibly explore a VSCode-style "don't show staged hunks", but the complexity it adds is a bit out of scope for now. Transparent:  Pattern:  Release Notes: - Git Beta: Added `git.hunk_style` setting to allow toggling between git hunk visual styles.
Nate Butler created
11d75c4
Disable diff hunks for untracked files, even w/ no newline at eof (cherry-pick #25980) (#26004)
Cherry-picked Disable diff hunks for untracked files, even w/ no newline at eof (#25980) This fixes an issue where diff hunks were shown for untracked files, but only if the files did not end with a newline. Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
gcp-cherry-pick-bot[bot] and Max Brunsfeld created
b3de2bf
Reuse existing logic used to generate commit messages to disable commit buttons (#26034)
Also - Recomputes `suggested_commit_message` and no longer stores it, to ensure things are always up to date - Reduces indentation in `render_footer` Release Notes: - N/A
Joseph T. Lyons created
b2f174a
Revert "git: Use worktree paths in the panel (#25950)" (#25995)
This reverts commit e7b3b8bf03f5f8693f8c330b98b656b16ab8f931. Release Notes: - N/A
Cole Miller created
a3b7c1d
Fix a panic on Linux theme appearance change (cherry-pick #26019) (#26028)
Cherry-picked Fix a panic on Linux theme appearance change (#26019) Closes https://github.com/zed-industries/zed/issues/26009 https://github.com/zed-industries/zed/blob/21484a2e9d07b6285f112ba49ca413cdb8e360e4/crates/gpui/src/platform/linux/platform.rs#L517-L519 `with_common` panicked at `borrow_mut` which is the way it's implemented for X11, Wayland and Headless Linux counterparts. https://github.com/zed-industries/zed/blob/21484a2e9d07b6285f112ba49ca413cdb8e360e4/crates/gpui/src/platform/linux/wayland/client.rs#L722-L724 By accessing the appearance global instead of a `RefCell` with it, the panic goes away with one notable side-effect, on Linux only: the first global's value on `Dark` appearance would be `Light`: it becomes normal instantly, thanks to https://github.com/zed-industries/zed/blob/21484a2e9d07b6285f112ba49ca413cdb8e360e4/crates/workspace/src/workspace.rs#L1083-L1090 Things work without flickering: [linux_theme_toggle.webm](https://github.com/user-attachments/assets/0e39ddc0-b4ff-4475-93ff-7b2bd7233628) Release Notes: - Fixed a panic on Linux theme appearance change Co-authored-by: Kirill Bulatov <kirill@zed.dev>
gcp-cherry-pick-bot[bot] and Kirill Bulatov created