Commit Graph
1096 Commits
Author SHA1 Message Date
Julia 8d672f5d4c Remove NodeRuntime static & add fake implementation for tests 2023-09-06 11:18:55 -04:00
Kyle Caverly 49af2874bb 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
Kirill Bulatov 9e12df43d0 Post-rebase fixes 2023-08-31 11:53:46 +03:00
Julia ff3865a4ad Merge branch 'main' into multi-server-completions-tailwind 2023-08-30 22:58:37 -04:00
46429426ef Avoid accidental gpui transitive dependency in collab
* Make Fs depend on Text, not vise versa

Co-authored-by: Joseph <joseph@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-30 13:16:01 -07:00
Joseph T. Lyons feb7a8a0f4 collab 0.19.0 2023-08-30 14:37:55 -04:00
Joseph T. Lyons 7204c245ea v0.103.x dev 2023-08-30 13:41:09 -04:00
KCaverly 4f8b95cf0d add proper handling for open ai rate limit delays 2023-08-29 15:44:51 -04:00
Nathan Sobo 84b9c22170 Merge branch 'main' into ai-refactoring 2023-08-29 10:17:01 -06:00
Piotr Osiewicz 9aad602af7 chore: Bump memchr to 2.6.0 (#2902)
Fresh off the press, memchr 2.6.0 adds vector search routines for
aarch64. That directly improves our search performance for both text and
regex searches. Per BurntSushi's claims, the simple string searches in
ripgrep got ~2 times faster (more details available in
https://github.com/BurntSushi/memchr/pull/129).

Release Notes:

- N/A
2023-08-28 18:20:10 +02:00
Antonio Scandurra 44f554f489 Merge remote-tracking branch 'origin/main' into ai-refactoring 2023-08-28 12:16:24 +02:00
Antonio Scandurra 1fb7ce0f4a Show icon to toggle inline assist 2023-08-28 12:13:44 +02:00
Mikayla 74565ed0b8 Add feature flags handling to the client, rewrite staff mode to a trait extension style 2023-08-25 17:00:53 -07:00
Antonio Scandurra 27c90f12f6 Merge remote-tracking branch 'origin/main' into ai-refactoring 2023-08-25 13:37:32 +02:00
Kirill Bulatov 8ed280a029 Rebase fixes 2023-08-25 14:30:07 +03:00
Antonio Scandurra c1bd035875 Rework inline assistant 2023-08-25 11:39:27 +02:00
Kyle Caverly bc7e9088fe Eager Semantic Indexing Queue (#2886)
Optimization to the Semantic Indexing Engine.

We've transitioned from a framework in which the entire project tree is
walked at each index command, to an eager queuing method, in which an
initial queue of outstanding indexing work is initialized upon workspace
creation, and then subscriptions are leveraged for file change events to
continually keep an updated view on outstanding work.

This optimization contributes towards quicker user feedback, when
initializing or using Semantic Search functionality. It also opens the
doors towards better transparency across the system on outstanding
indexing work.

Release Notes:

- Refactored index operation queue to an eager queuing framework.
- Moved semantic search initialization to workspace creation.
- Adjusted rate limiting strategy on api delays to reduce time spent
waiting for rate limits.
2023-08-25 11:03:05 +02:00
Antonio Scandurra 9674b03855 Make scoring more precise by using floats when diffing AI refactors 2023-08-24 12:45:44 +02:00
Max BrunsfeldandMikayla 7e83138805 Start work on showing consistent replica ids for channel buffers
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max BrunsfeldandMikayla 1d08f44e70 Snapshot channel notes buffers when everyone leaves
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
MikaylaandMax 4eff8ad186 Add channel notes view
co-authored-by: Max <max@zed.dev>
2023-08-23 18:37:00 -07:00
MikaylaandMax a7a4e2e369 Add buffer integration test
Rearrange channel crate structure
Get channel buffer from database

co-authored-by: Max <max@zed.dev>
2023-08-23 18:34:43 -07:00
Max Brunsfeld ff5035ea37 Start work on storing channel buffers 2023-08-23 18:34:43 -07:00
Mikayla 707ca34f19 Merge branch 'main' into disclosable-component 2023-08-23 16:30:27 -07:00
Piotr Osiewicz 1320fadc30 Bump rust embed (#2883)
This is a follow-up to a recent patch I've submitted to this crate to
improve compile time and runtime (in older versions file lookup was
essentially O(n) with respect to path count, now it's O(log n))

Release Notes:

- N/A
2023-08-24 00:16:35 +02:00
KCaverly b72c4c576b catchup with main 2023-08-23 22:31:39 +02:00
Joseph T. Lyons af21546a43 collab 0.18.0 2023-08-23 14:19:24 -04:00
Joseph T. Lyons 72f0efb7b7 v0.102.x dev 2023-08-23 12:49:13 -04:00
Antonio Scandurra a9871a7a70 Add randomized tests for incremental diff 2023-08-23 09:09:01 +02:00
Nathan Sobo d375f7992d Merge branch 'main' into divs 2023-08-22 16:35:56 -06:00
Antonio Scandurra 5453553cfa WIP 2023-08-22 08:16:22 +02:00
KCaverly 3d89cd10a4 added sha1 encoding for each document 2023-08-21 16:35:57 +02:00
Antonio Scandurra 42f02eb4e7 Incrementally diff input coming from GPT 2023-08-21 15:13:26 +02:00
Piotr Osiewicz 267c0b9a3f chore: Update Cargo.lock following rodio PR (#2870)
That's merely a follow-up to a previous PR.
Release Notes:
- N/A
2023-08-21 11:33:06 +02:00
Mikayla bfd3e53dcd Implement component test page 2023-08-19 16:29:24 -07:00
Mikayla e946b0a2ec Finish building out adapters and names
Document core traits
Add start for a component storybook
2023-08-19 14:40:05 -07:00
Max Brunsfeld 09fcacdfd1 Upgrade Tree-sitter for error recovery bug fix 2023-08-18 11:31:40 -07:00
Julia c842e87079 Use updated lsp-types fork branch 2023-08-18 11:57:19 -04:00
Nathan Sobo 9b74dc196e Introduce Refinement trait and derive macro 2023-08-18 01:03:46 -06:00
Julia a979e32127 Utilize LSP completion itemDefaults a bit
Tailwind likes to throw a lot of completion data at us, this gets it to
send less. Previously it would respond to a completion with 2.5 MB JSON
blob, now it is more like 0.8 MB.

Relies on a local copy of lsp-types with the `itemDefaults` field added.
I don't have write perms to push to our fork of the crate atm, sorry :)
2023-08-17 21:57:39 -04:00
Max Brunsfeld 6eba0ef630 Return to master branch of alacritty 2023-08-17 15:31:27 -07:00
Max Brunsfeld fa0ddfa15d Use our fork of alacritty to avoid winit dependency (#2853)
Bumps `alacritty_terminal` for
https://github.com/alacritty/alacritty/pull/7149
2023-08-16 14:54:55 -07:00
Max Brunsfeld a5a212e1da Use our fork of alacritty to avoid winit dependency 2023-08-16 14:31:38 -07:00
Kirill Bulatov 8926c23bdb Extract quick_action_bar into its own crate 2023-08-16 23:38:11 +03:00
Nathan SoboandAntonio Scandurra f1aafab61d Get text rendering
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-08-16 12:50:35 -06:00
Joseph T. Lyons 07675e3c55 v0.101.x dev 2023-08-16 14:22:54 -04:00
Max Brunsfeld 442ec606d0 collab 0.17.0 2023-08-16 11:05:08 -07:00
Max Brunsfeld 4ea8b8292c Introduce channels and move collab popover contents to a collaboration panel (#2828)
### Summary

This PR introduces channels: a new way of starting collaboration
sessions. You can create channels and invite others to join them. You
can then hold a call in a channel, where any member of the channel is
free to join the call without needing to be invited.

Channels are displayed in a new panel called the collaboration panel,
which now also contains the contacts list, and the current call. The
collaboration popover has been removed from the titlebar.

![Screen Shot 2023-08-15 at 9 25 37
AM](https://github.com/zed-industries/zed/assets/326587/0f989dea-7fb7-4d50-9acd-25c8f1c30cd1)


For now, the channels functionality will only be revealed to staff, so
the public-facing change is just the move from the popover to the panel.

### To-do

* User-facing UI
  * [x] signed-out state for collab panel
  * [x] new icon for collab panel
  * [x] for now, channels section only appears for zed staff
* [x] current call section styling
(https://zed-industries.slack.com/archives/C05CJUNF2BU/p1691189389988239?thread_ts=1691189120.403009&cid=C05CJUNF2BU)
* [x] Channel members
* Channels
  * [x] style channel name editor
* [x] decide on a special "empty state" for the panel, when user has no
contacts
* [x] ensure channels are sorted in a consistent way (expose channel id
paths to client)
  * [x] Figure out layered panels UX
  * [x] Change add contacts to be the same kind of tabbed modal
* [x] race condition between channel updates and user fetches
(`ChannelStore::handle_update_contacts`)
* [x] race condition between joining channels and channel update
messages `collab::rpc::channel_updated`)
* [x] don't display mic as muted when microphone share is pending upon
first joining call

Release Notes:

- Moved the collaboration dropdown into its own panel.
- Added settings for disabling the AI assistant panel button.
- Switch to lazily initializing audio output sources
(https://github.com/zed-industries/community/issues/1840,
https://github.com/zed-industries/community/issues/1919)
2023-08-16 11:03:53 -07:00
Kirill Bulatov 1c4be24fb7 Move gpui derives tests into gpui crate to avoid dependency cycles
`cargo run` on Zed project leads to rust-analyzer evantually emitting

`[ERROR project_model::workspace] cyclic deps:
gpui_macros(Idx::<CrateData>(269)) -> gpui(Idx::<CrateData>(264)),
alternative path: gpui(Idx::<CrateData>(264)) ->
gpui_macros(Idx::<CrateData>(269))`

error after loading the project.

The PR fixes this by moving away the test to the "root" project.
2023-08-16 10:19:20 +03:00
Nathan SoboandMikayla Maki 740b105330 Merge branch 'main' into taffy
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-08-14 13:50:21 -06:00