Antonio Scandurra and Nathan 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 Sobo and Antonio 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 Scandurra and Nathan 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 Brunsfeld and Nathan 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 Brunsfeld and Nathan 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 Brunsfeld and Nathan 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 Scandurra and Nathan 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 Brunsfeld and Nathan 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 Brunsfeld and Nathan 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 Sobo and Max Brunsfeld
52cce93287
Show requests in contacts panel
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-09 12:48:07 -06:00
Nathan Sobo and Max 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 Brunsfeld and Nathan 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 Brunsfeld and Nathan 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 Sobo and Antonio 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 Sobo and Antonio 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 Scandurra and Nathan 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 Sobo and Max 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 Sobo and Max 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