This commit mostly fixes invalid URLs in docstrings. It also
encapsulates crates we reexport (serde stuff + linkme) into a public
module named "private" in order to reduce the API surfaced through docs.
Moreover, I fixed up a bunch of crates that were pulling serde_json in
through gpui explicitly instead of using Cargo manifest.
Release Notes:
- N/A
Deals with https://github.com/zed-industries/community/issues/1317
Deals with https://github.com/zed-industries/community/issues/486
Reworks pane drag and drop code to support
* dropping external files into main pane (supports splits same as tabs
and project entries drop) — this will open the file dropped
* dropping external files, tabs and project entries drop into the
terminal — this will add file abs path into the terminal
Release Notes:
- Added a way to drag and drop external files into Zed main & terminal
panes; support tabs and project entries drop into terminal pane
# TODO
- [x] Fix busted tests
- [x] Check all events from actions on welcome screen
- [x] change theme
- [x] change keymap
- [x] install cli
- [x] enable vim
- [x] send metric data
- [x] send diagnostics
- [x] close welcome screen
- [X] Check all settings events
- [x] record theme change (in main and in selector)
- [x] record base keymap change (in main and in selector)
- [x] record metric data value
- [x] record diagnostics value
- [X] Triple check that telemetry settings still block events from being
sent, since we updated how we check for settings changes
- [X] Remove immediate flush mode and allow the flush method to be
called publicly
- [x] Remove references to clickhouse in the code (should be generic at
the client level)
Release Notes:
- N/A
The client sends events to our end point, and the endpoint is what determines what analytics database is used to store the data. The client should be generic and not mention the name of the service being proxied to through our server.
I essentially went through the publicly exported items and marked these
that are e.g. leaky reexports as pub(crate). I expect that'd be done on
Tuesday anyways.
Release Notes:
- N/A
Since the message headers are buttons, we need to shift them relatively to
compensate for the fact that the background is only visible when hovered.
I'm ok with the background not being aligned so long as the unhovered text is.
Starting work on the following tests.
* The first failure was caused by not properly dropping the references,
which is now fixed.
* The next failure is caused by a `cx.after_window_update` being changed
to `cx.on_next_frame`. This doesn't seem to work (at least in tests),
but might also explain the flaky following behavior Max and I observed
if there's a timing bug in production too.
* * When you are following someone and they move their cursor you should
receive two proto messages: UpdateBuffer to move the cursor, and
UpdateFollowers to update where you're following. It seems like this
could be made a bit less chatty/fragile, but probably out of scope for
this.
* With that worked around, there's one more failure, but I haven't
looked into it yet. (possibly caused by an incorrect fix for the cx
one).