Commit Graph
1018 Commits
Author SHA1 Message Date
Max Brunsfeld 2392075467 Get resolve_references test passing 2021-09-15 17:49:51 -07:00
Max BrunsfeldandNathan Sobo 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 SoboandMax Brunsfeld 95ef70e4f4 Switch to new resolution system in ThemeRegistry
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-15 12:56:20 -06:00
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 SoboandAntonio Scandurra 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 SoboandAntonio Scandurra 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 ScandurraandNathan Sobo 914112f2b5 Fix test_channel_messages unit test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 12:15:54 +02:00
Antonio ScandurraandNathan Sobo 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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
Nathan SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 SoboandMax Brunsfeld 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 f0019e3725 WIP 2021-09-14 12:29:56 -06:00
428c491542 WIP: Start on rendering avatars
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 19:21:03 +02:00
2cf1c697c2 Render a signed out icon in titlebar
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-14 18:53:41 +02:00
Antonio Scandurra 96ade8668f Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio ScandurraandMax Brunsfeld 201b923248 Don't panic if heartbeat messages can't be sent
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-14 10:56:09 +02:00
Nathan Sobo 7737699981 Use a pointing hand cursor style on tab close icons 2021-09-13 11:49:10 -06:00
Max Brunsfeld 3d4a451c15 Merge commit '680b86b17c63b67f768bc5da5f34e5ccf056a0ce' into main 2021-09-10 15:22:59 -07:00
Nate 6afd477569 Add initial collaborator colors
* Define host selection color
* Add 7 unique guest colors, optimizing for contrast between selectors the fewer collaborators you have
* Selections use transparent versions of the cursor color
2021-09-10 15:56:39 -04:00
Nate 21c74ca78d Add "zed" label to the title bar 2021-09-10 13:42:38 -04:00
Nate 64c26a73be Seperate selector.input_editor and chat_panel.input_editor
* create [selector.input_editor] and style
* Update selector style to match figma now that inputs are individually stylable
2021-09-10 11:23:38 -04:00
Nate 160c4beb06 Add shadow to channel select menu 2021-09-10 10:18:14 -04:00
Nate fac42fd3c2 Fix border on channel select menu 2021-09-10 10:14:21 -04:00
Max Brunsfeld 680b86b17c Avoid holding strong handle to Channel in long-lived task 2021-09-09 17:57:06 -07:00
Max Brunsfeld 5a4ba7f551 💄 Use time::Global::into in Anchor::into 2021-09-09 17:56:32 -07: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 000305472a Minor stylistic changes 2021-09-09 19:51:26 +02:00
Antonio Scandurra b3aad5d333 💄 2021-09-09 17:45:33 +02:00
Antonio Scandurra 8fb58e09d8 Remove channel disconnection unit test
...as that's already covered by the integration test.
2021-09-09 17:00:55 +02:00
Antonio ScandurraandNathan Sobo d08ec8bd53 Reduce backoff and add some jitter to avoid thundering herd issues
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-09 17:00:18 +02:00
Antonio ScandurraandNathan Sobo 8de18b5a84 Re-join channel when reconnecting
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-09 15:34:46 +02:00
Antonio Scandurra 156fd4ba57 Add integration test simulating killing a connection while chatting 2021-09-09 13:27:44 +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 6baa9fe37b WIP - Start work on reconnect logic 2021-09-08 18:20:32 -07:00
Max Brunsfeld edbd424b75 Introduce test-only APIs for configuring how Client reconnects 2021-09-08 18:19:59 -07: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
Max Brunsfeld c3e29e0a2d Finish implementing DeterministicExecutor::advance_clock
* Start by running all non-timer futures to completion, to ensure that
  timers have a chance to be registered.
* Release executor's state lock before waking any timers
2021-09-08 11:27:30 -07:00
Antonio ScandurraandMax Brunsfeld 900010160f WIP
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-08 18:58:59 +02:00
Antonio Scandurra a3bbf71390 🎨 2021-09-08 17:10:48 +02:00
Antonio ScandurraandNathan Sobo 6c3551bff1 Use watch::Sender::borrow_mut instead of send
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-08 17:09:58 +02:00
Antonio Scandurra 7ac3b5e707 Merge pull request #138 from zed-industries/adjust-font
Add bindings to adjust buffer font size
2021-09-08 17:07:53 +02:00