559433b
Fix panic when immediately closing a window while opening paths (#3092)
Click to expand commit body
Fixes this panic that I've been seeing in Slack:
[example](https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1696530575535779)
```
thread 'main' panicked at 'assertion failed: opened_items.len() == project_paths_to_open.len()'
crates/workspace/src/workspace.rs:3628
<backtrace::capture::Backtrace>::create
<backtrace::capture::Backtrace>::new
Zed::init_panic_hook::{closure#0}
std::panicking::rust_panic_with_hook
std::panicking::begin_panic_handler::{{closure}}
std::sys_common::backtrace::__rust_end_short_backtrace
_rust_begin_unwind
core::panicking::panic_fmt
core::panicking::panic
<workspace::Workspace>::new_local::{closure#0}::{closure#0}
```
I believe it was caused by a window being closed immediately, while it
was still loading some paths. There was a mismatch in expectation
between the `workspace::open_items` function (which contains this
assertion), and the `Workspace::load_workspace` method. That later
method can return an empty vector if the workspace handle is dropped
while it is executing.
Release Notes:
- Fixed a crash when closing a Zed window immediately after opening it
Max Brunsfeld
created
8fafae2
Fix panic when immediately closing a window while opening paths
b77c815
Fix bugs in handling mutual following (#3091)
Click to expand commit body
This fixes some bugs in our following logic, due to our attempts to
prevent infinite loops when two people follow each other.
* Propagate all of leader's views to a new follower, even if those views
were originally created by that follower.
* Propagate active view changes to followers, even if the active view is
following that follower.
* Avoid redundant active view updates on the client.
Release Notes:
- Fixed bugs where it was impossible to follow someone into a view that
they previously following you into.
37de4a9
Add markdown parsing to channel chat (#3088)
Click to expand commit body
TODO:
- [x] Add markdown rendering to channel chat
- [x] Unify (?) rendering logic between hover popover and chat
- [x] ~~Determine how to deal with document-oriented markdown like `#`~~
Unimportant until we want to do something special with `#channel`
- [x] Tidy up spacing and styles in chat panel
Release Notes:
- Added markdown rendering to channel chat
- Improved channel chat message style
- Fixed a bug where long chat messages would not soft wrap
Mikayla Maki
created
c4870e1
re-unify markdown parsing between hover_popover and chat
* Propagate all of leader's views to a new follower, even if those views
were originally created by that follower.
* Propagate active view changes to followers, even if the active view is
following that follower.
* Avoid redundant active view updates on the client.
a27be35
Ensure chat messages are retrieved in order of id (#3086)
Click to expand commit body
Also, remove logic for implicitly marking chat messages as observed when
they are fetched. I think this is unnecessary, because the client always
explicitly acknowledges messages when they are shown.
Release Notes:
- Fixed a bug where chat messages were shown out of order (preview only)
Max Brunsfeld
created
2f3c3d5
Fix hit boxes and hover styles for new buttons
Click to expand commit body
co-authored-by: conrad <conrad.irwin@gmail.com>
Mikayla
and
conrad
created
d09767a
Ensure chat messages are retrieved in order of id