* Add performance and stylus debugging logs

* Refactor and decouple UI models from `MainViewModel`

* Refactor library state management and projection logic

* Implement desktop shell using Compose Multiplatform

* Implement desktop shell using Compose Multiplatform

* Implement desktop shell using Compose Multiplatform

* Introduce ReaderEngine and enhance EPUB reader features in windows app

* Move core paginated reader logic to a Kotlin Multiplatform `shared` module and introduce experimental desktop support.

* Implement PDF rendering and text extraction for desktop using Pdfium

* Add `NonReaderScreens.kt` and UI dependencies

* Refactor and centralize library state management and models to improve cross-platform consistency

* Implement JSON persistence for desktop library and enhance library management features including shelf CRUD, tagging, and metadata editing

* Implement PDF annotation system and enhanced zoom controls for the desktop viewer

* Implement WebView-based EPUB rendering for desktop using CEF and embedded resources

* Optimize UI state projection, navigation state handling, and main screen pager performance

* Implement Bring Your Own Key (BYOK) support for AI features in OSS version

* Support Gemini-based Cloud TTS with BYOK support for OSS builds

* Refactor table cell image sizing in `PaginatedReader` and improve `MobiParser` native library loading and error handling.

* crash fixes

* Enhance navigation stability with lifecycle-aware safety checks and update `navigation-compose` to 2.9.6

* Implement dynamic bottom padding for the page info bar to account for device rounded corners

* Implement bidirectional jump history navigation and replace the jump-back pill with a dedicated `PdfJumpHistoryBar`

* Optimize PDF tiling performance and refine pan-and-fling gesture handling

* Implement customizable toolbars with drag-and-drop reordering and placement for PDF and EPUB readers

* Updated UI for customize toolbar

* Refine drag-and-drop reordering and section assignment for PDF and EPUB reader controls

* restructure PDF viewer UI component hierarchy to fix verifier crash

* Implement separate text dimming factors for light and dark themes

* Synchronize Pdfium access and improve resource lifecycle safety across Kotlin and native layers

* Enhance image alignment in paginated and EPUB readers through anchor detection and style-based positioning

* Centralize file type resolution logic and implement HTML sanitization during import

* Introduce vertical margin customization and configurable progress bar positioning

* texture support in epub reader

* Enhance TTS session management, progress tracking, and diagnostic logging

* Optimize library state projection and folder synchronization performance by refactoring collection lookups and refining metadata extraction logic.

* Refine TTS page mapping for PDF and overhaul TTS control UI

* Implement natural session completion logic in `TtsPlaybackManager` for cloud tts

* Replace Snackbar with `CustomTopBanner` for notifications in `PdfViewerScreen`

* Refine TTS playback continuity across PDF pages and improve state management for session transitions

* Implement global texture transparency and enhance textured theme support across PDF and EPUB readers.

* Update reader themes and improve texture rendering in page animations, EPUB UI, and immersive mode

* Add Support Project screen

* Optimize library performance via projection caching, batch database updates, and scoped folder synchronization.

* Enhance folder synchronization with fallback query mechanisms and refactor annotation sidecar importing logic

* Bump version to 1.0.47 (51)
This commit is contained in:
Aryan 2026-05-04 21:55:38 +05:30 committed by GitHub
parent f42de6b462
commit d7a9cae9e1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
126 changed files with 15287 additions and 3154 deletions

View file

@ -102,6 +102,7 @@
<!-- "Google Drive" is a brand name — do not translate. -->
<string name="drawer_backup_desc">Upload books from your synced folders to Google Drive.</string>
<string name="drawer_custom_fonts">Custom Fonts</string>
<string name="drawer_support_project">Support the Project</string>
<string name="drawer_help_feedback">Help &amp; Feedback</string>
<string name="drawer_sign_out">Sign Out</string>
@ -317,6 +318,15 @@
<string name="email_support">Email Support</string>
<string name="email_support_desc">Contact us directly via email for any other inquiries.</string>
<!-- Support Project -->
<string name="support_project_title">Support the Project</string>
<string name="support_project_heading">Help keep Episteme moving</string>
<string name="support_project_desc">Your support helps me keep maintaining and Improving Episteme for everyone!!!</string>
<string name="support_github_sponsor">Sponsor on GitHub</string>
<string name="support_github_sponsor_desc">Support development directly through GitHub Sponsors. As a thank you, you get a README shoutout in the project repo.</string>
<string name="support_patreon">Join on Patreon</string>
<string name="support_patreon_desc">As a thank you for backing the app, Patreon supporters get extra content and benefits: sneak peeks at what I am working on, early screenshots and updates, votes that help shape how new features should look and work, and a README shoutout in the project repo.</string>
<!-- Dialogs -->
<!-- "Episteme Pro" is the product tier name — do not translate "Episteme". -->
<string name="dialog_unlock_pro">Unlock Episteme Pro</string>
@ -573,10 +583,14 @@
<!-- Common.kt: ReaderThemePanel & ThemeBuilderView -->
<string name="reading_themes">Reading Themes</string>
<string name="theme_presets">Presets</string>
<string name="theme_textured_presets">Textured Presets</string>
<string name="theme_my_themes">My Themes</string>
<string name="theme_my_textured_themes">My Textured Themes</string>
<!-- "+" is a literal plus icon reference in the description. -->
<string name="theme_no_custom">No custom themes yet. Tap \'+\' to create one.</string>
<string name="theme_no_textured_custom">No custom textured themes yet.</string>
<string name="theme_new">New Theme</string>
<string name="theme_new_textured">New Textured Theme</string>
<string name="theme_edit">Edit Theme</string>
<string name="theme_name">Theme Name</string>
<!-- Short motivational quote used as preview text in the theme builder. -->
@ -587,6 +601,10 @@
<string name="theme_low_contrast_warning">⚠️ Low contrast! This might cause eye strain.</string>
<string name="theme_page_color">Page Color</string>
<string name="theme_text_color">Text Color</string>
<string name="theme_texture">Texture</string>
<string name="theme_texture_none">None</string>
<string name="theme_texture_upload">Upload</string>
<string name="theme_texture_transparency">Texture Transparency</string>
<string name="theme_color_live_preview">Live Preview</string>
<!-- Short phrase shown in the live color preview area of the theme builder. -->
<string name="theme_color_preview_text">Reading is dreaming.</string>
@ -808,7 +826,8 @@
<string name="visual_options_system_ui">System UI (Status &amp; Navigation Bars)</string>
<string name="visual_options_system_ui_desc">Control the visibility of the device\'s system bars.</string>
<string name="visual_options_progress_bar">Progress Bar</string>
<string name="visual_options_progress_bar_desc">The reading progress and chapter indicator at the bottom of the screen.</string>
<string name="visual_options_progress_bar_desc">The reading progress and chapter indicator on the reading screen.</string>
<string name="visual_options_progress_bar_position">Position</string>
<!-- "Seamless Chapter Transition" is a reading feature name. -->
<string name="visual_options_seamless_chapter">Seamless Chapter Transition</string>
<string name="visual_options_seamless_chapter_desc">Instantly load the next/previous chapter when scrolling past the end, without the pull-to-refresh animation.</string>
@ -871,6 +890,7 @@
<string name="label_paragraph_gap">Paragraph Gap</string>
<string name="label_image_size">Image Size</string>
<string name="label_horizontal_margin">Horizontal Margin</string>
<string name="label_vertical_margin">Vertical Margin</string>
<string name="label_none">None</string>
<!-- Short label for the "Original" font option in the reader settings. "Orig" is an abbreviation. -->
<string name="label_original">Orig</string>
@ -1214,6 +1234,7 @@
<string name="msg_downloading_bubble_zoom_model_progress">Downloading Bubble Zoom model… %1$d%%</string>
<string name="content_desc_exit_slider_navigation">Exit slider navigation</string>
<string name="content_desc_jump_back">Jump Back</string>
<string name="content_desc_jump_forward">Jump Forward</string>
<string name="content_desc_scroll_to_reading_page">Scroll to reading page</string>
<string name="content_desc_annotated_page">Annotated Page</string>
<string name="content_desc_close_image">Close Image</string>
@ -1261,9 +1282,9 @@
<string name="label_short">Short</string>
<string name="label_long">Long</string>
<!-- Compact TTS speed label. %1$s = formatted multiplier, e.g. 1.2. -->
<string name="tts_speed_short">Spd: %1$sx</string>
<string name="tts_speed_short">Speed: %1$sx</string>
<!-- Compact TTS pitch label. %1$s = formatted multiplier, e.g. 1.0. -->
<string name="tts_pitch_short">Ptch: %1$sx</string>
<string name="tts_pitch_short">Pitch: %1$sx</string>
<string name="content_desc_play_pause">Play/Pause</string>
<string name="content_desc_reset_speed">Reset Speed</string>
<string name="content_desc_reset_pitch">Reset Pitch</string>