fix(ios): resolve stale closure crash preventing highlight popup on iOS (#3559)

This commit is contained in:
Huang Xin
2026-03-18 17:11:13 +08:00
committed by GitHub
parent 871d6467c3
commit ad9bb58cd4
2 changed files with 4 additions and 3 deletions
@@ -18,7 +18,6 @@ export const useTextSelector = (
const { getView, getViewSettings, getProgress } = useReaderStore();
const view = getView(bookKey);
const bookData = getBookData(bookKey);
const progress = getProgress(bookKey)!;
const osPlatform = getOSPlatform();
const isPopuped = useRef(false);
@@ -49,6 +48,7 @@ export const useTextSelector = (
sel.removeAllRanges();
sel.addRange(range);
}
const progress = getProgress(bookKey);
setSelection({
key: bookKey,
text: await getAnnotationText(range),
@@ -67,11 +67,12 @@ export const useTextSelector = (
setTimeout(async () => {
if (!isTextSelected.current) return;
sel.addRange(range);
const progress = getProgress(bookKey);
setSelection({
key: bookKey,
text: await getAnnotationText(range),
cfi: view?.getCFI(index, range),
page: bookData?.isFixedLayout ? index + 1 : progress.page,
page: bookData?.isFixedLayout ? index + 1 : progress?.page || 0,
range,
index,
});