Antonio Scandurra
d8ea220acc
Update collaborators as worktrees are opened/shared/closed
2021-09-20 12:29:32 +02:00
Nate
493fb4fc24
minimal styles for admin page
2021-09-18 12:57:04 -04:00
Nate
8f8806445e
update team & story
2021-09-17 16:25:15 -04:00
Nate
80fce4e18b
remove tech from nav
2021-09-17 15:40:03 -04:00
Nate
a4d35d6c09
add community page content
2021-09-17 15:37:34 -04:00
Nate
d3b9e333a7
update home + story
2021-09-17 15:37:27 -04:00
Nate
93f3c59d5a
release page cleanup
2021-09-17 15:06:38 -04:00
Nate
8cd16982b1
add releases page
2021-09-17 14:59:02 -04:00
Nate
105206aef1
style prose, add code highligting, style updates page
2021-09-17 14:02:31 -04:00
Antonio Scandurra
f13af7dc59
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-17 18:37:00 +02:00
Nate
cb34321d69
add prose.css for manual prose styles
2021-09-17 12:33:10 -04:00
Nate
f4d0225b75
Update sign in button to link
2021-09-17 10:36:47 -04: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
Nate
18fd689177
hook up updates + more styles
2021-09-16 17:12:24 -04:00
Nathan Sobo
a1f0693599
Specify full TextStyles in EditorStyle
2021-09-16 14:12:38 -06: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
Nate
eb32675652
fix scrollbar jumping
2021-09-16 15:40:12 -04:00
Nathan Sobo
606aa148a6
Require a build_style callback to be passed to Editor on construction
...
We're going to use this to control the text style, so it really doesn't make sense to allow an editor to be constructed without it.
2021-09-16 13:20:12 -06:00
Nate
2ea7368cfb
style updates
2021-09-16 15:01:50 -04: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
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
8973e250ca
Re-send pending messages after reconnecting
2021-09-16 16:23:43 +02: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
Nate
fc7dc73f57
add additional pages and set base styles
2021-09-15 18:28:38 -04:00
Nate
51f0250466
swap logged in avatar -> username
2021-09-15 14:58:59 -04:00
Nate
0eb9822e0d
style nav
2021-09-15 14:47:50 -04:00
Nate
0906b96a23
add new font stack
2021-09-15 13:21:04 -04:00
Nate
8eb1ba9fe7
split home and releases
2021-09-15 12:57:25 -04:00
Nate
c0ad095513
add wishful nav items
2021-09-15 12:54:19 -04:00
Nate
68926908d0
new home markup
2021-09-15 12:54:07 -04:00
Antonio Scandurra
f6bf0792ce
Merge branch 'render-images'
2021-09-15 12:11: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
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
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
Nate
0f2ba45267
wip test new site content
2021-09-14 17:54:23 -04: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
Nathan Sobo
f0019e3725
WIP
2021-09-14 12:29:56 -06:00
Nathan Sobo
c14ebb264f
Make release notes look better with more than 1 release
2021-09-13 13:23:06 -06:00
Max Brunsfeld
c58e335b87
Make UpdateBuffer
a request, store unsent operations on worktree
2021-09-09 11:26:06 -07:00
Max Brunsfeld
38bfaba135
Add a generic Ack
message, use it instead of Pong
...
Remove the `id` field from `Ping`, because it isn't used.
There is already an id on the message envelope.
2021-09-09 11:24:16 -07:00
Antonio Scandurra
3c61a3e826
Ensure client A and B can communicate after reconnection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-09 15:40:35 +02:00
Antonio Scandurra
156fd4ba57
Add integration test simulating killing a connection while chatting
2021-09-09 13:27:44 +02:00
Antonio Scandurra
34d8f99714
Respond to RPC pings in the server
2021-09-09 11:08:41 +02:00
Antonio Scandurra
ad7631de9f
Refactor and write a simple unit test to verify reconnection logic
2021-09-09 11:00:43 +02:00
Max Brunsfeld
b6eac57f63
Introduce a concrete Conn
type for peer's websocket connection
...
This is mostly to set us up to test the rpc::Client's reconnect
logic.
There are multiple ways that the `rpc::Client` may establish
its websocket connection: (SSL in production, plain TCP during
local development, and using an in-memory connection for tests).
Now we can represent all of those connections using a common type.
Also, several long methods no longer need to be generic, which
is good for compile time.
2021-09-08 18:14:47 -07:00
Antonio Scandurra
900010160f
WIP
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-08 18:58:59 +02:00
Antonio Scandurra
af6e931da7
Start on a Client::status
method that can be observed
2021-09-08 15:58:16 +02:00
Antonio Scandurra
058691d2b2
Focus chat input editor after signing in
2021-09-07 13:57:30 +02:00
Antonio Scandurra
00f6bdcb24
Bundle and use Inconsolata v2.012
...
There's a newer version of the font available but ligatures seem
broken googlefonts/Inconsolata#58 and googlefonts/Inconsolata#52 .
As part of this commit I also upgraded rust-embed to use the new
exclusion feature, which allows us to skip embedding OS files like
`.DS_Store`.
2021-09-04 17:02:20 +02:00
Antonio Scandurra
6fec9e1f70
Include sanitized message in SendChannelMessageResponse
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 18:31:24 +02:00
Antonio Scandurra
a27a17b8e2
Make scrolling up in chat panel smoother
...
This increases the threshold at which we start loading new messages
as well as the amount of messages we get back from the server every
time we fetch.
Also, we restructured the seed binary to use the methods in `Db` to
generate seed data and added random chat messages.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-02 16:05:34 +02:00
Antonio Scandurra
ef89ceae4d
Take &mut self in View::render
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-30 17:51:26 +02:00
Max Brunsfeld
18d175a240
Don't allow empty chat messages
2021-08-27 17:21:53 -07:00
Max Brunsfeld
a98d293f54
Trim whitespace from chat messages and limit their length
...
Add a way for the server to respond to any request with an error
2021-08-27 17:21:35 -07:00
Max Brunsfeld
b3d5f01ba8
Drop the word 'recent' from get_channel_messages db method name
2021-08-27 15:50:45 -07:00
Max Brunsfeld
bc63fca8d7
Fetch older messages when scrolling up in the chat message list
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 14:58:28 -07:00
Antonio Scandurra
53dc08dfc5
Remove lock from element states
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-27 18:04:21 +02:00
Max Brunsfeld
3bb5610ad1
Overhaul handling of font families
...
* Specify font families in the theme.
* Load fonts eagerly when loading themes, instead of loading
them lazily when rendering.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-26 15:06:00 -07:00
Antonio Scandurra
c865f8ad1a
Fix retrieving recent channel messages
2021-08-26 14:14:22 +02:00
Antonio Scandurra
d77211c6b1
Extract a TestDb
to setup and tear down a database instance
2021-08-26 12:51:48 +02:00
Nathan Sobo
8f86fa1ccd
Associate messages with their sender, fetching senders if necessary
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-25 14:20:03 -06:00
Antonio Scandurra
405ff1d9db
Render chat messages in ChatPanel
2021-08-24 12:23:50 +02:00
Max Brunsfeld
5ecedd894d
Add ChannelList to AppState
2021-08-23 15:03:45 -07:00
Nathan Sobo
86effd64a2
Get project compiling with type-safe actions
2021-08-22 21:02:48 -06:00
Antonio Scandurra
f463b2ed50
Forbid parking earlier in server integration tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 16:41:10 +02:00
Antonio Scandurra
98f691d16d
Make database interactions deterministic in test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 16:24:33 +02:00
Antonio Scandurra
3ba530bca1
💄
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 15:00:08 +02:00
Antonio Scandurra
b13da81a84
Extract a Db::close
method and remove deref to PgPool
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 14:58:14 +02:00
Antonio Scandurra
5f3e6f35d4
Implement and test channel cleanup as clients leave
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-20 14:32:53 +02:00
Antonio Scandurra
9ed4176e4d
Save messages received from the server
2021-08-20 11:16:59 +02:00
Max Brunsfeld
10868cf0ea
Start work on sending channel messages
2021-08-19 18:04:49 -07:00
Nathan Sobo
a4882169c2
Fetch messages when joining a channel
2021-08-19 15:25:20 -06:00
Max Brunsfeld
620b988e22
WIP
2021-08-19 13:07:28 -07:00
Max Brunsfeld
86c819757d
Move Arc outside of rpc::Client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-19 12:56:50 -07:00
Max Brunsfeld
3631fbd874
Consolidate server's rpc state into the rpc::Server struct
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-19 12:17:52 -07:00
Antonio Scandurra
5338b30c00
Remove remaining instances of router
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-08-19 19:38:17 +02:00
Antonio Scandurra
d398b96f56
Re-register message handlers in RPC server
2021-08-19 15:35:03 +02:00
Antonio Scandurra
d6412fdbde
Delete old Peer
implementation and adapt previous code paths
...
This still doesn't compile but should be close.
2021-08-19 15:02:30 +02:00
Antonio Scandurra
5dee7ecf5b
Start using the new zrpc::peer2::Peer
in Server
2021-08-19 15:01:57 +02:00
Nathan Sobo
37f24d10ec
Subscribe to worktree messages at the entity level
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-18 19:06:46 -06:00
Max Brunsfeld
ff822c9158
wip
2021-08-06 14:47:18 -07:00
Max Brunsfeld
4a32bd6bb0
Implement initial RPC endpoints for chat
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-06 13:43:06 -07:00
Max Brunsfeld
13ee9c2286
Start work on server-side RPC handling for chat
2021-08-05 19:59:54 -07:00
Max Brunsfeld
109d8271e0
Add server methods for creating chat domain objects
...
Also, consolidate all sql into a `db` module
2021-08-05 19:16:36 -07:00
Max Brunsfeld
0b6376bdda
Add several proto messages for chat
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-05 19:05:58 -07:00
Max Brunsfeld
775bf8dd33
Add seed target for inserting seed data
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-05 14:16:40 -07:00
Max Brunsfeld
1910a4c1be
Add DB migration for chat tables
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-05 11:56:24 -07:00
Max Brunsfeld
b30d0daabf
Add a theme picker
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 14:55:27 -07:00
Nathan Sobo
ee213696aa
Replace DeterministicExecutor::reset with forbid_parking
...
There's really no point calling reset if we plan on parking afterwards.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-20 12:28:04 -06:00
Nathan Sobo
64927abbc4
Allow DeterministicExecutor to park until forbid_parking is called
...
This allows us to perform async setup such as talking to the database.
2021-07-20 12:22:02 -06:00
Max Brunsfeld
7260442d42
Move the fs module out of worktree
2021-07-13 15:40:11 -07:00
Max Brunsfeld
561cabbba2
Use FakeFs in all integration tests
2021-07-13 12:48:00 -07:00
Nathan Sobo
82569a031f
Fix race condition in integration test
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-13 13:24:48 -06:00
Antonio Scandurra
391ad489ff
Rename zed-rpc
to zrpc
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-13 18:22:00 +02:00