Composer Launch Delay

Nucleic-Session: EDE6C55C-8E3E-41BF-9DA0-A148C554C984
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-05 19:45:15 -07:00
co-authored by Nucleic
parent ce7499a83c
commit 4390a42e0e
@@ -237,12 +237,11 @@ struct NewChatAffordance: ViewModifier {
.onChange(of: isPresented) { _, open in
if open {
draft = ""
// Focus once the bar has sprung into place, so the keyboard rises against a
// settled layout — otherwise its avoidance inset is computed mid-animation and
// the keyboard lands overlapping the bar until the next re-layout.
DispatchQueue.main.asyncAfter(deadline: .now() + 0.35) {
if isPresented { draftFocused = true }
}
// Focus in the same turn the bar is presented so the keyboard rises immediately,
// riding up together with the bar (both animate from the bottom edge at t=0)
// instead of waiting for the spring to settle first — no perceptible delay
// between the composer appearing and the keyboard opening.
draftFocused = true
} else {
draftFocused = false
draft = ""