Commit Graph

557 Commits

Author SHA1 Message Date
Max Brunsfeld
59adcc1744 Load more notifications when scrolling down 2023-10-22 17:10:21 +02:00
Max Brunsfeld
4a0358a513 Mark contact acceptance notifications as read automatically 2023-10-22 12:22:47 +02:00
Conrad Irwin
e03e5364d2 Wire through LiveKit permissions 2023-10-19 23:23:33 -06:00
Max Brunsfeld
851d7d0bc4 Rename NewNotification proto message to AddNotification 2023-10-19 13:29:14 -07:00
Conrad Irwin
3853009d92 Refactor to avoid some (mostly hypothetical) races
Tidy up added code to reduce duplicity of X and X_internals.
2023-10-18 21:42:10 -06:00
Max Brunsfeld
b07f9fe3b5 Merge branch 'main' into notifications 2023-10-18 17:20:04 -07:00
Max Brunsfeld
d05404a4df Persist chat mentions 2023-10-18 16:56:03 -07:00
Mikayla
0ce1ec5d15
Restrict DAG-related functionality, but retain infrastructure for implementing symlinks 2023-10-18 05:28:05 -07:00
Conrad Irwin
70aed4a605 Sync Role as part of channels
Begin to fix guest notifications
2023-10-17 22:48:44 -06:00
Max Brunsfeld
ee87ac2f9b Start work on chat mentions 2023-10-17 17:59:42 -07:00
Max Brunsfeld
660021f5e5 Fix more issues with the channels panel
* Put the newest notifications at the top
* Have at most 1 notification toast, which is non-interactive,
  but focuses the notification panel on click, and auto-dismisses
  on a timer.
2023-10-17 15:43:06 -07:00
Max Brunsfeld
f2d36a47ae Generalize notifications' actor id to entity id
This way, we can retrieve channel invite notifications when
responding to the invites.
2023-10-17 10:34:50 -07:00
Max Brunsfeld
f225039d36 Display invite response buttons inline in notification panel 2023-10-17 09:12:55 -07:00
Conrad Irwin
9cc55f895c Merge branch 'main' into guests 2023-10-17 09:54:17 -06:00
Max Brunsfeld
5a0afcc835 Simplify notification serialization 2023-10-13 16:09:46 -07:00
Max Brunsfeld
83fb8d20b7 Remove contact notifications when cancelling a contact request 2023-10-13 16:09:46 -07:00
Conrad Irwin
f6f9b5c8cb Wire through public access toggle 2023-10-13 16:59:30 -06:00
Max Brunsfeld
e590b43545 Merge branch 'main' into notifications 2023-10-13 11:31:53 -07:00
Max Brunsfeld
bc6ba5f547 Bump protocol version 2023-10-13 11:23:39 -07:00
Max Brunsfeld
8db86dcebf Connect notification panel to notification toasts 2023-10-13 11:21:45 -07:00
Conrad Irwin
a7db2aa39d Add check_is_channel_participant
Refactor permission checks to load ancestor permissions into memory
for all checks to make the different logics more explicit.
2023-10-12 19:59:50 -06:00
Max Brunsfeld
034e9935d4 Remove old contact request notification mechanism, use notification instead 2023-10-12 17:42:32 -07:00
Max Brunsfeld
3241128840 Make notification db representation more flexible 2023-10-12 17:42:32 -07:00
Max Brunsfeld
69c65597d9 Fix use statement order 2023-10-12 17:41:09 -07:00
Max Brunsfeld
d1756b621f Start work on notification panel 2023-10-12 17:41:09 -07:00
Max Brunsfeld
50cf25ae97 Add notification doc comments 2023-10-12 17:41:09 -07:00
Max Brunsfeld
cf6ce0dbad Start work on storing notifications in the database 2023-10-12 17:41:07 -07:00
Mikayla
78432d08ca
Add channel visibility columns and protos 2023-10-12 12:21:41 -07:00
Conrad Irwin
540436a1f9 Push role refactoring through RPC/client 2023-10-12 13:05:54 -06:00
Julia
354882f2c0 Enable completion menu to resolve documentation when guest 2023-10-10 00:16:15 -04:00
Max Brunsfeld
61e0289014 Acknowledge channel notes and chat changes when views are active
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-03 17:40:10 -07:00
Mikayla
32b4b4d24d
Add message and operation ACK messages to protos 2023-10-02 17:10:03 -07:00
Mikayla
1d5b665f13
Implement channel changes for messages 2023-10-01 22:32:11 -07:00
Mikayla
9ba975d6ad
Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Max Brunsfeld
e9c1ad6acd Undo making project optional on stored follower states
Following works without a project, but following in unshared projects does
not need to be replicated to other participants.
2023-09-28 14:21:44 -07:00
Max Brunsfeld
0f39b63801 Rename color_index to participant_index
Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 11:37:22 -07:00
Max Brunsfeld
545b5e0161 Assign unique color indices to room participants, use those instead of replica_ids
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-28 11:06:09 -07:00
Max Brunsfeld
c71566e7f5 Make project id optional when following - server only 2023-09-21 13:14:15 -07: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
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
cda54b8b5f
Improve database and RPC API for moving and linking channels, improve test legibility 2023-09-15 11:39:55 -07:00
Mikayla
8222102d01
Render the DAG 2023-09-15 11:28:34 -07:00
Mikayla
9e68d4a8ea
WIP: Add channel DAG related RPC messages, change update message 2023-09-15 11:23:12 -07:00
Max Brunsfeld
492e961e82 Bump protocol version 2023-09-14 18:39:31 -07:00
Max Brunsfeld
59269d422b Allow deleting chat messages 2023-09-14 16:29:40 -07:00
Max Brunsfeld
3422eb65e8 Restore channel chat model and panel view 2023-09-07 11:38:27 -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
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
Julia
ff3865a4ad Merge branch 'main' into multi-server-completions-tailwind 2023-08-30 22:58:37 -04:00
Max Brunsfeld
5142049515 Demote some Peer logging to trace level 2023-08-28 17:45:19 -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
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
Kirill Bulatov
ddd7ab116f Do not convert lsp::Location of hint labels before resolve 2023-08-26 02:45:08 +03:00
Mikayla
6fdf101745
Update database and RPC to provide configured feature flags 2023-08-25 14:34:32 -07:00
Kirill Bulatov
8ed280a029 Rebase fixes 2023-08-25 14:30:07 +03:00
Kirill Bulatov
80e8714241 Send inlay hint resolve requests 2023-08-25 14:26:17 +03:00
Kirill Bulatov
3434990b70 Store inlay hint resolve data 2023-08-25 14:26:17 +03:00
Max Brunsfeld
90f22cb0d2 Replicate editor state when following into channel notes
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-24 12:36:01 -07:00
Mikayla
199be8241c
Add following into channel notes
co-authored-by: max <max@zed.dev>
2023-08-24 11:25:20 -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
1ffde7bddc Implement calling contacts into your current channel
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-15 14:56:54 -07:00
Julia
40ce099780 Use originating language server to resolve additional completion edits 2023-08-15 16:34:15 -04: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
Mikayla
a3623ec2b8
Add renames
co-authored-by: max <max@zed.dev>
2023-08-09 12:20:48 -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
7a04ee3b71 Start work on exposing which channels the user has admin rights to 2023-08-03 18:31:00 -07: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
6c4964f071
WIP: continue channel management modal and rename panel to collab_panel 2023-08-03 11:40:55 -07:00
Max Brunsfeld
a9de73739a WIP 2023-08-02 12:15:06 -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
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
Mikayla Maki
7f9df6dd24
Move channels panel into collab and rename to collab panel
remove contacts popover and add to collab panel
2023-07-28 13:24:42 -07:00
Kirill Bulatov
652909cdba Post-rebase fixes 2023-06-29 22:39:33 +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
8acc5cf8f4 Deserialize more LSP inlay hint information 2023-06-29 22:25:49 +03:00
Kirill Bulatov
6e3d1b962a Draft the initial protobuf changes 2023-06-29 22:25:48 +03: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
Max Brunsfeld
b2bdca4779 Bump protocol version 2023-06-09 11:50:15 -07:00
Mikayla Maki
28ba27c9c5
Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Joseph Lyons
7c60f636d5 Fix typos 2023-06-02 22:02:19 -04: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
Mikayla Maki
4717ce1da3
WIP: Move statuses to entries
co-authored-by: julia <julia@zed.dev>
2023-05-31 12:55:31 -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
eeba72d775 Bump protocol version 2023-05-31 09:03:45 -07:00
Max Brunsfeld
8f95435548 Replicate project-specific settings when collaborating 2023-05-30 18:08:03 -07: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
aa58d0fd77 Do not send edits over the wire 2023-05-25 12:55:44 +03:00
Kirill Bulatov
58a56bdda2 Always use server formatting settings 2023-05-25 09:45:50 +03:00
Kirill Bulatov
b9dabb165e Use formatting options 2023-05-25 09:45:50 +03:00
Kirill Bulatov
3327e8a6dd Support remote sessions 2023-05-25 09:45:50 +03:00
Mikayla Maki
f59256f761
Update git repositories to be streamed with their entries
co-authored-by: max <max@zed.dev>
2023-05-15 16:22:00 -07:00
Mikayla Maki
307dd2b83e
Update proto names to reflect new status info 2023-05-15 16:20:01 -07:00
Mikayla Maki
60320c6b09
Send the root branch along with it's entry 2023-05-12 09:37:02 -07:00
Mikayla Maki
c7166fde3b
Bump protocol version 2023-05-10 17:38:29 -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
a58a33fc93
WIP: integrate status with collab 2023-05-10 17:37:36 -07:00
Kirill Bulatov
915154b047 Add initial include/exclude project search UI 2023-05-10 11:11:31 +03:00
Mikayla Maki
9366a0dbee
Bump protocol version number 2023-05-08 14:34:14 -07:00
Mikayla Maki
f28419cfd1
Fix styling of titlebar highlights 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
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
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
Julia
3f7533a0b4 Show source of diagnostic hovers 2023-04-27 14:35:34 -04:00
Max Brunsfeld
d298ce3fd3 Render more markdown features in hover popover 2023-04-26 15:33:10 -07:00
Max Brunsfeld
ebbe52e6b0 🎨 Specify more dependencies at the workspace level 2023-04-24 17:41:55 -07:00
Max Brunsfeld
abdccf7393 Use a workspace dependency for the futures crate 2023-04-24 09:43:31 -07:00
Julia
26abc824a9 Bump protocol version 2023-04-20 08:58:41 -07:00
Julia
bb4de47b15 Start getting diagnostics sets to work with multiple servers
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
ba7233f265 Incomplete refactor to allow for multiple adapters per language 2023-04-20 08:58:39 -07:00
Antonio Scandurra
643381ce0c Make UpdateDiffBase a Foreground message to prevent reordering 2023-04-11 08:50:26 +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
1ccf174388 Avoid applying outdated UpdateProject messages
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2023-04-04 18:34:39 -07:00
Antonio Scandurra
5471217089 Use the same serde version across the entire workspace 2023-03-28 09:42:00 -07:00
Antonio Scandurra
1af8f4be19 Deserialize Theme directly into the heap to avoid stack overflow
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-03-17 15:58:52 +01:00
Antonio Scandurra
bca1acf6d3 Leave room on quit
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-03-13 17:52:10 +01:00
Julia
b9110c9268 Increase reconnect timeout
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-03-03 13:10:08 -08:00
Julia
465d8cc2ff Differentiate between follow state on a per-project basis 2023-02-24 00:07:17 -05:00
Max Brunsfeld
46ead28971 Bump RPC protocol version number 2023-02-22 13:40:14 -08:00
Julia
d6462c611c Begin tracking follow states on collab server
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-02-22 11:21:23 -05:00
Antonio Scandurra
eca6115e4b Ensure proto::UpdateWorktree::removed_entries doesn't exceed chunk size
This was causing the database to panic because we were trying to remove too
many entries at once.
2023-01-26 17:26:31 +01:00
Mikayla Maki
d060114f00 Added complete scripts for generating third party license files 2023-01-23 12:47:12 -08:00
Antonio Scandurra
fcf97ab41e Bump protocol version 2023-01-17 16:32:54 +01:00
Antonio Scandurra
bb200aa082 Relay saved version metadata to ensure buffers modified state converges 2023-01-17 16:32:54 +01:00
Antonio Scandurra
467e5691b9 Include saved mtime and fingerprint when serializing buffers
This still doesn't include:

- An assertion in the randomized test to ensure buffers are not spuriously
marked as modified
- Sending an update when synchronizing buffers after a reconnection
2023-01-17 10:46:19 +01:00
Max Brunsfeld
fe27f135c0 Bump protocol version after reconnect support 2023-01-11 14:00:16 -08:00
Nathan Sobo
386f7ba16d Merge remote-tracking branch 'origin/main' into project-reconnection 2023-01-06 16:52:22 -07:00
Joseph Lyons
233b28a1b9 Appease clippy 2023-01-01 23:50:45 -05:00
Antonio Scandurra
75803d8dbb Respond with an error when client hasn't got a registered handle 2022-12-23 11:53:13 +01:00
Max Brunsfeld
c321f5d94a Assert that buffers' file state matches in randomized collab test
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-21 15:38:44 -08:00
Antonio Scandurra
47348542ef Synchronize buffers when either the host or a guest reconnects 2022-12-21 14:20:56 +01:00
Max Brunsfeld
21d6665c37 Merge branch 'main' into project-reconnection 2022-12-20 15:50:09 -08:00
Antonio Scandurra
52babc51a0 Make host reconnection test pass when mutating worktree while offline 2022-12-20 17:30:58 +01:00
Antonio Scandurra
1aec691b35 Sketch out project reconnection routine on the server 2022-12-20 12:03:43 +01:00
Max Brunsfeld
70dd586be9 Start work on rejoining rooms, supplying all project info at once
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-12-19 17:50:43 -08:00