Commit Graph

50 Commits

Author SHA1 Message Date
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
Antonio Scandurra
2ecdc65f38 WIP 2021-07-13 16:36:35 +02:00
Max Brunsfeld
2a90347b82 Store an Fs on Workspace, pass it to each Worktree
Push test-only worktree behavior down into the Fs,
via a `watch` method which provides fs events.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-12 17:26:14 -07:00
Nathan Sobo
1537500fcb Include contents of the zed-server repo
We're going full monorepo.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-12 14:14:39 -06:00