diff --git a/apps/readest-app/release-notes.json b/apps/readest-app/release-notes.json index 84dc11ac..3ba99d6e 100644 --- a/apps/readest-app/release-notes.json +++ b/apps/readest-app/release-notes.json @@ -1,5 +1,16 @@ { "releases": { + "0.9.68": { + "date": "2025-07-30", + "notes": [ + "Reader: Files now open in a new window by default on Desktop", + "Translation: Skips translating content inside
, , and  tags",
+        "Performance: Improved multi-part downloading for large books",
+        "Sync: Resolved issue preventing some PDF files from syncing",
+        "CSS: Resolved issue with fixed font color in some EPUB files",
+        "TXT: Enhanced TXT parsing for better compatibility"
+      ]
+    },
     "0.9.67": {
       "date": "2025-07-22",
       "notes": [
diff --git a/apps/readest-app/src/app/library/components/BookItem.tsx b/apps/readest-app/src/app/library/components/BookItem.tsx
index 1dd1257a..1d61c0b7 100644
--- a/apps/readest-app/src/app/library/components/BookItem.tsx
+++ b/apps/readest-app/src/app/library/components/BookItem.tsx
@@ -66,12 +66,7 @@ const BookItem: React.FC = ({
           mode === 'list' && 'min-w-20',
         )}
       >
-        
+        
         {bookSelected && (
           
)} diff --git a/apps/readest-app/src/utils/txt.ts b/apps/readest-app/src/utils/txt.ts index b459d7fa..acae2615 100644 --- a/apps/readest-app/src/utils/txt.ts +++ b/apps/readest-app/src/utils/txt.ts @@ -62,7 +62,11 @@ export class TxtToEpubConverter { const authorMatch = fileHeader.match(/[【\[]?作者[】\]]?[::\s]\s*(.+)\r?\n/) || fileHeader.match(/[【\[]?\s*(.+)\s+著\s*[】\]]?\r?\n/); - const author = authorMatch ? authorMatch[1]!.trim() : providedAuthor || ''; + let matchedAuthor = authorMatch ? authorMatch[1]!.trim() : providedAuthor || ''; + try { + matchedAuthor = matchedAuthor.replace(/^[\p{P}\p{S}]+|[\p{P}\p{S}]+$/gu, ''); + } catch {} + const author = matchedAuthor || providedAuthor || ''; const language = providedLanguage || this.detectLanguage(fileHeader); const identifier = await partialMD5(txtFile); const metadata = { bookTitle, author, language, identifier };