This will help us debug a panic we're seeing in their internals.
In order to make this work, I've temporarily forked async-tls with:
https://github.com/async-rs/async-tls/pull/59/files
Closes #ISSUE
Release Notes:
- N/A
Conrad Irwin
created
a8741dc
Migrate more events to telemetry::event! macro (#24102)
Click to expand commit body
I believe this takes care of the remaining events running through the
old flow that requires transformation at the collab server level. I
think all events are now going through `telemetry::event!()`.
For anyone curious where the new telemetry names are coming from, you
can check the `for_snowflake` function within
`crates/collab/src/api/events.rs`, to see how collab is currently
transforming the events going through the old flow.
Release Notes:
- N/A
Joseph T. Lyons
created
a864168
Enable collaborating editing of the commit message input inside the git panel (#24130)
Click to expand commit body
https://github.com/user-attachments/assets/200b88b8-249a-4841-97cd-fda8365efd00
Now all users in the collab/ssh session can edit the commit input
collaboratively, observing each others' changes live.
A real `.git/COMMIT_EDITMSG` file is opened, which automatically enables
its syntax highlight, but its original context is never used or saved on
disk — this way we avoid stale commit messages from previous commits
that git places there.
A caveat: previous version put some effort into preserving unfinished
commit messages on repo swtiches, but this version would not do that
— instead, it will be blank on startup, and use whatever
`.git/COMMIT_EDITMSG` contents on repo switch
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Kirill Bulatov
and
Cole Miller
created
6b48a6e
workspace: Respect minimized state when deserializing workspaces (#24127)
Click to expand commit body
Fixes a regression from #24015 pointed out in #24093
Closes #24093
Release Notes:
- N/A
Add support for go fuzz tests.
Closes #23809
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Christian Borup
and
Piotr Osiewicz
created
8edcaec
inline completion: Merge `disabled_globs` setting with default values (#24122)
Click to expand commit body
This ensures that the following files are always ignored:
```
"**/.env*"
"**/*.pem"
"**/*.key"
"**/*.cert"
"**/*.crt"
"**/secrets.yml"
```
Release Notes:
- N/A
Bennet Bo Fenner
created
eb820ab
inline completion: Respect `disabled_globs` when manually requesting completions (#24121)
Click to expand commit body
When requesting completions manually with `editor: Show inline
completion`, we did not check if completions are actually disabled for
the current file (`inline_completions > disabled_globs`)
Release Notes:
- Fixed an issue where the `inline_completions > disabled_globs` setting
would not be respected when manually requesting a completion (`editor:
Show inline completion`)
Bennet Bo Fenner
created
08c834c
cli: Instruct in `--help` how to run to see all logs (#24112)
Click to expand commit body
Release Notes:
- N/A
João Marcos
created
52aed48
Use `prettier` to fix formatting in `docs/src/languages/lua.md` + fix typo (#24118)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
f14ef40
Conditionally render divider between button groups in the status bar (#24114)
Click to expand commit body
In the left hand status bar, there are two groups of buttons. There was
a border between the two hardcoded on the first button of the second
group, however, if all buttons in the first group are hidden, the border
doesn't need to be rendered.
(Not handled in this PR) A potentially better approach would be to
change StatusBar's definition from `left_items` and `right_items` to
`left_groups` and `right_groups`, and render dividers between each group
of items. That seemed like a bigger refactor than I wanted to handle for
now, but is an option for the future.
If you use these settings on `main`, the border will show, but with
nothing to the left of it.
```json
{
"collaboration_panel": {
"button": false
},
"outline_panel": {
"button": false
},
"project_panel": {
"button": false,
},
}
```
Screenshots:
Before:
<img width="117" alt="Screenshot 2025-02-02 at 6 19 24 PM"
src="https://github.com/user-attachments/assets/b3401b47-6172-4392-9277-31aa1affaf7a"
/>
<img width="134" alt="Screenshot 2025-02-02 at 6 20 12 PM"
src="https://github.com/user-attachments/assets/1e8caee6-1da8-47f6-8499-9a93b6d8fa27"
/>
After:
<img width="125" alt="Screenshot 2025-02-02 at 6 19 58 PM"
src="https://github.com/user-attachments/assets/9b9f421c-660b-41cb-80e0-acb774c66054"
/>
<img width="132" alt="Screenshot 2025-02-02 at 6 20 20 PM"
src="https://github.com/user-attachments/assets/87e0e475-084b-44df-b820-573c68728c1a"
/>
Release Notes:
- Conditionally render divider in status bar
---------
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Kevin Sweet
and
Danilo Leal
created
1d3e9b2
docs: Update completion keybindings and fix typos (#24113)
1301c41
Add direnv `.envrc` to `.gitignore` (#24115)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
1dd2bbe
docs: Add lua-language-server formatter example (#24105)
Peter Tripp
created
4885ace
workspace: Prevent clicks from falling through on some notifications (#24104)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
691de6b
Add `#[track_caller]` to gpui foreground executor spawn methods (#24103)
Click to expand commit body
Use of this location info was added in #21758 to help with diagnosing
remote_server panics on drop of tasks on a different thread.
Release Notes:
- N/A
Adds a text property for controlling left, center, or right text
alignment.
#8792 should stay open since this doesn't add support for `justify`
(which would require a much bigger change since this can just alter the
origin of each line, but justify requires changing spacing, whereas
justify requires changes to each platform's shaping code).
Release Notes:
- N/A
someone13574
created
4a65315
gpui: Switch from `linkme` to `inventory` for action registration (#24087)
Click to expand commit body
This switches how actions are registered in GPUI from
[dtolnay/linkme](https://github.com/dtolnay/linkme) to
[dtolany/inventory](https://github.com/dtolnay/inventory), fixing the
linking error seen in #15902, which also occurs on nightly toolchains.
I'm not sure if that issue should be closed or not given the other
problems on Chimera though.
This also fixes zed-industries/create-gpui-app#10
Release Notes:
- N/A
someone13574
created
f4f51c1
Remove /workflow command as not existing anymore #2 (#24097)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/24095
Release Notes:
- N/A
Kirill Bulatov
created
f7d2b53
Remove /workflow command as not existing anymore (#24095)
Click to expand commit body
Based on
https://github.com/zed-industries/zed/issues/16913#issuecomment-2629424808
Follow-up of https://github.com/zed-industries/zed/pull/19900
Release Notes:
- N/A
Kirill Bulatov
created
2f82374
Switch GitHub Copilot Chat from o1-mini to o3-mini (#24080)
af461f8
assistant: Use GPT 4 tokenizer for `o3-mini` (#24068)
Click to expand commit body
Sorry to dump an unsolicited PR for a hot feature! I'm sure someone else
was taking a look at this.
I noticed that token counting was disabled and I was getting error logs
of the form `[2025-01-31T22:59:01-05:00 ERROR assistant_context_editor]
No tokenizer found for model o3-mini` when using the new model. To fix
the issue, this PR registers the `gpt-4` tokenizer for this model.
Release Notes:
- openai: Fixed Assistant token counts for `o3-mini` models
Roshan Padaki
created
f6824e3
Move scheme extension to zed-extensions/scheme (#24078)
Click to expand commit body
New home: https://github.com/zed-extensions/scheme
- See also: https://github.com/zed-industries/extensions/pull/1981
39d45bc
Update docs for running collab locally (again) (#24069)
Click to expand commit body
Release Notes:
- N/A
João Marcos
created
d0152f9
vim: Add keybindings for resizing docks (#23874)
Click to expand commit body
Closes #23334
This does not follow the exact way that windows are resized in vim.
Normally the command is `ctrl-w >` however this PR uses just `ctrl->`.
This is because I could not find a good way to read in a count like `10
ctrl-w ctrl->`. This is not really a problem since `ctrl->` can be held
down, which, in my opinion, speeds up resizing. I think this is a good
compromise since it improves usability; however, I am concerned that
this is not intuitive. I am looking forward to feedback.
Release Notes:
- Added the following commands
- vim::ResizeLeftDock
- vim::ResizeRightDock
- vim::ResizeBottomDock
- Added keybinds
- `ctrl->` for widening left dock
- `ctrl-<` for narrowing left dock
AidanV
created
a3c7dc3
vim: Add textobject `e` for entire file (#24039)
Click to expand commit body
Co-Authored-By: Thomas Heartman <zed@thomasheartman.com>
Release Notes:
- vim: Add `e` for entire file object. `yae` to copy entire file
Co-authored-by: Thomas Heartman <zed@thomasheartman.com>
Conrad Irwin
and
Thomas Heartman
created
66e2028
git_ui: More git panel refinement (#24065)
Click to expand commit body
- Removes flakey keybindings from buttons
- Moves git panel entries to use a standard ListItem
- Show a repo selector in the panel when more than one repo is present
- Remove temporary repo selector from title bar
Release Notes:
- N/A
Nate Butler
created
52a3013
editor: Push `em` width calculations down into `EditorSnapshot::gutter_dimensions` (#24062)
Click to expand commit body
This PR removes the `em_width` and `em_advance` parameters to
`EditorSnapshot::gutter_dimensions` in favor of computing the values
inside of it.
In practice all of the callers were passing in the same values, and
there isn't a circumstance where we would want to pass in different
values.
`gutter_dimensions` has also been modified to return
`Option<GutterDimensions>` instead of `GutterDimensions` so that we can
remove some `.unwrap`s when interacting with the text system.
Release Notes:
- N/A
In support of work on
https://github.com/zed-industries/zed/tree/new-ui-for-edit-prediction-with-lsp-completions,
where we want to be able to extract a range of the buffer as
`HighlightedText`.
Release Notes:
- N/A
Michael Sloan
created
9a6b9e3
Use different commit author for collab project clients (#24058)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/23869
* Retrieves user + email for collab project clients and use these when
such users commit
Same as in https://github.com/zed-industries/zed/pull/23329, "is it the
right user name and e-mail" and "how to override these" questions apply.
* If this data is unavailable, forbid committing to the remote client
* Forbid running related actions in git panel, if committing/writing is
not permitted
Release Notes:
- N/A
In support of work on
https://github.com/zed-industries/zed/tree/new-ui-for-edit-prediction-with-lsp-completions,
where we want to be able to extract a range of the buffer as
`HighlightedText`.
Release Notes:
- N/A
This PR adds a new `wait_for_flag_or_timeout` method to the
`FeatureFlagAppExt` trait.
This encapsulates the somewhat gnarly code for using `wait_for_flag`
with a timeout.
A side benefit of this is that the tasks waiting on the feature flags
run in parallel, so in the case where the feature flags do not resolve
we don't end up having to wait on consecutive timeouts. This should help
a bit with https://github.com/zed-industries/zed/issues/23922.
Release Notes:
- N/A
Marshall Bowers
created
3af37dd
lmstudio: Support missing quantization in model metadata (#24054)
Click to expand commit body
- Closes https://github.com/zed-industries/zed/issues/23764
Certain models do not include `quantization` parameter from lm studio rest API.
Forgot to run default.json through prettier in #24051. Oops.
Peter Tripp
created
1e96663
assistant_context_editor: Don't block `ContextStore` initialization on reloading contexts (#24052)
Click to expand commit body
This PR changes the `ContextStore` constructor to not block on reloading
the contexts before we finish initializing it.
I noticed that the Assistant panel was taking a long time to show up in
the status bar, and upon further investigation uncovered that with a
large number of contexts (I have ~320) it takes a long time to load them
all.
Release Notes:
- N/A
Marshall Bowers
created
de3702b
Improve inline_completions.disabled_globs in default.json (#24051)
Click to expand commit body
Make sure that inline completions (Copilot, etc) are disabled for more secret globs (matches `private_files`)
e42b6e6
Do less git metadata rescans on FS events (#24034)
Click to expand commit body
A preparation for collaborative commit message editing.
Before, almost any `.git`-contained file FS update, except
`.git/fsmonitor--daemon/cookies/**` caused git metadata rescan.
This included `index.lock` that was created after any git operation,
e.g. `git status`, which was unnecessary.
Collaborative editing aims to share `.git/COMMIT_EDITMSG` between
multiple users, so there are potentially multiple users editing the file
and causing excessive events.
The change makes worktree to ignore .git/COMMIT_EDITMSG`,
`.git/index.lock` and `.git/fsmonitor--daemon/**` paths and adjusts the
logic to be more extensible: there's much more files Zed can ignore and
still have its git metadata up to date.
Release Notes:
- N/A
Kirill Bulatov
created
0c94bdc
gpui: Update docs to reflect removal of View, ViewContext, WindowContext (#24008)
Click to expand commit body
This PR updates function signatures, docstrings, and gpui's other
documentation to reflect it's new state following the merge of `Model`
and `View` into `Entity` as well as the removal of `WindowContext`.
Release Notes:
- N/A
someone13574
created
027fe1b
Ensure pane where search buttons are clicked is focused before dispatching action (#24037)
Click to expand commit body
Closes #23906
Note: Changes the focused pane when search UI is interacted with on an
unfocused pane rather than leaving the focused pane unchanged as
focusing on click is more likely to be the expected behavior
Release Notes:
- Fixes an issue with search actions so that they now execute on the
clicked pane rather than the focused pane when using search UI in
multiple panes
Ben Kunkle
created
990bdde
gpui: Add helper methods for em width and em advance (#24036)
Click to expand commit body
This PR adds two helpers methods to the `TextSystem`:
- `em_width`
- `em_advance`
These methods return the width and advance width for an `em`,
respectively.
We were using these definitions in a number of different spots, and by
unifying them we better canonicalize that an `em` is based on the `m`
character.
Release Notes:
- N/A
Marshall Bowers
created
af6548c
docs: Remove lingering docs for `default_dock_anchor` (#24029)
Click to expand commit body
This PR removes some lingering docs leftover after `default_dock_anchor`
was removed.
These were missed in https://github.com/zed-industries/zed/pull/18210.
Closes https://github.com/zed-industries/zed/issues/24023.
Release Notes:
- N/A
Marshall Bowers
created
6f46728
Fix data collection permission asked multiple times for same worktree (#24016)
Click to expand commit body
After the user confirmation, only the current instance of the
completions provider had the answer stored.
In this PR, the changes are propagated by having each provider have an
`Entity<choice>`, and having a lookup map with one `Entity<choice>` for
each worktree that `Zeta` has seen.
Release Notes:
- N/A
João Marcos
created
be4c3cf
workspace: Make "New Window" bring app to foreground (#24015)
Click to expand commit body
Closes #ISSUE
Release Notes:
- "New Window" action will now bring App to foreground.
Piotr Osiewicz
created
0ad2aeb
Enable word wrap in feedback modal (#23893)
Click to expand commit body
https://zed-industries.slack.com/archives/C04S7CZPF4M/p1738151539115169
Release Notes:
- Enable word wrap in the feedback modal
Conrad Irwin
created
f2b3f3a
Allow buffer search in project search (#23819)
Click to expand commit body
Closes #13437
Closes #19993
Release Notes:
- Allow searching within the results of a project search
- vim: Fix `/`/`?`, `n`/`N`, `gn`/`gN`,`*`/`#` in project search results
---------
Co-authored-by: Nico <nico.lehmann@gmail.com>
Closes #ISSUE
Release Notes:
- N/A
------------
I just make a little change to improve `index_for_position` to support
return closest index for position.
I need this method to measure for position cursor in multi-line mode
TextInput.
https://github.com/longbridge/gpui-component/pull/583
https://github.com/user-attachments/assets/c69d098e-d2cb-4053-b739-6c7dd666e769
Before this change, GPUI have `LineLayout::closest_index_for_x` method
for unwrapped line case.
https://github.com/zed-industries/zed/blob/d1be419fff415329b38f26aff90488700702c82a/crates/gpui/src/text_system/line_layout.rs#L58-L94
This change is equivalent to making `index_for_position` have a
corresponding method to get the closest index like `index_for_x`.
Jason Lee
created
cb15753
Fix clipping at end of line in vim mode with inlay hints (#23975)
Click to expand commit body
Closes #23877
Co-Authored-By: Ben <ben@zed.dev>
Co-Authored-By: Michael <michael@zed.dev>
Release Notes:
- vim: Fix navigating to end of line with inlay hints
---------
Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Michael <michael@zed.dev>