Commit Graph
12022 Commits
Author SHA1 Message Date
Nate Butler 0fa09f23d9 Ignore cargo-target 2023-09-05 17:27:09 -04:00
Nate Butler dac9f722e0 Add fraction sizes for tailwind lengths 2023-09-05 17:27:00 -04:00
Joseph T. Lyons 5169d2a2ca Add operation for opening channel notes in channel-based calls (#2933)
Release Notes:

- N/A
2023-09-05 17:24:19 -04:00
Nathan Sobo 7f52943980 Fix hoverable elements moving on hover 2023-09-05 15:17:09 -06:00
Nate Butler bde13c90cb Continue collab_panel 2023-09-05 17:13:33 -04:00
Joseph T. Lyons a9bbb9b519 Add operation for opening channel notes in channel based calls 2023-09-05 17:13:09 -04:00
Nate ButlerandNathan Sobo f2a115d639 Work on sample collab_panel story in the storybook
Co-Authored-By: Nathan Sobo <1789+nathansobo@users.noreply.github.com>
2023-09-05 15:19:44 -04:00
Nathan Sobo 28cff3222a Checkpoint 2023-09-05 12:50:07 -06:00
Max BrunsfeldandMikayla 578b874f83 Implement clearing stale channel buffer participants on server restart
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-05 11:34:24 -07:00
Nathan Sobo 99cca6a51c Checkpoint 2023-09-05 12:16:21 -06:00
Kyle Caverly 368ef98dc5 Eager background indexing (#2928)
This PR ships a series of optimizations for the semantic search engine.
Mostly focused on removing invalid states, optimizing requests to
OpenAI, and reducing token usage.

Release Notes (Preview-Only):

- Added eager incremental indexing in the background on a debounce.
- Added a local embeddings cache for reducing redundant calls to OpenAI.
- Moved to an Embeddings Queue model which ensures optimal batch sizes
at the token level, and atomic file & document writes.
- Adjusted OpenAI Embedding API requests to use provided backoff delays
during Rate Limiting.
- Removed flush races between parsing files step and embedding queue
steps.
- Moved truncation to parsing step reducing the probability that OpenAI
encounters bad data.
2023-09-05 13:15:54 -04:00
Nathan SoboandNate Butler 91a2f21337 Start sketching a collab panel in storybook
Co-Authored-By: Nate Butler <nate@zed.dev>
2023-09-05 10:02:36 -06:00
Conrad Irwin 475925ea6c vim S (#2929)
Release Notes:
- vim: Add `S` to substitute line ([#1897](https://github.com/zed-industries/community/issues/1897)).
2023-09-05 09:39:08 -06:00
Conrad Irwin fd2db64316 Split ContextMenu actions (#2931)
This should have no user-visible impact.

For vim `.` to repeat it's important that actions are replayable.
Currently editor::MoveDown *sometimes* moves the cursor down, and
*sometimes* selects the next completion.

For replay we need to be able to separate the two.
2023-09-05 09:38:08 -06:00
Antonio ScandurraandKyle Caverly d271e8f54f Re-index project when a worktree is registered
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 17:17:58 +02:00
Antonio ScandurraandKyle Caverly 275a65eca0 Simplify SemanticIndex::index_project
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:54:48 +02:00
Nate Butler 7758d96629 Fix cropped search filters (#2932)
Because of the way we set up tools that add rows inside the toolbar it
is complicated to tighten up the spacing inside the toolbar.

This PR just reverts the changes I made previously. We'll need to
properly add rows below the toolbar instead of rendering search inside
of it to have non-equal height tools be able to descend from it.

Release Notes:

- Preview – Fixed an issue where search filters were partially cut off
in the UI.
2023-09-05 10:49:38 -04:00
Nate Butler e5558d4135 Fix cropped search filters 2023-09-05 10:24:49 -04:00
Antonio ScandurraandKyle Caverly 0269f9bbd8 Retrieve embeddings based on pending files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:16:12 +02:00
Antonio ScandurraandKyle Caverly 381234cb74 Move retrieval of embeddings from the db into reindex_changed_files
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-05 16:09:24 +02:00
Antonio Scandurra 8ef079b287 🎨 2023-09-05 15:52:36 +02:00
Kirill Bulatov 703e5bc49c Add LSP logs clear button (#2913)
LSP logs tend to accumulate and hinder performance (e.g. search is
slower over 20 MB of json files).
Add a way to clear them.

Release Notes:

- N/A
2023-09-05 12:11:35 +03:00
Conrad Irwin ea19a9e284 Split ContextMenu actions
This should have no user-visible impact.

For vim `.` to repeat it's important that actions are replayable.
Currently editor::MoveDown *sometimes* moves the cursor down, and
*sometimes* selects the next completion.

For replay we need to be able to separate the two.
2023-09-02 21:04:19 -06:00
Conrad Irwin c1953aca44 Use consistent naming 2023-09-02 19:52:18 -06:00
Conrad Irwin 8f09db790f Fix tests with no neovim 2023-09-02 19:43:05 -06:00
Max Brunsfeld 7010bc8263 Start work on refreshing channel buffer collaborators on server restart 2023-09-01 17:51:00 -07:00
Max Brunsfeld 77bf2ef790 Broadcast new peer ids for rejoined channel collaborators 2023-09-01 17:23:55 -07:00
Max Brunsfeld 52d80af076 executor: timers must be used 2023-09-01 16:52:41 -07:00
Max Brunsfeld 977b734848 Start work on rejoining channel buffers 2023-09-01 16:52:12 -07:00
KCaverly 73c4a76c9e update pragma settings for improved database performance 2023-09-01 17:07:20 -04:00
Conrad Irwin 8353a921d6 Fix find_{,preceding}boundary to work on buffer text (#2912)
Fixes movement::find_boundary to work on the buffer, not on display
points.

The user-visible impact is that the "until end of word" commands now
correctly go to the end of a soft-wrapped word (instead of to the first
character of the wrapped line).

It also fixes a bug where the callback passed to these methods was
called with the content of inlay hints.

[[PR Description]]

Release Notes:

- fix finding end of word on soft-wrapped lines
2023-09-01 12:14:16 -07:00
Conrad Irwin 48a79db963 vim: Add S to substitute line
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin c240a03a92 Merge branch 'main' into vim-softwrap-word 2023-09-01 12:23:56 -06:00
Conrad Irwin 74817cf6e8 Fix accidental visual selection on scroll (#2927)
Release Notes:

- vim: Fix bug where scrolling vertically would sometimes enter visual
mode
2023-09-01 10:58:10 -07:00
Conrad Irwin 6117aac1d1 Fix accidental visual selection on scroll
As part of this fix partial page distance calculations to more closely
match vim.
2023-09-01 11:14:27 -06:00
KCaverlyandMax 4d3955bbf9 updated embeddings background delay to 5 minutes
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:04:09 -04:00
KCaverlyandMax 71c698f4a9 optimize insert file in vector database
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:01:37 -04:00
Nathan Sobo fad5e69b3c Merge remote-tracking branch 'origin' into storybook 2023-09-01 10:08:48 -06:00
Nathan Sobo 1ea754b53e Fix warnings for a clean build 2023-09-01 10:08:41 -06:00
KCaverlyandAntonio 9f586c49ae flush embeddings queue when no files are parsed for 250 milliseconds
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-01 11:24:08 -04:00
KCaverlyandAntonio 0c2278d883 move embeddings queue to use single hashmap for all changed paths
Co-authored-by: Antonio <me@as-cii.com>
2023-09-01 08:59:25 -04:00
Antonio Scandurra 33ab715378 Avoid duplicate entries in inline assistant's prompt history (#2926)
Release Notes:

- Improved the inline assistant's prompt history to avoid including the
same entry multiple times. (preview-only)
2023-09-01 09:20:14 +02:00
Antonio Scandurra 48467b59fa Avoid duplicate entries in inline assistant's prompt history 2023-09-01 09:15:29 +02:00
Max Brunsfeld 16a698c3fb Remove the concept of a local clock; use lamport clocks for all per-replica versioning (#2924)
### Background

Currently, our CRDT uses three different types of timestamps:

| clock type | representation | purpose |
|-----|----------------|----------|
| `Local` | replica id + u32 | uniquely identifies operations |
| `Lamport` | replica id + u32 | provides a consistent total ordering
for all operations |
| `Global` | N local clocks | fully defines the partial ordering between
all concurrent operations |

All text operations include *each* type of timestamp. And every
`Fragment` in a buffer's fragment tree contains both a local and a
lamport timestamp.

### Change

An operation can be uniquely identified by its lamport timestamp, so we
don't really need a concept of a local timestamp. In this PR, I've
removed the concept of a local timestamp. Version vectors
(`clock::Global`) now store vectors of *lamport* timestamps.

Eliminating local timestamps reduces the memory footprint of a buffer by
four bytes per fragment, reduces the size of our `UpdateBuffer` RPC
messages, and reduces the amount of data we need to store in our
database for channel buffers. It also makes our CRDT a bit easier to
understand, IMO, because there is now only one scalar value that we
increment per replica.

It's possible I'm missing something here though. @as-cii, @nathansobo
it'd be good to get your 👀
2023-08-31 16:47:08 -07:00
Max Brunsfeld dcc212f176 Renumber protobuf fields, bump protocol version 2023-08-31 16:31:26 -07:00
Max Brunsfeld fe943bc46b Remove local timestamps from CRDT operations
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
KCaverly 30060ea614 WIP: work towards wiring up a embeddings_for_digest hashmap that is stored for all indexed files 2023-08-31 16:42:39 -04:00
Max Brunsfeld 9a976f26b1 Assistant: propagate cancel action if there is no pending inline assist (#2923)
Release Notes:

- Fixed a bug where modals could not be dismissed with `escape` when
certain views were active in the workspace (preview only).
2023-08-31 11:17:09 -07:00
Max Brunsfeld 2492d07a27 Propagate Cancel action if there is no pending inline assist 2023-08-31 11:09:36 -07:00
KCaverly 5ccef1e27e fill embeddings with database values and skip during embeddings queue 2023-08-31 13:19:17 -04:00