Mikayla
dadad397ef
Finish optimizing channel representations and operations
2023-09-18 20:24:37 -07:00
Piotr Osiewicz
616d328f3c
chore: Use aho-corasick 1.1 in direct dependencies ( #2983 )
...
Nothing too fancy, we've depended indirectly on 1.0/1.1 already, so this
is essentially bookkeeping.
Release Notes:
- N/A
2023-09-18 17:01:08 +02:00
Mikayla
5f9c56c8b0
WIP: Send the channel name and the channel edges seperately, so we're not repeating them constantly
...
This commit is currently broken and includes debug data for a failed attempt at rewriting the insert_edge logic
2023-09-15 17:57:23 -07:00
Mikayla
363867c65b
Make DAG tests order independent
2023-09-15 13:44:01 -07:00
Mikayla
52057c5619
Simplify path representation in collab panel
...
Optimize set representation in collab
2023-09-15 13:35:46 -07:00
Mikayla
5400605483
Fix merge conflicts
2023-09-15 12:30:26 -07:00
Mikayla
f9fff3a7b2
fmt
2023-09-15 11:39:56 -07:00
Mikayla
d424e27164
Finish testing new channel store client behavior
2023-09-15 11:39:56 -07:00
Mikayla
67ad75a376
Clean up implementation of channel index, get simple channel moving test cases working
2023-09-15 11:39:56 -07:00
Mikayla
9afb67f2cf
Implement final move, link, unlink db APIs
2023-09-15 11:39:56 -07:00
Mikayla
7fa68a9aa4
WIP: improve move and link handling around 'root paths', currently very incorrect and in need of a deeper rework
2023-09-15 11:39:56 -07:00
Mikayla
cda54b8b5f
Improve database and RPC API for moving and linking channels, improve test legibility
2023-09-15 11:39:55 -07:00
Mikayla
3a62d2988a
Finish integration tests for channel moving
...
Refactor channel store to combine the channels_by_id and channel_paths into a 'ChannelIndex'
2023-09-15 11:23:43 -07:00
Mikayla
9e68d4a8ea
WIP: Add channel DAG related RPC messages, change update message
2023-09-15 11:23:12 -07:00
Mikayla
49fbb27ce9
Improve channel deletion to be DAG aware
2023-09-15 11:20:04 -07:00
Mikayla
bd9e964a69
Add removing of previous channel channel, allowing for channel moving operations
2023-09-15 11:20:04 -07:00
Mikayla
fc78db39ef
Expand DAG tests to include more complex tree operations and removal behavior
2023-09-15 11:20:04 -07:00
Mikayla
d5512fad0d
Add channel linking operation
2023-09-15 11:20:04 -07:00
Mikayla
aa9a9be7e9
Add channel moving test
2023-09-15 11:20:04 -07:00
Max Brunsfeld
59269d422b
Allow deleting chat messages
2023-09-14 16:29:40 -07:00
Max Brunsfeld
9d8c6a7ed1
Merge branch 'main' into chat-again
2023-09-14 14:50:45 -07:00
Max Brunsfeld
877d67b97d
Provide an admin REST API for use by zed.dev ( #2962 )
...
We're using [PostgREST](https://hub.docker.com/r/postgrest/postgrest )
Todo:
* [x] Add instructions for installing postgrest to local development
docs
* [x] Deploy to staging
* [x] Deploy to production
* [x] Add DNS record for `admin-staging.zed.dev` pointing to the staging
db
* [x] Add a DNS record for `admin.zed.dev` pointing to the production db
2023-09-14 13:48:54 -07:00
Max Brunsfeld
18c899a0a8
Remove dead code for old admin pages
2023-09-13 15:02:59 -07:00
Max Brunsfeld
dddd37f8a6
Run postgrest as part of foreman
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 12:32:15 -07:00
Max Brunsfeld
3910efe3ab
Use PostgREST instead of pgAdmin
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-13 11:47:20 -07:00
Joseph T. Lyons
974bc07631
collab 0.21.0
2023-09-13 13:34:08 -04:00
Max Brunsfeld
c4a5caa587
Get pgadmin loading the passfile
2023-09-13 10:05:13 -07:00
Max Brunsfeld
94db0be3ec
Start work on deploying pgAdmin to k8s cluster
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-12 21:06:43 -07:00
Max Brunsfeld
54838664ae
Retrieve load balancer certificate id from DigitalOcean on each deploy
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-09-12 21:04:59 -07:00
Max Brunsfeld
1c50587cad
Remove channel chat participant when connection is lost
2023-09-11 17:37:05 -07:00
Max Brunsfeld
f2112b9aad
Rejoin channel chats upon reconnecting
2023-09-11 17:11:33 -07:00
Max Brunsfeld
ddda5a559b
Restore chat functionality with a very rough UI
2023-09-08 09:59:35 -07:00
Max Brunsfeld
da5a77badf
Start work on restoring server-side code for chat messages
2023-09-07 16:32:49 -07:00
Max Brunsfeld
3422eb65e8
Restore channel chat model and panel view
2023-09-07 11:38:27 -07:00
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
Joseph T. Lyons
f4237ace40
collab 0.20.0
2023-09-06 13:33:39 -04:00
Max Brunsfeld
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
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
d370c72fbf
Start work on rejoining channel buffers
2023-09-01 16:52:12 -07:00
Max Brunsfeld
03f0365d4d
Remove local timestamps from CRDT operations
...
Use lamport timestamps for everything.
2023-08-31 16:23:06 -07:00
Kirill Bulatov
ab49f8c592
Rewrite inlay hint collab tests to remove races
2023-08-31 00:37:00 +03:00
Max Brunsfeld
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
Max Brunsfeld
791f6cf9e7
Update some tests to reflect code action debouncing
2023-08-28 17:45:32 -07:00
Mikayla Maki
8ddee0e58d
Server-sent feature flags ( #2894 )
...
This PR adds the wiring to both the server and the client for sending
and receiving individual feature flags, as well as a client side API for
convenient access to these feature flags.
Release Notes:
- N/A
2023-08-25 17:11:33 -07:00
Piotr Osiewicz
2495d6581e
Un serialize project search ( #2857 )
...
This is the first batch of improvements to current project search. There
are few things we can do better still, but I want to get this out in
next Preview.
Most of the slowness at this point seems to stem from updating UI too
often.
Release Notes:
- Improved project search by making it report results sooner.
---------
Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-26 01:31:52 +02:00
Mikayla
6fdf101745
Update database and RPC to provide configured feature flags
2023-08-25 14:34:32 -07:00
Max Brunsfeld
404f76739c
Format let-else statements
2023-08-25 10:11:32 -07:00
Max Brunsfeld
c7c220309d
Avoid creating redundant snapshots of channel notes buffers
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 16:55:45 -07:00
Max Brunsfeld
358a20494c
Make channel notes read-only when disconnected
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 16:50:13 -07:00
Max Brunsfeld
1ae54ca620
Dedup channel views
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 14:29:04 -07:00
Max Brunsfeld
5888e7b214
Dedup channel buffers
2023-08-24 13:40:44 -07:00
Max Brunsfeld
24141c2f16
Ensure collaborators cursor colors are the same in channel buffers as in projects
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 11:31:41 -07:00
Max Brunsfeld
3268cce41a
Fix error in update_channel_buffer when there are no operations to store
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 11:26:22 -07:00
Max Brunsfeld
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 Brunsfeld
11ef5e2740
Simplify buffer_operations schema
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Max Brunsfeld
1d08f44e70
Snapshot channel notes buffers when everyone leaves
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:37:01 -07:00
Mikayla
4eff8ad186
Add channel notes view
...
co-authored-by: Max <max@zed.dev>
2023-08-23 18:37:00 -07:00
Mikayla
5a0315c4d5
Achieve end to end channel buffer synchronization
...
co-authored-by: max <max@zed.dev>
2023-08-23 18:34:43 -07:00
Max Brunsfeld
95ea664725
WIP
2023-08-23 18:34:43 -07:00
Max Brunsfeld
71611ee7a2
Get join_buffer_for_channel compiling
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-23 18:34:43 -07:00
Mikayla
364ed1f840
WIP: pass synchronize channel buffers integration test
2023-08-23 18:34:43 -07:00
Mikayla
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
Max Brunsfeld
29e43384f0
Simplify macro for running a test with both databases
2023-08-23 18:34:43 -07:00
Joseph T. Lyons
af21546a43
collab 0.18.0
2023-08-23 14:19:24 -04:00
Max Brunsfeld
b35aaf144b
Break up Database impl into multiple files, organized by topic
2023-08-18 17:03:34 -07:00
Max Brunsfeld
e964137d79
Reorganize source files of collab::db
...
* Move all sea_orm tables into a 'tables' module
* Move TestDb into its own file
* Move id types into their own module
2023-08-18 16:23:33 -07:00
Kirill Bulatov
269dad5a9c
Respect completion resolve server capabilities
...
Only query for additional edits if the server supports it
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-08-18 16:55:47 +03:00
Mikayla Maki
6d3518cb50
Collab panel touch ups ( #2855 )
...
This will also fix the bug that @JosephTLyons observed where accepting a
channel invite would not show sub channels.
Release Notes:
- Offline section is now collapsed by default
- Manage members now shows full list
- Dragging of docks now follows the mouse exactly, and double clicks
reset size. (https://github.com/zed-industries/community/issues/1816 )
2023-08-17 01:09:01 -07:00
Mikayla
75679291a9
Add fix for lost channel update bug
2023-08-17 00:56:21 -07:00
Mikayla
5bc481112e
Add test for lost channel update
2023-08-16 20:05:21 -07:00
Mikayla
3074455386
WIP
2023-08-16 16:56:00 -07:00
Kirill Bulatov
f9131f657e
Use InlayHint instead of Inlay where appropriate
2023-08-16 23:38:11 +03:00
Max Brunsfeld
442ec606d0
collab 0.17.0
2023-08-16 11:05:08 -07:00
Max Brunsfeld
1ffde7bddc
Implement calling contacts into your current channel
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 14:56:54 -07:00
Max Brunsfeld
ddf3642d47
Avoid flicker when moving between channels
2023-08-15 13:18:56 -07:00
Mikayla
111e17b220
Merge branch 'main' into collab-panel
2023-08-15 03:25:45 -07:00
Max Brunsfeld
cbf497bc12
Fix race condition when UpdateChannel message is received while fetching participants for previous update
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 17:36:35 -07:00
Max Brunsfeld
d7f21a9155
Ensure channels are sorted alphabetically
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-14 16:27:35 -07:00
Kirill Bulatov
5d2750e0d4
Hide inlay cache fields
2023-08-14 11:25:02 +03:00
Max Brunsfeld
b3447ada27
Dial in the channel creating/renaming UI
...
* Ensure channel list is in a consistent state with no flicker while the
channel creation / rename request is outstanding.
* Maintain selection properly when renaming and creating channels.
* Style the channel name editor more consistently with the non-editable
channel names.
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 17:11:57 -07:00
Max Brunsfeld
ac1b2b18aa
Send user ids of channels of which they are admins on connecting
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 14:40:47 -07:00
Max Brunsfeld
60e25d780a
Send channel permissions to clients when they fetch their channels
2023-08-09 13:56:03 -07:00
Mikayla
a3623ec2b8
Add renames
...
co-authored-by: max <max@zed.dev>
2023-08-09 12:20:48 -07:00
Mikayla
eed49a88bd
Fix bad merge
2023-08-09 11:04:09 -07:00
Mikayla
707e41ce1f
Merge branch 'collab-panel' of github.com:zed-industries/zed into collab-panel
2023-08-09 10:44:50 -07:00
Mikayla
99daa73325
Merge branch 'main' into collab-panel
2023-08-09 10:37:22 -07:00
Max Brunsfeld
778fd6b0a9
Represent channel relationships using paths table
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-09 10:36:27 -07:00
Mikayla
b708824d37
Position and style the channel editor correctly
...
Fix a bug where some channel updates would be lost
Add channel name sanitization before storing in the database
2023-08-08 12:46:13 -07:00
Mikayla
d00f6a490c
Fix a bug where channel invitations would show up in the channels section
...
Block non-members from reading channel information
WIP: Make sure Arc::make_mut() works
2023-08-08 11:47:13 -07:00
Nathan Sobo
49f1f1c6c2
Remove window when closing workspace in test
2023-08-08 09:13:17 -06:00
Nathan Sobo
f0da6b05fd
Remove TestAppContext::add_view
...
Instead, we now call this on window handles.
2023-08-07 22:46:48 -06:00
Nathan Sobo
f2be3181a9
Move window-related methods from TestAppContext to AnyWindowHandle
2023-08-07 20:23:04 -06:00
Nathan Sobo
486f5bc6ca
Get compiling
2023-08-07 19:08:58 -06:00
Max Brunsfeld
c537cf2a57
Merge branch 'main' into collab-panel
2023-08-07 11:50:40 -07:00
Nathan Sobo
adc50469ff
WIP
2023-08-06 12:45:31 -06:00
Max Brunsfeld
2ccd153233
Fix joining descendant channels, style channel invites
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-04 16:21:43 -07:00
Max Brunsfeld
87b2d599c1
Flesh out channel member management
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-04 14:12:08 -07:00
Max Brunsfeld
a2486de045
Don't expose channel admin actions in UI if user isn't admin
2023-08-04 10:24:46 -07:00
Max Brunsfeld
1762d2c6d4
Add test assertion where user is not admin of channel
2023-08-04 09:51:37 -07:00
Max Brunsfeld
7a04ee3b71
Start work on exposing which channels the user has admin rights to
2023-08-03 18:31:00 -07:00
Max Brunsfeld
95b1ab9574
Implement channel member removal, permission check for member retrieval
2023-08-03 18:03:40 -07:00
Nathan Sobo
d3c1966d96
WIP: Return WindowHandle<V: View> from AppContext::add_window ( #2820 )
...
Instead of returning a usize for the window id, I'm instead returning a
`WindowHandle<V: View>` where `V` is the type of the window's root view.
@as-cii helped me with a cool technique using generic associated types
where methods on `WindowHandle` can return either T or Option<T>
depending on the `BorrowWindowContext::Result` associated type.
Some example usage...
```rs
let window = cx.add_window(|cx| MyView::new(cx));
let my_view = window.root(cx); // If cx is TestAppContext, returns MyView. Otherwise returns Option<MyView>, because the window could be closed.
```
This isn't insanely beneficial on its own, but I think it will help
clean up our testing story. I'm planning on making `window` more useful
in tests for laying out elements, etc.
- [x] Rework tests that call `add_window` 😅 to expect only a window in
return.
- [x] Get tests passing
- [x] 🚬 test
2023-08-03 18:45:51 -06:00
Nathan Sobo
485c0a482e
Don't refcount window handles
2023-08-03 17:11:47 -06:00
Max Brunsfeld
a7e883d956
Implement basic channel member management UI
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-03 14:49:01 -07:00
Mikayla Maki
129f2890c5
simplify server implementation
2023-08-03 13:27:00 -07:00
Mikayla Maki
30e1bfc872
Add the ability to jump between channels while in a channel
2023-08-02 17:13:09 -07:00
Max Brunsfeld
0ae1f29be8
wip
2023-08-02 15:52:56 -07:00
Max Brunsfeld
4d55110452
Restore seeding of random GH users in seed-db
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-02 15:45:22 -07:00
Max Brunsfeld
fca8cdcb8e
Start work on rendering channel participants in collab panel
...
Co-authored-by: mikayla <mikayla@zed.dev>
2023-08-02 15:09:37 -07:00
Nathan Sobo
884cee6dfd
Get tests compiling returning WindowHandle<V: View> from add_window
2023-08-02 14:05:03 -06:00
Max Brunsfeld
a9de73739a
WIP
2023-08-02 12:15:06 -07:00
Mikayla Maki
61a6892b8c
WIP: Broadcast room updates to channel members
2023-08-02 09:21:30 -07:00
Max Brunsfeld
7d97d1dd8d
Merge branch 'main' into collab-panel
2023-08-02 09:20:53 -07:00
Max Brunsfeld
a127b0d3e6
Fix warnings surfaced in Rust 1.71
2023-08-02 09:19:23 -07:00
Mikayla Maki
7145f47454
Fix a few bugs in how channels are moved around
2023-08-01 18:42:14 -07:00
Mikayla Maki
b389dcc637
Add subchannel creation
...
co-authored-by: max <max@zed.dev>
2023-08-01 16:48:11 -07:00
Mikayla Maki
74437b3988
Add remove channel method
...
Move test client fields into appstate and fix tests
Co-authored-by: max <max@zed.dev>
2023-08-01 16:06:27 -07:00
Mikayla Maki
7434d66fdd
WIP: Add channel creation to panel UI
2023-08-01 13:22:06 -07:00
Max Brunsfeld
7954b02819
Start work on displaying channels and invites in collab panel
2023-07-31 18:00:14 -07:00
Mikayla Maki
003a711dea
Add room creation from channel join
...
co-authored-by: max <max@zed.dev>
2023-07-31 16:54:12 -07:00
Mikayla Maki
92fa879b0c
Add ability to join a room from a channel ID
...
co-authored-by: max <max@zed.dev>
2023-07-31 16:53:57 -07:00
Max Brunsfeld
4b94bfa045
Set up basic RPC for managing channels
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-28 17:05:56 -07:00
Max Brunsfeld
758e1f6e57
Get DB channels query working with postgres
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-07-28 14:56:02 -07:00
Mikayla Maki
0998440bdd
implement recursive channel query
2023-07-28 13:24:43 -07:00
Mikayla Maki
15631a6fd5
Add channel_tests.rs
2023-07-28 13:24:43 -07:00
Mikayla Maki
26a94b5244
WIP: Channel CRUD
2023-07-28 13:24:43 -07:00
Max Brunsfeld
bb70901e71
WIP
2023-07-28 13:24:43 -07:00
Alex Viscreanu
c7669317ec
feat(workspace): allow alternative actions to open files and symbols in split
...
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-07-14 21:49:15 +02:00
Joseph T. Lyons
98a0113ac3
Add call events
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2023-07-11 13:58:55 -04:00
Piotr Osiewicz
abf3b4a54e
chore: Replace lazy_static Mutex with const. ( #2693 )
...
Mutex::new() is const-stable as of Rust 1.63.
Release Notes:
- N/A
2023-07-07 15:07:12 +02:00
Kirill Bulatov
e6ec0af743
Remove redundant hint kind checks in tests
2023-07-06 23:27:25 +03:00
Mikayla Maki
801f41e68e
Move audio dependency to dev
2023-07-05 12:15:56 -07:00
Mikayla Maki
8b8bafef22
Remove spurious audio depedency
2023-07-05 12:05:16 -07:00
Mikayla Maki
594b6e8d64
collab 0.16.0
2023-07-05 11:47:17 -07:00
Mikayla Maki
d2127825e3
Add first-pass sound support to Zed
2023-07-03 13:30:04 -07:00
Mikayla Maki
138de37cbf
Add basic sound handling infrastructure
2023-06-30 16:10:49 -07:00
Mikayla Maki
787412b545
fmt and update dependency
2023-06-29 17:49:42 -07:00
Mikayla Maki
33f5248d4f
Add the ability to make new directories by adding slashes to a file name
2023-06-29 17:35:22 -07:00
Kirill Bulatov
652909cdba
Post-rebase fixes
2023-06-29 22:39:33 +03:00
Kirill Bulatov
0972766d1d
Add more hint tests
2023-06-29 22:39:18 +03:00
Kirill Bulatov
667b70afde
Move hint settings on the language level
2023-06-29 22:39:18 +03:00
Kirill Bulatov
2c54d926ea
Test inlay hint cache
2023-06-29 22:39:18 +03:00
Kirill Bulatov
096bad1f73
Revert useless changes, simplify
2023-06-29 22:25:50 +03:00
Kirill Bulatov
acef5ff195
Query hints when editors gets open and visible
2023-06-29 22:25:50 +03:00
Kirill Bulatov
4d4544f680
Split excerpts into mutliple ranges for inlay hint queries
2023-06-29 22:25:49 +03:00
Kirill Bulatov
2c7900e11b
Use excerpt visible range in query filtering
2023-06-29 22:25:49 +03:00
Kirill Bulatov
83b3a914bc
Support better inlay cache parallelization
2023-06-29 22:25:49 +03:00
Kirill Bulatov
890b164278
Forward inlay hint refresh requests to clients, test coop inlay hints
2023-06-29 22:25:49 +03:00
Kirill Bulatov
6e3d1b962a
Draft the initial protobuf changes
2023-06-29 22:25:48 +03:00
Mikayla Maki
ce52d90a9d
Collab UI v2 ( #2618 )
...
This PR implements
https://www.figma.com/file/pLq7dvhx2mFeWFOedXpUQ5/Project-%E2%80%93-Collaboration-UI?type=design&node-id=666%3A8610&t=XFGk6KEtTCFXBvCQ-1
Release notes:
- [x] Redesigned collaboration UI
- [x] Added voice support
2023-06-28 09:14:39 -07:00
Max Brunsfeld
34b81e2aab
collab 0.15.0
2023-06-28 09:01:07 -07:00
Max Brunsfeld
5350164db9
Get integration test passing. Wait for expand entry on remote projects.
2023-06-22 10:34:28 -07:00
Max Brunsfeld
cd823ede4d
Add a bit to each entry indicating if it's outside of the worktree root
2023-06-22 10:34:28 -07:00
Max Brunsfeld
aa6f2f1816
Remove logic for marking worktree entries as collapsed
2023-06-22 10:34:28 -07:00
Max Brunsfeld
4c03231863
Maintain on the background scanner a set of expanded directories
2023-06-22 10:34:28 -07:00
Mikayla Maki
dedc117cca
Add audio APIs to Zed
...
Share mic on joining room
2023-06-16 10:13:27 -07:00
Antonio Scandurra
f068712a0a
Activate screen-sharing when leader activates a panel
2023-06-15 18:01:30 +02:00
Max Brunsfeld
c1f1ee6b05
collab 0.14.2
2023-06-09 11:50:35 -07:00
Max Brunsfeld
097632467d
collab 0.14.1
2023-06-09 11:37:47 -07:00
Max Brunsfeld
87efd25d42
Avoid dropping the worktree_repository_statuses table for now
2023-06-09 11:37:39 -07:00
Max Brunsfeld
bb65d75798
Enable rust backtraces on kubernetes
2023-06-09 11:15:21 -07:00
Max Brunsfeld
9cbb63d374
collab 0.14.0
2023-06-09 11:12:45 -07:00
Mikayla Maki
2c5e83bf72
Fixed a bug where buffer saved clocks would desynchronize in rare execution paths
...
co-authored-by: Max <max@zed.dev>
2023-06-07 16:10:45 -07:00
Mikayla Maki
28ba27c9c5
Merge branch 'main' into stream-git-statuses
2023-06-07 14:12:58 -07:00
Mikayla Maki
34e134fafb
Fix several randomized test failures with the new git status implementation
2023-06-07 14:10:17 -07:00
Max Brunsfeld
11ab1a8cc6
collab 0.13.1
2023-06-07 10:54:27 -07:00
Max Brunsfeld
6067575e38
collab 0.13.0
2023-06-07 09:29:58 -07:00
Max Brunsfeld
296a0bf510
Populate created local settings file with an empty JSON object and comments
2023-06-05 18:20:02 -07:00
Mikayla Maki
a2d58068a7
Improve test generation and implement status propogation
...
co-authored-by: max <max@zed.dev>
2023-06-05 17:30:12 -07:00
Mikayla Maki
49c5a3fa86
Add postgres migration
2023-06-05 12:17:21 -07:00
Mikayla Maki
4ac5f7b14e
Add statuses to test integration
2023-06-05 12:06:23 -07:00
Mikayla Maki
2f97c7a4f1
Remove stale comments
...
Implement status bubbling query with sum tree traversals
co-authored-by: max <max@zed.dev>
2023-06-02 16:41:01 -07:00
Max Brunsfeld
788f97ec68
Add support for folder-specific settings ( #2537 )
...
This PR allows you to customize Zed's settings within a particular
folder by creating a `.zed/settings.json` file within that folder.
Todo
* [x] respect folder-specific settings for local projects
* [x] respect folder-specific settings in remote projects
* [x] pass a path when retrieving editor/language settings
* [x] pass a path when retrieving copilot settings
* [ ] update the `Setting` trait to make it clear which types of
settings are locally overridable
Release Notes:
* Added support for folder-specific settings. You can customize Zed's
settings within a particular folder by creating a `.zed` directory and a
`.zed/settings.json` file within that folder.
2023-05-31 16:27:08 -07:00
Max Brunsfeld
ae7606ce21
collab 0.12.5
2023-05-31 15:38:26 -07:00
Mikayla Maki
22e4086658
WIP: Move statuses to be on their associated file entries in worktree
...
co-authored-by: Julia <julia@zed.dev>
2023-05-31 11:03:11 -07:00
Max Brunsfeld
8f95435548
Replicate project-specific settings when collaborating
2023-05-30 18:08:03 -07:00
Antonio Scandurra
88eb2b2163
Move history navigation logic to Workspace
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-29 19:47:59 +02:00
Kirill Bulatov
fdad1adaf6
Update LSP to the newest version
2023-05-28 21:55:08 +03:00
Kirill Bulatov
739d5ca373
Have proper undo for both client and host
2023-05-25 18:29:57 +03:00
Kirill Bulatov
e2ff829f98
Use Transaction instead of ProjectTransaction
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-25 16:12:14 +03:00
Kirill Bulatov
f812151840
Add integration tests
2023-05-25 09:45:50 +03:00
Kirill Bulatov
eca6d2b597
Process remote format typing also
2023-05-25 09:45:50 +03:00
Nathan Sobo
747322a02d
Merge remote-tracking branch 'origin/main' into zmd
2023-05-24 11:04:07 -06:00
Antonio Scandurra
208ff2fba7
Merge remote-tracking branch 'origin/main' into panels
2023-05-23 08:24:28 +02:00
Nathan Sobo
30de64845f
WIP
2023-05-22 23:11:27 -06:00
Mikayla Maki
9307719a4b
Add run until parked for test
2023-05-22 18:40:12 -07:00
Antonio Scandurra
146809eef0
Merge branch 'main' into panels
2023-05-22 14:10:17 +02:00
Mikayla Maki
bbb68c523c
Refactored apart the forward and the backwards iterator for diff hunks
2023-05-19 18:09:47 -07:00
Antonio Scandurra
924ec961ff
Toggle project panel when opening new workspace in a dock-agnostic way
2023-05-19 15:27:18 +02:00
Max Brunsfeld
34b0d6200f
collab 0.12.4
2023-05-18 14:58:57 -07:00
Mikayla Maki
99fcf23798
fmt
2023-05-18 14:31:08 -07:00
Mikayla Maki
95a7d69bce
Fixed an imprecise join in rejoin room
2023-05-18 14:29:18 -07:00
Max Brunsfeld
2a11a89827
collab 0.12.3
2023-05-18 12:27:08 -07:00
Joseph Lyons
55b241a4f6
collab 0.12.2
2023-05-18 12:27:01 -07:00
Max Brunsfeld
c71b59b248
Log how long it takes to handle each RPC message
2023-05-18 12:24:07 -07:00
Max Brunsfeld
67a25126d4
Define theme/ui text style settings in theme crate
2023-05-17 14:44:59 -07:00
Max Brunsfeld
89204e85c0
Merge branch 'main' into setting-store
2023-05-17 09:55:24 -07:00
Max Brunsfeld
cbd4771f10
Define project settings in project crate
2023-05-16 17:45:04 -07:00
Max Brunsfeld
65e3713d4d
Define editor settings in editor crate
2023-05-16 17:30:29 -07:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Mikayla Maki
307dd2b83e
Update proto names to reflect new status info
2023-05-15 16:20:01 -07:00
Mikayla Maki
dfb6a2f7fc
fmt
2023-05-11 12:02:25 -07:00
Mikayla Maki
5b2ee63f80
Added status trickle up
2023-05-11 12:01:42 -07:00
Mikayla Maki
5accf7cf4e
Update is_deleted when sending new repositories
2023-05-11 10:21:25 -07:00
Mikayla Maki
191ac86f09
Remove the CORRECT, overly agressive deletion codepath
2023-05-11 09:24:36 -07:00
Mikayla Maki
adfbbf21b2
fmt
2023-05-10 20:09:37 -07:00
Mikayla Maki
f5c633e80c
Fixed bug in status deletion marking
2023-05-10 19:54:02 -07:00
Mikayla Maki
fca3bb3b93
Add randomized test for git statuses
2023-05-10 19:21:27 -07:00
Mikayla Maki
18becabfa5
Add postgres migration
2023-05-10 17:50:35 -07:00
Mikayla Maki
65d4c4f6ed
Add integration test for git status
2023-05-10 17:37:36 -07:00
Mikayla Maki
e20eaca595
Got basic replication working :)
2023-05-10 17:37:36 -07:00
Mikayla Maki
2b80dfa81d
Update protos
2023-05-10 17:37:36 -07:00
Mikayla Maki
23a19d85b8
Fix bug in status detection when removing a directory
2023-05-10 17:37:36 -07:00
Mikayla Maki
0082d68d4a
Revert "Convert git status calculation to use Entry IDs as the key instead of repo relative paths"
...
This reverts commit 728c6892c924ebeabb086e308ec4b5f56c4fd72a.
2023-05-10 17:37:36 -07:00
Mikayla Maki
f935047ff2
Convert git status calculation to use Entry IDs as the key instead of repo relative paths
2023-05-10 17:37:36 -07:00
Mikayla Maki
94a0de4c9f
Fix compile errors
2023-05-10 17:37:36 -07:00
Mikayla Maki
a58a33fc93
WIP: integrate status with collab
2023-05-10 17:37:36 -07:00
Max Brunsfeld
cee7edabf9
Ensure the SettingsStore global is added in tests
2023-05-10 16:39:59 -07:00
Joseph Lyons
6385e51957
collab 0.12.1
2023-05-10 18:16:20 -04:00
Antonio Scandurra
cdcb7c8084
Merge branch 'main' into panels
2023-05-10 15:23:37 +02:00
Kirill Bulatov
915154b047
Add initial include/exclude project search UI
2023-05-10 11:11:31 +03:00
Nathan Sobo
1919a826f9
Remove dock from workspace
2023-05-09 10:18:10 +02:00
Max Brunsfeld
8fd0c9fb0e
collab 0.12.0
2023-05-08 15:54:11 -07:00
Mikayla Maki
712fb5ad7f
Add postgres migration
2023-05-08 14:33:59 -07:00
Mikayla Maki
1a9afd186b
Restore randomized integration tests
2023-05-08 14:33:59 -07:00
Mikayla Maki
62e763d0d3
Removed test modifications, added special case to git initialization for when the repository is inside a .git folder
2023-05-08 14:33:59 -07:00
Mikayla Maki
2c2076bd77
Adjust tests to not create repositories inside repositories
2023-05-08 14:33:59 -07:00
Mikayla Maki
d8dac07408
Removed scan ID from repository interfaces
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
270147d20c
Finished RepositoryEntry refactoring, smoke tests passing
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
53569ece03
WIP: Change RepositoryEntry representation to be keyed off of the work directory
...
Removes branches button scaffolding
2023-05-08 14:33:59 -07:00
Mikayla Maki
b6d6f5c650
WIP: re-arranging the RepositoryEntry representation
...
Added branches to the randomized test to check the git branch
Added the remaining database integrations in collab
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Petros <petros@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
8301ee43d6
WIP: Add repository entries to collab and synchronize when rejoining the room
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
2fe5bf419b
Add proto fields for repository entry maintenance
2023-05-08 14:33:59 -07:00
Mikayla Maki
c6d7ed33c2
Add smoke test for collaboration
2023-05-08 14:33:59 -07:00
Antonio Scandurra
0296974ab1
Merge pull request #2441 from zed-industries/implicit-ancestry
...
Determine view ancestry during layout
2023-05-05 10:58:00 +02:00
Julia
eacea55aaf
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Antonio Scandurra
da19edc3e3
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Joseph Lyons
053b34875b
collab 0.11.0
2023-05-03 14:59:04 -04:00
Antonio Scandurra
5157442703
Fix integration test relying on deferred happening after focus
...
Focus is now one of the last things that happens during `flush_effects`,
and we shouldn't have relied on `defer` in the first place to verify
focus changes.
2023-05-03 19:00:32 +02:00
Antonio Scandurra
c65465b0b5
Ensure workspace gets rendered in collab integration tests
2023-05-03 18:31:07 +02:00
Antonio Scandurra
7f137ed3dd
Compute view ancestry at layout time
2023-05-03 16:36:14 +02:00
Antonio Scandurra
489b1f6a63
Merge remote-tracking branch 'origin/main' into simplify-action-dispatch
2023-04-28 17:31:12 +02:00
Antonio Scandurra
f881f9e3d8
Remove ToggleFollow
internal action
2023-04-28 10:07:44 +02:00
Max Brunsfeld
7258db7a4e
Merge pull request #2417 from zed-industries/hover-markdown
...
Render markdown more correctly in the editor hover popover
2023-04-27 14:15:04 -07:00
Max Brunsfeld
d298ce3fd3
Render more markdown features in hover popover
2023-04-26 15:33:10 -07:00
Max Brunsfeld
54e7464163
collab 0.10.0
2023-04-26 13:24:08 -07:00
Max Brunsfeld
ebbe52e6b0
🎨 Specify more dependencies at the workspace level
2023-04-24 17:41:55 -07:00
Max Brunsfeld
ce34bf62fe
Add failing test for diagnostic message ordering
...
Co-authored-by: Julia Risley <julia@zed.dev>
2023-04-24 13:18:37 -07:00
Max Brunsfeld
abdccf7393
Use a workspace dependency for the futures crate
2023-04-24 09:43:31 -07:00
Antonio Scandurra
c76b9794e4
Merge branch 'main' into window_context_2
2023-04-21 10:58:08 +02:00
Max Brunsfeld
abdfb5a451
collab 0.9.0
2023-04-20 09:52:32 -07:00
Max Brunsfeld
4dd917c123
Introduce a LanguageServerId wrapper type
...
Clarify the meaning of all the usizes in use in all of these
struct fields an method signatures.
2023-04-20 08:58:41 -07:00
Julia
c5f86bc6af
Avoid language servers fighting over diagnostics summaries
...
Previously each server would stomp all over the existing results
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Antonio Scandurra
c52b6328b7
Merge branch 'main' into window_context_2
2023-04-20 16:01:47 +02:00
Petros Amoiridis
f9c60b98c0
Add newline above and improve newline below
...
Add a new action for inserting a new line above the current line. @ForLoveOfCats also helped fix a bug among other things. When two collaborators had their cursors at the end of a line, and one collaborator performed a newline below action, the second collaborator's cursor would be dragged to the new line. This is also fixing that.
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-04-19 19:57:23 +03:00
Max Brunsfeld
bd7d50f339
Fix 'invalid insertion' panic when following
...
Wait for the necessary buffer operations to arrive before attempting to
set selections and scroll top.
2023-04-18 16:13:18 -07:00
Antonio Scandurra
d03c431f9a
Fix warnings/errors now that AsyncAppContext::update
returns Result
2023-04-18 14:58:57 +02:00
Antonio Scandurra
74ca223114
Fix formatting for the entire workspace
2023-04-14 12:08:33 +02:00
Antonio Scandurra
33bc47dbe2
Merge branch 'main' into window_context_2
2023-04-14 12:07:09 +02:00
Antonio Scandurra
9ef79735dc
Move more window-specific methods from AppContext
to WindowContext
2023-04-14 10:29:35 +02:00
Max Brunsfeld
a85c2d71ad
collab 0.8.3
2023-04-12 11:11:32 -07:00
Nathan Sobo
40896352ff
wip
2023-04-12 10:28:53 -06:00
Antonio Scandurra
83070a19c4
WIP
2023-04-12 15:55:43 +02:00
Max Brunsfeld
61d048cb25
Don't wait for host's reply before broadcasting buffer updates to guests
2023-04-11 12:37:08 -07:00
Antonio Scandurra
172441ab72
Cancel pending calls when participant fails to reconnect
...
Previously, we would only cancel pending calls when the room became
empty.
2023-04-11 16:33:08 +02:00
Max Brunsfeld
abfbba68f0
Improve randomized test assertion message when diff base is wrong
2023-04-10 18:28:34 -07:00
Max Brunsfeld
e79815622c
Preserve ordering between UpdateProject and CreateBufferForPeer messages
...
Previously, because UpdateProject messages were sent in a separately-
spawned task, they could be sent after CreateBufferForPeer messages that
were intended to be sent after them.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-04-10 12:54:25 -07:00
Antonio Scandurra
9761febf82
Avoid broadcasting SaveBuffer
in response to a client's save request
...
The host will send a `SaveBuffer` message anyway and this prevents re-querying
the database, which could cause two `BufferSaved` messages to race and, as a
result, cause guest to apply them in the wrong order.
2023-04-10 10:02:13 +02:00
Antonio Scandurra
3a82c04248
Improve assertion message when buffer state diverges
2023-04-10 10:01:44 +02:00
Max Brunsfeld
e50c48852a
Wait for host to acknowledge buffer updates before sending them to other guests
2023-04-07 16:27:48 -07:00
Max Brunsfeld
f519f32ec2
Fixed removal of closed projects in randomized test
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-04-07 12:24:59 -07:00
Max Brunsfeld
22a6a243bc
Move project assertions into main assertion function
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-04-06 11:38:42 -07:00
Antonio Scandurra
4a61e2dfa4
Save server operations that were in the middle of being applied
...
Previously, if the test panicked before it had a chance to fully
apply an operation, it would end up not being saved in the plan.
With this commit we will mark the operation as applied before we
start processing it, and mark it as not applied if, once we're done,
we've found out that it couldn't be applied. This is consistent with
what we do for client operations.
2023-04-06 16:02:16 +02:00
Max Brunsfeld
bf3b8adf35
Avoid async fs call before checking if operation is applicable
...
This way, the executor isn't influenced by operations that aren't applicable.
2023-04-05 18:11:33 -07:00
Max Brunsfeld
1064b14779
Don't use TestPlan's rng in fake LSP handlers
...
These should use the test context's rng, so that they behave the same whether
a pre-recorded plan was used, or the plan is being generated.
2023-04-05 17:50:04 -07:00
Max Brunsfeld
8e68c7f808
Do include operations in serialized test plan if they cause a client to hang
2023-04-05 16:52:39 -07:00
Max Brunsfeld
661fba8640
Run executor until parked at end of each iteration of random collaboration test
...
Without this, the server doesn't get dropped at the end of the test, and we eventually run
out of file handles due to sqlite connections being retained.
2023-04-05 15:05:32 -07:00
Max Brunsfeld
781d66f628
Omit operations for non-existent users from serialized test plan
2023-04-05 15:04:27 -07:00
Max Brunsfeld
b251e249a7
Check for consistency between clients every time the system quiesces
2023-04-03 19:11:37 -07:00
Max Brunsfeld
5ecc9606af
Use synchronous locks in FakeFs
...
This way, the state can be accessed without running the deterministic
executor.
2023-04-03 18:15:07 -07:00
Max Brunsfeld
f95732e981
Fix bug where guest would drop BufferSaved messages while opening the buffer
2023-04-03 16:23:44 -07:00
Max Brunsfeld
543301f949
Avoid repeatedly loading/saving the test plan for each iteration
2023-04-03 15:58:11 -07:00
Max Brunsfeld
c960277349
Merge branch 'main' into randomized-tests-operation-script
2023-04-03 13:09:25 -07:00
Antonio Scandurra
5471217089
Use the same serde version across the entire workspace
2023-03-28 09:42:00 -07:00
Mikayla Maki
455cdc8b37
Add copilot crate
...
Refactor HTTP and github release downloading into util
Lazily download / upgrade the copilot LSP from Zed
Co-authored-by: Max <max@zed.dev>
Co-Authored-By: Antonio <antonio@zed.dev>
2023-03-28 09:41:59 -07:00
Julia
ed442cfc8c
Invoke npm from downloaded Node
2023-03-27 00:00:16 -04:00
Julia
edd6c85af7
Initial running of servers on downloaded Node
2023-03-27 00:00:16 -04:00
Max Brunsfeld
399f082415
Update wrong assertions after fixing missing event in FakeFs
2023-03-21 11:26:13 -07:00
Max Brunsfeld
fc828971f1
collab 0.8.2
2023-03-17 15:00:31 -07:00
Max Brunsfeld
691383ca68
Merge pull request #2305 from zed-industries/faster-access-token-validation
...
Faster access token validation
2023-03-17 14:56:30 -07:00
Max Brunsfeld
b8e8363a72
Add logging and metric for time spent hashing auth tokens
...
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-03-17 14:32:13 -07:00
Max Brunsfeld
623133ffa0
Reduce scrypt work factor to speed up websocket authentication
...
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-03-17 14:31:39 -07:00
Max Brunsfeld
9633a4b527
Return a 400, not a 500 when token validation fails
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-03-17 13:56:12 -07:00