Commit graph

1448 commits

Author SHA1 Message Date
Max Brunsfeld
8de9c362c9 Add .zed.toml 2021-09-20 15:44:42 -07:00
Max Brunsfeld
a068019d94 Add ZED_IMPERSONATE env var, for testing
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-20 15:44:28 -07:00
Max Brunsfeld
4ca5814470 Add missing people panel properties to base theme
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-20 13:38:59 -07:00
Antonio Scandurra
23652f2ba6 Start on PeoplePanel::render
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-20 20:04:48 +02:00
Antonio Scandurra
67946b7224 Add an integration test to verify collaborators are kept up to date 2021-09-20 16:40:31 +02:00
Antonio Scandurra
3d4dbf3140 Maintain collaborators in UserStore 2021-09-20 15:05:41 +02:00
Antonio Scandurra
32111092bd Turn UserStore into a model 2021-09-20 14:40:06 +02:00
Antonio Scandurra
6f2c8ffb00 Introduce a Client::subscribe method that doesn't need an entity 2021-09-20 14:14:07 +02:00
Antonio Scandurra
ae9fb65315 Fix integration tests 2021-09-20 12:52:13 +02:00
Antonio Scandurra
d8ea220acc Update collaborators as worktrees are opened/shared/closed 2021-09-20 12:29:32 +02:00
Antonio Scandurra
f13af7dc59 WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-17 18:37:00 +02:00
Antonio Scandurra
f2825cceba Start on Presence as the backing model for the people panel 2021-09-17 16:18:41 +02:00
Antonio Scandurra
12fa309b7c Implement proto::GetCollaborators request 2021-09-17 14:36:50 +02:00
Max Brunsfeld
e3c0d6980c Switch to a new flow for advertising, sharing and joining worktrees
Now, when you open a local worktree, we immediately send an `OpenWorktree` message
to the server, telling it the name of the folder that you've opened, and the names of all the
collaborators (based on a `.zed.toml` file). The server responds with a unique id for the
worktree.

When starting share this local worktree, you now include this previously-assigned id
in the `ShareWorktree` message.

When joining a worktree, there is no longer a need to provide an access token. The access
is controlled by the set of "collaborator logins" that were provided when the worktree
was initially opened by the host.
2021-09-16 18:39:29 -07:00
Max Brunsfeld
176ca9086e Rename OpenWorktree message to JoinWorktree
We'll repurpose the name 'OpenWorktree' for opening a local
worktree while signed in, and advertising the open status to
the worktree's collaborators.
2021-09-16 12:57:19 -07:00
Max Brunsfeld
f0093974ee Always store an rpc client on local worktrees
Even before sharing, we now want to advertise that the user is working
on a certain worktree, to make that visible to all of the worktree's
collaborators.
2021-09-16 11:06:49 -07:00
Antonio Scandurra
260114af6c Update Inconsolata to not include ligatures
Fixes #146

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-16 17:47:17 +02:00
Antonio Scandurra
f21b180bce
Merge pull request #147 from zed-industries/finish-disconnected-chat
Finish up making the chat panel handle disconnect and reconnect
2021-09-16 17:46:55 +02:00
Antonio Scandurra
79fb3aa8af Add migration to add a nonce column to channel_messages
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-16 17:43:43 +02:00
Antonio Scandurra
02768b7f7b Remove duplicated text base definition 2021-09-16 17:39:12 +02:00
Antonio Scandurra
8973e250ca Re-send pending messages after reconnecting 2021-09-16 16:23:43 +02:00
Antonio Scandurra
4a96a5c9ff Use a negative delta to scroll down in layout unit test for List 2021-09-16 11:46:53 +02:00
Antonio Scandurra
9402eb3f3e Maintain parent pointers from primitive values too
After resolving a reference to a primitive value, we want to set
its parent pointer so that `Tree::resolve` can navigate upward and
update the cached resolved status of each node.
2021-09-16 11:17:54 +02:00
Max Brunsfeld
df4b5890fd Run fewer iterations of the gpui list test by default 2021-09-15 18:06:21 -07:00
Max Brunsfeld
fbe77e92b4 Run all crates' tests on CI 2021-09-15 17:56:08 -07:00
Max Brunsfeld
2392075467 Get resolve_references test passing 2021-09-15 17:49:51 -07:00
Max Brunsfeld
caf0f0e428 Fix duplicated results in get_users_by_ids 2021-09-15 16:45:41 -07:00
Max Brunsfeld
31b5602dc1 Get server integration tests passing again
* Set up UserStore to have the current user, so that
  channel messages can be sent. This is needed now that
  pending messages are represented more similarly to
  regular messages.
* Drop buffer inside of an `AppContext.update` block, so that
  the Buffer's release hook is called in time.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 16:17:07 -07:00
Nathan Sobo
95ef70e4f4 Switch to new resolution system in ThemeRegistry
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-15 12:56:20 -06:00
Antonio Scandurra
5ee0e85f02 WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-15 18:32:44 +02:00
Antonio Scandurra
65b22157e7 WIP 2021-09-15 15:12:16 +02:00
Nathan Sobo
c2e9aa1b54 Render chat panel messages even if connection is lost
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-15 05:18:13 -06:00
Nathan Sobo
ec7c6f3f91 Always assign credentials on rpc::Client after connecting
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-15 05:13:05 -06:00
Nathan Sobo
7d59b2d861 Log panics when not attached to a pty
Hopefully this will give us better forensics if we panic in production.
2021-09-15 04:51:22 -06:00
Antonio Scandurra
914112f2b5 Fix test_channel_messages unit test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 12:15:54 +02:00
Antonio Scandurra
f6bf0792ce Merge branch 'render-images' 2021-09-15 12:11:08 +02:00
Antonio Scandurra
603f1d820d Authenticate via the browser if keychain credentials are invalid
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 11:45:08 +02:00
Nathan Sobo
7e4d5b7d04 Clear cached credentials when establishing a websocket connection with an invalid token 2021-09-14 20:36:03 -06:00
Nathan Sobo
4a9918979e WIP: Clear cached credentials if authentication fails
Still need to actually handle an HTTP response from the server indicating there was an invalid token.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 19:19:11 -06:00
Nathan Sobo
77a4a36eb3 Test that we reuse credentials when reconnecting
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 18:30:17 -06:00
Nathan Sobo
44a457e8b6 Cache credentials in memory separately from connection status
This prevents us from re-prompting for keychain access when we retry connections after the connection is lost.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 18:21:46 -06:00
Max Brunsfeld
aa7c1bfa2d Fix type errors in server tests 2021-09-14 17:15:17 -07:00
Nathan Sobo
99a2dc4880 Render an offline icon in titlebar when connection is lost
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 17:47:43 -06:00
Nathan Sobo
e212461dfe Authenticate when clicking on unauthenticated avatar in titlebar
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 17:06:40 -06:00
Nathan Sobo
0f415a594f Style avatar image with border and rounded corners
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:38 -06:00
Nathan Sobo
426d52d8c1 Mix quad border color with background color based on its alpha channel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:09 -06:00
Nathan Sobo
b63b717eac Preserve aspect ratio when scaling images
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:39:35 -06:00
Nathan Sobo
e0e0bdbc3a Synthesize GitHub avatar URL and follow redirects when fetching it
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:28:26 -06:00
Max Brunsfeld
84d4bb6186 Introduce HttpClient trait, use it to fetch avatars in UserStore
* Add a FakeHttpClient for tests
2021-09-14 13:42:44 -07:00
Nathan Sobo
4be17b7a9b Fix signups query 2021-09-14 13:23:35 -06:00