I have yet to see a chat interface on iOS meet the quality bar set by the Messages app
- interactive dismiss
- keyboard gesture that starts when your finger touches the search input
- uses content inset so you can see the keyboard blur effect
the problem with react native in particular is that the flatlist `inverted` prop sucks and is basically unusable if you want your list to be accessible. so we end up relying on some pretty hacky behaviour to keep it scrolled to the bottom
would love to revisit (maybe when we do groups???)
I'm actually working on making a perfect chat UI right now. The answer to the list is Legend List of course 😅. But there's a lot more on top to get everything perfect. We'll hopefully have something to show soon! @samuel.bsky.team Ping me when you're ready and I'll try to help 👍
for a while in SwiftUI it was only possible to do this with a flipped scrollview. they added some new stuff like a scroll position anchor thing but i haven’t messed around with it too much. but idk why it’s so difficult. I wish i understood UIKit better
You’d probably use a flipped scroll view in UIKit too haha. I’ve heard makes it easier to stay scrolled to the bottom of the list and leaves out some jank to make that happen
SwiftUI’s focus api just isn’t flexible enough or expressive enough to do anything as smooth as that tho