Commit Graph
97 Commits
Author SHA1 Message Date
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
Max Brunsfeld b72e24b6f5 Decrement pending_contact_requests even if a request fails 2022-05-09 16:19:00 -07:00
Nathan SoboandMax Brunsfeld 52cce93287 Show requests in contacts panel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 12:48:07 -06:00
Nathan SoboandMax Brunsfeld ab1ed218dd Wire up UI for requesting contacts and cancelling requests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 11:24:05 -06:00
Antonio Scandurra 333488cc7a WIP 2022-05-09 17:06:21 +02:00
Nathan Sobo 25c3408fc5 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
Nathan Sobo f6146aecab Get basic test of accepting a contact request passing 2022-05-07 15:09:27 -06:00
Nathan Sobo a7a14c4542 WIP: Update contacts based on deltas rather than snapshots 2022-05-06 20:50:59 -06:00
Max BrunsfeldandNathan Sobo 62e1c9b13b Start work on RPC endpoints for dealing with contact requests
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-06 15:44:47 -07:00
Max Brunsfeld c9b8995e72 Filter existing contacts when searching in the contacts panel 2022-05-05 15:04:50 -07:00
Max BrunsfeldandNathan Sobo a7359d0c77 Allow fuzzy-search for potential contacts in the contacts panel
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-05 14:14:44 -07:00
Antonio Scandurra f16b4a92f2 Pass secret token when uploading crashes 2022-05-02 15:42:52 +02:00
Antonio Scandurra 6561d732de Make following redirects explicit in HttpClient::get 2022-04-27 13:14:45 +02:00
Nathan Sobo d39756b511 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 cad80ce355 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 372f2fc6a6 Merge branch 'main' into auto-update 2022-04-21 09:53:06 +02:00
Nathan Sobo 594bbeb35d Merge pull request #781 from zed-industries/structured-logging
Introduce structured logging
2022-04-09 07:40:24 -06:00
Max Brunsfeld e57e6eb66c Merge branch 'main' into namespace-actions 2022-04-08 11:48:43 -07:00
Nathan SoboandAntonio Scandurra 66bcacd9cb Introduce structured logging
We're enabling the log crate feature everywhere, but only using it on the server for now.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:06:51 -06:00
Antonio ScandurraandNathan Sobo ea2de7c1d2 Remove postage from rpc
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:13:37 +02:00
0cf9925cb1 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
4d5c5101da 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 bc4956e837 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 8b684e14dc 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 9d50d10dee 🎨 client
Forgot to push this yesterday night.
2022-03-18 13:03:43 -07:00
Antonio Scandurra d37930e006 Serialize initial follow state in leader and reflect it in follower 2022-03-18 10:22:13 +01:00
Max Brunsfeld 6360072b43 WIP 2022-03-17 17:53:49 -07:00
Antonio Scandurra 583377a39d Don't starve main thread when lots of messages/events arrive at once 2022-03-11 10:09:13 +01:00
Max Brunsfeld bfc721db27 Assign buffer's completion triggers from LSP capabilities
Also, make LanguageServer::new() async. The future resolves
once the server is initialized.
2022-03-08 17:41:52 -08:00
a5c807cd7a 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 86d1ba1d65 Fix errors from conditional compilation in timer functions 2022-03-04 17:16:17 -08:00
Max Brunsfeld 310269e0d6 Adjust test connection to treat the half-open state more realistically
When a network connection is lost without being explicitly closed by the
other end, writes to that connection will error, but reads will just wait
indefinitely.

This allows the tests to exercise our heartbeat logic.
2022-03-04 16:47:55 -08:00