Commit Graph
100 Commits
Author SHA1 Message Date
Nathan Sobo 7c3eebf93e Refine messages on waiting to join screen and include host avatar 2022-05-16 16:52:31 -06:00
Nathan Sobo 91257f308e Remove "They won't know if you decline" message 2022-05-16 13:15:46 -06:00
Nathan Sobo fe89de8b11 Dismiss contact request notification if request is cancelled 2022-05-10 18:50:18 -06:00
Nathan Sobo 3bca1c29e2 Present a blank notification upon receipt of a contact request 2022-05-10 18:33:39 -06:00
Nathan Sobo bd2ae304fa Start on workspace notifications 2022-05-10 17:46:46 -06:00
Nathan Sobo 9c68c3e8a9 Put context parameter last in toggle_modal callback
This is more consistent with our treatment of context params everywhere else.
2022-05-10 16:46:53 -06:00
Nathan SoboandAntonio Scandurra b721f0064a Start on contact finder modal
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-10 07:24:14 -06:00
Nathan SoboandAntonio Scandurra eef99f059d Make flex elements fill available space when they contain a float
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-10 06:14:30 -06:00
Nathan Sobo 4e9924c717 Filter out empty projects in contacts panel 2022-05-09 20:57:41 -06:00
Nathan Sobo ef868ff023 Fix test after changing fuzzy matching for empty queries 2022-05-09 20:41:18 -06:00
Nathan SoboandMax Brunsfeld 3d6db9083d Update a user's contacts when they connect; fix test failures
The test failure we fixed doesn't seem directly related to the contact update. Maybe it just caused a failure to occur earlier than it would have in the sequence of seeds.

We fixed the test failure by responding to a user joining the project while holding the lock on the Store. This ensures that we don't send messages related to the project to that user until they've had a chance to setup event handlers after receiving the response.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 15:57:16 -06:00
Nathan SoboandMax Brunsfeld 40f1427885 Show requests in contacts panel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 12:48:07 -06:00
Nathan SoboandMax Brunsfeld e9d8cc94cc Rename script to match others (dashes)
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-09 11:24:16 -06:00
Nathan SoboandMax Brunsfeld e3ee19b123 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
Nathan Sobo 9b1b61355a 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 5d20338f69 Get basic test of accepting a contact request passing 2022-05-07 15:09:27 -06:00
Nathan Sobo 93dae88cac WIP: Fix compile errors by commenting stuff out 2022-05-07 14:04:13 -06:00
Nathan Sobo 4f06dca78b WIP: Update contacts based on deltas rather than snapshots 2022-05-06 20:50:59 -06:00
Nathan Sobo 342bdfc7e0 Render a user query editor in the contacts panel 2022-05-05 10:24:21 -06:00
Nathan Sobo 6050e0ead7 Add fuzzy_search_users to Db trait, PostgresDb 2022-05-05 09:58:18 -06:00
Nathan SoboandAntonio Scandurra 470d693d5e Rename entries via the project to prepare for guest support
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Nathan Sobo 47e7d924b2 WIP 2022-04-29 08:23:23 -06:00
Nathan Sobo 53e7c758f8 0.31.0 2022-04-29 05:58:34 -06:00
Nathan SoboandAntonio Scandurra 1fe964ac16 Start moving from logging to tracing on collab server
Install some spans. Probably more work to do here.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-28 09:45:59 -06:00
Nathan SoboandAntonio Scandurra 2d9d30f74a Set log level to info on Kubernetes
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-28 09:10:09 -06:00
Nathan SoboandAntonio Scandurra a3640eb8d4 Correctly trace async message handling
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-28 09:09:54 -06:00
Nathan SoboandAntonio Scandurra dc28305c9f Assign tracing-related environment variables in Kubernetes
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-28 08:48:57 -06:00
Nathan Sobo 6ef2d0fbec Trace handling of messages 2022-04-27 15:27:01 -06:00
Nathan Sobo 2db670308b Allow tracing level to be customized 2022-04-27 15:26:54 -06:00
Nathan Sobo 6a21a0f6b8 Wire up tracing crate to opentelemetry
Still need to

- Set a trace level and target via environment to avoid massive noise from other libraries
- Trace the operations we care about
2022-04-27 11:48:43 -06:00
Nathan SoboandAntonio Scandurra 36b462182b Send telemetry to Honeycomb via GRPC
We updated the core-foundation crates because Tonic (the GRPC crate) relies on a newer version of core foundation to find TLS root certificates.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-27 09:58:55 -06:00
Nathan Sobo 2db20c4364 Introduce opentelemetry to collab
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-27 17:01:20 +02:00
Nathan Sobo 78afbb3599 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 SoboandMax Brunsfeld 1293b21b2d Get db tests passing with Tokio Postgres adaptor
We now run tests that interact with the real database under a Tokio reactor. We make the tests run multi-threaded so we can block on the main thread on database teardown and still make progress actually tearing down the DB.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-26 13:30:21 -06:00
Nathan Sobo e2a92f4a86 Merge remote-tracking branch 'origin/main' into tokio 2022-04-26 11:16:35 -06:00
Nathan SoboandAntonio Scandurra 2adb9fe472 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
Nathan Sobo 7c3bdf91d9 Merge pull request #916 from zed-industries/sort-themes
Sort themes by light/dark first and then alphabetically
2022-04-26 08:18:29 -06:00
Nathan Sobo 2ae2daefe1 Merge pull request #917 from zed-industries/titlebar-design
Implement titlebar design
2022-04-26 08:17:48 -06:00
Nathan Sobo be040b60b7 WIP 2022-04-25 20:21:43 -06:00
Nathan Sobo 3938f7c364 Fix compile error 2022-04-25 20:12:32 -06:00
Nathan Sobo 2bd08a7b3f Validate API token for all API routes 2022-04-25 20:10:14 -06:00
Nathan Sobo 538fc23a77 WIP 2022-04-25 20:05:09 -06:00
Nathan SoboandMax Brunsfeld 35bec69fa4 Finish adding API routes
We haven't tested them yet.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-25 17:51:13 -06:00
Nathan Sobo cb9d608e53 WIP
Continue adding in more API routes
2022-04-24 18:02:14 -06:00
Nathan Sobo e30a3956d6 WIP: Switch to axum 2022-04-24 11:08:25 -06:00
Nathan Sobo 62f7c858e3 WIP 2022-04-24 10:45:20 -06:00
Nathan Sobo ac6880b6ee Only set the cursor style once per mouse move event
This will hopefully prevent some of the intermittent flickering we seem to be seeing.
2022-04-22 18:57:49 -06:00
Nathan Sobo f7f4aad00f WIP 2022-04-22 18:46:31 -06:00
Nathan SoboandAntonio Scandurra 447c1d2f71 WIP: Get compiling with Tokio by commenting almost everything
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-22 13:33:19 -06:00
Nathan Sobo ddc45eb24e Merge pull request #889 from zed-industries/cursor-style-revamp
Apply cursor styles during paint and make editor's cursor an I-Beam
2022-04-22 13:20:31 -06:00
Nathan SoboandAntonio Scandurra 92f040df00 Apply cursor styles during paint
This makes the editor's cursor an IBeam and properly deals with nested cursor styles.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-22 10:54:18 -06:00
Nathan Sobo 8ec2b5e359 Delete selected text when deleting to beginning of line 2022-04-22 06:04:14 -06:00
Nathan Sobo 30f2604a8d Map shift-backspace to backspace
A user pointed out that it was weird that this didn't work and violated their muscle memory.
2022-04-22 06:04:12 -06:00
Nathan Sobo e52fad0fc7 Merge pull request #865 from zed-industries/remove-web-frontend
Remove web frontend from collab server
2022-04-21 11:17:21 -06:00
Nathan Sobo c394b08b8a Fix path in migrator image 2022-04-21 11:02:07 -06:00
Nathan Sobo 23b5a80391 Fix paths in deploy-migrations script 2022-04-21 11:01:02 -06:00
Nathan Sobo e63ebc5b24 Drop signups table 2022-04-21 10:59:13 -06:00
Nathan Sobo 396e4ba17b Remove signups-related methods from Db trait 2022-04-21 10:55:32 -06:00
Nathan Sobo 8ed1598346 Remove tailwind and related scripts 2022-04-21 10:01:56 -06:00
Nathan Sobo 0cf7bba483 Remove remaining bits of web front-end 2022-04-21 09:30:08 -06:00
Nathan Sobo 9f83417b58 Remove more files supporting the old web front-end 2022-04-21 09:06:34 -06:00
Nathan Sobo 9f0b044ba0 Remove more unused code related to GitHub auth and errors 2022-04-21 08:57:49 -06:00
Nathan Sobo 9150b77471 Remove some user-facing routes 2022-04-20 15:39:39 -06:00
Nathan Sobo 05c44b9414 Process incoming CLI requests on the main thread 2022-04-20 17:15:46 +02:00
Nathan SoboandMax Brunsfeld 75f0326e54 Use ipc_channel crate to communicate between cli and app
We still aren't handling CLI requests in the app, but this lays the foundation for bi-directional communication.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-20 17:15:46 +02:00
93d307aecb Navigate to best match when updating outline view query
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-04-19 10:12:42 -06:00
Nathan SoboandAntonio Scandurra 360b876f36 v0.28.0
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-19 09:40:32 -06:00
Nathan Sobo 670757e5c9 Merge pull request #824 from zed-industries/fix-cursor-hidden-after-rename
Always clear rename state when selections change
2022-04-15 15:22:07 -06:00
Nathan Sobo 9820c6ba64 Merge pull request #822 from zed-industries/focus-project-search-query
Fix focus bugs in `ProjectSearchView`
2022-04-14 12:25:59 -06:00
Nathan Sobo 27057fdb1b Only process a single focus effect per batch
This allows us to focus the query editor of the project search when deploying it. Previously, a complex interplay between focus events was preventing this from working in an intuitive way. What happened previously:

- We'd activate the project search, which enqueued a focus effect for the project search view
- We'd focus the query editor, which enqueued an effect
- We'd process the focus effect for the search view, which would enqueue an effect to transfer focus to the results editor
- We'd process the effect to focus the query editor
- We'd process the effect to focus the results editor

Now...

- We activate the project search pane item, enqueuing a focus effect for the project search itself
- We focus the query editor and *remove* the previous pending focus change effect
- We process the focus effect
2022-04-14 08:52:24 -06:00
Nathan Sobo c4203868ea Revert "Focus Project Search query editor always when deployed" 2022-04-14 07:53:15 -06:00
Nathan Sobo 6985d360c8 Merge pull request #811 from zed-industries/font-fallback-3
Implement font fallback and emoji rendering
2022-04-13 14:08:57 -06:00
Nathan Sobo e9214dc05d Merge pull request #785 from zed-industries/collab-renames
Rename zed-server to collab
2022-04-11 20:56:37 -06:00
Nathan Sobo d8e4e924cc Merge branch 'main' into collab-renames 2022-04-11 19:07:07 -06:00
Nathan Sobo 5a5506ae1d Update certificate 2022-04-11 18:33:55 -06:00
Nathan Sobo 72ea71ca52 Update paths to renamed collab crate 2022-04-11 18:18:12 -06:00
Nathan Sobo 3b852ee2bd Update Kubernetes manifest to refer to "collab" instead of "zed" 2022-04-11 18:15:41 -06:00
Nathan Sobo ab8204368c Rename zed-server to collab
Over time, I think we may end up having multiple services, so it seems like a good opportunity to name this one more specifically while the cost is low. It just seems like naming it "zed" and "zed-server" leaves it a bit open ended.
2022-04-09 08:30:42 -06:00
Nathan Sobo af674e1c00 Merge pull request #770 from zed-industries/better-settings-schema
Improve Settings Completions
2022-04-09 08:23:58 -06:00
Nathan Sobo 56fcffb634 Remove unused imports 2022-04-09 07:55:23 -06:00
Nathan Sobo 17195e615e Merge pull request #781 from zed-industries/structured-logging
Introduce structured logging
2022-04-09 07:40:24 -06:00
Nathan Sobo 8a7d3ea82a Merge pull request #778 from zed-industries/test-random-disconnect
Introduce host disconnection in randomized collaboration test
2022-04-08 11:36:39 -06:00
Nathan SoboandAntonio Scandurra b507e21831 Enable JSON logging at the trace log level in K8s
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:08:52 -06:00
Nathan SoboandAntonio Scandurra 7e5a3f9f6b 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
Nathan Sobo 717f53e3d2 WIP 2022-04-07 09:29:47 -06:00
Nathan SoboandAntonio Scandurra 80d55fd3d8 Don't starve UI thread when rapidly receiving LSP messages
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-07 08:30:42 -06:00
Nathan Sobo 7a151ffc75 Merge pull request #764 from zed-industries/refine-event-handlers-behavior
Calculate hit-box based on visible bounds in `{Mouse}EventHandler`
2022-04-07 08:16:14 -06:00
Nathan Sobo 0214bec7f4 Don't dispatch events to flex children outside of parent flex's bounds 2022-04-06 10:59:03 -06:00
Nathan Sobo e21f90fec5 Merge pull request #747 from zed-industries/styles-in-typescript
Style the Zed app using Typescript styleTrees and Design Tokens
2022-04-06 10:39:10 -06:00
Nathan Sobo ca64b081fe Don't assume there are always matches in outline view 2022-04-06 09:33:47 -06:00
Nathan Sobo c289cdcac8 💄 2022-04-06 09:28:56 -06:00
Nathan Sobo 36fede7522 💄 token-building script and output destinations
Just some organization here.
2022-04-06 09:26:51 -06:00
Nathan Sobo eb99588368 Remove stray dbg! expressions 2022-04-05 20:02:45 -06:00
Nathan Sobo ab3bbe1e17 Make the tabs scrollable when they overflow
This adds the ability to make a Flex element scrollable by passing a type tag and instance id, which we use to store the scroll position in an ElementStateHandle.

Still need to allow the element to auto-scroll.
2022-04-05 19:58:15 -06:00
Nathan Sobo 025d857be8 Make UniformListState an Rc<RefCell<>> instead of an Arc<Mutex<>>
We don't need to support multiple threads.
2022-04-05 18:40:25 -06:00
Nathan Sobo 0cbcc81ed9 Merge pull request #742 from zed-industries/better-atlas-panics
Report more information when we panic due to an atlas allocation failure
2022-04-05 17:08:04 -06:00
Nathan Sobo aeb0b42c7a Report more information when we panic due to an allocation failure 2022-04-05 13:53:13 -06:00
Nathan Sobo 133d9f947b Merge pull request #740 from zed-industries/prompt-only-on-last-dirty-item
Show unsaved/conflict prompt only when closing the last tab for an item
2022-04-05 13:12:08 -06:00
Nathan Sobo 4f4364d510 Ensure we drop the last pane item
Previously, we weren't updating the toolbar's active item when emptying out a pane. This enhances an integration test to ensure that we don't hold references to any editors or buffers once we close everything.
2022-04-05 13:05:14 -06:00
Nathan Sobo 41a27e6925 💄 2022-04-05 12:09:40 -06:00