Commit Graph

1481 Commits

Author SHA1 Message Date
Conrad Irwin
26a4b6af0b Disable Dangerous Downtime-causing Default
According to https://docs.digitalocean.com/products/kubernetes/how-to/configure-load-balancers/#ssl-certificates

you can specify whether to disable automatic DNS record
creation for the certificate upon the load balancer’s creation using the
do-loadbalancer-disable-lets-encrypt-dns-records annotation. If you
specify true, we will not automatically create a DNS A record at the
apex of your domain to support the SSL certificate.
2024-01-03 19:55:17 -07:00
Conrad Irwin
1930258d39 Show guests in fewer places 2024-01-03 19:31:43 -07:00
Conrad Irwin
c3402024bc Fix privilege escalation when guests invite people 2024-01-03 19:31:43 -07:00
Conrad Irwin
9fe17a1d1d Prevent guests from screen-sharing, unmuting or screen sharing 2024-01-03 19:31:43 -07:00
Conrad Irwin
bf304b3fe7 Track room participant role
(Also wire that through to project collaboration rules for now)
2024-01-03 19:30:32 -07:00
Conrad Irwin
88ed5f7290 Plumbing to pass role for room participants 2024-01-03 19:30:32 -07:00
Max Brunsfeld
28c39aae17 Start work on read-only project access for channel guests
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 19:30:32 -07:00
Joseph T. Lyons
5944fcb999 collab 0.33.0 2024-01-03 17:20:01 -05:00
Joseph T. Lyons
9936b07472 Bump collab version back to what it was before 2024-01-03 17:19:39 -05:00
Max Brunsfeld
f5ba22659b Remove 2 suffix from gpui
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:59:39 -08:00
Max Brunsfeld
3c81dda8e2 Remove 2 suffix from live_kit_client
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:49:33 -08:00
Max Brunsfeld
dfcb17fe74 Remove 2 suffix for theme
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:41:01 -08:00
Max Brunsfeld
4305c5fdbe Remove 2 suffix for ui, storybook, text
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:33:51 -08:00
Max Brunsfeld
0cf65223ce Remove 2 suffix for collab, rope, settings, menu
Co-authored-by: Mikayla <mikayla@zed.dev>
2024-01-03 12:29:16 -08:00
Max Brunsfeld
5b35dedc5f Add nightly environment for collab
Also, move postgrest service + deployment into a separate manifest
file, which is deployed via a separate script, `deploy-postgrest`.
This way, we don't have unused postgrest instances in preview and
nightly, since those use the prod database.

Co-authored-by: Conrad <conrad@zed.dev>
2024-01-02 14:29:21 -08:00
Joseph T. Lyons
4c0856e096 collab 0.32.0 2023-12-20 13:15:44 -05:00
Joseph T. Lyons
7cd6825eee Add backtrace hash to collab server panic api 2023-12-18 11:12:23 -05:00
Joseph T. Lyons
07a266d93f collab 0.31.0 2023-12-13 12:39:29 -05:00
Joseph T. Lyons
0cab3de0ae collab 0.30.1 2023-12-08 12:48:02 -05:00
Joseph T. Lyons
7964b35607 Add release channel to panic collab upload 2023-12-08 12:10:25 -05:00
Joseph T. Lyons
5ae2060783 collab 0.30.0 2023-12-06 12:34:47 -05:00
Kirill Bulatov
b43dc480a9 Integration tests for excluded files 2023-12-05 12:45:44 +02:00
Kirill Bulatov
f0ca7141b8 Ignore excluded files on worktree entry refresh 2023-12-05 12:30:29 +02:00
Max Brunsfeld
5dd9db3607 collab 0.29.1 2023-12-01 11:50:05 -08:00
Max Brunsfeld
4479628342 Prevent moving a channel into its descendant 2023-12-01 11:41:38 -08:00
Kirill Bulatov
69bfd47cf9 Exclude gitignored files' diagnostics from project panel and its indicator.
The diagnostics are collected and available still, since that might become a settings/UI toggle later.
Also, buffer diagnostics are still updated for gitignored files.
2023-11-30 15:46:30 +02:00
Joseph T. Lyons
10c4df20e9 collab 0.29.0 2023-11-22 13:05:29 -05:00
Kirill Bulatov
8180938401 Fix most of the TODOs 2023-11-17 21:40:57 +02:00
Kirill Bulatov
5f468970f0 Fix some of the old tests 2023-11-17 21:40:57 +02:00
Kirill Bulatov
a5c615ceb4 Pass a new query parameter into the search 2023-11-17 21:40:56 +02:00
Mikayla
75a80811b3
WIP 2023-11-06 11:18:56 -08:00
Joseph T. Lyons
51ecf8e6b4 collab 0.28.0 2023-11-01 14:50:29 -04:00
Max Brunsfeld
841a5ef7b8 collab 0.27.0 2023-10-25 17:38:09 +02:00
Mikayla Maki
f67f42779b
Rename IIFE to maybe (#3165)
Too good of an idea to forget

Release Notes:

- N/A
2023-10-25 17:09:12 +02:00
Joseph T. Lyons
c44d1cda9a collab 0.26.0 2023-10-25 16:24:53 +02:00
Mikayla
26a3d41dc7
Change from try (reserved keyword) to maybe 2023-10-25 07:10:21 -07:00
Max Brunsfeld
90f65ec9fe
Remove logic for multiple channel parents (#3162)
This PR simplifies our state management for channels, and logic for
inheriting channel permissions, by removing the ability for channels to
have multiple parent channels.
2023-10-25 15:57:55 +02:00
Max Brunsfeld
b5cbfb8f1d Allow moving channels to the root 2023-10-25 15:50:37 +02:00
Max Brunsfeld
32367eba14 Set up UI to allow dragging a channel to the root 2023-10-25 15:39:02 +02:00
Conrad Irwin
b8bd070a83
Fix panic by disallowing multiple room joins (#3149)
Release Notes:

- Fixed panic that could occur when switching channels quickly
2023-10-24 23:57:08 +02:00
Conrad Irwin
dfc34e582a Fix extra race 2023-10-24 18:54:55 +02:00
Max Brunsfeld
5c03b6a610 Remove logic for multiple channel parents
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Kyle <kyle@zed.dev>
Co-authored-by: Joseph <joseph@zed.dev>
2023-10-24 17:29:23 +02:00
Max Brunsfeld
cc9e92857b
Guest roles (#3140)
Release Notes:

- Added a "guest" role to channels, and made that the default when a new
user joins a public channel.
2023-10-24 17:29:14 +02:00
Kirill Bulatov
e9ce935991 Rework prettier tests
Do not infuse `FakeNodeRuntime` with prettier exceptions, rather keep
the default formatter installation method as no-op.
2023-10-24 14:25:46 +02:00
Conrad Irwin
3358420f6a fix format 2023-10-24 11:17:17 +02:00
Conrad Irwin
aa6990bb6b Fix set_channel_visibility for public channels 2023-10-24 10:55:10 +02:00
Conrad Irwin
e6087e0ed9 Fix tests 2023-10-24 09:46:46 +02:00
Conrad Irwin
ea4e67fb76 Merge branch 'main' into guest-exp 2023-10-23 17:47:21 +02:00
Max Brunsfeld
59adcc1744 Load more notifications when scrolling down 2023-10-22 17:10:21 +02:00
Max Brunsfeld
234ccbe51f Merge branch 'main' into notifications 2023-10-22 12:25:30 +02:00
Max Brunsfeld
4a0358a513 Mark contact acceptance notifications as read automatically 2023-10-22 12:22:47 +02:00
Max Brunsfeld
fce09e8c92 Mark chat mention notifications as read when viewing the message 2023-10-22 11:57:10 +02:00
Mikayla
b8936e5fca
Finish room initialization concurrency test 2023-10-21 03:15:18 -07:00
Mikayla
5365fd2149
WIP: Add test for panic, temporarily rollback synchronization changes 2023-10-21 03:05:57 -07:00
Kirill Bulatov
7748848b6e Move prettier parsers data into languages from LSP adapters 2023-10-21 01:14:03 +02:00
Conrad Irwin
e03e5364d2 Wire through LiveKit permissions 2023-10-19 23:23:33 -06:00
Conrad Irwin
aa4b8d7246 Fix notifications for membership changes too 2023-10-19 23:05:06 -06:00
Max Brunsfeld
851d7d0bc4 Rename NewNotification proto message to AddNotification 2023-10-19 13:29:14 -07:00
Max Brunsfeld
33f06d3104 Index notifications to allow faster lookup by kind, entity id 2023-10-19 13:03:27 -07:00
Max Brunsfeld
841cfac1f8 Fix filtering when providing non-admins info about channel members 2023-10-19 12:54:47 -07:00
Max Brunsfeld
5b90507310 Navigate to chat messages when clicking them in the notification panel 2023-10-19 12:31:45 -07:00
Conrad Irwin
0eff7c6ca9 Add read-only channel notes support
Fix some bugs where ChannelNotes and ChannelChat had old cached channel
instances
2023-10-19 13:20:49 -06:00
Max Brunsfeld
d62f114c02 Create notifications for mentioned users
Co-authored-by: Piotr <piotr@zed.dev>
2023-10-19 10:52:40 -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
5257fb8533 Fix compile error in db seed executable 2023-10-18 18:05:51 -07:00
Max Brunsfeld
ac54d2b927 Fix possibility of extra mention insertion on nonce collision 2023-10-18 18:04:56 -07: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
Conrad Irwin
2b11463567 Fix notifications on channel changes 2023-10-18 15:56:33 -06:00
Joseph T. Lyons
4e68b588be collab 0.25.0 2023-10-18 13:17:17 -04: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
Conrad Irwin
72ed8a6dd2 Allow guests to chat 2023-10-17 19:03:02 -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
Conrad Irwin
783f05172b Make sure guests join as guests 2023-10-17 15:40:23 -06:00
Conrad Irwin
1c5e07f4a2 update sidebar for public channels 2023-10-17 13:30:09 -06:00
Max Brunsfeld
52834dbf21 Add notifications integration test 2023-10-17 11:21:38 -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
Conrad Irwin
5b39fc8123 Temporarily join public channels as a member 2023-10-17 10:29:43 -06:00
Conrad Irwin
3412becfc5 Fix some tests 2023-10-17 10:15:20 -06:00
Max Brunsfeld
f225039d36 Display invite response buttons inline in notification panel 2023-10-17 09:12:55 -07:00
Conrad Irwin
2456c077f6 Fix channel test ordering 2023-10-17 10:01:31 -06:00
Conrad Irwin
9cc55f895c Merge branch 'main' into guests 2023-10-17 09:54:17 -06:00
Conrad Irwin
851701cb6f Fix get_most_public_ancestor 2023-10-17 09:41:34 -06:00
Mikayla
465d726bd4
Minor adjustments 2023-10-17 03:05:01 -07:00
Mikayla
162f625716
Adjust chat permisisons to allow deletion for channel admins 2023-10-17 02:16:17 -07:00
Conrad Irwin
6ffbc3a0f5 Allow pasting ZED urls in the command palette in development 2023-10-16 20:03:44 -06:00
Conrad Irwin
2feb091961 Ensure that invitees do not have permissions
They have to accept the invite, (which joining the channel will do),
first.
2023-10-16 16:24:10 -06:00
Conrad Irwin
4e7b35c917 Make joining a channel as a guest always succeed 2023-10-16 15:14:13 -06:00
Max Brunsfeld
ff245c61d2 Reduce duplication in notification queries 2023-10-13 17:10:46 -07:00
Max Brunsfeld
cb7b011d6b Avoid creating duplicate invite notifications 2023-10-13 16:57:28 -07: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
Conrad Irwin
f8fd77b83e fix migration 2023-10-13 15:08:09 -06:00
Conrad Irwin
e20bc87152 Add some sanity checks for new user channel graph 2023-10-13 14:30:20 -06:00
Conrad Irwin
bb408936e9 Ignore old admin column 2023-10-13 14:08:40 -06:00
Conrad Irwin
e050d168a7 Delete some old code, reame ChannelMembers -> Members 2023-10-13 13:39:46 -06:00
Conrad Irwin
9c6f5de551 Use new get_channel_descendants for delete 2023-10-13 13:17:19 -06:00
Max Brunsfeld
e590b43545 Merge branch 'main' into notifications 2023-10-13 11:31:53 -07:00
Max Brunsfeld
8db86dcebf Connect notification panel to notification toasts 2023-10-13 11:21:45 -07:00
Conrad Irwin
a8e352a473 Rewrite get_user_channels with new permissions 2023-10-13 11:46:03 -06:00
Julia
2323fd17b0
Autocomplete docs (#3126)
Release Notes:

- Added documentation display for autocomplete items.
- Fixed autocomplete filtering blocking the Zed UI, causing hitches and
input delays with large completion lists.
- Fixed hover popup link not firing if the mouse moved a slight amount
while clicking.
- Added support for absolute path file links in hover popup and
autocomplete docs.
2023-10-13 13:26:45 -04:00
Conrad Irwin
65a0ebf975 Update get_channel_participant_details to include guests 2023-10-12 21:36:21 -06:00
Conrad Irwin
da2b8082b3 Rename members to participants in db crate 2023-10-12 20:42:42 -06: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
fed3ffb681 Set up notification store for integration tests 2023-10-12 17:42:30 -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
Kirill Bulatov
a50977e0fd
Add prettier support (#3122) 2023-10-12 17:13:10 +03:00
Kirill Bulatov
1bfde4bfa2 Add more tests 2023-10-12 15:14:51 +03:00
Conrad Irwin
690d9fb971 Add a role column to the database and start using it
We cannot yet stop using `admin` because stable will continue writing
it.
2023-10-11 20:05:57 -06:00
Joseph T. Lyons
d6fa06b3be collab 0.24.0 2023-10-11 13:51:01 -04:00
Kirill Bulatov
9bf22c56cd Rebase fixes 2023-10-11 12:56:29 +03:00
Kirill Bulatov
4f956d71e2 Slightly better prettier settings and discovery 2023-10-11 12:56:29 +03:00
Kirill Bulatov
ce6b31d938 Make NodeRuntime non-static for prettier runner 2023-10-11 12:56:29 +03:00
Mikayla
d7d027bcf1
Rename release channel to enviroment 2023-10-10 13:23:03 -07:00
Mikayla
40430cf01b
Update channel rooms to be ephemeral
Remove redundant live kit initialization code
Fix bug in recent channel links changes where channel rooms would have the incorrect release set

co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
co-authored-by: Max <max@zed.dev>
2023-10-10 12:39:16 -07:00
Julia
354882f2c0 Enable completion menu to resolve documentation when guest 2023-10-10 00:16:15 -04:00
Conrad Irwin
d4ef764305 Merge branch 'main' into links 2023-10-09 20:08:48 -06:00
Max Brunsfeld
af90077a6a Add failing test for switching leaders in a pane 2023-10-09 13:30:14 -07:00
Conrad Irwin
162cb19cff Only allow one release channel in a call 2023-10-09 12:59:18 -06:00
Max Brunsfeld
f8ca86c6a7 Remove workspace -> channel dependency 2023-10-06 14:19:25 -07:00
Max Brunsfeld
9f32a6e209 collab 0.23.3 2023-10-06 11:25:46 -07:00
Max Brunsfeld
663649a100 Fix error in query for last N channel messages 2023-10-06 10:58:34 -07:00
Max Brunsfeld
b3c9473bc8 collab 0.23.2 2023-10-05 16:06:28 -07:00
Max Brunsfeld
438dd42f7d Fix bugs in handling mutual following
* Propagate all of leader's views to a new follower, even if those views
  were originally created by that follower.
* Propagate active view changes to followers, even if the active view is
  following that follower.
* Avoid redundant active view updates on the client.
2023-10-05 13:28:46 -07:00
Max Brunsfeld
df2fa87e6b collab 0.23.1 2023-10-04 15:12:17 -07:00
Max Brunsfeld
d09767a90b Ensure chat messages are retrieved in order of id 2023-10-04 14:43:53 -07:00
Joseph T. Lyons
6cb674a0aa collab 0.23.0 2023-10-04 15:01:38 -04:00
Mikayla
4d61d01943
Add an RPC handler for channel buffer acks
co-authored-by: max <max@zed.dev>
2023-10-04 11:47:13 -07:00
Mikayla
e548572f12
Fix channel messages test 2023-10-04 10:13:02 -07:00
Mikayla
db8096ccdc
Fix most tests for new chat changes 2023-10-03 20:50:17 -07:00
Mikayla
3bc7024f8b
Fix unit test
co-authored-by: Conrad <conrad.irwin@gmail.com>
2023-10-03 20:03:57 -07:00
Max Brunsfeld
95342c8c33 Merge branch 'main' into channel-changes 2023-10-03 17:52:28 -07: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
Max Brunsfeld
af09861f5c Specify uuid crate in the root Cargo.toml
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-03 17:39:24 -07:00
Mikayla
6007c8705c
Upgrade SeaORM to latest version, also upgrade sqlite bindings, rustqlite, and remove SeaQuery
co-authored-by: Max <max@zed.dev>
2023-10-03 12:16:53 -07:00
Mikayla
32c4138758
Added db message and edit operation observation
Co-authored-by: Max <max@zed.dev>
2023-10-03 11:39:59 -07:00
Max Brunsfeld
0db4b29452 Avoid N+1 query for channels with new messages
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-02 16:22:28 -07:00
Max Brunsfeld
d9d997b218 Avoid N+1 query for channels with notes changes
Also, start work on new timing for recording observed notes edits.

Co-authored-by: Mikayla <mikayla@zed.dev>
2023-10-02 15:58:34 -07:00
Conrad Irwin
528fa5c57b Refactor to remove toggle_follow 2023-10-02 16:51:02 -06:00
Conrad Irwin
27d784b23e Fix bug in following
Prior to this change you could only follow across workspaces when you
were heading to the first window.
2023-10-02 16:29:42 -06:00
Conrad Irwin
39af2bb0a4 Ensure notifications are dismissed
Before this change if you joined a project without clicking on the
notification it would never disappear.

Fix a related bug where if you have more than one monitor, the
notification was only dismissed from one of them.
2023-10-02 11:01:21 -06:00
Mikayla
1d5b665f13
Implement channel changes for messages 2023-10-01 22:32:11 -07:00
Mikayla
51cf6a5ff3
Add database implementation of channel message change tracking 2023-10-01 22:32:11 -07:00
Mikayla
e0ff7ba180
Add channel note indicator and clear changed status 2023-10-01 22:32:10 -07:00
Mikayla
9ba975d6ad
Channel notifications from the server works 2023-10-01 22:30:21 -07:00
Mikayla
1469c02998
Add observed_channel_notes table and implement note diffing 2023-10-01 22:26:27 -07:00
Conrad Irwin
92bb9a5fdc Make following more good
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-09-29 17:59:19 -06:00
Max Brunsfeld
ca0a4bdf8e Introduce a WorkspaceStore for handling following 2023-09-28 18:58:52 -07:00
Max Brunsfeld
0058702749 Remove unused db query method 2023-09-28 17:13:10 -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
ce940da8e9 Fix errors from assuming all room_participant rows had a non-null participant_index
Rows representing pending participants have a null participant_index.

Co-authored-by: Conrad <conrad@zed.dev>
2023-09-28 12:03:53 -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
4ffa167256 Allow following into channel notes regardless of project 2023-09-21 17:12:59 -07:00
Max Brunsfeld
ed8b022b51 Add initial failing test for following to channel notes in an unshared project 2023-09-21 13:14:15 -07:00
Max Brunsfeld
c71566e7f5 Make project id optional when following - server only 2023-09-21 13:14:15 -07:00
Max Brunsfeld
d42093e069 collab 0.22.1 2023-09-20 17:39:21 -07:00
Mikayla
4ff44dfa3b
Fix bugs in moving channels that could cause channels to be stranded or moved unexpectedly
Made channel linking not query in a loop

co-authored-by: Max <max@zed.dev>
2023-09-20 15:32:06 -07:00
Joseph T. Lyons
e7d73b833b collab 0.22.0 2023-09-20 13:59:36 -04:00
Mikayla Maki
e37373a636
Add UI/UX for moving channels (#2976)
TODO:

- [x] Add drag and drop
- [x] Polish up in-flight decisions.
- [x] Fix chat panel panic
- [x] Add nice hover effect highlighting the matching ones
- [x] Fix and test keyboard

Release Notes:

- N/A
2023-09-19 17:56:22 -07:00
Mikayla
ac65e7590c
Add hover styles to channels matching the current selection
Fix chat desync from moving / linking channels
2023-09-19 17:50:02 -07:00
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