From 68d57da9ca6c98c197573a851bf79e5e12e99cc3 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 7 Jul 2025 16:15:54 +0800 Subject: [PATCH] perf: speed up opening for large MOBI books, closes #1544 (#1547) --- .../gen/android/app/build.gradle.kts | 31 ++++++++++++------- apps/readest-app/src/app/library/page.tsx | 5 --- apps/readest-app/src/utils/style.ts | 4 +++ packages/foliate-js | 2 +- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/apps/readest-app/src-tauri/gen/android/app/build.gradle.kts b/apps/readest-app/src-tauri/gen/android/app/build.gradle.kts index 030ffa6e..4f5bddee 100644 --- a/apps/readest-app/src-tauri/gen/android/app/build.gradle.kts +++ b/apps/readest-app/src-tauri/gen/android/app/build.gradle.kts @@ -17,6 +17,11 @@ val tauriProperties = Properties().apply { android { compileSdk = 35 namespace = "com.bilingify.readest" + val keystorePropertiesFile = rootProject.file("keystore.properties") + val keystoreProperties = Properties() + if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) + } defaultConfig { manifestPlaceholders["usesCleartextTraffic"] = "false" applicationId = "com.bilingify.readest" @@ -26,17 +31,13 @@ android { versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0") } signingConfigs { - create("release") { - val keystorePropertiesFile = rootProject.file("keystore.properties") - val keystoreProperties = Properties() - if (keystorePropertiesFile.exists()) { - keystoreProperties.load(FileInputStream(keystorePropertiesFile)) + if (keystorePropertiesFile.exists()) { + create("signing") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["password"] as String + storeFile = file(keystoreProperties["storeFile"] as String) + storePassword = keystoreProperties["password"] as String } - - keyAlias = keystoreProperties["keyAlias"] as String - keyPassword = keystoreProperties["password"] as String - storeFile = file(keystoreProperties["storeFile"] as String) - storePassword = keystoreProperties["password"] as String } } buildTypes { @@ -45,14 +46,20 @@ android { isDebuggable = true isJniDebuggable = true isMinifyEnabled = false - packaging { jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") + if (keystorePropertiesFile.exists()) { + signingConfig = signingConfigs.getByName("signing") + } + packaging { + jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") jniLibs.keepDebugSymbols.add("*/x86/*.so") jniLibs.keepDebugSymbols.add("*/x86_64/*.so") } } getByName("release") { - signingConfig = signingConfigs.getByName("release") + if (keystorePropertiesFile.exists()) { + signingConfig = signingConfigs.getByName("signing") + } } } kotlinOptions { diff --git a/apps/readest-app/src/app/library/page.tsx b/apps/readest-app/src/app/library/page.tsx index aeb915bd..4a25434c 100644 --- a/apps/readest-app/src/app/library/page.tsx +++ b/apps/readest-app/src/app/library/page.tsx @@ -35,7 +35,6 @@ import { useSafeAreaInsets } from '@/hooks/useSafeAreaInsets'; import { useScreenWakeLock } from '@/hooks/useScreenWakeLock'; import { useOpenWithBooks } from '@/hooks/useOpenWithBooks'; import { lockScreenOrientation } from '@/utils/bridge'; -import { mountAdditionalFonts } from '@/utils/font'; import { tauriHandleSetAlwaysOnTop, tauriHandleToggleFullScreen, @@ -115,10 +114,6 @@ const LibraryPageContent = ({ searchParams }: { searchParams: ReadonlyURLSearchP }, }); - useEffect(() => { - mountAdditionalFonts(document); - }, []); - useEffect(() => { const doCheckAppUpdates = async () => { if (appService?.hasUpdater && settings.autoCheckUpdates) { diff --git a/apps/readest-app/src/utils/style.ts b/apps/readest-app/src/utils/style.ts index ec979ed7..05e0ae50 100644 --- a/apps/readest-app/src/utils/style.ts +++ b/apps/readest-app/src/utils/style.ts @@ -230,6 +230,10 @@ const getLayoutStyles = ( p:has(> a:first-child + img:last-child) { text-indent: unset !important; } + blockquote[align="center"], div[align="center"], + p[align="center"], dd[align="center"] { + text-indent: unset !important; + } p { ${vertical ? `margin-left: ${paragraphMargin}em ${overrideLayout ? '!important' : ''};` : ''} ${vertical ? `margin-right: ${paragraphMargin}em ${overrideLayout ? '!important' : ''};` : ''} diff --git a/packages/foliate-js b/packages/foliate-js index bed464df..77c04ae1 160000 --- a/packages/foliate-js +++ b/packages/foliate-js @@ -1 +1 @@ -Subproject commit bed464df72424bb5fa55cc984625c9a9cf561198 +Subproject commit 77c04ae1de8e52ea08defb6fb9406d7ff2e2f01d