Commit log

19f0c4a collab: Update user backfiller to be mindful of GitHub rate limits (#16602)

Click to expand commit body
This PR updates the user backfiller to be mindful of GitHub rate limits
and back off when rate-limited.

Release Notes:

- N/A

Marshall Bowers created

09c698d Fix a panic when diagnostics contain multiple links (#16601)

Click to expand commit body
Follow up from #14518

Release Notes:

- Fixed a panic when diagnostics contain multiple links

Conrad Irwin created

8a5fcc2 collab: Backfill `github_user_created_at` on users (#16600)

Click to expand commit body
This PR adds a backfiller to backfill the `github_user_created_at`
column on users.

Release Notes:

- N/A

Marshall Bowers created

2856842 collab panel: Unfocus filter editor on escape (#16579)

Click to expand commit body
This has been bugging me for a while, because it meant I was stuck in
the collab panel when I accidentally navigated there via keyboard
shortcuts.

Now I can press esc and get out of that state.

Release Notes:

- Fixed `esc` not removing focus from the filter editor in the
collaboration panel.

### Before


https://github.com/user-attachments/assets/3bebac03-0e6a-49b0-9823-d9f3190aa5d2


### After


https://github.com/user-attachments/assets/d04c309d-9d1c-44b6-abd3-d48f55207e31

Thorsten Ball created

f1778dd Add max_output_tokens to OpenAI models and integrate into requests (#16381)

Click to expand commit body
### Pull Request Title
Introduce `max_output_tokens` Field for OpenAI Models


https://platform.deepseek.com/api-docs/news/news0725/#4-8k-max_tokens-betarelease-longer-possibilities

### Description
This commit introduces a new field `max_output_tokens` to the OpenAI
models, which allows specifying the maximum number of tokens that can be
generated in the output. This field is now integrated into the request
handling across multiple crates, ensuring that the output token limit is
respected during language model completions.

Changes include:
- Adding `max_output_tokens` to the `Custom` variant of the
`open_ai::Model` enum.
- Updating the `into_open_ai` method in `LanguageModelRequest` to accept
and use `max_output_tokens`.
- Modifying the `OpenAiLanguageModel` and `CloudLanguageModel`
implementations to pass `max_output_tokens` when converting requests.
- Ensuring that the `max_output_tokens` field is correctly serialized
and deserialized in relevant structures.

This enhancement provides more control over the output length of OpenAI
model responses, improving the flexibility and accuracy of language
model interactions.

### Changes
- Added `max_output_tokens` to the `Custom` variant of the
`open_ai::Model` enum.
- Updated the `into_open_ai` method in `LanguageModelRequest` to accept
and use `max_output_tokens`.
- Modified the `OpenAiLanguageModel` and `CloudLanguageModel`
implementations to pass `max_output_tokens` when converting requests.
- Ensured that the `max_output_tokens` field is correctly serialized and
deserialized in relevant structures.

### Related Issue
https://github.com/zed-industries/zed/pull/16358

### Screenshots / Media
N/A

### Checklist
- [x] Code compiles correctly.
- [x] All tests pass.
- [ ] Documentation has been updated accordingly.
- [ ] Additional tests have been added to cover new functionality.
- [ ] Relevant documentation has been updated or added.

### Release Notes

- Added `max_output_tokens` field to OpenAI models for controlling
output token length.

邻二氮杂菲 created

36d51fe vim: Improve lifecycle (#16477)

Click to expand commit body
Closes #13579

A major painpoint in the Vim crate has been life-cycle management. We
used to have one global Vim instance that tried to track per-editor
state; this led to a number of subtle issues (e.g. #13579, the mode
indicator being global, and quick toggling between windows letting vim
mode's notion of the active editor get out of sync).

This PR changes the internal structure of the code so that there is now
one `Vim` instance per `Editor` (stored as an `Addon`); and the global
stuff is separated out. This fixes the above problems, and tidies up a
bunch of the mess in the codebase.

Release Notes:

* vim: Fixed accidental visual mode in project search and go to
references
([#13579](https://github.com/zed-industries/zed/issues/13579)).

Conrad Irwin created

c4c0758 docs: Black-hole zombie pages

Marshall Bowers created

a82cc80 docs: Remove context servers documentation (#16560)

Click to expand commit body
This PR removes the docs for context servers.

Release Notes:

- N/A

Marshall Bowers created

a3672d9 docs: Fix outdated context server setting example (#16545)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

a1438a4 project_panel: Set scrollbar track background from theme (#16546)

Click to expand commit body
This was previously using the value for the scrollbar border, instead of
the background.

I noticed this while trying out a new Zed theme.

Release Notes:

- Updated project panel scrollbar to respect the
`scrollbar.track.background` from the theme.

| Before | After |
| --- | ---- |
| <img width="281" alt="Screenshot 2024-08-20 at 2 46 23 PM"
src="https://github.com/user-attachments/assets/46d48e75-f472-4060-bcd7-9c2f7d97963d">
| <img width="280" alt="Screenshot 2024-08-20 at 2 46 37 PM"
src="https://github.com/user-attachments/assets/081038a4-4337-4c9f-9a95-93497003fb56">
|

Eli Perkins created

d2a7caa docs: Fix last missing links in context servers docs (#16539)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

ff7017c Replace `lazy_static` with `std::sync::LazyLock` (#16066)

Click to expand commit body
Closes #15860 

Since rust std now supports LazyLock replacing lazy_static with it
reduce the external dependency.

Release Notes:

- N/A

---------

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

Sinan Gençoğlu and Marshall Bowers created

85731df docs: Fix links in context-servers documentation (#16538)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

8381b06 gpui: Fix "cursor" typos (#16536)

Click to expand commit body
This PR fixes some typos of the word "cursor" in `gpui`.

Release Notes:

- N/A

Marshall Bowers created

a89844b docs: Document context servers and model context protocol (#16531)

Click to expand commit body
Release Notes:

- N/A

jvmncs created

5c0d800 Make unnecessary code fade configurable (#14442)

Click to expand commit body
This PR allows configuring the intensity of code fade applied to unused
code (relates to #4785).

_Note: Right now I included it as a top level config which might be a
little out of place (but is easiest to instrument). Open for suggestions
on where else it would be better suited for._

_Note 2: I am unfamiliar with the codebase. Feel free to either close
this PR and re-implement in a better way or suggest high level changes
if I'm approaching anything wrong :)._

Release Notes:

- Added `unnecesary_code_fade` setting to control how strongly to fade
unused code.

---------

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

Matthew D. Scholefield and Marshall Bowers created

ebcc294 docs: Remove unneeded theme links in index.hbs (#16532)

Click to expand commit body
PR #16501 introduced the new keybinding syntax for the docs and added
Javascript- and CSS-files to the theme to implement the change. These
new files were then referenced in the `book.toml` as well as added to
the `index.hbs`.

However, the manually added links to these assets in the
[`index.hbs`-file](https://github.com/zed-industries/zed/pull/16501/files#diff-8fde917c42f58487036335ccc9980f1467790fc1c257ec57a0c44bc5dfc3ef4f)
are neither needed nor resolvable:

<img width="328" alt="grafik"
src="https://github.com/user-attachments/assets/4a710b22-9274-4d27-96a8-6da59b0c9e68">


Therefore, this PR reverts the changes to the`index.hbs` - file, as the
correct links to the needed assets are inserted via the
`each`-directives from the `book.toml` respectively.

Release Notes:

- N/A

Finn Evers created

e884d00 docs: Fix links in assistant-panel.md (#16529)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

0c980cd docs: Cleanup assistant configuration documentation (#16526)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

9951df7 Update some docs keybindings to new format (#16524)

Click to expand commit body
Updates some of the docs pages to the new keybinding format.

Release Notes:

- N/A

Nate Butler created

936466e docs: Reword "Extensibility" section of slash command docs (#16521)

Click to expand commit body
This PR rewords the "Extensibility" section of the slash command docs.

Release Notes:

- N/A

Marshall Bowers created

1eb1e16 docs: Fix possessive "its" typos (#16516)

Click to expand commit body
This PR fixes a number of typos where possessive "its" wasn't being used
properly.

Release Notes:

- N/A

Marshall Bowers created

b674043 workspace: Improve error handling when dropping a file that cannot be opened into the workspace pane (#15613)

Click to expand commit body
This PR can improve the UX when dropping a file that cannot be opened
into the workspace pane. Previously, nothing happened without any
messages when such error occurred, which could be awkward for users.
Additionally the pane was being split even though the file failed to
open.

Here's a screen recording demonstrating the previous/updated behavior:


https://github.com/user-attachments/assets/cfdf3488-9464-4568-b16a-9b87718bd729

Changes:

- It now displays an error message if a file cannot be opened.
- Updated the logic to first try to open the file. The pane splits only
if the file opening process is successful.

Release Notes:

- Improved error handling when opening files in the workspace pane. An
error message will now be displayed if the file cannot be opened.
- Fixed an issue where unnecessary pane splitting occurred when a file
fails to open.

Suhun Han created

c251a50 assistant: Update docs (#16515)

Click to expand commit body
- Fix links on assistant page to subpages
- Mention the configuration view in the `configuration.md` and document
more settings

Release Notes:

- N/A

---------

Co-authored-by: Piotr <piotr@zed.dev>

Bennet Bo Fenner and Piotr created

e482fcd Fall back to FindAllReferences if GoToDefinition have not navigated (#16512)

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

Release Notes:

- N/A

---------

Co-authored-by: Alex Kladov <aleksey.kladov@gmail.com>

Kirill Bulatov and Alex Kladov created

f185269 repl: Upgrade runtimelib (#16499)

Click to expand commit body
Upgrades runtimelib to bring in some fixes from
https://github.com/runtimed/runtimed/pull/114 and
https://github.com/runtimed/runtimed/pull/113 that work towards
addressing issues interfacing with the Julia kernel.

Release Notes:

- N/A

Kyle Kelley created

1f0dc8b Expand assistant docs (#16501)

Click to expand commit body
This PR significantly expands the assistant documentation, breaking it
out into sections, adding examples and further documenting features.

This PR introduces a convention in docs for swapping keybindings for mac
vs linux:

`<kbd>cmd-enter|ctrl-enter</kbd>`

In the above example, the first will be shown for mac, the second for
linux or windows.

TODO:

- [ ] Fix table style (for `/assistant/configuration`)
- [x] Add script to swap keybindings based on platform
- It should take in this format: [`cmd-n` (mac)|`ctrl-n`(linux)] and
return just the correct binding for the viewer's platform.
- [ ] Add image/video assets (non-blocking)

Release Notes:

- Updated assistant documentation

Nate Butler created

395a681 Add Postgrest to Docker Compose (#16498)

Click to expand commit body
This PR adds two Postgrest containers—one for the app database and one
for the LLM database—to the Docker Compose cluster.

Also fixed an issue where `postgres_app.conf` and `postgres_llm.conf`
had been switched.

Release Notes:

- N/A

Marshall Bowers created

77c08fa elixir: Bump to v0.0.8 (#16495)

Click to expand commit body
This PR bumps the Elixir extension to v0.0.8.

Changes:

- #16382

Release Notes:

- N/A

Marshall Bowers created

f7f7cd5 repl: Don't prefix free variables with `_` (#16494)

Click to expand commit body
This PR is a small refactor to remove the leading `_` for some free
variables, as this unintentionally marks them as unused to the compiler.

While the fields on the struct _are_ unused, the free variables should
participate in usage tracking, as we want to make sure they get stored
on the struct.

Release Notes:

- N/A

Marshall Bowers created

6f56746 assistant: Set default provider to zed.dev (#16454)

Click to expand commit body
Do NOT merge until tomorrow

Release Notes:

- N/A

---------

Co-authored-by: Thorsten <thorsten@zed.dev>

Bennet Bo Fenner and Thorsten created

8993a9f elixir: Make two more files required by lexical executable (#16382)

Click to expand commit body
I still haven't fixed building dev extensions with rust managed by nix,
so I'd appreciate testing this for me

Release Notes:

- N/A

Stanislav Alekseev created

9f66f12 v0.151.x dev

Joseph T Lyons created

3eb5488 Update Terms and Conditions (#16478)

Click to expand commit body
- Update Zed Terms of Use:
  - Rename from 'EULA' / 'Terms and Conditions'
  - Rename 'Zed Network Based Service' to 'Zed Service'
  - 3.3.2 Usage Data (formerly Telemetry Data)
    - Add examples of 'Usage Data'
- Add link to https://zed.dev/docs/telemetry - Explain 'telemetry ID' and user linkage
- 3.3.5 Privacy Policy - Add privacy policy reference - Add link to https://zed.dev/privacy-policy/
  - 5. OWNERSHIP
- Move "You retain all right, title and interest..." from 3.3 Customer Data
    - Additional note that customers retain Intellectual Property rights
- 9. Third Party Services - Add link to https://zed.dev/third-party-terms
- Add Privacy Policy
- Add Subprocessors
- Add Third Party Terms
- Update script/terms/terms.rtf for DMG bundle

Peter Tripp created

30bfa56 Avoid double message header in new contexts, don't expand default prompt (#16490)

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

* Don't expand the default prompt by default, since it looks strange in
the expanded state
* Don't create two `You` headers by default. Just insert a blank line
after the default prompt.

Release Notes:

- N/A

Max Brunsfeld created

0042c24 Simplify logic & add UI affordances to show model cache status (#16395)

Click to expand commit body
Release Notes:

- Adds UI affordances to the assistant panel to show which messages have
been cached
- Migrate cache invalidation to be based on `has_edits_since_in_range`
to be smarter and more selective about when to invalidate the cache and
when to fetch.

<img width="310" alt="Screenshot 2024-08-16 at 11 19 23 PM"
src="https://github.com/user-attachments/assets/4ee2d111-2f55-4b0e-b944-50c4f78afc42">

<img width="580" alt="Screenshot 2024-08-18 at 10 05 16 PM"
src="https://github.com/user-attachments/assets/17630a60-7b78-421c-ae39-425246638a12">


I had originally added the lightening bolt on every message and only
added the tooltip warning about editing prior messages on the first
anchor, but thought it looked too busy, so I settled on just annotating
the last anchor.

Roy Williams created

971db5c ci: Set the `ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON` for builds (#16486)

Click to expand commit body
This PR updates the various GitHub Actions that build Zed binaries to
set the `ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON` environment variable
from the corresponding secret.

Release Notes:

- N/A

Marshall Bowers created

b5bd8a5 Add logic for closed beta LLM models (#16482)

Click to expand commit body
Release Notes:

- N/A

---------

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

Max Brunsfeld and Marshall created

41fc6d0 Make providers more clear in model selector (#16480)

Click to expand commit body
Make providers more clear in model selector

Before:

![CleanShot 2024-08-19 at 13 20
36@2x](https://github.com/user-attachments/assets/5b43fa27-4aca-446a-a035-bc8bcb0d9b0e)

After:

![CleanShot 2024-08-19 at 13 20
05@2x](https://github.com/user-attachments/assets/cb961405-b573-42fe-80e1-f3c2ce828ea4)


Release Notes:

- N/A

Nate Butler created

9089770 assistant: Add imports in a single area when using workflows (#16355)

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

Release Notes:

- N/A

---------

Co-authored-by: Kirill <kirill@zed.dev>
Co-authored-by: Thorsten <thorsten@zed.dev>

Bennet Bo Fenner , Kirill , and Thorsten created

7fbea39 ui: Dismiss popovers when clicking on trigger button (#16476)

Click to expand commit body
Release Notes:

- Clicking on an already-deployed popover menu trigger now hides the
popover menu.

Piotr Osiewicz created

037cf13 assistant: Undo workflow step when buffer is discarded (#16465)

Click to expand commit body
This fixes a weird bug:

1. Use `/workflow` in assistant
2. Have it generate a step that modifies a file
3. Either (a) select the step in the assistant and have it auto-insert
newlines (b) select "Transform" to have the step applied
4. Close the modified file in the editor ("Discard")
5. Re-open the file
6. BUG: the changes made by assistant are still there!

The reason for the bug is that the assistant keeps references to buffers
and they're not closed/reloaded when closed/reopened.

To fix the bug we now rollback the applied workflow steps when
discarding a buffer.

(This does *not* yet fix the issue where a workflow step inserts a new
buffer into the project/worktree that does not show up on the file
system yet but in `/file` and hangs around until Zed is closed.)


Release Notes:

- N/A

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

Thorsten Ball and Bennet created

69aae20 Display default prompts more elaborately (#16471)

Click to expand commit body
Show them under `User` role instead of a `System` one, and insert them
expanded.

Release Notes:

- N/A

Kirill Bulatov created

bac8e81 assistant: Add the "create your command" item (#16467)

Click to expand commit body
This PR adds an extra item to the slash command picker that links users to the doc that teaches how to create a custom one.

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>

Piotr Osiewicz and Danilo Leal created

0bea4d5 theme: Change autocomplete value for `ui_font_features` and `buffer_font_features` (#16466)

Click to expand commit body
This PR changes the default value used when autocompleting the
`ui_font_features` and `ui_font_features` settings from `null` to `{}`.

Release Notes:

- N/A

Marshall Bowers created

4dec780 Update Rust crate heed to v0.20.5 (#16464)

Click to expand commit body
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [heed](https://togithub.com/Kerollmops/heed) | workspace.dependencies
| patch | `0.20.4` -> `0.20.5` |

---

### Release Notes

<details>
<summary>Kerollmops/heed (heed)</summary>

###
[`v0.20.5`](https://togithub.com/meilisearch/heed/releases/tag/v0.20.5):
🛁

[Compare
Source](https://togithub.com/Kerollmops/heed/compare/v0.20.4...v0.20.5)

<p align="center"><img width="280px"
src="https://raw.githubusercontent.com/meilisearch/heed/main/assets/heed-pigeon-logo.png"></a></p>
<h1 align="center" >heed</h1>

##### What's Changed
* fix function docs (clippy warnings) by
@&#8203;antonil[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273
* fix custom_key_cmp_wrapper being able to unwind to C code (ub) by
@&#8203;antonil[https://github.com/meilisearch/heed/pull/275](https://togithub.com/meilisearch/heed/pull/275)ll/275

##### New Contributors
* @&#8203;antonilol made their first
contributi[https://github.com/meilisearch/heed/pull/273](https://togithub.com/meilisearch/heed/pull/273)ll/273

</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:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

de41c15 collab: Add `is_staff` to upstream rate limit spans (#16463)

Click to expand commit body
This PR adds the `is_staff` field to the `upstream rate limit` spans.

Since we use different API keys for staff vs non-staff, it will be
useful to break down the rate limits accordingly.

Release Notes:

- N/A

Marshall Bowers created

56f1ab9 assistant: Remove "Resolving" text for step resolution and use Transform instead (#16461)

Click to expand commit body
That way, user can click on "Transform" straight away and get it applied
immediately when it's resolved.



https://github.com/user-attachments/assets/08c99804-3841-4eba-a5eb-7066a9f45b47


TODO:
- [x] Tie "Send" button at the bottom into the same behavior

Release Notes:

- N/A

Piotr Osiewicz created

911112d assistant: Fix toggling slash command menu from toolbar menu (#16459)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

e68b2d5 assistant panel: Disable send button on config error (#16455)

Click to expand commit body
Release Notes:

- N/A

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

Thorsten Ball and Bennet created