Commit Graph
8460 Commits
Author SHA1 Message Date
Max Brunsfeld d03a89ca19 Rejoin channel notes after brief connection loss (#2930)
* [x] Re-send operations that weren't sent while disconnected
* [x] Apply other clients' operations that were missed while
disconnected
* [x] Update collaborators that joined / left while disconnected
* [x] Inform current collaborators that your peer id has changed
* [x] Refresh channel buffer collaborators on server restart
* [x] randomized test
2023-09-06 15:11:21 -07:00
Max Brunsfeld 58f58a629b Tolerate channel buffer operations being re-sent 2023-09-06 14:58:25 -07:00
Max Brunsfeld b75e69d31b Check that channel notes text converges in randomized test 2023-09-06 14:25:07 -07:00
Max Brunsfeld e779adfe46 Add basic randomized integration test for channel notes 2023-09-06 14:09:36 -07:00
Max Brunsfeld 66c3879306 Extract randomized test infrastructure for use in other tests 2023-09-06 14:08:43 -07:00
KCaverly 265d02a583 update request timeout for open ai embeddings 2023-09-06 15:09:46 -04:00
KCaverly 17237f748c update token_count for OpenAIEmbeddings to accomodate for truncation 2023-09-06 15:09:15 -04:00
Joseph T. Lyons f4237ace40 collab 0.20.0 2023-09-06 13:33:39 -04:00
Joseph T. Lyons 15609b4803 v0.104.x dev 2023-09-06 12:53:50 -04:00
Nathan Sobo a2e91e45d9 Use preview server when not on stable (#2909)
This PR updates our client code to connect to preview whenever we're not
on stable. This will make it more likely that we'll be able to
collaborate on a dev build, but obviously won't work if there's a
protocol change on main that hasn't made its way to preview yet.
2023-09-06 10:09:08 -06:00
Julia 8d672f5d4c Remove NodeRuntime static & add fake implementation for tests 2023-09-06 11:18:55 -04:00
Joseph T. Lyons 653d4976cd Add operation for opening channel notes in channel based calls 2023-09-05 17:13:09 -04:00
Max BrunsfeldandMikayla ec5ff20b4c Implement clearing stale channel buffer participants on server restart
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-05 11:34:24 -07: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
Conrad Irwin c2c04616b4 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 27143e2fb4 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
Kirill Bulatov 42976b6014 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 56db21d54b 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 55dd0b176c Use consistent naming 2023-09-02 19:52:18 -06:00
Conrad Irwin 3a7b551e33 Fix tests with no neovim 2023-09-02 19:43:05 -06:00
Max Brunsfeld 6827ddf97d Start work on refreshing channel buffer collaborators on server restart 2023-09-01 17:51:00 -07:00
Max Brunsfeld e6babce556 Broadcast new peer ids for rejoined channel collaborators 2023-09-01 17:23:55 -07:00
Max Brunsfeld d7e4cb4ab1 executor: timers must be used 2023-09-01 16:52:41 -07:00
Max Brunsfeld d370c72fbf Start work on rejoining channel buffers 2023-09-01 16:52:12 -07:00
KCaverly 8dbc0fe033 update pragma settings for improved database performance 2023-09-01 17:07:20 -04:00
Conrad Irwin af12977d17 vim: Add S to substitute line
For zed-industries/community#1897
2023-09-01 13:13:59 -06:00
Conrad Irwin aa7b65bbaf Merge branch 'main' into vim-softwrap-word 2023-09-01 12:23:56 -06:00
Conrad Irwin 6d7949654b 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 54235f4fb1 updated embeddings background delay to 5 minutes
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:04:09 -04:00
KCaverlyandMax e86964eb5d optimize insert file in vector database
Co-authored-by: Max <max@zed.dev>
2023-09-01 13:01:37 -04:00
KCaverlyandAntonio 524533cfb2 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 c4db914f0a 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 d868ec920f Avoid duplicate entries in inline assistant's prompt history 2023-09-01 09:15:29 +02:00
Max Brunsfeld 1e60454643 Renumber protobuf fields, bump protocol version 2023-08-31 16:31:26 -07:00
Max Brunsfeld 03f0365d4d Remove local timestamps from CRDT operations
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
KCaverly afa59abbcd 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 eecd4e39cc Propagate Cancel action if there is no pending inline assist 2023-08-31 11:09:36 -07:00
KCaverly 50cfb067e7 fill embeddings with database values and skip during embeddings queue 2023-08-31 13:19:17 -04:00
Antonio Scandurra 220533ff1a WIP 2023-08-31 18:00:57 +02:00
Antonio ScandurraandKyle Caverly 2503d54d19 Rename Sha1 to DocumentDigest
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 18:00:36 +02:00
Antonio ScandurraandKyle Caverly 3001a46f69 Reify Embedding/Sha1 structs that can be (de)serialized from SQL
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 17:55:43 +02:00
Kirill Bulatov fe2300fdaa Style the clear button better, add border to button constructor options 2023-08-31 18:31:21 +03:00
Kirill Bulatov 7b5974e8e9 Add LSP logs clear button 2023-08-31 18:31:21 +03:00
Antonio ScandurraandKyle Caverly c763e728d1 Write to and read from the database in a transactional way
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 16:59:54 +02:00
Antonio ScandurraandKyle Caverly 35440be98e Abstract away how database transactions are executed
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-08-31 16:54:11 +02:00
Kirill Bulatov ddc6214216 Tailwind autocomplete (#2920)
Release Notes:
- Added basic Tailwind CSS autocomplete support
([#746](https://github.com/zed-industries/community/issues/746)).
2023-08-31 16:55:46 +03:00
Kirill Bulatov 5731ef51cd Fix plugin LSP adapter intefrace 2023-08-31 15:32:24 +03:00
Kirill Bulatov e682db7101 Route completion requests through remote protocol, if needed 2023-08-31 15:22:13 +03:00
Kirill Bulatov 5bc5831032 Fix wrong assertion in the test 2023-08-31 14:31:43 +03:00
Kirill Bulatov 292af55ebc Ensure all client LSP queries are forwarded via collab 2023-08-31 14:29:37 +03:00