18e39ef
Cache view's type id and keymap context into a separate map
Click to expand commit body
During `layout`, we now pass a mutable reference to the element's
parent view. This is a recursive process that causes the view to
be removed from `AppContext` and then re-inserted back into it once
the layout is complete.
As such, querying parent views during `layout` does not work as such
views will have been removed from `AppContext` and not yet re-inserted
into it. This caused a bug in `KeystrokeLabel`, which used the `keystrokes_for_action`
method to query its ancestors to determine their type id and keymap context.
Now, any time a view notifies, we will cache its keymap context so that
we don't need to query the parent view during `layout`.
67a3891
Make dispatch_event related methods public to the crate only
Antonio Scandurra
created
92183e0
Ensure querying keystrokes or actions is safe
Click to expand commit body
This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
5157442
Fix integration test relying on deferred happening after focus
Click to expand commit body
Focus is now one of the last things that happens during `flush_effects`,
and we shouldn't have relied on `defer` in the first place to verify
focus changes.
Antonio Scandurra
created
c65465b
Ensure workspace gets rendered in collab integration tests
Antonio Scandurra
created
e9ed40d
Remove the ability to retrieve the view's parent
7f345f8
Separate `Window::build_scene` into `layout` and `paint`
Antonio Scandurra
created
3f037e5
Merge pull request #2437 from zed-industries/fix-joining-call
Click to expand commit body
Fix "IncomingCallNotification was dropped" error when accepting a call
Antonio Scandurra
created
376aa12
Fix "IncomingCallNotification was dropped" error when accepting a call
Click to expand commit body
This was caused by accepting the call, which caused the notification to
be removed. When `active_call.accept_incoming()` finally completed, we
would try to get the app state from it in order to join the project, but
couldn't becuase the view would have already been dropped.
This commit fixes the bug by capturing a weak handle to the app state
when accepting the call as opposed to trying to read it from the view
when the accept completes.
Antonio Scandurra
created
c3cf9e3
Merge pull request #2436 from zed-industries/close-window-end-call
Click to expand commit body
Move methods querying window state into `AsyncAppContext`
Antonio Scandurra
created
f576586
Merge pull request #2435 from zed-industries/use-json-post-request-for-update-requests
Click to expand commit body
Use json_post() request for update requests
Joseph T. Lyons
created
41d4454
Use post_json so that the Content-Type is set to application/json
Joseph Lyons
created
69a4fff
Update `post_json` to take in a bool for allowing for redirects
Joseph Lyons
created
7f5afeb
Merge pull request #2434 from zed-industries/add-download-and-uplodate-metadata-to-update-request
Click to expand commit body
Add download and upload metadata to update request
Joseph T. Lyons
created
2b95aba
Add download and upload metadata to update request
Joseph Lyons
created
1398a12
More keybindings in macOs modals with buttons
Click to expand commit body
Closes https://github.com/zed-industries/community/issues/1095
by forcing the non-Cancel button to get a focus.
Due to the way macOs handles buttons on modals, the focus gain had to be
achieved via certain button addition order, rather than conventional
"setFocus"-ish API, see the related comment for details.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Kirill Bulatov
and
Antonio Scandurra
created
70f8cf4
Move methods querying window state into `AsyncAppContext`
Antonio Scandurra
created
4f69397
Merge pull request #2432 from zed-industries/more-diagnostic-source
Click to expand commit body
Show diagnostic source in more places
Julia
created
185c165
Show diagnostic source in inline diagnostic
Julia
created
9108e41
Merge pull request #2431 from zed-industries/fix-broken-contact-finder
794446b
Move `debug_elements` to `AsyncAppContext`
Click to expand commit body
Previously, `debug_elements` was available on `WindowContext`. If that
method was called while having a borrow out to a view, it would panic because
the view would already have been borrowed.
By moving it to an `AsyncAppContext` we ensure the method can't be called while
a view is being used.
Antonio Scandurra
created
4c1cba6
Remove unnecessary `Element` impl for `RootElement`
Antonio Scandurra
created
f7de0ad
Show diagnostic source in diagnostic multibuffer headers