0ec803c
zed 0.124.8
Conrad Irwin created
0ec803c
zed 0.124.8
Conrad Irwin created
c6ad241
Ensure panel and pane sizes are integral (cherry-pick #8619) (#8621)
Cherry-picked Ensure panel and pane sizes are integral (#8619) Fixes: #8050 For some reason that we didn't investigate, if you have view caching enabled, and you have non-integer sized bounds, and you are right aligning things, the co-ordinates can differ by +/- 1px when using the cached view. The easiest fix for now is to just not do that. Co-Authored-By: Antonio <as-cii@zed.dev> Release Notes: - Fixed the pane icons flickering ([#8050](https://github.com/zed-industries/zed/issues/8050)). Co-authored-by: Antonio <as-cii@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Antonio <as-cii@zed.dev>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and Antonio created
fc025b2
Revert "Introduce a new `ToggleGraphicsProfiler` command (#7607)" (cherry-pick #8567) (#8570)
Cherry-picked Revert "Introduce a new `ToggleGraphicsProfiler` command (#7607)" (#8567) This reverts commit 0cebf68306ab0ef08693701532260e1fdc0f1ee9. Although this thing is very cool, it is a top source of crashes. Example crash: ``` Segmentation fault: 11 on thread 26 objc_retain +16 invocation function for block in Overlay::onCommandBufferCommit(id<MTLCommandBuffer>) +60 MTLDispatchListApply +52 ``` Release Notes: - Removed "Toggle Graphics Profiler" as it crashes too much. Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
gcp-cherry-pick-bot[bot] and Conrad Irwin created
d6c7c9a
Avoid an unwrap when loading languages (#8562) (#8563)
Cherry-picked Avoid an unwrap when loading languages (#8562) We couldn't reproduce the panic, but I believe it was possible when uninstalling an extension while one if its grammars was still loading. Release Notes: - Fixed a crash that could happen when uninstalling a language extension while its grammar was loading. --------- Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
gcp-cherry-pick-bot[bot] , Max Brunsfeld , and Conrad created
fed2c96
v0.124.x stable
Joseph T. Lyons created
d0aec52
Fix flickering cursor style when a pane was zoomed (#8546)
Release Notes: - N/A Co-authored-by: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
0619017
Introduce a short-term solution for flickering (#8542)
This uses bounds checking alone to determine hover state to avoid flicker. It's a short-term solution because the rendering is incorrect. We think this is better than flickering though and buys us some time as we work on a more robust solution overall. Release Notes: - Fixed flickering when hovering. --------- Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra and Nathan created
7eb07a4
zed 0.124.7
Conrad Irwin created
e41b0b1
Use proper buffer versions when [de]serializing hint proto requests (#8502)
During inlay hint<->proto conversions, uses proper buffer versions and
never carries them across the .await points, to fix the
```
thread 'main' panicked at 'invalid anchor Anchor { timestamp: Lamport {0: 8558}, offset: 54, bias: Right, buffer_id: Some(BufferId(8)) }. buffer id: 8, version: Global {0: 8546, 1: 8378}'
/Users/administrator/actions-runner-2/_work/zed/zed/crates/text/src/text.rs:1919
<backtrace::capture::Backtrace>::create
<backtrace::capture::Backtrace>::new
Zed::init_panic_hook::{closure#0}
std::panicking::rust_panic_with_hook
std::panicking::begin_panic_handler::{{closure}}
std::sys_common::backtrace::__rust_end_short_backtrace
_rust_begin_unwind
core::panicking::panic_fmt
<text::BufferSnapshot>::summary_for_anchor::<usize>
<multi_buffer::anchor::Anchor as multi_buffer::ToOffset>::to_offset
<editor::display_map::DisplayMap>::splice_inlays
<editor::Editor>::splice_inlay_hints
editor::inlay_hint_cache::fetch_and_update_hints::{closure#0}::{closure#0}
<async_task::raw::RawTask<<async_task::runnable::Builder<_>>::spawn_local::Checked<core::pin::Pin<alloc::boxed::Box<dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>, core::result::Result<(), anyhow::Error>, <gpui::executor::ForegroundExecutor>::spawn::inner<core::result::Result<(), anyhow::Error>>::{closure#0}, ()>>::run
<gpui::platform::mac::platform::MacPlatform as gpui::platform::Platform>::run
Zed::main
std::sys_common::backtrace::__rust_begin_short_backtrace::<fn(), ()>
std::rt::lang_start::<()>::{closure#0}
std::rt::lang_start_internal
_main
```
class of panics.
Release Notes:
- Fixed occasional panics during collaborative editing with inlay hints
on both sides
Co-authored-by: Conrad <conrad@zed.dev>
Kirill Bulatov and Conrad created
9cf30a0
Add missing wait_for_anchors (#8509)
Release Notes: - Fixed a panic when hovering in a collaboration session
Conrad Irwin created
54e29d8
zed 0.124.6
Marshall Bowers created
3940593
Use `SystemClock` in `EventCoalescer` (#8317)
This PR updates the `EventCoalescer` to use the `SystemClock` trait to abstract over the clock. This allows us to test the advancement of time without relying on the caller passing in the current time. Release Notes: - N/A
Marshall Bowers created
df42d5b
Expose extensions API from api.zed.dev (#8307)
This avoids the need to pay for bandwidth Co-Authored-By: Marshall <marshall@zed.dev> Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin and Marshall created
5844fcc
Log HTTP path in http logs (#8305)
Co-Authored-By: Marshall <marshall@zed.dev> Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin and Marshall created
cd01276
collab: Log HTTP requests (#8297)
Co-Authored-By: Marshall <marshall@zed.dev> Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Conrad Irwin , Marshall , and Marshall Bowers created
e62717e
oops
Conrad Irwin created
e2c459a
Only spawn the extensions reconciliation task in the collab service (#8301)
This PR makes it so the background task that reconciles the extensions database with the blob store only runs on the `collab` service. This avoids us having multiple of these jobs running at once. Release Notes: - N/A
Marshall Bowers created
b9cc649
Fix collab (#8298)
Co-Authored-By: Marshall <marshall@zed.dev> We broke it by deploying two servers simultaneously. Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin and Marshall created
cbc7645
Fix error logging (#8295)
and some more clickhouse type mismatches, Co-Authored-By: Marshall <marshall@zed.dev> Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Conrad Irwin and Marshall created
50ff0d7
Deploy the ZED_CLIENT_CHECKSUM_SEED too (#8289)
Release Notes: - N/A
Conrad Irwin created
012aa33
Adjust Kubernetes manifests for deploying API service (#8281)
This PR adjusts our Kubernetes manifests for deploying the new API service. Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Marshall Bowers and Conrad created
5e63526
Add telemetry events backend for collab (#8220)
Send telemetry to collab not zed.dev Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Conrad Irwin , Marshall , and Marshall Bowers created
197a812
Add `SystemClock` (#8239)
This PR adds a `SystemClock` trait for abstracting away the system clock. This allows us to swap out the real system clock with a `FakeSystemClock` in the tests, thus allowing the fake passage of time. We're using this in `Telemetry` to better mock the clock for testing purposes. Release Notes: - N/A
Marshall Bowers created
a1e6258
zed 0.124.5
Kirill Bulatov created
2b4e6e7
Switch LSP prompts to use a non-blocking toast (#8312)
This fixes a major degradation in usability that some users ran into. Fixes https://github.com/zed-industries/zed/issues/8255 Fixes https://github.com/zed-industries/zed/issues/8229 Release Notes: - Switch from using platform prompts to toasts for LSP prompts. ([8255](https://github.com/zed-industries/zed/issues/8255), [8229](https://github.com/zed-industries/zed/issues/8229)) <img width="583" alt="Screenshot 2024-02-23 at 2 40 05 PM" src="https://github.com/zed-industries/zed/assets/2280405/1bfc027b-b7a8-4563-88b6-020e47869668"> Co-authored-by: Marshall <marshall@zed.dev>
Mikayla Maki and Marshall created
b4be47b
zed 0.124.4
Conrad Irwin created
dae95e0
Disable swift for now (#8291)
It causes segfaults on load Release Notes: - Fixed a segfault opening a Swift file with the Swift extension installed.
Conrad Irwin created
4faf3ac
zed 0.124.3
Conrad Irwin created
9e9ea6f
Allow typing space in workspace::SendKeystrokes (#8288)
Fixes #8222 Release Notes: - N/A
Conrad Irwin created
e3d5a0f
Fix for toggles on the Welcome page (#8159)
Release Notes: The issue is that when welcome page appears settings.json file is not created yet. So the idea of this fix is to create the file in case it is not there yet. - Fixed the toggles on the welcome screen not working if no settings file exists yet. ([#8153](https://github.com/zed-industries/zed/issues/8153)). --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com> Co-authored-by: Marshall <marshall@zed.dev>
Uladzislau Kaminski , Thorsten Ball , and Marshall created
bd317ee
zed 0.124.2
Conrad Irwin created
77cdc28
Fix a panic in the assistant panel (#8244)
Release Notes: - Fixed a panic in the assistant panel when the app is shutting down.
Conrad Irwin created
1ba3376
fix vim panics (#8245)
Release Notes: - vim: Fixed a panic when using H/M/L when scrolled beyond the end of the buffer
Conrad Irwin created
292d32e
Pick up more home dir shell env when spawning (#8273)
Release Notes: - Improved how Zed picks up shell environment when spawned.
Thorsten Ball created
10df9df
Detect and possibly use user-installed `gopls` / `zls` language servers (#8188)
After a lot of back-and-forth, this is a small attempt to implement solutions (1) and (3) in https://github.com/zed-industries/zed/issues/7902. The goal is to have a minimal change that helps users get started with Zed, until we have extensions ready. Release Notes: - Added detection of user-installed `gopls` to Go language server adapter. If a user has `gopls` in `$PATH` when opening a worktree, it will be used. - Added detection of user-installed `zls` to Zig language server adapter. If a user has `zls` in `$PATH` when opening a worktree, it will be used. Example: I don't have `go` installed globally, but I do have `gopls`: ``` ~ $ which go go not found ~ $ which gopls /Users/thorstenball/code/go/bin/gopls ``` But I do have `go` in a project's directory: ``` ~/tmp/go-testing φ which go /Users/thorstenball/.local/share/mise/installs/go/1.21.5/go/bin/go ~/tmp/go-testing φ which gopls /Users/thorstenball/code/go/bin/gopls ``` With current Zed when I run `zed ~/tmp/go-testing`, I'd get the dreaded error:  But with the changes in this PR, it works: ``` [2024-02-23T11:14:42+01:00 INFO language::language_registry] starting language server "gopls", path: "/Users/thorstenball/tmp/go-testing", id: 1 [2024-02-23T11:14:42+01:00 INFO language::language_registry] found user-installed language server for Go. path: "/Users/thorstenball/code/go/bin/gopls", arguments: ["-mode=stdio"] [2024-02-23T11:14:42+01:00 INFO lsp] starting language server. binary path: "/Users/thorstenball/code/go/bin/gopls", working directory: "/Users/thorstenball/tmp/go-testing", args: ["-mode=stdio"] ``` --------- Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball and Antonio created
57426b9
Ensure default prettier installs correctly when certain FS entries are missing (#8261)
Fixes https://github.com/zed-industries/zed/issues/7865 * bind default prettier (re)installation decision to `prettier_server.js` existence * ensure the `prettier_server.js` file is created last, after all default prettier packages installed * ensure that default prettier directory exists before installing the packages * reinstall default prettier if the `prettier_server.js` file is different from what Zed expects Release Notes: - Fixed incorrect default prettier installation process
Kirill Bulatov created
e12d617
zed 0.124.1
Kirill Bulatov created
ca1a95e
Require prerelease eslint version (#8197)
Fixes https://github.com/zed-industries/zed/issues/7650 Release Notes: - Fixed eslint diagnostics not showing up due to old eslint version used
Kirill Bulatov created
bc8e7e0
v0.124.x preview
Joseph T. Lyons created
f895d66
Make language server id more explicit in unhandled message logs (#8131)
Before:
```
[2024-02-21T18:55:55+02:00 INFO language::language_registry] starting language server "eslint", path: "/Users/someonetoignore/Downloads/eslint-configs-demo", id: 2
[2024-02-21T18:55:56+02:00 INFO lsp] 2 unhandled notification window/logMessage:
{
"type": 3,
"message": "ESLint server running in node v18.15.0"
}
[2024-02-21T18:55:56+02:00 INFO lsp] 2 unhandled notification eslint/confirmESLintExecution:
{
"scope": "local",
"uri": "file:///Users/someonetoignore/Downloads/eslint-configs-demo/index.js",
"libraryPath": "/Users/someonetoignore/Downloads/eslint-configs-demo/node_modules/eslint/lib/api.js"
}
```
After:
```
[2024-02-21T18:57:31+02:00 INFO language::language_registry] starting language server "eslint", path: "/Users/someonetoignore/Downloads/eslint-configs-demo", id: 2
[2024-02-21T18:57:32+02:00 INFO lsp] Language server with id 2 sent unhandled notification window/logMessage:
{
"type": 3,
"message": "ESLint server running in node v18.15.0"
}
[2024-02-21T18:57:32+02:00 INFO project::prettier_support] Fetching default prettier and plugins: [("prettier-plugin-tailwindcss", "0.5.11"), ("prettier", "3.2.5")]
[2024-02-21T18:57:32+02:00 INFO lsp] Language server with id 2 sent unhandled notification eslint/confirmESLintExecution:
{
"scope": "local",
"uri": "file:///Users/someonetoignore/Downloads/eslint-configs-demo/index.js",
"libraryPath": "/Users/someonetoignore/Downloads/eslint-configs-demo/node_modules/eslint/lib/api.js"
}
```
We have to pass a name there too, but the problem here is that the
unhandled message callback is created very early, along with the binary,
but the server name is received from the LSP initialize response, which
is a totally separate piece of code.
I plan to refactor that code next, but so far, improve the logs at least
slightly.
Release Notes:
- N/A
Kirill Bulatov created
7bf16f2
Fix a bug when extension loading is failed after it's folder is viewed by MacOS finder (#8111)
Fixes #8096 # Bug description I was experimenting with adding extensions and almost went crazy trying to make my demo extension work. It appeared that I was copying files with Finder that creates hidden `.DS_Store` files which interfered with Zed's loading logic. It assumes that `languages/` directory contains only directories and never files and so it crashes when meets `.DS_Store`. This makes any extension stop working after it has been viewed via Finder # Change Check if path is directory when loading extension languages (so it will skip .DS_Store files)
Ivan Buryak created
d3745a3
Document new theme options (#7899)
Added documentation for [#4970](https://github.com/zed-industries/zed/issues/4970), a feature added in the latest update. Will need to modify `Default Settings` to reflect the new default theme example. Release Notes: - N/A
Kyber created
0c939e5
Add task docs and default keybindings (#8123)
Also group task source modules together Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Kirill Bulatov and Piotr Osiewicz created
b9151b9
Runnables: remove version field from the format (#8118)
This changes the format of runnables slightly (the top-level object is now a sequence, not a map). The 2nd commit pulls in aliases from .zshrc and co. Release Notes: - N/A
Piotr Osiewicz created
2679457
Rename runnables into tasks (#8119)
Release Notes: - N/A
Kirill Bulatov created
45e2c01
Copilot: handle "ok" status message when no user is set (#8116)
In #6954 a user has trouble using copilot. We haven't gotten to the
bottom of the problem, but one problem is that apparently sometimes (I'm
going to find out when) copilot sends an `"OK"` status message without a
username. This is from the user's logs:
2024-02-20T15:28:41-03:00 [ERROR] failed to deserialize response from
language server: missing field `user`. Response from language server:
"{\"status\":\"OK\"}"
The official `copilot.vim` plugin handles this as if the user is not
authenticated (!= authorized):
https://github.com/github/copilot.vim/blob/1a284014d2e0baf367706a94b2a9ee5fd56fd457/autoload/copilot.vim#L574-L579
So that's what I'm doing here too.
Release Notes:
- Fixed wrong handling of Copilot sign-in status in rare cases.
Thorsten Ball created
fd98238
Tiny change: use consistent casing in log message (#8115)
Release Notes: - N/A
Thorsten Ball created
d5aba27
Log when starting language servers (#8075)
This should help us debug more failures because we can now see what exactly was started. Release Notes: - N/A Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Max <max@zed.dev>
Thorsten Ball , Nathan , and Max created
92b2e56
Fix crash when closing last zed window (#8102)
Fixes: #8100 Release Notes: - N/A
Joseph T. Lyons created
c58d72e
Improve automatic indentation in Gleam code files (#8098)
Release Notes: - Improved automatic indentation in Gleam code files ([#7295](https://github.com/zed-industries/zed/issues/7295)).
Joseph T. Lyons created