Commit Graph
129 Commits
Author SHA1 Message Date
Joseph T Lyons 022f70b1de Temporarily restore integration with Amplitude
This will be reverted later, once we fully switch to Mixpanel
2022-10-20 19:27:55 -04:00
Max Brunsfeld e6b29086a9 Merge pull request #1777 from zed-industries/impersonate-via-secret-token
Impersonate via secret token
2022-10-19 13:32:40 -07:00
Max Brunsfeld 83e4e26989 Allow setting ZED_SERVER_URL to URL of a collab server 2022-10-19 13:27:14 -07:00
Max Brunsfeld c410935c9c Allow impersonating users via the api token, bypassing oauth 2022-10-18 17:36:54 -07:00
Kay Simmons da5203011c Merge pull request #1773 from zed-industries/rusqlite
Swap to sqlite for client persistence
2022-10-18 16:11:54 -07:00
Mikayla Makiand 84c7aa9cad Finished up initial sqlite implemention
Co-Authored-By: kay@zed.dev
2022-10-18 15:58:05 -07:00
Antonio ScandurraandNathan Sobo 0c0e8688ed Use PeerId in TestServer::disconnect_client
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 19:05:37 +02:00
Antonio ScandurraandNathan Sobo 2c4f003897 Tell clients their peer id on connection in Hello message
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-10-18 18:42:55 +02:00
Antonio Scandurra c4dde0f4e2 💄 2022-10-12 15:35:28 +02:00
Antonio Scandurra ec19f0f8e9 Remove unnecessary async from Peer::add_connection 2022-10-12 15:32:39 +02:00
Antonio Scandurra cc56fa9ea6 Introduce client-side timeout when trying to connect 2022-10-12 15:32:30 +02:00
Antonio Scandurra afaacba41f Merge remote-tracking branch 'origin/main' into room 2022-10-10 15:43:38 +02:00
Antonio Scandurra 7763acbdd5 Move IncomingCall into call crate 2022-10-06 09:52:03 +02:00
Max BrunsfeldandJoseph Lyons 4477f95ee6 Set staff user property in telemetry
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-10-03 10:52:57 -07:00
Max Brunsfeld 5d09083a7d Identify users in amplitude via a separate 'metrics_id' UUID 2022-09-29 13:15:21 -07:00
Antonio ScandurraandNathan Sobo e0db62173a 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
Max Brunsfeld 0d3486ca82 Remove TestTelemetry command 2022-09-28 15:50:17 -07:00
Antonio ScandurraandNathan Sobo 4a9bf8f4fe Introduce call infrastructure
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-09-28 11:33:38 +02:00
Antonio Scandurra ebb5ffcedc Introduce the ability of creating rooms on the server 2022-09-28 11:33:38 +02:00
Max BrunsfeldandJoseph Lyons 3bd68128d7 Add command to view the telemetry log
Co-authored-by: Joseph Lyons <joseph@zed.dev>
2022-09-27 14:20:13 -07:00
Nathan SoboandMax Brunsfeld 824fdb54e6 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 BrunsfeldandJoseph Lyons 4784dbe498 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 04baccbea6 Start work on a client-side telemetry system 2022-09-23 12:23:12 -07:00
ForLoveOfCatsandMikayla 8ba2f77148 One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Antonio Scandurra a1d0d2ccc4 Add tests for client authentication while a previous sign in is pending 2022-08-02 14:28:47 +02:00
Antonio Scandurra aa09bc527f 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 b91d44b448 Respond with a debug version of the error in rpc Client 2022-07-07 11:52:56 +02:00
Max Brunsfeld c5351a1276 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
Max BrunsfeldandAntonio Scandurra 6a2c5e0dc1 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
Max Brunsfeld 7ef9de32b1 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
Max BrunsfeldandNathan Sobo be51a58311 Start work on requesting to join projects
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-12 17:53:11 -07:00
Nathan Sobo 9b1b61355a Fully test contact request acceptance
* Be sure we send updates to multiple clients for the same user
* Be sure we send a full contacts update on initial connection

As part of this commit, I fixed an issue where we couldn't disconnect and reconnect in tests. The first disconnect would cause the I/O future to terminate asynchronously, which caused us to sign out even though the active connection didn't belong to that future. I added a guard to ensure that we only sign out if the I/O future is associated with the current connection.
2022-05-08 15:19:56 -06:00
Antonio Scandurra da3870ea31 Pass secret token when uploading crashes 2022-05-02 15:42:52 +02:00
Antonio Scandurra 0e1e5b7d55 Make following redirects explicit in HttpClient::get 2022-04-27 13:14:45 +02:00
Nathan Sobo 78afbb3599 Remove async-std and surf from client
Switch to isahc library. It's not as fancy, but it works and has a smaller footprint.
2022-04-26 21:19:15 -06:00
Nathan SoboandAntonio Scandurra 2adb9fe472 Get zed.dev working with new collab backend
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-26 11:15:41 -06:00
Antonio Scandurra fb87bacc7e Merge branch 'main' into auto-update 2022-04-21 09:53:06 +02:00
5242a3a6dc Restructure action macro to assign a namespace to every action
Also, allow arbitrary types to be used as Actions via the impl_actions macro

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:20:49 -07:00
38e902b241 WIP: Start on auto-update
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Keith Simmons <keith@zed.dev>
2022-04-04 18:59:57 +02:00
Nathan SoboandMax Brunsfeld 4a42025c28 Authenticate on startup if ZED_IMPERSONATE is assigned
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-23 12:25:06 -06:00
Nathan SoboandMax Brunsfeld ee9ed936e4 Don't try keychain after authentication fails
Previously, we were achieving this by deleting the keychain item, but this can sometimes fail which leads to an infinite loop. Now, we explicitly never try the keychain when reattempting authentication after authentication fails.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-23 12:15:36 -06:00
Max Brunsfeld df0632011c 🎨 client
Forgot to push this yesterday night.
2022-03-18 13:03:43 -07:00
Antonio Scandurra f0b7bd6e17 Serialize initial follow state in leader and reflect it in follower 2022-03-18 10:22:13 +01:00
Max Brunsfeld 0fdaa1d715 WIP 2022-03-17 17:53:49 -07:00
Antonio Scandurra 18b1e9d35f Don't starve main thread when lots of messages/events arrive at once 2022-03-11 10:09:13 +01:00
1f5eab39a9 Reset peer's receive timeout when a message is received
* Make advance_clock more realistic by waking timers in order,
  instead of all at once.
* Don't advance the clock when simulating random delays.

Co-Authored-By: Keith Simmons <keith@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-03-07 15:33:43 -08:00
Max Brunsfeld 4124308d94 Fix errors from conditional compilation in timer functions 2022-03-04 17:16:17 -08:00
9017a1363b Send websocket pings from both the client and the server
Remove the client-only logic for sending protobuf pings.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-03-04 15:21:18 -08:00
Antonio ScandurraandNathan Sobo b21d91db22 Render overlay after remote project becomes read-only
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-03-04 17:28:18 +01:00
Max Brunsfeld ae93cfed50 Tear down client's connection states when dropping test clients 2022-03-01 18:17:41 -08:00