Commit log

e3ed3b8 Avoid caching zed build script if git state has changed

Max Brunsfeld created

fd6320b Finish fixing up Avatar using URI

Julia created

e53b9f5 Fix Div::active not working

Click to expand commit body
Somehow a condition got inverted and caused the bug.

Antonio Scandurra created

3567036 Remove `focus_listeners` from `Interactive`

Click to expand commit body
We're not using these anymore.

Antonio Scandurra created

44d4062 Start changing Avatar to use URI

Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>

Julia and Antonio Scandurra created

cc97b04 Buffer search channel notes (#3608)

Click to expand commit body
We were registering `deploy` only on editors, which did succeed for
channel notes; however, channel note does not have an associated
workspace (that we pulled from the editor). It made more sense to just
register these actions for a workspace, notwithstanding the editor.

This PR also fixes a bunch of cx.dispatch_action calls to call the
handler directly instead (e.g. instead of dispatching ReplaceNext we
just call buffer_search_bar.replace_next instead) as otherwise these
actions are not handled if the buffer search bar does not have the
focus.

Release Notes:

- N/A

Piotr Osiewicz created

a334a21 Prevent panes from overflowing the window (#3609)

Click to expand commit body
This PR fixes an issues where it was possible for panes to overflow the
window (for instance, by having a large number of tabs in the tab bar).

Release Notes:

- N/A

Marshall Bowers created

c0846d6 Set cursor style only if we're the active window (#3607)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

13f9fec fixup! Move away from using cx.dispatch_action in buffer search

Piotr Osiewicz created

be57059 Move away from using cx.dispatch_action in buffer search

Piotr Osiewicz created

b87c45e Set cursor style only if we're the active window

Antonio Scandurra created

4684440 Fix focus issues with gpui2 docks (#3606)

Click to expand commit body
* Fixed dock toggling not focusing the terminal element
* Fixed loosing focus on dock close (e.g. cmd-d on the last terminal in
the dock)
* Removed element stateless focus API since it would not work when the
element is not rendered, update all API usages to the stateful one via
`gpui::Subscription`

Release Notes:

- N/A

Kirill Bulatov created

0140bb8 Fix the tests

Click to expand commit body
Co-authored-by: Antonio <antonio@zed.dev>

Kirill Bulatov and Antonio created

ca8e8d1 Finish removing all dangerous focus APIs

Kirill Bulatov created

9f21fe2 Futher outline

Nate Butler created

97eae4b Improve rendering performance in `gpui2` (#3605)

Click to expand commit body
The biggest improvements come from preventing element moves where
unnecessary, and when they are absolutely needed, try to make the struct
we're moving as small as possible. Having big structs on the stack (such
as `Interactivity`) increases the cost of moving but also reduces
opportunities for other compiler optimizations (e.g., inlining).

One more notable change was using `FxHashMap` and `FxHashSet` in hot
code paths where we don't need those collections to be resistant to DoS.

Another thing I am seeing a lot in the profiler is interacting with
`StackingOrder` (cloning it, searching for it, inserting into the
`Scene`). I have some thoughts on how to optimize that but I punted on
it because performance seems to be pretty good now.

Release Notes:

- N/A

Antonio Scandurra created

6159a59 Fix assertions now that we use different hash functions

Antonio Scandurra created

2cde1a2 Re-focus window on workspace on corresponding window blur

Click to expand commit body
Co-authored-by: Antonio <antonio@zed.dev>

Kirill Bulatov and Antonio created

1c437a2 Register buffer search listener on new workspaces and not editors

Piotr Osiewicz created

717b288 Attempt to remove the dangeous element focus API

Kirill Bulatov created

43b8d65 Transfer focus to the workspace when window focus is lost

Antonio Scandurra created

137104e Fix dock panels not focusing their contents on toggle

Click to expand commit body
Co-authored-by: Antonio <antonio@zed.dev>

Kirill Bulatov and Antonio created

706dd82 Improve project panel autoreveal ergonomics (#3604)

Click to expand commit body
Part of
https://linear.app/zed-industries/issue/Z-1386/add-equivalent-setting-to-vscodes-auto-reveal-exclude
Deals with https://github.com/zed-industries/community/issues/800

* add a `project_panel::auto_reveal_entries` config entry to allow
disabling auto reveal in project panel (auto reveal is enabled by
default)
* add a `pane::RevealInProjectPanel` action (and a pane tab context menu
entry) to manually reveal any file entry
* stop auto revealing gitignored directories at all

We can add the auto reveal exclude globs later, if needed, but let's try
to keep the config simpler and start with a more minimalist approach.

Release Notes:

- Improved project panel auto reveal mechanics: gitignored files are not
auto revealed anymore; a `auto_reveal_entries = true` config option for
`project_panel` is added; a `pane::RevealInProjectPanel` action and a
corresponding buffer tab context menu were added

Kirill Bulatov created

b871f90 Use `FxHashMap` and `FxHashSet` in hot code paths

Click to expand commit body
We can also use these maps and sets in place of `SeaHasher` because
they are also deterministic. Note that we're not swapping std's
`HashMap` and `HashSet` wholesale inside of `collections` because
on the server we need cryptographically secure collections.

Antonio Scandurra created

385c830 Make each DispatchNode smaller by allocating more

Antonio Scandurra created

d9b0828 Port to gpui2

Kirill Bulatov created

721d761 Add tests

Kirill Bulatov created

f312c58 Reduce the stack size of `Interactivity` at the cost of more allocations

Antonio Scandurra created

27d6432 Rework the way project panel auto reveals entries

Click to expand commit body
* gitignored entries are never auto revealed
* `project_panel::auto_reveal_entries = true` settings entry was added,
setting it to `false` will disable the auto reveal
* `pane::RevealInProjectPanel` action was added that activates the project panel and reveals the entry it got triggered on (including the gitignored ones)

Kirill Bulatov created

e7094cc Don't move `interactivity` unnecessarily during `layout`

Antonio Scandurra created

b503edf Avoid cloning entries in `CollabPanel::render_signed_in`

Antonio Scandurra created

3767162 Start port of notification panel

Julia created

a9f817f Allow dragging and dropping files in the project panel (#3602)

Click to expand commit body
Also, fix a bug that prevented drag and drop from working in the collab
panel.

Max Brunsfeld created

6f5b106 Fix detection of topmost region under the dragged item

Click to expand commit body
Co-authored-by: Mikayla <mikayla@zed.dev>

Max Brunsfeld and Mikayla created

9cb6f66 WIP

Nate Butler created

39a115b Take a first pass at styling the welcome screen (#3601)

Click to expand commit body
This PR is a first pass at styling the welcome screen in Zed2.

Here's the current state:

<img width="1237" alt="Screenshot 2023-12-11 at 7 00 43 PM"
src="https://github.com/zed-industries/zed/assets/1486634/a0cbd5ca-7331-4785-bf46-f83fc4cb3bb6">

Release Notes:

- N/A

Marshall Bowers created

cbce49f Start work on dragging entries in the project panel

Max Brunsfeld created

a208229 Use Box instead of Rc for List event handlers

Max Brunsfeld created

149e90c vim2 (#3597)

Click to expand commit body
- MOAR TESTS

[[PR Description]]

Release Notes:

- N/A

Conrad Irwin created

75c1f0e Add `w_vw` and `h_vh` to `StyledExt` for setting sizes in viewport units (#3600)

Click to expand commit body
This PR adds `w_vw` and `h_vh` methods to `StyledExt`.

These methods are the same as their `w` and `h` counterparts, but
operate in viewport units, giving us the equivalent of `vw` and `vh` in
CSS.

You can see them in action in this story:

```
cargo run -p storybook2 -- components/viewport_units
```

Release Notes:

- N/A

Marshall Bowers created

3779316 Fix scroll tests

Click to expand commit body
For some reason in gpui2, the window contains an extra 59px of space..

Conrad Irwin created

805df4f Implement welcome view in zed2. (#3599)

Click to expand commit body
Still needs styling.

Max Brunsfeld created

bb5fa6b Implement welcome view in zed2.

Click to expand commit body
Still needs styling.

Max Brunsfeld created

3120a9c theme_importer: Fall back to inactive tab background if no active tab background set (#3598)

Click to expand commit body
This PR makes it so the `theme_importer` falls back to the inactive tab
background color if the theme doesn't not an active tab background
color.

This fixes the active tab color in the Synthwave 84 theme.

Release Notes:

- N/A

Marshall Bowers created

2d59492 Most tests now...

Conrad Irwin created

e37173f And some more

Conrad Irwin created

3baf125 All the easy tests?

Conrad Irwin created

050ff6b Adjust scrollbar track background and border colors (#3596)

Click to expand commit body
This PR adjusts the colors we pull from the VS Code themes to use for
the scrollbar track background and border.

For the scrollbar track background we now use the `editor.background`,
and for the scrollbar track border we use `editorOverviewRuler.border`.

Release Notes:

- N/A

Marshall Bowers created

d12eb05 vim2 (#3594)

Click to expand commit body
- First round of vim tests

Add `observe_keystrokes` back to gpui2
Allow multiple actions to match a given key event

[[PR Description]]

Release Notes:

- (Added|Fixed|Improved) ...
([#<public_issue_number_if_exists>](https://github.com/zed-industries/community/issues/<public_issue_number_if_exists>)).

Conrad Irwin created

1e89092 MOAR TESTS

Conrad Irwin created