Commit log

0eb9922 Set User Agent for Jupyter websocket connections (#21910)

Click to expand commit body
Some VPN configurations require that websockets present a user agent.
This adds it in directly for the repl usage. I wish there was a way to
reuse the user agent from the `cx.http_client`, but I'm not seeing a
simple way to do that for the moment since it's not on the `HttpClient`
trait.

No release notes since this feature hasn't been announced/exposed.

Release Notes:

- N/A

Kyle Kelley created

573e096 More Git panel refinements (#21928)

Click to expand commit body
- Add and wire through git method stubs
- Organize render methods
- Track modifier changes
- Swap commit buttons when `option`/`alt` is held
- More TODOs

Release Notes:

- N/A

Nate Butler created

ee6f834 Fuse LLM completion stream to avoid a panic (#21914)

Click to expand commit body
`LanguageModel::stream_completion_text` can poll the `stream_completion`
stream (ultimately a `futures::Unfold`) after it's returned
`Ready(None)`, which leads to a panic; avoid this by fusing the stream.

Release Notes:

- Fixed a panic when streaming language model completions

Cole Miller created

b4c8e04 Clear completion if model doesn't produce any edit (#21925)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

bcf8a2f Inline terminal assistant v2 (#21888)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/21828 to add it
to the terminal as well.


https://github.com/user-attachments/assets/505d1443-4081-4dd8-9725-17d85532f52d

As with the previous PR, there's plenty of code duplication here; the
plan is to do more code sharing in separate PRs!


Release Notes:

- N/A

Richard Feldman created

77d0662 lsp: Fill in a bunch of missing capabilities (#21924)

Click to expand commit body
Also state explicitly that we do support UTF-16 encoding and nothing
else.

See also #19788

Release Notes:

- N/A

Piotr Osiewicz created

5d0e75d Improve emacs keybind with better home/end behavior (#21923)

Click to expand commit body
Improve behavior of ctrl-a/ctrl-e home/end in emacs keybind.
Follow up to #21921 to add those to Linux emacs keymap too.

Release Notes:

- emacs: Improved `ctrl-a` / `ctrl-e` / `home` / `end` behavior
- emacs: Added for `ctrl-s` / `ctrl-r` / `ctrl-g` for navigating buffer
search results

Peter Tripp created

181af78 Fix docstring for CallSettingsContent.share_on_join (#21884)

Aaron Feickert created

ad4c4af Always let two completions race with each other (#21919)

Click to expand commit body
When a user types, chances are the model will anticipate what they are
about to do. Previously, we would continuously cancel the pending
completion until the user stopped typing. With this commit, we allow at
most two completions to race with each other (the first and the last
one):

- If the completion that was requested first completes first, we will
show it (assuming we can interpolate it) but avoid canceling the last
one.
- When the completion that was requested last completes, we will cancel
the first one if it's pending.

In both cases, if a completion is already on-screen we have a special
case for when the completions are just insertions and the new completion
is a superset of the existing one. In this case, we will replace the
existing completion with the new one. Otherwise we will keep showing the
old one to avoid thrashing the UI.

This should make latency a lot better. Note that I also reduced the
debounce timeout to 8ms.

Release Notes:

- N/A

Antonio Scandurra created

91b02a6 Add emacs keybinds for previous/next/cancel in search (#21921)

Peter Tripp created

1f296d8 docs: Include `restore_on_startup` (#21918)

Click to expand commit body
Signed-off-by: xuoe <xuoe@pm.me>

xuoe created

c204b0d zeta: Add adjustments to the review modal UI (#21920)

Click to expand commit body
Most notably, adding a current iteration of a possible logo to feel it
out! :) Also, I'm hiding the input and instructions container after the
review has been sent. In the future, if we allow changing an already
sent review, we can change this behavior.

<img width="800" alt="Screenshot 2024-12-12 at 10 42 44"
src="https://github.com/user-attachments/assets/37e63d0d-d847-445e-bdf8-bf5c97d0fe4c"
/>

Release Notes:

- N/A

Danilo Leal created

8e0ae44 Initial git panel refinements (#21912)

Click to expand commit body
- Wire up settings
- Update static Panel impl
- Tidy up renders

Release Notes:

- N/A

Nate Butler created

02fbad1 toolbar: Add gap between the Kernel and REPL button (#21871)

Click to expand commit body
Before:

![image](https://github.com/user-attachments/assets/dbc382a8-2ba5-4639-964f-35c934875e88)

After:

![image](https://github.com/user-attachments/assets/5faf2144-63c3-41d4-b1b8-fcd6f6fd7b7e)

Also works with dark themes:

![image](https://github.com/user-attachments/assets/1f3e9bfb-94f8-44f2-9727-e46fddccb153)

Release Notes:

- N/A

Co-authored-by: raphael.kieling <raphael.kieling-ext@ab-inbev.com>

Raphael Kieling and raphael.kieling created

227f21f zeta: Show timestamps and latency in rating modal (#21863)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Cole <cole@zed.dev>

Thorsten Ball , Antonio , Bennet , and Cole created

543a3ef linux: Don't watch parent directory when target path already exists (#21854)

Click to expand commit body
The Linux watcher was unconditionally watching the parent directory of
every watched path. This is needed in the case of config files that may
not exist when the watch is set up, but not in other cases. Scoping the
parent watch more narrowly cuts down on the amount of error logging from
irrelevant file change notifications being sent to Zed (in my case it
was picking up changes to a random file in `$HOME`).

Release Notes:

- N/A

Cole Miller created

cc97e68 worktree: Fix privacy check for singleton files (#21861)

Click to expand commit body
Closes #20676

Release Notes:

- Fixed private files not being redacted when not part of a larger
worktree

Cole Miller created

59afc27 Add placeholder git panel (#21894)

Click to expand commit body
Adds a simple git placeholder panel for us to iterate from. Also
includes a number of assets from the git prototyping branch that we will
use.

Note: This panel is staff flagged for now.

Release Notes:

- N/A

Nate Butler created

611abca Add schema to .github/ISSUE_TEMPLATE/config.yml (#21836)

Click to expand commit body
Workaround for upstream issue where yaml-language-server

Peter Tripp created

fff12ec Mention Lllama 3.3 in Ollama config panel (#21866)

Click to expand commit body
Trivial, but makes us not look outdated.

Peter Tripp created

13a81e4 Start to split out initialization and registration (#21787)

Click to expand commit body
Still TODO:

* [x] Factor out `start_language_server` so we can call it on register
(instead of on detect language)
* [x] Only call register in singleton editors (or when
editing/go-to-definition etc. in a multibuffer?)
* [x] Refcount on register so we can unregister when no buffer remain
* [ ] (maybe) Stop language servers that are no longer needed after some
time

Release Notes:

- Fixed language servers starting when doing project search
- Fixed high CPU usage when ignoring warnings in the diagnostics view

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Cole <cole@zed.dev>

Conrad Irwin , Piotr Osiewicz , and Cole created

de89f8c gpui: Add linear gradient support to fill background (#20812)

Click to expand commit body
Release Notes:

- gpui: Add linear gradient support to fill background

Run example:

```
cargo run -p gpui --example gradient
cargo run -p gpui --example gradient --features macos-blade
```

## Demo

In GPUI (sRGB):

<img width="761" alt="image"
src="https://github.com/user-attachments/assets/568c02e8-3065-43c2-b5c2-5618d553dd6e">

In GPUI (Oklab):

<img width="761" alt="image"
src="https://github.com/user-attachments/assets/b008b0de-2705-4f99-831d-998ce48eed42">

In CSS (sRGB): 

https://codepen.io/huacnlee/pen/rNXgxBY

<img width="505" alt="image"
src="https://github.com/user-attachments/assets/239f4b65-24b3-4797-9491-a13eea420158">

In CSS (Oklab):

https://codepen.io/huacnlee/pen/wBwBKOp

<img width="658" alt="image"
src="https://github.com/user-attachments/assets/56fdd55f-d219-45de-922f-7227f535b210">


---

Currently only support 2 color stops with linear-gradient. I think this
is we first introduce the gradient feature in GPUI, and the
linear-gradient is most popular for use. So we can just add this first
and then to add more other supports.

Jason Lee created

c594ccb Inline assistant v2 (#21828)

Click to expand commit body
This is behind the Assistant v2 feature flag. As @maxdeviant and I
discussed, the state is currently decoupled from the Assistant Panel's
state, although in the future we plan to introduce a way to refer to
conversations from the panel. Also, we're intentionally duplicating some
code with the v2 panel right now; the plan is to do a future PR to make
them share code more.


https://github.com/user-attachments/assets/bb163bd3-a02d-4a91-8f8f-2a8e60acbc34

It doesn't include the terminal inline assistant, which will be in a
separate PR.

Release Notes:

- N/A

Richard Feldman created

937186d gpui: Don't export named `Context` from prelude (#21869)

Click to expand commit body
This PR updates the `gpui::prelude` to not export the `Context` trait
named.

This prevents some naming clashes in downstream consumers.

Release Notes:

- N/A

Marshall Bowers created

b3ffbea assistant2: Allow removing individual context (#21868)

Click to expand commit body
This PR adds the ability to remove individual pieces of context from the
message editor:

<img width="1159" alt="Screenshot 2024-12-11 at 12 38 45 PM"
src="https://github.com/user-attachments/assets/77d04272-f667-4ebb-a567-84b382afef3d"
/>

Release Notes:

- N/A

Marshall Bowers created

124e63d Show inline completions when completion menu is visible (#21858)

Click to expand commit body
This changes the behavior of how we display inline completions and
non-inline completions (i.e. completion menu).

Previously we would never show inline completions if a completion menu
was visible, meaning that we'd never show Copilot/Supermaven/...
suggestions if the language server had a suggestion.

With this change, we now display the inline completions even if there is
a completion menu visible.

In that case `<tab>` then accepts the inline completion and `<enter>`
accepts the selected entry in the completion menu.

Release Notes:

- Changed how inline completions (Copilot, Supermaven, ...) and normal
completions (from language servers) interact. Zed will now also show
inline completions when the completion menu is visible. The user can
accept the inline completion with `<tab>` and the active entry in the
completion menu with `<enter>`. Previously, `<tab>` would also select
the active entry in the completion menu.

---------

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

dd66a20 Move prediction diff computation to background thread (#21862)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Cole <cole@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>

Antonio Scandurra , Thorsten , Cole , and Bennet created

e8c72d9 v0.167.x dev

Joseph T. Lyons created

dfe455b zeta: Improve UI for feedback instructions (#21857)

Click to expand commit body
If the instructions are added as the input placeholder, when in a
smaller window size (like the one from the screenshot), scrolling is
needed to see them all. So, thought of extracting it out of there. Also
thought it looked more refined this way!

<img width="800" alt="Screenshot 2024-12-11 at 11 48 17"
src="https://github.com/user-attachments/assets/46974b94-6365-4a59-bf71-a6c0863aac68"
/>

Release Notes:

- N/A

Danilo Leal created

db7e384 zeta: Show keybinding on rating buttons (#21853)

Click to expand commit body
<img width="800" alt="Screenshot 2024-12-11 at 10 57 00"
src="https://github.com/user-attachments/assets/6055639c-5b38-444d-b76d-bf7584a82efc"
/>

Release Notes:

- N/A

Danilo Leal created

f8b6d71 Optimize REPL kernel spec refresh (#21844)

Click to expand commit body
Python kernelspec refresh now only performed on (known) python files. 

Release Notes:

- N/A

Kyle Kelley created

ae35129 zeta: Fixes to completion-rating modal (#21852)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

664468d zeta: Invalidate completion in different buffers (#21850)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball and Antonio created

714f183 multi_buffer: optimize runnables layout (#21849)

Click to expand commit body
Related to #21481 ; it fixes a bunch of hotspots I saw while looking at
the provided profiles. MultiBuffer still takes up 100% CPU on the
foreground thread for me - this time around it's on selection updates
(when dragging the selected text towards an edge of a screen).

Release Notes:

- N/A

Piotr Osiewicz created

b36dcf3 Improve Zeta rating ergonomics (#21845)

Click to expand commit body
This PR adds keyboard shortcuts to common interactions you might want to
do in the Zeta rating panel.

This PR also adds a way to fake inline completion requests, as well as
the test data used to create this PR, to make it easier to adjust the UI
in the future.

It also changes the status bar from the text "Zeta" to "ζ", because I
thought it looked cool.

Release Notes:

- N/A

Mikayla Maki created

63e1bf0 zeta: Improve reviewing UI (#21838)

Click to expand commit body
Starting to fine-tune it.

| No edits scenario | Rated edits scenario |
|--------|--------|
| <img width="1577" alt="Screenshot 2024-12-11 at 01 57 46"
src="https://github.com/user-attachments/assets/42926e84-7a7f-4692-af44-672b52d3d377">
| <img width="1577" alt="Screenshot 2024-12-11 at 01 58 37"
src="https://github.com/user-attachments/assets/ee8ab0ef-75af-424c-b916-9f1ce8b5264d">

Release Notes:

- N/A

Danilo Leal created

62a6a75 Add `musl` package for Arch Linux (#21830)

Click to expand commit body
It seems like `musl` is required to build on Arch Linux, but it is not included in the dependencies list.

Connor Tsui created

28faba1 Recognize .C and .H as supported cpp extensions (#21647)

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

Ethan Budd and Peter Tripp created

c255e55 assistant2: Sketch in sending file context to model (#21829)

Click to expand commit body
This PR sketches in support for sending file context attached to a
message to the model.

Right now the context is just mocked.

<img width="1159" alt="Screenshot 2024-12-10 at 4 18 41 PM"
src="https://github.com/user-attachments/assets/3ee4e86a-7893-42dc-98f9-982aa202d310">

<img width="1159" alt="Screenshot 2024-12-10 at 4 18 53 PM"
src="https://github.com/user-attachments/assets/8a3c2dd7-a466-4dbf-83ec-1c7d969c1a4b">

Release Notes:

- N/A

Marshall Bowers created

f80eb73 Update event type to conform to standard (#21827)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

faf79e5 zed_extension_api: Add a short explanation of `repo` format (#21824)

Click to expand commit body
Improved extension api documentation for latest_github_release function

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

strowk and Marshall Bowers created

ab595b0 Resolve documentation for visible completions (#21705)

Click to expand commit body
Release Notes:

- Improved LSP resolution of documentation for completions. It now
queries documentation for visible completions and avoids doing too many
redundant queries.

---

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.

Michael Sloan created

ab1e9bf On windows, recreate renderer swap chain on restore from minimized (#21756)

Click to expand commit body
Closes #21688

Release Notes:

- Windows: Fix freeze after window minimize and maximize

Michael Sloan created

adc6647 gpui: Add cursor style methods of nesw nwse resize (#21801)

Click to expand commit body
Release Notes:

- N/A

---

This change adds two new methods to the cursor_style_methods function in
the gpui_macros crate (according to the Tailwind CSS documentation
https://tailwindcss.com/docs/cursor):
1. `cursor_nesw_resize`: Sets the cursor style to nesw-resize when
hovering over an element. This is useful for indicating resizing
diagonally from top-right to bottom-left.
2. `cursor_nwse_resize`: Sets the cursor style to nwse-resize when
hovering over an element. This is used for resizing diagonally from
top-left to bottom-right.

Minqi Pan created

119b5de assistant2: Change chat keybinding to just `Enter` (#21819)

Click to expand commit body
This PR changes the Assistant2 chat keybinding from `Cmd-Enter` to just
`Enter`.

Release Notes:

- N/A

Marshall Bowers created

c80ea60 assistant2: Update to match latest designs (#21818)

Click to expand commit body
This PR updates the Assistant2 panel to match the latest designs.

<img width="1159" alt="Screenshot 2024-12-10 at 11 49 14 AM"
src="https://github.com/user-attachments/assets/53739709-e7b9-4e35-8a5d-97b6560623ed">

Release Notes:

- N/A

Marshall Bowers created

bac6896 Add Dart docs for line length (#21815)

Peter Tripp created

c6932d1 zeta: Add action to clear edit history (#21813)

Click to expand commit body
Co-Authored-by: Antonio <antonio@zed.dev>

Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>

Bennet Bo Fenner and Antonio created

03efd0d Stop sending data to Clickhouse (#21763)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

43ba0c9 zeta: Extend text in popover until EOL (#21811)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball , Antonio , and Bennet created