This PR changes the SSH modal design so its more keyboard
navigation-friendly and adds the server nickname feature.
Release Notes:
- N/A
---------
Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Piotr Osiewicz
,
Danilo
, and
Danilo Leal
created
be7b24f
ssh remote: Shutdown SSH & server process correctly on app quit (#19210)
41ba417
gpui: Fix crash caused by ownership leak (#19185)
Click to expand commit body
- Closes #18811
Release Notes:
- N/A
wannacu
created
6e2869a
Prevent deadlock when create a new meter/price on Stripe (#19196)
Click to expand commit body
This also puts the entire state of `StripeBilling` behind a `RwLock`.
When fetching the existing prices and meters, or when inserting new
ones, we acquire a write lock and hold it until the Stripe request
completes. This prevents two concurrent calls to `get_or_insert_price`
from inserting the same data twice.
Creating a new meter/price is unusual, so in practice we'll acquire a
read lock most of the time.
/cc @rtfeldman @maxdeviant
Release Notes:
- N/A
Antonio Scandurra
created
6986f08
supermaven: Fix crash when editing non-ASCII text (#19153)
Click to expand commit body
Closes #19051
Closes #19182
#### How to reproduce this crash:
1. Open any file and input some ASCII characters.
2. Replace these characters with `你好`.
3. Press `backspace`.
4. Crash.
https://github.com/user-attachments/assets/ea5c5340-29a5-42c8-98c5-6e60770445a4
The issue lies with the `prefix_offset` introduced in #18858. After the
buffer is modified, this value is not always valid and may fall within a
`char boundary`, which results in a crash.
Release Notes:
- Fixed Supermaven crashing on deleting non-ASCII text
张小白
created
3ff52a8
windows: Fix opening wrong path when clicking path in the terminal view (#18726)
Click to expand commit body
Closes #18550
This PR removes the prefix `\\?\`.
https://github.com/user-attachments/assets/f4f4333c-5d87-4f0f-b12c-fb2108703b6a
Release Notes:
- N/A
张小白
created
7d5fe66
remote: Disable ControlPersist for master ssh connection (#19193)
Click to expand commit body
remote: Disable ControlPersist for master ssh connection
`ControlPersist=yes` combined with `ControlMaster=yes` silently forces
`ForkAfterAuthentication=yes` (even when the user has explicitly set it
to `no` - reported upstream in [0]) - and the latter makes the ssh
subprocess disappear, which makes us think that the connection died
(This is only an issue for people who have `ControlPersist=yes` in their
`ssh_config`, and perhaps the answer is "if that option breaks things,
don't use that option?" - but it's an option that makes sense _most_ of
the time, it's just in this edge-case of "creating an ssh connection
with -N and expecting the process to stay in the foreground" where it
_must_ be set to no)
I think the alternative approach is to tell people "if you want to use
persistent connections, have a separate ~/.ssh/config entry for
servername (to ssh into) and servername-no-persist (to zed into)", which
is possible, but ugh. Kind of a messy situation >.<
Tests:
- Before: Connections to my server result in "Failed to connect: ." (The
error message is attempting to show stderr, but stderr is empty)
- After: Connections to my server work reliably
[0] https://bugzilla.mindrot.org/show_bug.cgi?id=3743
Release Notes:
- N/A
Shish
created
792f583
Revert "chore: Bump taffy to 0.5.2 (#18729)" (#19189)
Click to expand commit body
This reverts commit a99750fd35ef4f44409f474228285b1842c1b7d3.
@huacnlee found that commit to have a bad impact on perf and triaged it
for us in
https://github.com/zed-industries/zed/pull/18729#issuecomment-2410445980
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
6ec00cd
ssh remoting: Restore SSH projects when reopening Zed (#19188)
71a878a
remote ssh: Fix asset embedding in cross-compilation (#19180)
Click to expand commit body
This fixes the panic from the settings file not being embedded.
Release Notes:
- N/A
---------
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
f2337bb
Redirect to checkout page when payment is required (#19179)
Click to expand commit body
Previously, we were redirecting to a non-existant page.
Release Notes:
- N/A
Antonio Scandurra
created
fcf9e54
project: Fix content not displaying when selecting a folder in Windows (#18946)
Click to expand commit body
- Closes #16998
This PR resolves issues with the /file and /diagnostics commands in the
assistant panel, which previously failed to display the contents of a
directory when searching for a folder instead of using the arrow button.
- Changed the format in `project.rs` (located at
`crates/project/src/project.rs`) to use `std::path::MAIN_SEPARATOR` for
cross-platform compatibility, which resolves errors encountered on
Windows that originally used the format `format!("{}/", ...)`.
Release Notes:
- N/A
- `mold` moved to `sold` long time ago.
And https://github.com/bluewhalesystems/sold/issues/43...
- And add a step for accepting xcodebuild license
Signed-off-by: Xavier Lau <x@acg.box>
Xavier Lau
created
5b207ba
vim: Add some "z" keybindings for scrolling (#18928)
Click to expand commit body
Release Notes:
- vim: Added a few "z" keybindings for scrolling
Frank Sheiness
created
325f106
Add vim::Search command option for non-regex search (#19177)
Click to expand commit body
Similar to e2647025ac833856961a1234ed2bd0202f9c4746, this adds a `regex`
option to `vim::Search` command to allow disabling regex search.
Release Notes:
- Added `regex` option to `vim::Search` command to allow disabling regex
search by default in the keymap. Example usage:
```yaml
{
"context": "VimControl && !menu",
"bindings": {
"/": ["vim::Search", { "regex": false }],
}
}
```
Ömer Sinan Ağacan
created
ec5d6e9
Make `danger` to output less false-positives (#19151)
Kirill Bulatov
created
54683ff
docs: Fix typo in environment documentation (#19164)
Click to expand commit body
Update incorrect spelling of Raycast in environment.md
39468de
Return back to history-based tabs activation on close (#19150)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/19036
Alters https://github.com/zed-industries/zed/pull/18168 and moves its
change behind a settings flag, restoring the previous behavior.
Release Notes:
- Fixed tab closing not respecting history. Use `tabs.activate_on_close
= neighbour` settings to activate near tabs instead.
Kirill Bulatov
created
6491148
Fail on warnings during CI builds (#19149)
Click to expand commit body
Forbid things like
https://github.com/zed-industries/zed/pull/19144#issuecomment-2408871788
Release Notes:
- N/A
aefc559
Improve auto-detection via shebang of TypeScript, JavaScript and Shell Script (#19114)
Peter Tripp
created
bebe24e
Add remote server cross compilation (#19136)
Click to expand commit body
This will allow us to compile debug builds of the remote-server for a
different architecture than the one we are developing on.
This also adds a CI step for building our remote server with minimal
dependencies.
Release Notes:
- N/A
Mikayla Maki
created
f73a076
Update Rust crate bytes to v1.7.2 (#18656)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [bytes](https://redirect.github.com/tokio-rs/bytes) |
workspace.dependencies | patch | `1.7.1` -> `1.7.2` |
---
### Release Notes
<details>
<summary>tokio-rs/bytes (bytes)</summary>
###
[`v1.7.2`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#172-September-17-2024)
[Compare
Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.7.1...v1.7.2)
##### Fixed
- Fix default impl of `Buf::{get_int, get_int_le}`
([#​732](https://redirect.github.com/tokio-rs/bytes/issues/732))
##### Documented
- Fix double spaces in comments and doc comments
([#​731](https://redirect.github.com/tokio-rs/bytes/issues/731))
##### Internal changes
- Ensure BytesMut::advance reduces capacity
([#​728](https://redirect.github.com/tokio-rs/bytes/issues/728))
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguMTE1LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
b2e844f
Fix an issue with using non-reusable body types with redirects (#19134)
Click to expand commit body
Closes #19131
Closes #19039
fixes the broken auto-updater.
I had the bright idea of using streams as the most common unit of data
transfer. Unfortunately, streams are not re-usable. So HTTP redirects
that have a stream body (like our remote server and auto update
downloads), don't redirect, as they can't reuse the stream. This PR
fixes the problem and simplifies the AsyncBody implementation now that
we're not using Isahc.
Release Notes:
- N/A
Mikayla Maki
created
9e14fd9
docs: Fix missing parenthesis in the Terminal: Detect Virtual Environments section of configuring-zed.md (#19127)
This PR also includes a downgrade of our async_tungstenite version to
0.24
Release Notes:
- N/A
Mikayla Maki
created
22ac178
Restore HTTP client transition, but use reqwest everywhere (#19055)
Click to expand commit body
Release Notes:
- N/A
Mikayla Maki
created
c709b66
collab: Don't record billing events if billing is not enabled (#19102)
Click to expand commit body
This PR adjusts the billing logic to not write any records to
`billing_events` if:
- The user is staff, as we don't want to bill staff members
- Billing is disabled (we currently enable billing based on the presence
of the Stripe API key)
Release Notes:
- N/A
f280b29
collab: Make the `StripeBilling` object long-lived (#19090)
Click to expand commit body
This PR makes the `StripeBilling` object long-lived so that we can make
better use of the cached data on it.
We now hold it on the `AppState` and spawn a background task to
initialize the cache on startup.
Release Notes:
- N/A
Co-authored-by: Richard <richard@zed.dev>
Marshall Bowers
and
Richard
created
550064f
Fix ~ expansion in ssh projects' terminals (#19078)
Click to expand commit body
When setting a remote ssh project path starting with ~, Zed would fail
to cd into such project's directory when opening a new terminal.
Release Notes:
- N/A
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Kirill Bulatov
and
Thorsten Ball
created
f33b8ab
collab: Sort LLM database ID types (#19083)
Click to expand commit body
This PR sorts the order of the LLM database ID type declarations.
Release Notes:
- N/A
Marshall Bowers
created
22ea7ce
collab: Add usage-based billing for LLM interactions (#19081)
Click to expand commit body
This PR adds usage-based billing for LLM interactions in the Assistant.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Marshall Bowers
,
Antonio Scandurra
,
Antonio
,
Richard
, and
Richard Feldman
created
collab: Remove dependency on X11
I'm not sure if this is the best solution (perhaps pulling
`LanguageName` into a separate `language_types` crate would be
better...?) - but it massively reduces build time / dependencies / size
and means that the collab server no longer requires X11 libraries to be
installed.
tl;dr: `telemetry_events` requires the `language` crate, and the
language crate requires a whole ton of extra stuff. Since
telemetry_events only uses `language` for a single type definition
(`LanguageName`, aka `String`), we can cut all of these out by using the
base `String` type (This doesn't seem too terrible, given that all other
telemetry fields are using basic datatypes like String as opposed to
more strongly-typed variants).
FYI the dependency tree for "why does collab need X11 libraries??" looks
like this:
```
collab
\- telemetry_events
\- language
|- gpui
|- fuzzy
| \- gpui
|- git
| \- gpui
|- lsp
| |- gpui
| \- release_channel
| \- gpui
|- settings
| |- fs
| | \- gpui
| \- gpui
|- task
| \- gpui
\- theme
\- gpui
```
Release Notes:
- N/A
Shish
created
84b61c8
assistant: Add support for displaying billing-related errors (#19082)
Click to expand commit body
This PR adds support to the assistant for display billing-related
errors.
Pulling this out of #19081 to make it easier to cherry-pick.
Release Notes:
- N/A
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Richard <richard@zed.dev>
terminal: Improve default locale handling
* Use `LANG` instead of `LC_ALL` (`LC_ALL` is the highest priority which
will override any other end-user settings; when that isn't set things
fall back to separate `LC_*` variables; and when those aren't set things
fall back to `LANG`). [0]
* Only set `LANG` for our child if necessary (if it already exists in
the parent, then the child will inherit that, no need for us to do
anything)
[0]
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
Tested cases:
- `unset LANG ; cargo run`: locale inside zed's terminal is set to
`en_US.UTF-8`
- `export LANG=en_GB.UTF-8 ; cargo run`: locale inside zed's terminal is
set to `en_GB.UTF-8`
Release Notes:
- Use the system locale in the terminal instead of forcing `en_US.UTF-8`
Shish
created
c21f26c
ssh remote: Stream stderr from server via proxy to client (#19073)
d976c5f
gleam: Extract to external repository (#19072)
Click to expand commit body
This PR transfers the Gleam extension over to the @gleam-lang
organization:
https://github.com/gleam-lang/zed-gleam
Release Notes:
- N/A
Marshall Bowers
created
79ed217
Properly compute depth and path for project panel entries (#19068)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/18939
This fixes incorrect width estimates and horizontal scrollbar glitches
Release Notes:
- Fixes horizontal scrollbar not scrolling enough for certain paths
([#18939](https://github.com/zed-industries/zed/issues/18939))
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Kirill Bulatov
and
Piotr Osiewicz
created
0a7468c
lsp: Show error message in read only buffer (#19063)
Click to expand commit body
Clicking on
<img width="361" alt="image"
src="https://github.com/user-attachments/assets/b55e2575-b438-4c26-922f-313dc1f41fea">
now opens a read only buffer
<img width="547" alt="image"
src="https://github.com/user-attachments/assets/af82e104-1603-4fe4-9351-635a02cfb4f9">
Previously the buffer would show up as a normal untitled buffer and
would open a prompt when closing the tab.
Co-Authored-by: Thorsten <thorsten@zed.dev>
Release Notes:
- N/A
Co-authored-by: Thorsten <thorsten@zed.dev>
Bennet Bo Fenner
and
Thorsten
created
518f8cc
fix: Absolutize path to worktree root in `worktree.read_text_file` (#19064)
Click to expand commit body
Closes #19050
Release Notes:
- Fixed `worktree.read_text_file` plugin API working incorrectly
([#19050](https://github.com/zed-industries/zed/issues/19050))
Tim Havlicek
created
ccaf326
Check paths for FS existence before parsing them as paths with line numbers (#19057)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/18268
Release Notes:
- Fixed Zed not being open filenames with special combination of
brackets ([#18268](https://github.com/zed-industries/zed/issues/18268))
Kirill Bulatov
created
1691652
ssh: Fix abs paths in file history & repeated go-to-def (#19027)
Click to expand commit body
This fixes two things:
- Go-to-def to absolute paths (i.e. opening stdlib files) multiple times
(opening, dropping, and re-opening worktrees)
- Re-opening abs paths from the file picker history that were added
there by go-to-def
Release Notes:
- N/A
---------
Co-authored-by: Bennet <bennet@zed.dev>