This PR restores the insertion of the timestamp when using the `journal:
new journal entry` action.
Release Notes:
- Restored timestamp insertion when creating new journal entries.
This PR fixes the icon path for `Icon::AudioOn` so that it points to a
file that exists.
Release Notes:
- Fixed the loading of the deafen icon in the call controls.
This PR adds back the ability to follow the project host when clicking
on their name in the title bar.
Release Notes:
- Added back following the project host when clicking their name in the
title bar.
Note: There is still some consistency work to do between all the
keybinding icons. I'll tackle this at a later time.
- Adds `return`, `space`, `tab`, `escape`, `pgup` and `pgdn`
- Simplifies keybinding rendering (due to theme changes)
- Standardizes icon naming convention to use `_` everywhere.
Release Notes:
- Zed 2: Added additional keybinding icons
This PR adds an empty state for the project panel.
It will now display an "Open a project" button.
Release Notes:
- Added an empty state for the project panel.
This PR decouples the `theme_importer` from the `theme` and `gpui`
crates.
We achieve this by inlining all of the relevant bits needed to
deserialize Zed1 themes.
This will allow us to continue to import Zed1 themes after we land
#3862.
Release Notes:
- N/A
This PR decouples the `theme_importer` from the `theme` and `gpui`
crates.
We achieve this by inlining all of the relevant bits needed to
deserialize Zed1 themes.
This will allow us to continue to import Zed1 themes after we land
#3862.
Release Notes:
- N/A
This PR adds undocumented functionality for loading custom language
plugins at runtime. I don't intend to expose the functionality to end
users yet, but this will allow the team to test the capability
internally.
### Implementation
There isn't much new code in Zed. Most of the work here is within
Tree-sitter, in PRs https://github.com/tree-sitter/tree-sitter/pull/1864
and https://github.com/tree-sitter/tree-sitter/pull/2840, which allow
Tree-sitter to load languages from WASM blobs. I've tested the
functionality in Tree-sitter's test suite and via its CLI, but having it
wired into Zed allows us to test the functionality more fully.
### Details
Now, on startup, Zed will look for subdirectories inside of
`~/Application Support/plugins`. These subdirectories are expected to
look similar to the per-language subdirectories in
[`crates/zed2/src/languages`](https://github.com/zed-industries/zed/tree/main/crates/zed2/src/languages),
except that they also contain a `.wasm` file for the parser itself.
I'll add more details here as I go.
- Returning `IntoElement` because it's more universal than `Element` and
allows us to easily return components.
- Using `impl IntoElement` in `RenderOnce` for consistency, which
requires `Component` to allocate an `AnyElement`. We use a bump
allocated arena anyway for these, and my benchmark doesn't show an
impact.
![frame-time-histogram](https://github.com/zed-industries/zed/assets/1789/d3889cca-9ebc-4d72-aa68-34a5be3bad3c)
In this histogram, frames-0 is this PR, frames-1 is main.
Release Notes:
- N/A
This PR polishes off the channel buttons such that they behave as
expected.
The absolutely-positioned button container will now no longer take up
space—and thus obscure the channel name—when there are no notifications
and the channel entry is not hovered.
Release Notes:
- N/A
After talking with Max, we decided to bring back the debounce time to
the telemetry queue, only, with a longer duration than before.
Release Notes:
- N/A
This reverts commit 09951208a7, reversing
changes made to 93a818d018.
I noticed an issue where context menus were appearing in the wrong
location (shifted to the right) as a result of this change.
Release Notes:
- N/A
This PR is another pass at improving the positioning of channel buttons.
I had to employ some dirty hacks to get it to work, but I think it is
~mostly there.
Release Notes:
- N/A
For now, we'll need to deploy to `nightly` manually, using the same
scripts that we use to deploy to `preview` and `production`.
We've renamed the `deploy` script to `deploy-collab`, and added a new
script, `deploy-postgrest` that sets up the Postgrest database admin
API. We split that out, since it's not needed for environments that
share a database with prod.
Also, move postgrest service + deployment into a separate manifest
file, which is deployed via a separate script, `deploy-postgrest`.
This way, we don't have unused postgrest instances in preview and
nightly, since those use the prod database.
Co-authored-by: Conrad <conrad@zed.dev>
Adds the infractucture for settings events and specifically tracks theme
settings. Currently, we only take note of the theme at app open and when
the user switches the theme with the theme selector. Changes at the
config file are ignored, as putting code that low leads to a lot of
chances of reporting theme events when the user hasn't done anything.
This change is done in both Zed 1 and Zed 2.
I'll open up a PR on zed.dev and adjust the database accordingly.
Release Notes:
- N/A
There was a hypothesis that this would fix border rendering.
It doesn't :D; but it does at least mean that they are always
consistently
broken, so it may be easier to fix.
This PR restores the semi-transparency to the scroll bar handle colors
that were lost in #3842.
If we adjust the rendering of the scrollbar to draw the status
indicators on top of the scrollbar handle then we can remove the
transparency.
Release Notes:
- N/A
Bring Zed1 themes closer to their old appearance using the `base_theme`
values.
This will inevitably re-introduce some outstanding design issues from
Zed 1 that we will need to solve (low contrasts in some places, etc.)
We'll work on some of these in a later PR.
Known issues introduced:
- Scrollbar thumb is incorrectly drawn in front of the indicators
- Borders aren't quite correct - will fix in a followup
- Titlebar/status bar buttons will now have low contrast states
- Keybinding background color blends with palette
There are likely more issues, add them to the product checklist as you
find them.
Release Notes:
- N/A
This PR absolutely positions the channel buttons on top of the channels.
This prevents the buttons from getting pushed off the edge of the panel
when the channel names are long.
Still needs some fine-tuning, but gets us closer to where we want to be.
Release Notes:
- N/A
Previously, we changed borders to be drawn after content, so they are no
longer part of the same quads as the background. In our change, we gave
the background quad a transparent black border and the border quads
transparent black backgrounds. However, this caused the other channels
to blend toward that black color before becoming fully transparent,
causing them to become darker.
In this PR, I source the "placeholder" color by duplicating the values
for the other channels and only adjust the alpha down to zero.
Release Notes:
- N/A
This makes it a bit more approachable to implement.
This required converting the state of Component to AnyElement, which
costs an allocation. I'm hoping this will be ok performance-wise now
that AnyElements use bump allocation, but I need to benchmark still.
This PR adds general-purpose functions for obtaining a `Length` in
viewport units.
Previously in #3600 we had added specific variants of `w` and `h` that
took viewport units, but I think it makes more sense to just have a
primitive that can compose with any styling method that accepts a
`Length` or `Into<Length>`.
Release Notes:
- N/A
This PR increases the max height of the outline picker so that it can
take up a larger area of the screen when there are lots of results.
This behavior is similar to the way it was in Zed1.
Release Notes:
- N/A
This commit also changes the way search queries are built (we do not bail early anymore if include/exclude editor queries are malformed) to propagate error status of the panel.
Release Notes:
- N/A
Previously, we changed borders to be drawn after content, so they are no longer
part of the same quads as the background. In our change, we gave the background
quad a transparent black border and the border quads transparent black
backgrounds. However, this caused the other channels to blend toward that black
color before becoming fully transparent, causing them to become darker.
In this PR, I source the "placeholder" color by duplicating the values for
the other channels and only adjust the alpha down to zero.
**This PR also bumps wasmtime version from 0.38 to 2.0 as 0.38 does not
build with Rust 1.75**. I did not test the plugin runtime as (AFAIK) we
intend to deprecate it; also, wasmtime's most recent version is 16.0, so
it'd make sense to bump the version at some point anyways. I did not
bump the version to 16.0 straight away as that'd require code changes in
`plugin_runtime`.
Release Notes:
- N/A
Remove the event send timer in Zed 2 telemetry in effort to continue
reducing the amount of stress the vercel endpoint receives. This allows
the queues to fill up entirely before sending them off. I'm leaving the
timer in for Zed 1 because we don't force the events queue to clear on
app close in Zed 1, so it feels best to leave it in there, as it might
catch some unsent events before closing.
Release Notes:
- N/A
This PR applies another round of refinements to the ported Zed1 themes.
Most of this was focused around the coloration of UI text to better
match Zed1.
Release Notes:
- N/A
This PR adjusts the sizes of the current call controls in the title bar
to be smaller.
This matches the size of the other title bar items that are always
present.
Release Notes:
- N/A
This PR adjusts the size of the tab descriptions to use the extra small
label size.
This makes it easier to distinguish between the filename and the
description:
<img width="320" alt="Screenshot 2023-12-22 at 6 49 11 PM"
src="https://github.com/zed-industries/zed/assets/1486634/451d4cd0-666c-43c2-b5df-6d9cf91dacda">
It's also more in line with how things look in Zed1.
Release Notes:
- N/A
This PR is a first pass at porting the Zed1 themes to Zed2.
For the initial release of Zed2 we'll be shipping just the themes that
existed in Zed1, ported to Zed2. The new themes that were previously
added just in Zed2 have been removed.
Release Notes:
- N/A
1. Blocks (with their headers) and mouse listeners should be drawn together otherwise either starts to loose mouse events.
2. Scrollbar should be above all to match zed1 look and avoid buffer headers popping slightly to the right of the scrollbar.
The panic was caused by Cocoa synchronously invoking the
`selected_text_range` method on the registered input handler while we
already had a borrow of the app.
This pull request fixes this issue by showing the character palette on
the next tick of the loop (we've had this problem in other spots too and
used the same technique).
Release Notes:
- N/A
This PR disambiguates the macOS class names used in GPUI2 from the ones
used in GPUI1.
Right now if you happen to end up with a copy of both `gpui` and `gpui2`
in the dependency tree you get an unhelpful `unwrap` error when we try
to build the class names.
By giving them different names we are able to get to our more helpful
error that informs you that both GPUI1 and GPUI2 are in the module tree.
We can change these names back once we do the big "un-2-ing".
Release Notes:
- N/A