Change summary
crates/call/src/room.rs | 3 +--
crates/gpui/src/app.rs | 18 +++++++-----------
2 files changed, 8 insertions(+), 13 deletions(-)
Detailed changes
@@ -20,7 +20,7 @@ use live_kit_client::{
};
use postage::stream::Stream;
use project::Project;
-use std::{future::Future, mem, panic::Location, pin::Pin, sync::Arc, time::Duration};
+use std::{future::Future, mem, pin::Pin, sync::Arc, time::Duration};
use util::{post_inc, ResultExt, TryFutureExt};
pub const RECONNECT_TIMEOUT: Duration = Duration::from_secs(30);
@@ -1089,7 +1089,6 @@ impl Room {
#[track_caller]
pub fn share_microphone(&mut self, cx: &mut ModelContext<Self>) -> Task<Result<()>> {
- dbg!(Location::caller());
if self.status.is_offline() {
return Task::ready(Err(anyhow!("room is offline")));
} else if self.is_sharing_mic() {
@@ -3411,18 +3411,14 @@ impl<'a, 'b, 'c, V: View> LayoutContext<'a, 'b, 'c, V> {
handler_depth = Some(contexts.len())
}
+ let action_contexts = if let Some(depth) = handler_depth {
+ &contexts[depth..]
+ } else {
+ &contexts
+ };
+
self.keystroke_matcher
- .bindings_for_action(action.id())
- .find_map(|b| {
- let highest_handler = handler_depth?;
- if action.eq(b.action())
- && (0..=highest_handler).any(|depth| b.match_context(&contexts[depth..]))
- {
- Some(b.keystrokes().into())
- } else {
- None
- }
- })
+ .keystrokes_for_action(action, action_contexts)
}
fn notify_if_view_ancestors_change(&mut self, view_id: usize) {