Commit log

060966d zed 0.88.6

Max Brunsfeld created

3bb2f59 Make settings store handle no user settings (#2550)

Click to expand commit body
This fixes the crash users have been reporting with the theme selector

Mikayla Maki created

87cbbe8 zed 0.88.5

Max Brunsfeld created

b5d25a8 Avoid blocking forever on startup if config files do not exist (#2549)

Click to expand commit body
The files will still get created if the user opens their settings and
saves, otherwise everything will transparently work

Release Notes:

- Fixed an issue where a missing settings file would cause a hang on
startup
([#1590](https://github.com/zed-industries/community/issues/1590)).

Julia created

5a14acc Remove wrong assertion

Kirill Bulatov created

4b88d13 zed 0.88.4

Antonio Scandurra created

d27df5a `TextStyle::default()` ask system for known existing font family (#2542)

Click to expand commit body
Rather than assuming a specific family exists, try a set of specific
names and if they fail, just grab any old font that the system reports
as existing

Closes
https://linear.app/zed-industries/issue/Z-445/thread-main-panicked-at-called-resultunwrap-on-an-err-value-could-not

Release Notes:

* Fixed crash that could happen if system did not have a specific
fallback font

Julia created

fb2a847 v0.88.x stable

Max Brunsfeld created

2e66ab2 Add a dock-keybinding-changed one-time notification (#2546)

Click to expand commit body
This code is intended to be removed at a later date.

Release Notes:

- N/A

Mikayla Maki created

ce1e56f zed 0.88.3

Max Brunsfeld created

7e33865 Fix more issues with panels and zoom (#2545)

Click to expand commit body
Release Notes:

* Fixed the behavior of panel buttons when their panel is open. Show the
key binding for closing the containing dock (preview only).
* Improved the styling of zoomed panels and panes, giving them a
stronger border, and color the zoom button with an "active" style
(preview only).
* Improved the stability of panels' zoom state. Close their dock instead
of resetting their zoom state when dismissing panels to reveal other
items (preview only).

Max Brunsfeld created

232894d zed 0.88.2

Mikayla Maki created

fc0bfd7 Fix usability issues with new panel system. (#2544)

Click to expand commit body
This PR updates the dock key bindings according to the following model:

There are three bits: 
Visible: Opened / closed.
Focus: Panel focused / center focused.
Zoom: Zoomed / Not zoomed.

Each of these variables is 'sticky' in that they won't effect each other
unless they need to. 'Zooming' a panel conceptually merges the visible
and focus bits.

cmd-shift-j/b/r have all been removed.

cmd-j/b/r have been updated to mean 'toggle visibility of a certain
dock', firing them should *always* reveal the panel to you (where you
last left it), or hide it, without moving focus (unless the focused
element is invisible). This means that, when the terminal panel is
zoomed, cmd-j has the same effect as ctrl-`

ctrl-` and cmd-shift-e now toggle a panel's focus, without updating the
zoom state of a panel. Toggling the focus of a zoomed panel causes it to
automatically hide itself, without losing the zoom bit.

When focused or made visible, panels which cannot be zoomed
automatically unzoom everything else so as to preserve user intent of
'show me this panel' and 'everything stays where it is if I don't take
an action'

Release Notes:

- cmd-shift-j/b/r have been removed.  (preview only)
- cmd-j/b/r unconditionally show or hide their associated dock,
respecting zoom settings. (preview only)
- ctrl-` and cmd-shift-e now retain zoom state. (preview only)
- Fixed a bug where terminal dock tab would always be in the active
state (preview only)
- Fixed a bug where terminals would not always open in the terminal
panel
- Changed the look of zoomed panels to fill more of the screen (preview
only)

Mikayla Maki created

8a3a024 Scrape email from feedback editor (#2543)

Click to expand commit body
Add release note lines here:

N/A

Joseph T. Lyons created

25f79da Improves project search panel shortcut handling (#2536)

Click to expand commit body
* ESC (project_search::ToggleFocus) toggles focus from include/exclude
fields to the editor

* Cmd+Shift+F (workspace::NewSearch) can be triggered from the editor,
and moves focus to the query editor

Release Notes:

* Improved project search panel shortcut handling, allowing more actions
to trigger from panel elements

Kirill Bulatov created

81a21e3 Display external paths in history (#2534)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-1793/file-finder-external-recent-paths-are-not-rendered-properly

Long paths get trimmed, but same do many of our other elements, such as
type definitions, so I think it's ok for now:

![image](https://github.com/zed-industries/zed/assets/2690773/b8b6588d-6d6b-42db-9085-c741a40b7adb)

Also, we seem to do a lot of odd diagnostics handling on every external
stdlib file opened:

![image](https://github.com/zed-industries/zed/assets/2690773/cd82c54e-7849-46fe-a01c-79bfc5402b7b)
Other external files also emit similar messages, but not that much.
@\mikayla-maki mentioned, that this was happening before, so can be
fixed separately.
The PR adds path printing to these logs.

Release Notes:

* Fixed external files not being displayed properly in the recently
opened list in the file finder panel

Kirill Bulatov created

23a1b56 zed 0.88.1

Joseph Lyons created

4d77efd Prevent bottom dock from becoming too large or too small (#2529)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-1834/bottom-dock-can-be-dragged-down-far-enough-such-that-the-tab-bar-is

Release Notes:

- Improved the resize experience for the bottom dock, preventing it from
becoming too large or too small. (preview-only)

Antonio Scandurra created

ae04b12 Restore the ability to search terminals in the terminal panel (#2528)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-1812/find-in-terminal-panel-is-broken

![CleanShot 2023-05-25 at 15 18
01@2x](https://github.com/zed-industries/zed/assets/482957/ddb33b61-d253-4de1-961f-14b24aaa3e46)

This also removes navigation controls from the terminal panel, given
that terminals don't make use of that feature anyway. When the toolbar
is empty, we'll avoid showing it altogether.

![CleanShot 2023-05-25 at 15 17
26@2x](https://github.com/zed-industries/zed/assets/482957/52419f2c-bca0-494a-a9b3-88e183b4c12f)


Release Notes:

- Fixed a regression that was preventing the terminal panel from being
searched.

Antonio Scandurra created

e5112e1 Prevent pane from being erroneously zoomed when toggling the outline pane (#2527)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-1818/toggling-the-outline-pane-causes-the-pane-to-zoom

Add release note lines here:

- Fixed a bug that could cause panes to be erroneously zoomed when
toggling modals. (preview-only)

Antonio Scandurra created

ee63de0 Introduce the ability to talk to GPT-4 within buffers on preview and dev (#2524)

Click to expand commit body
This adds basic ability to interact with OpenAI inside a buffer.

Release Notes:

* If`OPENAI_API_KEY` is defined in your environment, you can now run the
`ai: assist` command to pass the text of your current buffer to GPT-4.
If you're editing a file with a `.zmd` extension, you can also invoke
the model with `cmd-enter.` (preview-only)

Nathan Sobo created

5bff8f2 v0.88.x preview

Joseph Lyons created

a1a66b8 Make toggle dock actions appear in the command palette (#2525)

Click to expand commit body
This makes the `Toggle{Left,Right,Bottom}Dock` actions deserializable
from empty JSON, so that they can be constructed for the command
palette. It also fixes a bug in GPUI's `available_actions` method, in
which we'd include key bindings for actions of the same type but
different values.

Note that, for now, the command palette will perform the *focusing*
version of the actions. I'm not totally sure this is the right behavior,
but it seems more useful to me.

Release Notes:

N/A

Max Brunsfeld created

66b3be8 Make toggle dock actions appear in the command palette

Max Brunsfeld created

8832248 Polish panel experience (#2523)

Click to expand commit body
In this pull request we improved key bindings (as described below) and
added tooltips.

Add these release notes to the panels release notes:

- The left, right and bottom dock can be toggled and focused at the same
time respectively via `cmd-b`, `cmd-r` and `cmd-j`. Holding `shift` will
toggle them without changing the focus.

Antonio Scandurra created

f67a228 Show keystroke in panel tooltips

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

0cf1632 Only focus new terminal if the panel contains focus

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

50cfe5e Use cmd-b/cmd-r/cmd-j to toggle left/right/bottom dock and focus when opening

Click to expand commit body
Also, bind the same keys with shift to toggle the dock without focusing.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

7534c4e Fix opening excerpt when the cursor is at the end of a multi-buffer (#2522)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-987/option-enter-doesnt-open-buffer-from-multibuffer-if-on-the-last-line

This was caused by seeking with a right bias, which in the case of the
last excerpt in the buffer would seek past the end of the buffer. This
commit changes the behavior to move the cursor back to the previous
excerpt if we overshoot, to ensure we always land on an excerpt.

Release Notes:

- Fixed a bug that prevented opening excerpts when the cursor was at the
end of a multi-buffer.

Antonio Scandurra created

2a8e082 Fix opening excerpt when the cursor is at the end of a multi-buffer

Click to expand commit body
This was caused by seeking with a right bias, which in the case of the
last excerpt in the buffer would seek past the end of the buffer.  This
commit changes the behavior to move the cursor back to the previous excerpt
if we overshoot, to ensure we always land on an excerpt.

Antonio Scandurra created

8f49552 Show maximize/minimize icon for panes and terminal panel (#2521)

Click to expand commit body
Closes
https://linear.app/zed-industries/issue/Z-1790/show-zoomunzoom-icons-for-panes-and-terminal-panel

![CleanShot 2023-05-24 at 11 07
04@2x](https://github.com/zed-industries/zed/assets/482957/b27d002c-6443-440b-88d0-cfa06d902477)

Antonio Scandurra created

e5fd953 Provide tooltips for pane buttons

Antonio Scandurra created

1a353ad Show maximize/minimize icon for panes and terminal panel

Antonio Scandurra created

9575ffc Prevent empty panes from being zoomed (#2520)

Click to expand commit body
Closes
https://linear.app/zed-industries/issue/Z-1789/empty-panes-should-not-be-zoomable

Antonio Scandurra created

168ff99 Prevent empty panes from being zoomed

Antonio Scandurra created

e463e3b Update terminal panel tooltip (#2519)

Click to expand commit body
The actions in Zed now call this the Terminal Panel and the crate is
called that as well, so I think the tooltip should be updated to use
that same name.

Release Notes:

N/A

Joseph T. Lyons created

e685786 Update terminal panel tooltip

Joseph Lyons created

ba7659f add toggle right and bottom dock actions (#2518)

Click to expand commit body
Release Notes:

N/A

Joseph T. Lyons created

2457c55 add toggle right and bottom dock actions

Joseph Lyons created

aac83ce Add architecture to clickhouse event request body (#2514)

Click to expand commit body
See title

Release Notes:

N/A

Joseph T. Lyons created

ad866c5 Update LiveKit client SDK to 1.0.12 (#2516)

Click to expand commit body
Fixes
https://linear.app/zed-industries/issue/Z-1756/screen-sharing-is-slow-and-sometimes-doesnt-work-at-all

Release Notes:

* Fixed some cases where screen-sharing would have low bitrate or
completely fail to start.

Antonio Scandurra created

774530d Update LiveKit client SDK to 1.0.12

Click to expand commit body
Co-Authored-By: Julia Risley <julia@zed.dev>

Antonio Scandurra and Julia Risley created

dcc4dd7 Allow multiple docks to be visible at once and only let them contain panels (#2450)

Click to expand commit body
Closes
https://linear.app/zed-industries/issue/Z-1188/allow-docks-to-be-visible-on-left-bottom-right

To prepare the way for the AI assistant, we want to revamp the way docks
and panels work. In this PR, we replace the dock as it currently exists
with 3 independent docks at the left, bottom, and right edge of the
workspace. To replace the "expanded" dock, we will introduce a zoom
feature that works on any pane and some panels. When showing a dock with
an active panel that is zoomed, it will automatically appear zoomed.
This replicates the expanded dock experience. If you unzoom, the panel
will still be visible.

### Panels only

We want to simplify these docks to only allow them to contain *panels*.
By doing this, we don't need to give each dock a tab bar, minimizing
clutter in the workspace. Each panel will remember its size, and the
dock will adjust to that size when the panel is toggled. This will allow
each panel to take up the amount of space that makes sense for its use
case.

There will be 3 kinds of panels:

* Project panel: This currently lives in the left "sidebar", which this
PR renames to the left dock. Users will be able to left click the icon
and switch the project panel to the right dock.
* Terminal panel: This is the primary user of the previous dock. Now all
terminals will live in a terminal panel, which can be docked at the
left, bottom, or right. This dock will contain tabs, but only for
terminals. Terminals will still be able to be dragged into the
workspace, but by default, the first new terminal will live in the
terminal panel which lives in one of the 3 docks.
* Feedback: Instead of opening a pane, let's explore making this a panel
instead.

### Status bar icons

A nice feature of this change is that it simplifies our status bar by
eliminating the dock button. We will only show icons for specific
panels. Panel in the left dock will appear at the left side of the
status bar. Panels in the right dock on the far right, panels in the
bottom will appear on the right, to the immediate left of the buttons
for right panels. Left clicking any panel button will allow it to be
redocked to any valid location for that panel.

### Paving the way for the AI assistant

I'm envisioning the assistant living in the far right panel by default.
So in the stock config, you'll have the project panel on the left,
terminal on the bottom, assistant on the right, and code in the middle.
Let's fucking go!

Antonio Scandurra created

19b817e Improve styling of bottom and right docks

Antonio Scandurra created

208ff2f Merge remote-tracking branch 'origin/main' into panels

Antonio Scandurra created

a5b5de5 Add initial project panel settings (#2515)

Click to expand commit body
This PR adds project panel settings for disabling git status.

Release Notes:

- Adds `project_panel: { git_status: bool }` to the settings, for
controlling whether git status information appears.

Mikayla Maki created

a37b1b6 Add other setting init

Mikayla Maki created

b19a712 Add init_settings to tests

Mikayla Maki created

da96802 fmt

Mikayla Maki created

7be8dea Add initial project panel settings

Mikayla Maki created