mirror of
https://github.com/bulwarkmail/native.git
synced 2026-10-31 16:06:32 +00:00
fix: stop the app crashing when a notification opens a mail
This commit is contained in:
@@ -1022,6 +1022,19 @@ function EmailPane({
|
||||
|
||||
React.useEffect(() => () => { readTimers.forEach((cancel) => cancel()); readTimers.clear(); }, [readTimers]);
|
||||
|
||||
// Keeps the quick reply in view while the keyboard opens. Above the
|
||||
// skeleton's early return: a page opened by id alone (a notification)
|
||||
// renders the skeleton first, and a hook after it crashed the app.
|
||||
const scrollRef = React.useRef<ScrollView>(null);
|
||||
const isInputFocused = React.useRef(false);
|
||||
React.useEffect(() => {
|
||||
if (kbObstruction > 0 && isInputFocused.current) {
|
||||
setTimeout(() => {
|
||||
scrollRef.current?.scrollToEnd({ animated: true });
|
||||
}, 50);
|
||||
}
|
||||
}, [kbObstruction]);
|
||||
|
||||
const toggleCard = (mid: string) => {
|
||||
setExpanded((prev) => {
|
||||
const next = new Set(prev ?? []);
|
||||
@@ -1069,9 +1082,6 @@ function EmailPane({
|
||||
onZoomChange(z);
|
||||
};
|
||||
|
||||
const scrollRef = React.useRef<ScrollView>(null);
|
||||
const isInputFocused = React.useRef(false);
|
||||
|
||||
const bottomPadding = kbObstruction > 0
|
||||
? kbObstruction + spacing.md
|
||||
: bottomBarHeight + spacing.lg;
|
||||
@@ -1087,14 +1097,6 @@ function EmailPane({
|
||||
isInputFocused.current = false;
|
||||
};
|
||||
|
||||
React.useEffect(() => {
|
||||
if (kbObstruction > 0 && isInputFocused.current) {
|
||||
setTimeout(() => {
|
||||
scrollRef.current?.scrollToEnd({ animated: true });
|
||||
}, 50);
|
||||
}
|
||||
}, [kbObstruction]);
|
||||
|
||||
return (
|
||||
<ScrollView
|
||||
ref={scrollRef}
|
||||
|
||||
Reference in New Issue
Block a user