This PR refines the SSH modal UI, adjusting spacing and alignment. Via
these changes, I'm also introducing the ability for the `empty_message`
on the `List` component to receive not just a string but any element.
The custom way in which the SSH modal was designed made it feel like
this was needed for proper spacing.
<img width="700" alt="Screenshot 2024-10-16 at 1 20 54 AM"
src="https://github.com/user-attachments/assets/f2e0586b-4c9f-4497-b4cb-e90c8157512b">
Release Notes:
- N/A
Danilo Leal
created
b752548
storybook: Load GPUI with default features (#19253)
Click to expand commit body
This PR makes it so the Storybook loads GPUI with the default features
enabled.
This fixes a panic that would occur when trying to run any of the
stories.
Release Notes:
- N/A
d806df9
Ensure issues without core labels have triage labels (#19243)
Click to expand commit body
Sometimes, issues are created outside of issue templates (which we don't
prefer, but we can't prevent). This updates our top-ranking issues
script such that it will add `triage` and `admin read` labels to any
issue that is missing a core label, so that we don't miss the issues
when doing the next triage.
Release Notes:
- N/A
6951768
project_search: Fix message displayed when no results are found (#19108)
Click to expand commit body
when no result found, always display `Search all files`, which is
confused.
Release Notes:
- Fixed an issue where the project search would sometimes show "Search
all files" when there were no results.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
CharlesChen0823
and
Marshall Bowers
created
e3c6ba4
ssh remote: Revert #19193 and treat killed proxy as non-zero (#19234)
Click to expand commit body
This does two things.
Important one: it reverts #19193, which lead to our whole process
handling breaking. When the `proxy` process was killed, it apparently
didn't close the stdout/stderr anymore, which meant we would not detect
when it died. (Watching its `status()` in the io loop also didn't work!)
We should figure out how to keep our process handling working before we
make this change in #19193, which sounds reasonable.
Second, less important thing: I think we should treat the process being
killed from a signal as non-zero, as an error.
Release Notes:
- N/A
Thorsten Ball
created
8924b3f
Fix block cursor obscuring placeholder text and editor text in some cases (#18114)
Merge after this:
- https://github.com/zed-industries/extensions/pull/746
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
cabrinha
,
Peter Tripp
, and
Marshall Bowers
created
0eb6bfd
ssh remoting: Treat other message as heartbeat (#19219)
Click to expand commit body
This improves the heartbeat detection logic. We now treat any other
incoming message from the ssh remote server
as a heartbeat message, meaning that we can detect re-connects earlier.
It also changes the connection handling to await futures detached.
Co-Authored-by: Thorsten <thorsten@zed.dev>
Release Notes:
- N/A
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Bennet Bo Fenner
,
Thorsten
, and
Antonio
created
4fa75a7
gpui: Improve performance of laying out long lines (#19215)
Click to expand commit body
TL;DR: Another O(n^2) strikes.
In #19194 we received a report about a 7Mb JSON file that Zed struggles
with. Naturally this file showcased a O(n^2) in line layout; this file
has one long line.
During line layout for Mac we have to convert between UTF-16 and UTF-8
indices in the string, as CoreText works with UTF-16 and Rust strings
are UTF-8. The problem stemmed from the fact that we were re-seeking our
string converter on each glyph, which boils down to: we were reparsing
[0..curr_string_position] bytes up to full length of the string, which
is the O(n^2) in question. This PR changes this behaviour to reuse the
Index Converter if the position we're seeking to is not yet reached.
Basically, we're treating the converter as forward iterator and we try
to seek with the same iterator, if possible.
Where previously you could not even open the file in OP (within
reasonable time frame, I waited for 40 seconds before giving up), now
you can do it in.. slightly over a second. The best part is: the
experience is still not ideal. Typing in the buffer is sluggish. Still,
this is a start.
Release Notes:
- Mac: Improved performance with very long lines
Piotr Osiewicz
created
397e4be
ssh remoting: Forward LSP logs to client (#19212)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
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)