Commit log

6d81ad1 git_ui: Start unifying panel style with other panels (#24296)

Click to expand commit body
- Adds the `panel` crate for defining UI shared between panels, like
common button and header designs, etc
- Starts to update the git ui to be more consistent with other panels

Release Notes:

- N/A

Nate Butler created

70b1e0e Fix expand buttons adjacent to folded hunks (#24297)

Click to expand commit body
Release Notes:

- Fix expand buttons adjacent to folded hunks

Conrad Irwin created

ffe503d Fix spurious addition hunks in files with no git repo (#24288)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

5a25751 extension_cli: Include the list of what an extension provides in the generated manifest (#24295)

Click to expand commit body
This PR updates the Zed extension CLI with support for populating the
`provides` field in the generated extension manifest.

This field will contain the set of features that the extension provides.

For example:

```
"provides": ["themes", "icon-themes"]
```

Release Notes:

- N/A

Marshall Bowers created

aaf432f Revert recent anti-aliasing improvements (#24289)

Click to expand commit body
This reverts commit 31fa4144226fcbd140bb4f26d80001f0abd6facd.
This reverts commit b9e0aae49fad996ddb0ce55225873e5c1d5abecd.

`lyon` commit revert:

![image](https://github.com/user-attachments/assets/0243f61c-0713-416d-b8db-47372e04abaa)

`MSAA` commit revert:

![image](https://github.com/user-attachments/assets/b1a4a9fe-0192-47ef-be6f-52e03c025724)

cc @huacnlee , @\as-cii had decided to revert this PR due to a selection
right corner rendering bug.
Not sure what to propose for a fix from my side

Release Notes:

- N/A

Kirill Bulatov created

e1a6d9a edit prediction: Improve UX around `disabled_globs` and `show_inline_completions` (#24207)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Bennet Bo Fenner , Danilo , and Danilo Leal created

37db1dc Revise the `MessageNotification` component (#24287)

Click to expand commit body
This PR makes adding icons to the primary and secondary actions, in the
`MessageNotification` component, optional. Also took the opportunity to
remove a probably unnecessary "third action" from it; streamlining the
component API (we had added that for a design that we're not using
anymore). I did keep the "more info" possibility, which may be useful in
the future, though.

Release Notes:

- N/A

Danilo Leal created

17a7495 edit prediction: Fix license detection error logging + check for different spellings (#24281)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/24278

This PR ensures we're checking if there's a license-type file in both US
& UK English spelling, and fixes the error logging again, treating for
when the worktree contains just a single file or multiple.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

6b29616 Fix the worktree's repository_for_path (#24279)

Click to expand commit body
Go back to a less optimized implementation for now since the custom
cursor target seems to have some bugs.

Release Notes:

- Fixed missing git blame and status output in some projects with
multiple git repositories

Cole Miller created

868e3f7 Rework shared commit editors (#24274)

Click to expand commit body
Rework of https://github.com/zed-industries/zed/pull/24130
Uses
https://github.com/d1y/git_firefly/tree/1033c0b57ec88a002cb68efc64c8d9bf5c212e30
`COMMIT_EDITMSG` language-related definitions (thanks @d1y )

Instead of using real `.git/COMMIT_EDITMSG` file, create a buffer
without FS representation, stored in the `Repository` and shared the
regular way via the `BufferStore`.
Adds a knowledge of what `Git Commit` language is, and uses it in the
buffers which are rendered in the git panel.


Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad@zed.dev>
Co-authored-by: d1y <chenhonzhou@gmail.com>
Co-authored-by: Smit <smit@zed.dev>

Kirill Bulatov , Conrad Irwin , d1y , and Smit created

da4bad3 edit prediction: Don't log an error if license file isn't found (#24278)

Click to expand commit body
Logging an error in this case isn't super necessary.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

630d0ad edit predictions: Onboarding funnel telemetry (#24237)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

0a89d1a languages: Sort dependencies in `Cargo.toml` (#24277)

Click to expand commit body
This PR sorts the dependency lists in the `Cargo.toml` for the
`languages` crate.

Release Notes:

- N/A

Marshall Bowers created

992125b Revert "copilot: Correct o3-mini context length" (#24275)

Click to expand commit body
Reverts zed-industries/zed#24152
See comment: https://github.com/zed-industries/zed/pull/24152#issuecomment-2636808170
Manually confirmed >20k generates error.

Peter Tripp created

74c4dbd windows: Fix tests on Windows (#22616)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Mikayla <mikayla.c.maki@gmail.com>

张小白 and Mikayla created

c252b5d Accept edit predictions with `alt-tab` in addition to `tab` (#24272)

Click to expand commit body
When you have an edit prediction available, you can now also accept it
with `alt-tab` (or `alt-enter` on Linux) even if you don't have an LSP
completions menu open. This is meant to lower the mental load when going
from one mode to another.

Release Notes:

- N/A

Agus Zubiaga created

f5e8048 edit prediction: Allow enabling OSS data collection with no project open (#24265)

Click to expand commit body
This was an leftover from when we were persisting a per-project setting.

Release Notes:

- N/A

Agus Zubiaga created

88b5f06 lsp: Add support for default rename behavior in prepareRename request (#24246)

Click to expand commit body
Fixes #24184

Release Notes:

- Fixed renaming not working with some language servers (e.g. hls)

Piotr Osiewicz created

fef567b Remove extra space in `zed --version` string for non-stable (#24254)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

5a955e2 Fix panic when deleting an empty line after a deleted hunk (#24255)

Click to expand commit body
Release Notes:

- Fix a panic when deleting text after a deletion hunk

Cole Miller created

0963401 Git improvements (#24238)

Click to expand commit body
- **Base diffs on uncommitted changes**
- **Show added files in project diff view**
- **Fix git panel optimism**

Release Notes:

- Git: update diffs to be relative to HEAD instead of the index; to pave
the way for showing which hunks are staged

---------

Co-authored-by: Cole <cole@zed.dev>

Conrad Irwin and Cole created

22b7042 Avoid suggesting 'find' key for linux shortcuts (#24252)

Click to expand commit body
this key isn't present in most keyboards, and so, other key combinations
should be preferred over this one

Release Notes:

- N/A

João Marcos created

7c1132e Refactor change sets to store index text in only one place (#24245)

Click to expand commit body
This is a pure refactor that somewhat reduces the amount of code needed
when handling diff base changes. There's also a small performance gain
from reparsing the staged text and computing a new diff in parallel when
we weren't previously.

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>

Cole Miller and Max created

f366b97 collab: Use `billing_customers.has_overdue_invoices` to gate subscription access (#24240)

Click to expand commit body
This PR updates the check that prevents subscribing with overdue
subscriptions to use the `billing_customers.has_overdue_invoices` field
instead.

This will allow us to set the value of `has_overdue_invoices` to `false`
when the invoices have been paid.

Release Notes:

- N/A

Marshall Bowers created

aa3da35 collab: Add `has_overdue_invoices` to `billing_customers` (#24239)

Click to expand commit body
This PR adds a new `has_overdue_invoices` field to the
`billing_customers` table.

This will be used to statefully track whether a customer has overdue
invoices, and also to reset it when the invoices are paid.

We will set this field to `true` when a subscription is canceled with
the reason `payment_failed`.

Release Notes:

- N/A

Marshall Bowers created

b13498a edit prediction: Fix jump cursor position when scrolled (#24230)

Click to expand commit body
We were looking up line layouts without subtracting start row so we
would get the wrong one when scrolled

Release Notes:

- N/A

Agus Zubiaga created

b02baea zeta: Use DTOs from `zed_llm_client` crate (#24229)

Click to expand commit body
This PR updates the `zeta` crate to use the predictive edit DTOs defined
in the `zed_llm_client` crate.

This way we aren't duplicating their definitions (and risk them going
out of sync).

Release Notes:

- N/A

Marshall Bowers created

d6a2a0b zeta: Rename `data_collection_permission` back to `can_collect_data` (#24225)

Click to expand commit body
This PR renames some bindings from `data_collection_permission` back to
`can_collect_data`, as the latter name is clearer on account of being a
modal verb.

Release Notes:

- N/A

Marshall Bowers created

58db66e edit prediction: Do not render jump cursor until line layout is ready (#24226)

Click to expand commit body
This is pretty rare but I found a case where `line_layouts` didn't have
the requested line yet, so we now skip rendering the cursor for that
period and avoid panicking.

Release Notes:

- N/A

Agus Zubiaga created

6f0f9d6 Allow running cancel-language-server-work action w/o editor focused (#24215)

Click to expand commit body
Release Notes:

- Added the ability to run the `cancel language server work` action
while a panel (like the terminal panel) is focused

Max Brunsfeld created

5704b50 git: Compute and synchronize diffs from HEAD (#23626)

Click to expand commit body
This PR builds on #21258 to make it possible to use HEAD as a diff base.
The buffer store is extended to support holding multiple change sets,
and collab gains support for synchronizing the committed text of files
when any collaborator requires it.

Not implemented in this PR:

- Exposing the diff from HEAD to the user
- Decorating the diff from HEAD with information about which hunks are
staged

`test_random_multibuffer` now fails first at `SEED=13277`, similar to
the previous high-water mark, but with various bugs in the multibuffer
logic now shaken out.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller , Max , Ben , Max Brunsfeld , Conrad Irwin , and Conrad created

871f98b Bump openssl to fix vulnerability (#24223)

Click to expand commit body
See: https://github.com/advisories/GHSA-rpmj-rpgj-qmpm

Release Notes:

- N/A

Cole Miller created

69bb0a0 Fix slow focus transitions to the terminal panel (#24172)

Click to expand commit body
This long standing bug was caused by `Pane`'s focus_in handler bouncing
the focus to another handle.
Because focus resolution happens _after_ a frame has been rendered, the
only way to deal with this case is to schedule another frame to be
redrawn. However, we where suppressing all window refreshes that occur
during a focus transfer, causing this focus change to be completely
missed. However, changing this behavior can lead to infinite notify
loops, due to drawing a frame causing another to be rendered.

This PR fixes this problem narrowly by adding an `on_next_frame()`
callback in the pane's focus handle, so that the focus changes take
effect almost immediately. But only for this case, where we know it
doesn't cause infinite notify loops.

TODO:
- [x] Fix the infinite notify loop bug or determine a third way to fix
this lag

Release Notes:

- Fixed a bug where shifting focus to the terminal panel could be slow

Mikayla Maki created

cfe0932 Implement character index for point (#23989)

Click to expand commit body
Fixes #22939
Fixes #23970
Supersedes https://github.com/zed-industries/zed/pull/23469

Release Notes:

- Fixed a bug where Zed could crash with certain input sources on macOS

---------

Co-authored-by: Louis Brunner <louis.brunner.fr@gmail.com>
Co-authored-by: ben <ben@zed.dev>

Mikayla Maki , Louis Brunner , and ben created

7da6099 Enable CSS, JSON, Python, and Tailwind to lookup LSP installed in PATH (#22037)

Click to expand commit body
Co-authored-by: Peter Tripp <peter@zed.dev>

Henry Chu and Peter Tripp created

ee422de Bump Zed to v0.174 (#24221)

Peter Tripp created

f8c436f Fix prediction preview binding: `Alt + Preview` -> `Alt Preview` (#24220)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

b5d4b17 Fix showing "enter Accept" for prediction with LSP menu open (#24218)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

3e68f7f Revert "Skip COMMIT_EDITMSG contents when opening the file (#24146)" (#24216)

Kirill Bulatov created

e768eb0 Replace `Window::parent_view_id()` with `Window::current_view()` (#24212)

Click to expand commit body
Chatted with @as-cii about limitations in the `Window::parent_view_id()`
API (see:
https://github.com/zed-industries/zed/pull/24182/commits/662153dcfdd80804f4041761c09c4a309d79f6d4)
and realized that I shouldn't be using the dispatch tree's data
structures as they are layout dependent. I've introduced a new stack to
`Window`, `rendered_entity_stack`, that tracks exactly which view's
elements are being drawn. As such, I've also been able to remove the
`Option<>` around the previous API.

Release Notes:

- N/A

Mikayla Maki created

667396c Use the term "edit prediction" over "inline completion" (#24211)

Click to expand commit body
Note that this does *not* involve any breaking code changes.

cc @0xtimsb - I didn't change any settings or anything here. That can
happen separately!

Release Notes:

- N/A

Richard Feldman created

c64b261 Revert "edit prediction: Try to expand context to parent treesitter region" (#24214)

Click to expand commit body
Reverts zed-industries/zed#24186

Antonio Scandurra created

8c7096f Rename `model` based variable names to `entity` (#24198)

Click to expand commit body
## Context
While looking through the client crate, I noticed that some of the old
functions and variables were still using gpui::model name that was
deprecated during the gpui3 transition. This PR renames those instances
of model to entity to be more inline with gpui3.

In addition, I also renamed `model` to `entity` in cases found by the
below search terms given by @someone13574

- model = cx.
- model: Entity
- model: &Entity
- OpenedModelHandle
- model.update
- model.upgrade
- model = .*\.root (regex)
- parent_model
- model = cx.new
- cx.spawn(move |model

Release Notes:

- N/A

Anthony Eid created

27d1c68 Avoid subtraction overflow when excerpt primary is outside of excerpt… (#24213)

Click to expand commit body
This fixes a "subtract with overflow" error that could happen in debug
mode when viewing the project diagnostics.

From git bisecting, I think that this behavior was introduced by
https://github.com/zed-industries/zed/pull/21942. It seems like it's
possible in some cases for the excerpt-expansion heuristic to cause the
excerpt's `context` range to start *after* the excerpt's `primary`
range. We should probably revisit that heuristic at some point, but it
also seems reasonable to handle that situation at this layer, rather
than overflowing.

Release Notes:

- N/A

Max Brunsfeld created

4ab4e87 Fix a bug in GPUI, where AsyncApp::update wouldn't kick off a flush effects loop (#24208)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

4f98157 edit predictions: Make Zed bar at least as wide as menu (#24206)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Ben <ben@zed.dev>

Agus Zubiaga and Ben created

9b031d7 edit prediction: Use thin cursor for jump preview and gradients instead of ellipsis (#24202)

Click to expand commit body
https://github.com/user-attachments/assets/06e14893-c285-4cea-927c-75e82a378b15

Release Notes:

- N/A

---------

Co-authored-by: Ben <ben@zed.dev>

Agus Zubiaga and Ben created

aea36f0 Prevent requesting more than 3 edit predictions per second (#24203)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Marshall <marshall@zed.dev>

Antonio Scandurra and Marshall created

cae712e edit prediction: Try to expand context to parent treesitter region (#24186)

Click to expand commit body
Also send the `speculated_output` (which is just the editable region) to
the llm backend

Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Bennet Bo Fenner and Antonio Scandurra created

bce9a9a windows: Use setup-dev-driver.ps1 to create dev driver (#24196)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

张小白 created