Commit Graph
728 Commits
Author SHA1 Message Date
Antonio ScandurraandNathan Sobo 5cf6e0728c Remove projects from contact updates
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 19:40:36 +02:00
Antonio ScandurraandNathan Sobo ccea160994 Rename room crate to call
Also, rename `client::Call` to `client::IncomingCall`.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-29 17:24:31 +02:00
Antonio Scandurra 366c7ac5d6 Wire up accepting/declining a call 2022-09-29 15:33:33 +02:00
Max Brunsfeld d5aa740c7b Remove TestTelemetry command 2022-09-28 15:50:17 -07:00
Max Brunsfeld 1ee06123fd Set minimum user id length in amplitude calls 2022-09-28 15:21:49 -07:00
Antonio ScandurraandNathan Sobo 8bbbc1a5d1 Ring users upon connection if somebody was calling them before connecting
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra ca78ee9918 Always rely on the server to cancel the incoming call 2022-09-28 11:33:38 +02:00
Antonio Scandurra 87187cb7e2 Introduce the ability of declining calls 2022-09-28 11:33:38 +02:00
Antonio Scandurra ee8e200dd9 Implement joining a room and sending updates after people join/leave 2022-09-28 11:33:38 +02:00
Antonio ScandurraandNathan Sobo 6e53365ff0 Introduce call infrastructure
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra 1579040207 Introduce the ability of creating rooms on the server 2022-09-28 11:33:38 +02:00
Max BrunsfeldandJoseph Lyons 4284e38e4c Add command to view the telemetry log
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-27 14:20:13 -07:00
Max Brunsfeld 269311f403 Always allow overriding amplitude API key via a runtime env var 2022-09-27 12:42:27 -07:00
Nathan SoboandMax Brunsfeld 76f5e0a317 Report editor open and save events to Amplitude
Co-authored-by: Max Brunsfeld <max@zed.dev>
2022-09-26 18:18:34 -06:00
Max Brunsfeld dd734fcea6 wip 2022-09-26 15:23:10 -07:00
Max BrunsfeldandJoseph Lyons be778209ee Link signups to users in telemetry via a stored device_id
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-26 12:49:04 -07:00
Max Brunsfeld 81af17d294 Start work on a client-side telemetry system 2022-09-23 12:23:12 -07:00
ForLoveOfCatsandMikayla fbea44bc5c One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Antonio Scandurra ef417fad91 Add tests for client authentication while a previous sign in is pending 2022-08-02 14:28:47 +02:00
Antonio Scandurra f4b11c0612 Allow signing in again if authentication is pending or was unsuccessful
The local server that we spin up to receive OAuth callbacks isn't
called when an error occurs and it is non-trivial to do so with
next-auth. Besides, there could be cases where the user explicitly
closes the browser window before the callback can be invoked.

With this commit, the user can sign in even while an authentication
is still in progress. As opposed to waiting for at most 10 minutes
before killing the local HTTP server if we haven't received the callback,
we will repeatedly check for a response every second for 100 seconds.
This gives us a chance to determine whether a new authentication has started
in the meantime and, if so, abort the current authentication flow.
2022-08-02 14:16:14 +02:00
Antonio Scandurra 13f036a864 Respond with a debug version of the error in rpc Client 2022-07-07 11:52:56 +02:00
Max Brunsfeld 2a30ec4924 Ensure that usernames, user ids, and client ids match in random collaboration test
This makes the logs easier to interpret
2022-06-30 14:51:22 -07:00
Antonio ScandurraandMax Brunsfeld ef93cd59f7 Remove stray log statement when contacts are updated
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-06-22 19:40:52 +02:00
Max BrunsfeldandAntonio Scandurra a323afac3f Show upgrade required message when reconnecting after a protocol change
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-21 10:26:34 -07:00
Antonio Scandurra 72f3ffe284 Accept a datetime range when querying project activity 2022-06-21 14:03:10 +02:00
Antonio Scandurra 297842b911 Broadcast only visible worktree root names 2022-06-14 15:15:23 +02:00
Antonio Scandurra 77224e023a Require that PartialEq is implemented for Action 2022-06-06 09:18:44 +02:00
Max Brunsfeld 070c108f4a Avoid persisting project's state before it has been initialized 2022-06-03 16:40:16 -07:00
Max Brunsfeld 63f4f00711 Keep unregistered projects' ids until pending contact updates are done 2022-06-02 18:04:54 -07:00
Max Brunsfeld 006c4794a7 Disconnect FakeServer when dropping it
This prevents memory leak errors in tests, due to parked tasks waiting
for RPC responses.
2022-06-02 17:32:43 -07:00
Max Brunsfeld f04e05f966 Show private projects in the contacts panel
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Antonio ScandurraandNathan Sobo 5954c1b146 Show contacts panel the first time a new user connects to collab
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-20 17:33:09 +02:00
Nathan SoboandAntonio Scandurra 3b4085b654 Add affordance to copy user's invite link if they have a code
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 17:57:46 -06:00
Antonio ScandurraandNathan Sobo 0bb77237db Show guest only once even if they joined on two different windows
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-17 16:21:09 +02:00
Nathan Sobo 6be7161888 Cancel join requests when the requester closes the window 2022-05-16 20:29:36 -06:00
Max BrunsfeldandNathan Sobo 8d00fab9b1 Start work on requesting to join projects
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-12 17:53:11 -07:00
Max Brunsfeld 00af7d0273 Merge branch 'main' into contact-panel-keyboard-nav 2022-05-11 17:45:44 -07:00
Max BrunsfeldandNathan Sobo 449e7d69cb Improve layout and styling of contact notifications
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-11 14:20:05 -07:00
Max BrunsfeldandNathan Sobo 0a1ca3dfc5 Add notifications for accepted contact requests
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-11 11:39:01 -07:00
Antonio Scandurra 95202cc7f8 Show incoming request notification and implement dismissal 2022-05-11 15:13:37 +02:00
Max Brunsfeld ededd48caa Avoid possible memory leak of FakeServer in tests 2022-05-10 21:45:12 -07:00
Max Brunsfeld 3edb228380 Avoid panic when trying to fetch an invalid URL 2022-05-10 21:44:33 -07:00
Nathan Sobo 09f9c45a0e Dismiss contact request notification if request is cancelled 2022-05-10 18:50:18 -06:00
Nathan Sobo 65139408ea Present a blank notification upon receipt of a contact request 2022-05-10 18:33:39 -06:00
Antonio Scandurra 1be8871fc6 WIP 2022-05-10 18:25:47 +02:00
Antonio ScandurraandNathan Sobo a04d6520e2 Fix bug when determining contact status
Users are sorted by login but we were binary-searching them by id.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-10 17:26:53 +02:00
Antonio Scandurra 606f7548a0 Maintain online status in contacts panel 2022-05-10 10:33:57 +02:00
Nathan Sobo f4176d17ac Filter out empty projects in contacts panel 2022-05-09 20:57:41 -06:00
Max BrunsfeldandNathan Sobo b20ecb56ee Avoid sending a GetUsers request for an emptly list of user ids
We don't actually need to return the users at this time. We just call this for its side effect.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-09 18:03:24 -07:00
Max BrunsfeldandNathan Sobo cbba405d6d Wait until contacts have been cleared when disconnecting
Also, use an mpsc for UpdateContacts messages, not a watch, since
the messages now represent changes instead of snapshots.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-09 17:23:39 -07:00