df63290
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
6f4dee5
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
4ca2645
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.
Release Notes:
- Add user avatars to channel chat messages
- Group messages by sender
- Fix visual bugs in new chat and note buttons
Mikayla Maki
created
b90c040
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)
01b45f4
Show when a channel resource changes (#3074)
Click to expand commit body
This PR adds a mechanism for notifying the client when a channel note
has been edited or a message has been changed.
TODO:
- [x] Fix infinite loop when opening the chat panel
- [x] Switch to client-side ack model of observation detection
- [x] Add client-side-only change detection (e.g. for when a channel
note is open locally but not focused)
- [x] Review implementation / query performance.
- [x] Fix lack of ACK on restart for channel buffers
- [x] remove channel note opening on click
- [x] Fix channel messages sent while chat channel is in the background
not showing the channel as changed.
Release Notes:
- N/A
Mikayla Maki
created
4d61d01
Add an RPC handler for channel buffer acks
Click to expand commit body
co-authored-by: max <max@zed.dev>
Mikayla
and
max
created
dd0edcd
Changed the on-click behavior of joining a channel to not open the chat, and only open 1 project instead of all projects
Click to expand commit body
Co-authored-by: conrad <conrad.irwin@gmail.com>
Co-authored-by: max <max@zed.dev>
Release Notes:
- Clicking on a channel in the sidebar will now join the channel and
open the notes
- If you join a channel that already shared projects, you will join the
projects automatically and follow the host.
- Clicking on the current channel in the sidebar will re-open the notes.
- Chat can now be accessed from the right click menu of channels.
- (probably not worth mentioning) Various improvements to hover states
and tooltips in the collab ui; and if you click on a channel while in
another call, confirm before switching.
- Clicking on a channel name now joins the channel if you are not in it
- (or opens the notes if you are already there).
- When joining a channel, previously shared projects are opened
automatically.
- If there are no previously shared projects, the notes are opened.
Release Notes:
- show host in the titlebar of shared projects
- clicking on faces in the titlebar will now always follow the person
(it used to toggle)
- clicking on someone in the channel panel will follow that person
- highlight the currently open project in the channel panel
- fixes a bug where sometimes following between workspaces would not
work
Conrad Irwin
created
d7867cd
Add/fix mouse interactions in current call sidebar
Conrad Irwin
created
32b4b4d
Add message and operation ACK messages to protos
This PR mainlines the current state of new GPUI2-based UI from the
`gpui2-ui` branch.
Release Notes:
- N/A
---------
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Nate <nate@zed.dev>
Marshall Bowers
,
Nate Butler
,
Piotr Osiewicz
, and
Nate
created
08361eb
Detach completion confirmation task when selecting with mouse (#3078)
Click to expand commit body
Otherwise the spawn to resolve the additional edits never runs causing
autocomplete to never add imports automatically when clicking with the
mouse
Release Notes:
- Fixed auto-complete additional edits, such as auto-import, not
applying when selecting a completion with a mouse click.
Julia
created
3d68fca
Detach completion confirmation task when selecting with mouse
Click to expand commit body
Otherwise the spawn to resolve the additional edits never runs causing
autocomplete to never add imports automatically when clicking with the
mouse
Before this change if you joined a project without clicking on the
notification it would never disappear.
Fix a related bug where if you have more than one monitor, the
notification was only dismissed from one of them.