Max Brunsfeld
24aafde1e8
Avoid persisting project's state before it has been initialized
2022-06-03 16:40:16 -07:00
Max Brunsfeld
e18bc24989
Rename project's 'public'/'private' flag to 'online'/'offline'
2022-06-03 14:39:06 -07:00
Max Brunsfeld
b2aa831017
Store a FakeFs on TestClient
2022-06-03 13:49:47 -07:00
Max Brunsfeld
8bd4a0ab81
Don't store Project on TestClient in integration tests
2022-06-03 13:00:56 -07:00
Max Brunsfeld
afdd386057
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 Brunsfeld
6a3a3a1124
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
98b54763b9
Bump protocol version
2022-06-02 18:06:29 -07:00
Max Brunsfeld
36a4d31b5b
Keep unregistered projects' ids until pending contact updates are done
2022-06-02 18:04:54 -07:00
Max Brunsfeld
db97dcd76f
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
f7e7a7c6a7
Use rocksdb to store project paths' public/private state
2022-06-02 17:38:33 -07:00
Max Brunsfeld
724affc442
Upgrade deps to avoid multiple versions of transitive deps
...
* env_logger
* prost-build
* bindgen
2022-06-02 17:38:33 -07:00
Max Brunsfeld
d45db1718e
Style the contact panel while public/private operations are in-flight
2022-06-02 17:38:33 -07:00
Max Brunsfeld
d11beb3c02
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
4d4ec793e2
Remove stray println
2022-06-02 17:32:43 -07:00
Max Brunsfeld
b70396b8fb
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
3ea061a11e
Allow making projects private
2022-06-02 17:32:42 -07:00
Max Brunsfeld
8f676e76b3
Fix mismatched client/context in integration test
2022-06-02 17:29:11 -07:00
Max Brunsfeld
8d46edd26c
Avoid holding RefCell borrow while calling TestAppContext::spawn callback
2022-06-02 17:29:11 -07:00
Max Brunsfeld
7ef9de32b1
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
a60fef52c4
Start work on private projects
2022-06-02 17:29:11 -07:00
Antonio Scandurra
7ecc67bcd5
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
a8cde09070
v0.36.1
2022-06-02 12:11:49 +02:00
Antonio Scandurra
6baf8b033b
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
12267308e4
Don't dismiss context menu when right-clicking project panel again
2022-06-02 10:00:52 +02:00
Antonio Scandurra
701e2090cd
Align context menu to fit within the window bounds
2022-06-02 09:47:06 +02:00
Antonio Scandurra
f1964cf2a0
Merge pull request #1089 from zed-industries/jump-to-diagnostic
...
Jump to diagnostic
2022-06-02 09:35:57 +02:00
Antonio Scandurra
6979e67bed
Use anchors to jump to diagnostic whenever possible
2022-06-02 09:30:07 +02:00
Antonio Scandurra
cc028cca78
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
ba6be46e82
v0.36.0
2022-06-02 08:38:36 +02:00
Max Brunsfeld
b9dc476e74
Avoid sending unnecessary messages for local projects that aren't shared
2022-06-01 14:49:12 -07:00
Antonio Scandurra
0e1307fb23
📝
2022-06-01 10:18:10 +02:00
Antonio Scandurra
238827642a
Align tooltip based on the available window space
2022-06-01 10:03:46 +02:00
Antonio Scandurra
b3242417b3
Show tooltip when hovering over jump to diagnostic icon
2022-06-01 09:55:45 +02:00
Antonio Scandurra
982de971fa
Introduce a new Tooltip
element and a with_tooltip
helper
2022-06-01 09:55:25 +02:00
Antonio Scandurra
94fc28b29d
WIP: start on tooltips
2022-05-31 19:00:44 +02:00
Antonio Scandurra
d180f7a2c3
Jump to primary diagnostic when clicking on header's jump icon
2022-05-31 16:25:14 +02:00
Antonio Scandurra
4f9c207425
Show a clickable jump icon for each diagnostic group header
2022-05-31 15:57:22 +02:00
Antonio Scandurra
aefdde66a6
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
1ce8682b94
Clear language server and worktree statuses when unsharing on server
2022-05-31 11:22:41 +02:00
Antonio Scandurra
339069b1d3
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
da46d78ea5
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
34bf248614
Avoid notifying views that have been removed
2022-05-31 10:36:10 +02:00
Antonio Scandurra
e067212ad4
Always re-render visible elements in List
2022-05-31 09:52:44 +02:00
Antonio Scandurra
0fd47da880
Prevent mouse down events from piercing through overlays
2022-05-31 09:34:37 +02:00
Antonio Scandurra
e4641da598
Don't show "add/remove folder to/from project" for remote projects
2022-05-31 08:17:52 +02:00
Antonio Scandurra
1eb03f2f4e
Bump protocol version
2022-05-31 08:13:05 +02:00
Antonio Scandurra
354488ebdf
Don't eagerly populate copied subdirectory
...
This can race anyway with snapshot updates, so we just eagerly refresh
the root entry and wait for updates to come in to populate it.
2022-05-31 08:11:07 +02:00
Max Brunsfeld
365cda0fab
Remove opentelemetry tracing subscriber
...
We'll see if this stops the server from leaking memory. We still
have spans in our logs.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-30 09:58:25 -07:00
Antonio Scandurra
06ab2ace72
Don't steal focus from context menu when dispatching an action
2022-05-30 18:36:36 +02:00
Antonio Scandurra
f832c0074f
Fix memory leak in ListState
2022-05-30 18:29:51 +02:00