* Remove custom-onnxruntime-arm64.aar
* Refactor remaining, hardcoded UI strings into localizable resources and added French and Russian to language list
* Fix background auto-advance for Text-to-Speech (TTS)
* add a UI trigger for demo annotations
* Implement internal link navigation
* Simplify bottom padding logic in `EpubReaderScreen` for vertical scroll mode
* Add support for Calibre metadata
* Implement advanced library management with Room-backed collections, tags, and smart rules.
* Display book series information in book details and remove tags from home screen
* Implement zoom reset functionality in PDF viewer
* Add a "Pages" thumbnail view to the PDF navigation drawer
* Implement jump-back navigation in PDF viewer
* MainViewModel: disable FolderSyncWorker, add log export, and enhance PDF position logging
* Replace Gson with Kotlin Serialization in SmartCollectionEngine
* Implement ONNX-based speech bubble detection
* Implement speech bubble detection in PDF viewer
* Implement "Smart Comic Zoom" feature for PDF manga/comic reading
* Implement reader session persistence and restoration in `MainViewModel`
* Add tap-to-turn page feature to PDF viewer
* Improve book cache management and recovery
* Refactor top overlay padding logic in `PdfViewerScreen`
* Implement stylus eraser support in PDF reader
* Refactor ReaderTextFormatPanel to use ModalBottomSheet and add new formatting controls
* Introduce a customizable horizontal margin setting for the EPUB reader
* Refine folder sync and metadata handling for better conflict resolution and stability.
* Introduce user-adjustable image scaling for the EPUB reader
* Use maxWidthPx as default width fallback for blocks
* Improve cross-page text selection and header styling in the paginated reader
* Refactor speech bubble detection and UI to support segmentation masks and interactive scaling
* Improve speech bubble detection masking and rendering quality
* Update ONNX speech bubble detector to use `.ort` model and optimize inference
* Improve pagination accuracy
* Implement hierarchical folder navigation for the library.
* Refactor library item layout for improved space efficiency
* Add support for browsing and downloading Google Fonts
* Persist library landing state and add shelf search functionality
* Fix base tts sample.
* Move SpeechBubbleDetector to main source set and update ONNX dependency
* Implement a "locate" feature and improve synchronization for TTS (Text-to-Speech) playback across EPUB and PDF readers.
* Refine TTS synchronization and voice management in the EPUB reader
* Adjust OCR checks for OSS flavor and optimize external dictionary intent flags
* Add "Locate" button to PDF drawer's pages tab and move the page number to bottom right of thumbnail
* fix various crashes
* Refactor SpeechBubbleDetector into product flavors
* Implement speech bubble detection caching and background prefetching
* Implement on-demand download for Bubble Zoom ML model
* Add smooth animation for PDF speech bubble expansion
* fixes#252
* hide Google Fonts option, in FontsScreen, for offline variant
* Bump version to 1.0.46(46)
* Implemented ML-based comic panel detection and a panel popup viewer.
* Optimized `ComicPanelDetector` for performance and memory efficiency.
* Optimized comic panel detection performance by introducing a dedicated single-thread dispatcher for ML tasks, replacing mutex-based synchronization.
* Refactored system UI handling and layout padding in `PdfViewerScreen`.
* Refactor `PdfViewerScreen.kt` by extracting components and logic into specialized files.
* replace hardcoded padding with dynamic header height and adjust IME layout logic
* Improve `PdfTextBox` interaction and visual consistency during zoom and pan.
* improve PDF text box dragging and scaling behavior across zoom levels
* optimize color scheme calculation using remember and expand text dimming coverage
* Implement in-app language selection and per-app language preferences.
* Improve PDF lock stability in `PdfVerticalReader`
* Implement "Preserve Image Colors" option for PDF themes
* Optimize TOC locate in ReaderDrawer
* Update library and home screen UI components
* smoother page turn animation in epub pagination mode
* Implement automatic page skipping for TTS when no text is found in PDF viewer
* Refine status bar handling and window insets across main screens
* Optimize ViewModel initialization and integrate AndroidX SplashScreen
* Move ComicPanelDetector to debug source set and introduce IPanelDetector interface
* Optimize TOC scrolling in PdfNavigationDrawerContent
* Bump version to 1.0.45(45)
* Updated `.gitattributes` to correctly vendor all files within the `libmobi` and `woff2` directories.
* Improved TTS chapter transition handling
* Improved TTS stability and chapter advancement in the EPUB reader.
* Implemented PDF metadata extraction for titles and authors using PdfiumCore in `MainViewModel` and `MetadataExtractionWorker`.
* Implemented support for interactive footnotes in the EPUB vertical reader.
* Added support for footnotes in the paginated EPUB reader.
* Implemented a customizable app theming system.
* Added support for app-wide contrast and text brightness customization in the "App Theme" option.
* option to adjust pull-to-chapter-change drag in the EPUB vertical reader under visual options.
* Updated `PdfViewerScreen` to replace the standalone full-screen toggle with a more comprehensive "Visual Options" system UI management tool.
* Added translation using Weblate (Turkish)
* Translated using Weblate (Turkish)
Currently translated at 36.5% (252 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/tr/
* Translated using Weblate (Turkish)
Currently translated at 45.1% (311 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/tr/
* Added translation using Weblate (Arabic)
* Translated using Weblate (Arabic)
Currently translated at 10.1% (70 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/ar/
* Added translation using Weblate (German)
* Translated using Weblate (German)
Currently translated at 52.1% (359 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/de/
* Translated using Weblate (Arabic)
Currently translated at 73.4% (506 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/ar/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (689 of 689 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/ar/
* Added translation using Weblate (Hindi)
* Added translation using Weblate (Portuguese (Brazil))
* Translated using Weblate (German)
Currently translated at 99.5% (687 of 690 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/de/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 10.4% (72 of 690 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/pt_BR/
* Translated using Weblate (Turkish)
Currently translated at 78.2% (540 of 690 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/tr/
* Added translation using Weblate (Spanish)
* Translated using Weblate (Spanish)
Currently translated at 8.8% (61 of 690 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/es/
* Translated using Weblate (Arabic)
Currently translated at 100.0% (690 of 690 strings)
Translation: Episteme/strings
Translate-URL: https://hosted.weblate.org/projects/episteme/strings/ar/
* Added translation using Weblate (French)
---------
Co-authored-by: Cabbar Hayıroğlu <halil48efe@gmail.com>
Co-authored-by: Kara Pisicik <noircat43@gmail.com>
Co-authored-by: Eyad alkordy <waeleyad248@gmail.com>
Co-authored-by: Otto Zumkeller <ottozumkeller@gmail.com>
Co-authored-by: Silent Coder <silentcoder@tutamail.com>
Co-authored-by: Enrico Ferrer <mathferrer17ea@gmail.com>
Co-authored-by: Br0t <travelty.thigh614@passmail.net>
Co-authored-by: faab <fa4b@tuta.io>
* Added support for AI and Cloud credits in the Pro flavor.
* Implemented credit-based authentication and authorization for AI features and Cloud TTS.
* Updated AI feature access and purchase handling to a credit-based system.
* Refactored and enhanced the Text-to-Speech (TTS) system with persistent caching and a redesigned UI.
* Improved TTS cache management by organizing audio files by book title and adding a detailed cache storage UI.
* Refactored the TTS service to use a WebSocket-based Gemini Live connection for cloud audio generation.
* Removed the TTS cache settings tab and simplified voice sample playback by removing local caching logic.
* Implemented a low-latency streaming mechanism for Cloud TTS using a custom `ConcurrentInputStream` and `ExoPlayer` data source.
* Improved cloud TTS stability and prefetching logic in `TtsService` and `TtsPlaybackManager`.
* Implemented AI summarization caching and cost tracking in the EPUB reader.
* Enhanced chapter summary caching and UI feedback.
* limit summaries for pro users to 10 per day
* Implemented local caching for Cloud TTS audio chunks.
* Removed the Free tier tab from `ProScreen` and simplified the subscription interface. Updated tab logic to focus on Pro and Credits, including a new cost breakdown section for AI and Cloud TTS features.
* Refactored HTML parsing to include all child nodes during content chunking and semantic block parsing.
* Improved image rendering consistency in epub pagination reader
* Improved HTML parsing in `HtmlParser.kt` to better handle complex nested structures
* Improved CSS styling support in the epub paginated reader for word spacing and text decorations.
* Implemented scroll throttling in `epub_reader.js` to improve performance during scroll events
* Improved CFI resolution and scrolling reliability in EPUB reader
* Optimized PaginatedReader performance by caching text decorations.
* Implemented batching for recent file database operations to handle large datasets and introduced `RecentFileSummary` to optimize data retrieval by excluding heavy JSON columns.
* Improved navigation stability by wrapping `navController.navigate` and `popBackStack` calls in a try-catch block to handle `IllegalStateException` during concurrent transitions. Additionally, refined the backstack check for the main route to prevent redundant pops.
* feat(tts): redesign TTS controls with overlay UI and cache management
* Expanded and improved the TTS (Text-to-Speech) capabilities, particularly for Cloud voices.
* Improved TTS playback control and cache management.
* Integrated the TTS cache manager into the settings sheet and improved the TTS configuration UI.
* Updated `DeviceVoicesTab` to respect the current TTS mode, disabling voice selection when not in `BASE` mode.
* Improved error handling and state management for Cloud TTS in `TtsService` and `TtsPlaybackManager`.
* Improved TTS voice selection UI and sample playback logic.
* Updated `TtsUtils` and `TtsService` to remove `chunkIndex` from TTS cache filenames. Refined the cache file naming convention to rely on text and speaker hashes, and updated the cache file filter logic to correctly identify speakers in both legacy and new filename formats.
* Optimized tile rendering and state propagation in PDF viewer
* Added "Expand All", "Collapse All", and "Locate" functionality to the Table of Contents in both EPUB and PDF readers.
* Added sign-in requirement for credit purchases and improved purchase migration logic.
* Updated `EpubReaderTts` to support authenticated TTS requests by passing an auth token provider. The `ttsController.start` method now includes an `authToken` retrieved via `getAuthToken` and explicitly sets the `playbackSource` to "READER".
* feat(ai): replace summarization popup with a comprehensive AI Hub Bottom Sheet
* Improved locator logic and block traversal in `BookPaginator`.
* Updated AI features and Cloud TTS logic.
* Added manual clear and auto-reset functionality for AI summaries and recaps
* Optimized file importing, EPUB parsing, and TTS playback concurrency.
* Restricted TTS mode to BASE in OSS flavor and fixed TTS mode persistence in PDF viewer
* Bump version to 1.0.43(44)