Commit log

a03d062 Make the commit sha availabe in the app, via a global

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

Max Brunsfeld , Mikayla , and Kirill created

a8bea41 Put release channel back to dev

Max Brunsfeld created

6a22ab8 Fix cargo check --tests invocation

Max Brunsfeld created

5e2eb43 Check out repo outside of reusable actions

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

Max Brunsfeld , Mikayla , and Kirill created

c684f08 Wire up release_nightly workflow, to upload artifacts to DO spaces

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

Max Brunsfeld , Kirill , and Mikayla created

f44f60c WIP:

Mikayla created

6976af5 Push some sketches

Mikayla created

5cf953d Add error messages to server deployment for nightly

Mikayla created

6680e1e Create new Zed release channel: nightly

Kirill Bulatov created

9d81846 Remove binary target collisions between zed & zed2 (#3352)

Click to expand commit body
Get rid of the following warnings:

```
The example target `test_app` in package `live_kit_client2 v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client2)` has the same output filename as the example target `test_app` in package `live_kit_client v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client)`.
Colliding filename is: /Users/someonetoignore/work/zed/zed/target/debug/examples/test_app
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The example target `test_app` in package `live_kit_client2 v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client2)` has the same output filename as the example target `test_app` in package `live_kit_client v0.1.0 (/Users/someonetoignore/work/zed/zed/crates/live_kit_client)`.
Colliding filename is: /Users/someonetoignore/work/zed/zed/target/debug/examples/test_app.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.

---------------

warning: output filename collision.
The bin target `Zed` in package `zed2 v0.109.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/zed2)` has the same output filename as the bin target `Zed` in package `zed v0.113.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/zed)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/Zed.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
```

as we plant to build *.dmg of both versions for a while.

Release Notes:

- N/A

Kirill Bulatov created

89e44d4 Remove binary target collisions between zed & zed2

Kirill Bulatov created

41ac8ef Restore saving (#3351)

Click to expand commit body
and a bunch of random workspace stuff!

Release Notes:

-

Mikayla Maki created

1693718 Merge branch 'main' into saving-2

Mikayla created

9a3cd07 Restore a bunch of random workspace stuff

Mikayla created

2fb13cf Separate WrappedLines from ShapedLines (#3350)

Click to expand commit body
ShapedLines are never wrapped, whereas WrappedLines are optionally
wrapped if they are associated with a wrap width. Originally, when
rewriting GPUI, I tried to combine everything because wrapping is
inherently optional for the Text element, but we have a bunch of APIs
that don't make sense on a line that may wrap, so we need a distinct
type for that case.

This is a precursor to implementing clickable links in markdown. I
noticed multiple places where we were confused about whether or not the
line was wrapped so this felt important.

Release Notes:

- N/A

Nathan Sobo created

391ab8f Add more detail to panel switcher interaction (#3344)

Click to expand commit body
Also featuring:
* IconButton#action()
* gpui::ManagedView
* `menu_handle()`

Release Notes:

- N/A

Conrad Irwin created

9558da8 Separate WrappedLines from ShapedLines

Click to expand commit body
ShapedLines are never wrapped, whereas WrappedLines are optionally wrapped if
they are associated with a wrap width. I tried to combine everything because
wrapping is inherently optional for the Text element, but we have a bunch of
APIs that don't make sense on a line that may wrap, so we need a distinct type
for that case.

Nathan Sobo created

2d1d75f +ManagedView

Click to expand commit body
And some games with rust traits

Conrad Irwin created

2182cb2 Ooh generics

Conrad Irwin created

6d4276e Merge branch 'main' into collab_ui2

Conrad Irwin created

c0ad157 More attachment configuration for context menus

Conrad Irwin created

e67c44a Fix file-reloading race condition (#3348)

Click to expand commit body
### Summary

This PR fixes a bug that @as-cii and @osiewicz saw when the on-disk
contents of files changed due to running `git checkout` at the command
line. It caused a buffer's contents to diverge from the file's on disk
contents, but the buffer to show an *unmodified* status.

I've also introduced new APIs on gpui's deterministic executor, which
make it possible to write a test that reliably triggered the bug.

### Details

The bug is triggered by the following sequence of events:
1. A buffer's file changes on disk while the buffer is *unmodified*
2. Zed reloads the new content of the file
3. Before updating the buffer itself, Zed computes a *diff* between the
buffer's current contents, and the newly-loaded contents
4. While this diff is being computed, one of two things happens:
     1. the buffer changes on-disk *again*.
2. the user edits the buffer, but undoes the edit, so that the buffer
returns to an unmodified state

The bug itself was caused by a few things:
* The buffer diffing algorithm is pretty slow, because we perform a
character-wise diff
* We previously allowed multiple reload tasks to run concurrently
* When discarding an out-of-date diff, we failed to update parts of the
buffer's state (`saved_fingerprint`) which allow us to recognize that
the buffer's content differs from the file.

It was also difficult to reproduce the problem in tests, because under
deterministic execution, because it was extremely unlikely for other
tasks to make progress *after* a file had been reloaded, but *before*
the disk task has resolved. To help with testing, I introduced a pair of
executor APIs:

`spawn_labeled`, - for spawning a background task with a given *label*
`deprioritize_task` - for forcing tasks with a given label to run
*after* all other concurrent tasks.

I also made the `Model::next_event` test helper method more useful, in
that it no longer runs *until* parked in order to wait for the next
event to occur. It just steps the executor one poll at a time until the
model emits an event.

Release Notes:

- Fixed a bug that caused buffers to report incorrect modified/conflict
status when their buffers changed on disk multiple times in rapid
succession.

Max Brunsfeld created

32979f3 Rename deprioritize_task -> deprioritize

Click to expand commit body
It applies to a family of tasks, not a task.

Max Brunsfeld created

f3b6719 Rename both PlatformDispatcher::poll and Executor::run_step to 'tick'

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

Max Brunsfeld and Nathan Sobo created

9547e88 TEMP

Conrad Irwin created

5478889 Add storybook3

Conrad Irwin created

61bd6ba Actions‽ (#3349)

Click to expand commit body
This PR re-implements our actions with macros instead of a blanket impl.

Release Notes:

- N/A

Mikayla Maki created

432572c #RemoveThe2

Mikayla created

17b2b11 Don't update file's saved mtime when reload is aborted

Max Brunsfeld created

49d3e1c Add default derive

Mikayla created

4de2c0f Re-implement actions as derive macros instead of blanket impls

Mikayla created

0bed5e4 Port buffer reload bug fixes back to gpui1 crates

Max Brunsfeld created

5f1acae Fix race conditions and bugs in Buffer::reload

Max Brunsfeld created

89d73f7 Label the buffer's diff task so it can be deprioritized in tests

Max Brunsfeld created

b2451d9 Combine adjacent edits in buffer's diff

Max Brunsfeld created

074a221 Progress on ContextMenu

Conrad Irwin created

f9650b3 Don't run until all the way until parked when waiting for a model's next event

Max Brunsfeld created

6397c05 Add the ability to deprioritize specific labeled tasks in tests

Max Brunsfeld created

9456f71 Only send one right click event

Conrad Irwin created

83dfb19 UI size + other theme refinements (#3347)

Click to expand commit body
[[PR Description]]

- Fixes bad titlebar states when the ui scale is set very low
- Tidies up a number of workspace styles

Release Notes:

- N/A

Nate Butler created

3223e21 Add dock borders

Nate Butler created

9c5f580 Use `Selected` for active IconButtons

Nate Butler created

3d8e63b Buttons should always use `cursor_pointer`

Nate Butler created

c2d6d24 Ensure the titlebar stays large enough even with small ui sizes

Nate Butler created

a526f23 Add ui_font settings and set default rem size accordingly (#3346)

Click to expand commit body
[[PR Description]]
- Adds ui_font_family, ui_font_features, ui_font_size to settings and
default settings
- Use the new ui font settings to set the rem size when the workspace is
created.

Release Notes:

- N/A

Nate Butler created

267e074 Checkpoint, MenuHandle can open one

Conrad Irwin created

ffd092a Add ui_font_* for tests

Nate Butler created

fa9f4a9 Init rem_size in the workspace at the start of the render

Click to expand commit body
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>

Nate Butler and Mikayla Maki created

a0e9765 Salvage old distributed slice code

Mikayla created

08dddf0 Revert change to default buffer font size

Nate Butler created