Commit Graph
4426 Commits
Author SHA1 Message Date
Max Brunsfeld 20565017ec Rename project's 'public'/'private' flag to 'online'/'offline' 2022-06-03 14:39:06 -07:00
Max Brunsfeld 4dbdb7f479 Store a FakeFs on TestClient 2022-06-03 13:49:47 -07:00
Max Brunsfeld 06718b304e Don't store Project on TestClient in integration tests 2022-06-03 13:00:56 -07:00
Max BrunsfeldandAntonio Scandurra b431b4b421 Move persistence and restoration logic from workspace into project
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-03 11:52:14 -07:00
Max BrunsfeldandAntonio Scandurra c2e18bda45 Add tooltip to the toggle public button in the contacts panel
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-06-03 10:36:29 -07:00
Max Brunsfeld 28df0f8cf6 Bump protocol version 2022-06-02 18:06:29 -07:00
Max Brunsfeld 63f4f00711 Keep unregistered projects' ids until pending contact updates are done 2022-06-02 18:04:54 -07:00
Max Brunsfeld 26063722ed Don't update contacts when a project is first registered
Until the host has sent an UpdateProject message to populate the project's
metadata, there is no reason to update contacts.
2022-06-02 17:41:21 -07:00
Max Brunsfeld 6263737ec8 Use rocksdb to store project paths' public/private state 2022-06-02 17:38:33 -07:00
Max Brunsfeld 54eb6fa94b Upgrade deps to avoid multiple versions of transitive deps
* env_logger
* prost-build
* bindgen
2022-06-02 17:38:33 -07:00
Max Brunsfeld edf7dc615b Style the contact panel while public/private operations are in-flight 2022-06-02 17:38:33 -07:00
Max Brunsfeld 0591ddd47a Change project registration RPC APIs to smooth out UI updates
* Make `UnregisterProject` a request. This way the client-side project can wait
  to clear out its remote id until the request has completed, so that the
  contacts panel can avoid showing duplicate private/public projects in the
  brief time after unregistering a project, before the next UpdateCollaborators
  message is received.
* Remove the `RegisterWorktree` and `UnregisterWorktree` methods and replace
  them with a single `UpdateProject` method that idempotently updates the
  Project's list of worktrees.
2022-06-02 17:32:43 -07:00
Max Brunsfeld c05a8274fc Remove stray println 2022-06-02 17:32:43 -07:00
Max Brunsfeld 006c4794a7 Disconnect FakeServer when dropping it
This prevents memory leak errors in tests, due to parked tasks waiting
for RPC responses.
2022-06-02 17:32:43 -07:00
Max Brunsfeld 4bb17889e8 Allow making projects private 2022-06-02 17:32:42 -07:00
Max Brunsfeld 54e5583ea4 Fix mismatched client/context in integration test 2022-06-02 17:29:11 -07:00
Max Brunsfeld f34cae92e7 Avoid holding RefCell borrow while calling TestAppContext::spawn callback 2022-06-02 17:29:11 -07:00
Max Brunsfeld f04e05f966 Show private projects in the contacts panel
Introduce a ProjectStore that lets you iterate through all open projects.
Allow projects to be made public by clicking the lock.
2022-06-02 17:29:11 -07:00
Max Brunsfeld ae57175611 Start work on private projects 2022-06-02 17:29:11 -07:00
Antonio Scandurra 664a5f0678 Merge pull request #1093 from zed-industries/fix-panic-version
Report the correct app version when sending panics to server
2022-06-02 13:55:00 +02:00
Antonio Scandurra d59972b17a Report the correct app version when sending panics to server
Previously, we were just relying on the `ZED_APP_VERSION` environment
variable without consulting `Platform::app_version`. That would always
report "dev" as the app version because `ZED_APP_VERSION` is only used
for testing.
2022-06-02 13:00:21 +02:00
Antonio Scandurra 7e0c32cfca v0.36.1 2022-06-02 12:11:49 +02:00
Antonio Scandurra 3ce15ad11e Merge pull request #1091 from zed-industries/fix-project-diagnostics-panic
Don't reuse the same diagnostic group id across buffers
2022-06-02 12:11:09 +02:00
Antonio Scandurra df07b594f0 Don't reuse the same diagnostic group id across buffers
This lets us use the group id as the key for an `ElementState`, which
fixes a panic that would occur in project diagnostics when opening it
while there were multiple diagnostic groups with the same id.
2022-06-02 12:05:28 +02:00
Antonio Scandurra 3fd2c6eb65 Merge pull request #1090 from zed-industries/context-menu-polish
Context menu polish
2022-06-02 10:06:44 +02:00
Antonio Scandurra 8256efeed8 Don't dismiss context menu when right-clicking project panel again 2022-06-02 10:00:52 +02:00
Antonio Scandurra 43a3b0c050 Align context menu to fit within the window bounds 2022-06-02 09:47:06 +02:00
Antonio Scandurra 9460a33c18 Merge pull request #1089 from zed-industries/jump-to-diagnostic
Jump to diagnostic
2022-06-02 09:35:57 +02:00
Antonio Scandurra b51a485a11 Use anchors to jump to diagnostic whenever possible 2022-06-02 09:30:07 +02:00
Antonio Scandurra 0e628e04cf Simplify usage of tooltip
Now you simply specify a text, an action and a style and GPUI will
take of rendering it properly. This is simpler compared to always
providing a custom element and should make tooltip more consistent
across the UI.
2022-06-02 09:12:50 +02:00
Antonio Scandurra 1c31a5d0e7 v0.36.0 2022-06-02 08:38:36 +02:00
Antonio Scandurra 1e9a2d4262 Match figma styling for tooltips 2022-06-02 08:36:42 +02:00
Max Brunsfeld 5e7769156b Avoid sending unnecessary messages for local projects that aren't shared 2022-06-01 14:49:12 -07:00
Antonio Scandurra 9824ea971d 📝 2022-06-01 10:18:10 +02:00
Antonio Scandurra 49036ac5ee Space out tooltip a little bit to ensure it doesn't overlap cursor 2022-06-01 10:08:25 +02:00
Antonio Scandurra 66b7083139 Align tooltip based on the available window space 2022-06-01 10:03:46 +02:00
Antonio Scandurra 10977b1f9c Show tooltip when hovering over jump to diagnostic icon 2022-06-01 09:55:45 +02:00
Antonio Scandurra 3019a33524 Introduce a new Tooltip element and a with_tooltip helper 2022-06-01 09:55:25 +02:00
Antonio Scandurra b67fbd3e84 WIP: start on tooltips 2022-05-31 19:00:44 +02:00
Antonio Scandurra eaf133b04e Jump to primary diagnostic when clicking on header's jump icon 2022-05-31 16:25:14 +02:00
Antonio Scandurra 4150dcfecc Show a clickable jump icon for each diagnostic group header 2022-05-31 15:57:22 +02:00
Antonio Scandurra 0b765ebdc6 Pass a &mut BlockContext when rendering blocks
This wraps and derefs to `RenderContext<Editor>`, so that we can
easily use `MouseEventHandler`s in blocks.
2022-05-31 15:50:34 +02:00
Antonio Scandurra dc38d4fbb7 Merge pull request #1086 from zed-industries/server-memory-improvements
Improve server memory usage
2022-05-31 13:27:44 +02:00
Antonio Scandurra 0e74d0e70e Clear language server and worktree statuses when unsharing on server 2022-05-31 11:22:41 +02:00
Antonio Scandurra 025f9af73b Cap MessageStream buffer size to 1MB
We temporarily let it grow when the message size exceed the limit,
but restore the buffer's capacity shortly after. This ensures that,
for each connection in its entire lifetime, we only ever use 1MB.
2022-05-31 11:16:32 +02:00
Antonio Scandurra 428a60c5b0 Merge pull request #1081 from zed-industries/project-panel-with-new-mouse-events
Introduce context menu to project panel
2022-05-31 10:40:42 +02:00
Antonio Scandurra 287483ee06 Avoid notifying views that have been removed 2022-05-31 10:36:10 +02:00
Antonio Scandurra f0e0c8b0f8 Always re-render visible elements in List 2022-05-31 09:52:44 +02:00
Antonio Scandurra d63ca8f77c Prevent mouse down events from piercing through overlays 2022-05-31 09:34:37 +02:00
Antonio Scandurra 13f896a9ba Don't show "add/remove folder to/from project" for remote projects 2022-05-31 08:17:52 +02:00