Skip to content

Latest commit

 

History

History
562 lines (369 loc) · 25 KB

File metadata and controls

562 lines (369 loc) · 25 KB

Changelog

[1.7.4] - 2026-06-30

Added

  • Horizontal panning with wheel and touchpad (thanks @binaryBrandon)
  • MEGA two-factor authentication (2FA) login
  • Uploaded covers now show thumbnails in MEGA

Changed

  • MEGA support no longer held together with hope and duct tape
  • Faster MEGA downloads

[1.7.3] - 2026-06-14

Fixed

  • Inertial panning (fling) restored in paged mode (#232)

Changed

  • Default page-flip swipe threshold lowered to 35%

[1.7.2] - 2026-06-13

Added

  • "Fill screen" zoom mode: fills one axis, overflows the other (#231)

Fixed

  • Keep Zoom and Original Size no longer pin pages to the top (#231)
  • Offset spreads button works again (#231)
  • "Zoom to fit" now works in continuous scroll mode (#231)
  • Night mode, invert, B&W, and OCR toggles show the correct state (#231)
  • WebDAV logins no longer silently fall back to anonymous (#229)

Changed

  • Continuous "Fit to width" is now "Fill screen" (#231)

[1.7.1] - 2026-06-10

Fixed

  • Restore single-finger touch panning in paged mode (#227)

[1.7.0] - 2026-06-10

Added

  • Targeted zoom in continuous modes: wheel, double-tap, pinch (#195, #225)
  • Paged zoom rebuilt on the same engine — panzoom removed (#226)
  • "Disable animations (e-ink)" toggle (#226)

Changed

  • Paged wheel zoom animates through fit-relative steps (#226)
  • Double-tap cycles zoom in / fit contextually (#226)
  • Keep zoom preserves apparent size across pages (#226)
  • Continuous scroll no longer labeled Alpha

Removed

  • Vertical page transition (#226)

[1.6.1] - 2026-06-08

Added

  • Black & white (grayscale) filter with G hotkey (#221)
  • "Always show OCR" toggle with T shortcut (#220, @jakobnator)

Fixed

  • Firefox now requests storage upfront so imports succeed (#223)
  • Achievement badges stay consistent across themes

[1.6.0] - 2026-05-29

Added

  • Theme system - A new Appearance setting with nine built-in themes — Dark (default, unchanged), E-ink (high-contrast black-on-white for e-readers), Ice, Sepia, Nord, Sakura, Pastel, Crimson, and Godzilla — plus a Custom editor. Each theme is previewed in its own swatch. Themes are defined by nine colours (background, surface, text, muted, border, accent, and "tone" colours for downloads, mark-as-read, and delete) and re-colour the whole app, including the reader background, the in-reader HUD, manga cover frames, and download/sync/delete buttons. Themes are stored per-profile, so they sync across devices. Builds on the light-mode idea from @oscarwong67 (#86)

[1.5.10] - 2026-05-22

Fixed

  • QuickActions "+" ignored Anki card mode - The QuickActions "+" → image → text-box picker flow always opened the "Create new card" modal, ignoring the cardMode setting. It now uses the same update/create dispatch logic as the double-click and context-menu flows, including the 5-minute window check for updates. The {page_num} template variable also resolves correctly in this flow (#216)
  • Page swipes during Anki modal - The reader no longer flips pages while the Anki Update/Create Card modal is open, preventing accidental flips when dragging the crop box on touchscreens (#189)

[1.5.9] - 2026-05-17

Fixed

  • Migaku popup scroll eaten by reader - The reader's window-level wheel listener intercepted every wheel and blocked scrolling inside Migaku/Yomitan popup overlays. Wheel events are now only intercepted inside the reader content (#214)
  • Migaku sentence capture stopped at line breaks - "Capture sentence" / "read sentence" only saw the hovered OCR line because <br/> separators were treated as sentence boundaries. OCR lines now use a CSS-generated newline so DOM walkers see one continuous text node per speech bubble. Yomitan behaviour unchanged (#214)

[1.5.8] - 2026-05-16

Added

  • {cover} Anki template variable - Include the volume cover image in Anki cards alongside {image}, targeting a separate field (#205)
  • Reverse alphabetical volume sort - Sort volumes Z–A in addition to A–Z
  • Page index DOM attribute - The reader exposes data-page-index on each page so extensions (e.g. GSM stats) can read the current page without traversing styles (#207)

Fixed

  • Swipe-to-flip while panning a zoomed page - A vigorous pan past the edge of a zoomed page could silently flip the page. The swipe now only flips when the relevant edge was already visible at touch start (#186)
  • WebP thumbnails for archive-extracted pages - Thumbnails from CBZ/ZIP imports were silently falling back to JPEG because extracted File objects had no mime type. Generation is now always WebP regardless of source
  • MEGA duplicate series/root folders under parallel uploads - Folder creation is now serialized per path, preventing duplicates when multiple uploads race
  • MEGA folder deduplication - The deduplicator now runs for MEGA (previously Drive-only) and loops to convergence so late-pass leftovers no longer remain

[1.5.7] - 2026-03-20

Fixed

  • Text box dismiss toggles overlay - Tapping outside an OCR text box to dismiss it in continuous scroll modes no longer toggles the reader overlay
  • Fullscreen leaves invisible menu - Toggling fullscreen from settings no longer leaves an invisible drawer capturing taps

[1.5.6] - 2026-03-20

Fixed

  • Continuous scroll drag stutter - Fixed a lag spike when starting to drag in continuous scroll modes, especially noticeable on mobile devices

[1.5.5] - 2026-03-20

Added

  • Page dividers - Toggle gaps between pages in continuous scroll modes (M hotkey) with adjustable size
  • Text box context menu in continuous scroll - Right-click context menu on OCR text boxes now works in both vertical and horizontal scroll modes

Fixed

  • Horizontal scroll page tracking - Improved page detection and progress reporting in horizontal continuous mode
  • Yomitan context menu race condition - Right-click menu no longer shifts items when Yomitan dismisses and deselects text

[1.5.4] - 2026-03-19

Added

  • Continuous scroll reader (Alpha) - Vertical and horizontal scroll modes with auto orientation matching. Zoom is in development
  • Simplified settings panel - Volume and Reader settings merged into one section with context-aware visibility
  • Improved archive import support

Fixed

  • WebDAV logout when server unreachable - Can now log out of WebDAV even when the server connection fails (#187)

Changed

  • Page view mode is now global - Single/dual/auto page mode is now a device-level setting rather than per-volume

[1.5.3] - 2026-03-13

Fixed

  • Long-press text box layout - Text boxes now calculate their font size on touch, so long-pressing an OCR box on mobile shows the correct layout immediately
  • Multiple volume dropdowns open - Opening a volume's dropdown menu now closes any other open dropdown

[1.5.2] - 2026-03-12

Fixed

  • Overlay toggle on text box dismiss - Tapping outside an OCR text box to dismiss it no longer toggles the reader overlay visibility
  • Overlay toggle on pan - Click-dragging to pan the manga page no longer toggles the reader overlay
  • Page seek controls after overlay toggle - The page seek popover now works correctly after hiding and showing the overlay

[1.5.1] - 2026-03-09

Added

  • Volume export - Export individual volumes from the volume menu, with the same options as series export
  • Cloud rename - Renaming a series or volume now renames the files in Google Drive, MEGA, and WebDAV too

Fixed

  • Google Drive downloads missing text - Volumes downloaded from Google Drive were missing their text overlay data, appearing as image-only

[1.5.0] - 2026-02-28

Added

  • WebDAV download retry - Failed downloads now retry automatically with resume support
  • Easier OCR with mokuro-bunko - Image-only volumes uploaded to a mokuro-bunko for OCR processing will automatically have their text data added locally on the next refresh.
  • Catalog drop shadow toggle - Drop shadows on catalog thumbnails can now be disabled, improving the appearance of spine showcase mode
  • Delete cloud-only series - Remove series from cloud storage directly without needing to download them first
  • Volume keyboard shortcuts - Hover over a volume on the series page and press E to edit, C to change cover, Delete to remove, or Shift+Delete to delete from cloud
  • Cover page stitching - Combine two pages side-by-side when cropping a cover, great for spread artwork split across two pages
  • Cover picker improvements - Rotate images, pages in reading order, and custom covers sync to the cloud automatically
  • Escape closes modals - Pressing Escape in the volume editor or cover picker closes the modal instead of leaving the series page

Changed

  • Smarter series grouping - Local and cloud volumes now always appear together in the catalog even if they were imported separately or have slight differences in naming

Fixed

  • Dual page cover handling - Fixed cover page consuming two pages instead of one when dual page mode is set explicitly
  • AnkiConnect page numbers - Correct page numbers in templates, including dual-page captures
  • AnkiConnect tags on mobile - Fixed tags appearing in update mode on Android when they should be disabled
  • AnkiConnect card updates - Updating existing cards now preserves their formatting

[1.4.0] - 2026-02-20

Added

  • Bulk cover cropping - Crop a cover and apply the same crop region to the next volume in the series, making it easy to set consistent covers across an entire series
  • Cloud thumbnail previews - Cloud-only volumes now show cover thumbnails in the catalog before downloading
  • Faster catalog scrolling - Thumbnail rendering rewritten for smoother performance, especially on mobile
  • AnkiConnect field action badges - Visual indicators showing Append/Unchanged/Replace behavior for each field

Changed

  • AnkiConnect field modal layout - Tiered accordion design for clearer field organization
  • Cloud sync now preserves cover images - Uploads and downloads keep your custom covers and metadata intact

Fixed

  • Duplicate cloud folders - Automatically detects and merges duplicate series folders
  • Google Drive series deletion - No longer fails intermittently
  • Mobile import page reloads - Fixed unexpected full-page reloads during file imports on mobile
  • Image-only archive imports - Now prompts for confirmation instead of silently failing
  • Routing race conditions - Fixed premature redirect to catalog when the library loads slowly
  • Loading vs not-found states - Proper distinction between "loading" and "does not exist" for series/volumes
  • Zoom notification removed - No longer interferes with Yomitan dictionary popups
  • Image dragging in cropper - Disabled unwanted drag behavior during crop selection
  • AnkiConnect field modal fixes - Truncated long previews, proper crop bounds, scroll wheel support, improved styling
  • Reader spread navigation - Fixed forward/backward paging with two-page spreads

[1.3.0] - 2026-01-06

Added

  • Dynamic AnkiConnect field mapping - Configure which template populates each Anki field with a visual UI
  • Template variables for fields - Use {selection}, {sentence}, {image}, {series}, {volume} in any field
  • Mixed field templates - Combine text and images in the same field (e.g., {sentence} {image})
  • Android mode detection - Auto-detects AnkiConnect Android limitations with manual override option
  • Connection-gated AnkiConnect settings - Settings only appear after connecting, with live model/deck/field data from Anki

Changed

  • AnkiConnect settings redesign - Complete overhaul with connection status, enable toggle, and organized sections
  • Card mode selection - Now uses radio buttons instead of dropdown for clearer selection

[1.2.3] - 2026-01-15

Added

  • Toggle reader UI by clicking blank space - Click on empty areas of the page to show/hide reader controls
  • Mark volume as read - Manually mark volumes as read from the volume menu. Thanks @Zipeks!
  • WebDAV performance improvements - Faster file listing during sync
  • Case-insensitive series merge - Series with different casing (e.g., "Test Series" vs "test series") now detected as merge candidates

Fixed

  • WebDAV paths with special characters - Fixed corrupt downloads for files with # in their path (e.g., #Zombie Sagashitemasu)
  • Large volume WebDAV backup - Fixed authentication and memory issues when backing up volumes >1GB to WebDAV

[1.2.2] - 2026-01-06

Added

  • Free-form Anki image cropping - Replace fixed aspect ratio with free-form cropping using cropperjs
  • Text box picker for Anki quick actions - 2-step capture flow: select text box first, then adjust crop region
  • Preset crop to text box - New Anki setting to automatically preset crop region to selected text box bounds
  • Automatic cover image detection - Imports now detect and use cover images for thumbnails. Thanks @ChristopherFritz!
  • Series page character counts - Shows total and remaining characters with compact formatting (1.2M, 500K). Thanks @SilfraTheDragon!
  • Larger cover image cropper - Expanded cover picker modal for easier precise cropping

Fixed

  • Consistent natural volume sorting - Fixed edge cases where sorting could be inconsistent by consolidating to single source of truth. Thanks @ChristopherFritz!

[1.2.1] - 2025-01-05

Added

  • Placeholder series pages - Click cloud-only series to view their volumes and download options instead of triggering immediate download
  • Series export progress tracking - Exporting a series as a single archive now shows progress in the progress tracker

Fixed

  • Large volume cloud backup - Fixed "Array buffer allocation failed" error when backing up or exporting volumes >1GB (#129)
  • Import modal stuck on multiple drops - Fixed import preparation modal not closing properly when dropping multiple archives

[1.2.0] - 2025-01-05

Added

  • Volume editor modal - Edit volume metadata, series assignment, reading progress, and cover image from the catalog
  • Cover cropping - Crop any page from the volume to use as cover, with free-form selection
  • Inline series rename - Rename series directly from the series page header
  • Missing pages display - Volume editor shows which pages were missing during import
  • Import preparation modal - Shows progress spinner with status while scanning and analyzing dropped files before they appear in the import queue
  • Series merge - Merge multiple series together with conflict detection and preview. Thanks @ChristopherFritz!

Fixed

  • Flat archive imports - Archives with images at root level now properly pair with external mokuro files (#131, #125)

[1.1.2] - 2025-01-04

Added

  • Pan to page start on page turn - New panning behavior that positions at the top corner based on reading direction (top-right for RTL, top-left for LTR). Thanks @Zipeks!

Changed

  • Simplified zoom options - Removed redundant "Keep zoom, pan to top center" and "Keep zoom, pan to top corner" options. "Original size" and "Keep zoom" now use pan-to-page-start behavior.

[1.1.1] - 2025-01-04

Added

  • AnkiConnect test button - Validate your connection with clear error messages for network/CORS issues
  • Custom text box menu toggle - Disable to use browser's native right-click menu instead

Fixed

  • Context menu mobile support - Buttons now respond to taps, clipboard works on mobile, menu positions to avoid overlapping text

[1.1.0] - 2026-01-04

Added

  • Context menu for OCR text boxes - Right-click/long-press for quick copy and Anki card creation
  • Copy text without linebreaks - Copied text automatically strips linebreaks for cleaner pasting - thanks @Daxterapid
  • Partial volume imports - Import volumes even when some images are missing, with placeholder pages and a confirmation prompt showing what's missing
  • Import progress tracking - File imports now show progress in the progress tracker
  • Anki textbox targeting - Pick which text box to capture when creating cards from QuickActions
  • AnkiConnect custom URL - Configure non-default AnkiConnect endpoints
  • AnkiConnect card modes - Choose between updating last card or creating new cards
  • Anki dynamic tags - Template tags like {series}, {volume} for automatic organization

Fixed

  • CBZ export compatibility - Exported files now work in more third-party readers
  • iOS Safari imports - Fixed UUID generation and file picker issues
  • Import compatibility - Better handling of various internal folder layouts

[1.0.7] - 2025-12-17

Added

  • JPEG XL (.jxl) image support

Fixed

  • Fix infinite loop causing browser freeze on some mokuro pages
  • Fix timer continuing to run after leaving a volume

[1.0.6] - 2025-12-12

Fixed

  • Made swipe page turn reliable on high-end mobile devices

[1.0.5.8] - 2025-12-07

Fixed

  • Consistent wheel zoom step sizes between Chrome and Firefox with platform-aware speed adjustment
  • Handle mokuro files with empty series name (falls back to volume name)
  • Stop timer when paging into next/previous volume
  • Double-clicking text boxes no longer triggers zoom
  • Crop image popup now works on first page load without needing to page first
  • Copying text from OCR boxes no longer has double linebreaks (fixes Yomitan Anki sentence capture)

Reverted

  • Rolled back mobile swipe/pinch-zoom changes from 1.0.6 that broke textbox touch visibility

1.0.5

Patch Changes

  • #265 41ce39b Thanks @Gnathonic! - Add detailed WebDAV error modal with network error troubleshooting. Shows collapsible sections for CORS, SSL, DNS, and connection issues with specific console error codes to look for and fix instructions.

[1.0.4] - 2025-12-03

Added

  • Update banner now shows version diff (e.g., v1.0.3 → v1.0.4)
  • Expandable "what's new" section in update banner fetches release notes from GitHub
  • Link to full release notes on GitHub

Fixed

  • Fix cross-site imports via /upload?manga=X&volume=Y URLs (regression from hash router migration)
  • Cross-site imports now use global progress tracker instead of dedicated page

[1.0.3] - 2025-12-03

Added

  • Support anonymous WebDAV connections (blank username/password)
  • Detect read-only WebDAV servers and hide write-dependent UI controls
  • Show read-only badge on cloud page
  • New import mismatch modal displays when mokuro pages don't match downloaded/uploaded files, showing missing or extra files

Fixed

  • Fix double-tap zoom not working in the reader
  • Fix time tracking to work regardless of Timer visibility
  • Fix stats page discrepancy between achievements, recent speed, and empty state notice
  • Fall back to catalog when URL cannot be parsed
  • Add missing leading slash in WebDAV upload path

[1.0.2] - 2025-11-29

Added

  • "Update available" banner when a new service worker version is detected, allowing PWA users to update the app
  • Add AVIF, TIFF, GIF, BMP support to upload and download
  • Add extension-agnostic file matching for converted images (e.g., png→webp, jpg→avif)
  • Fuzzy matching to align image files with mokuro page data when paths don't match exactly

Fixed

  • Fix inconsistent zoom step sizes between Chrome and Firefox
  • Prevent scrollbars in reader by hiding document overflow
  • Skip hotkey handling when user is in text inputs or inside settings drawer
  • Skip hotkey handling when inside OCR text boxes for text selection
  • Ignore letter key shortcuts when Ctrl/Alt/Meta is pressed
  • Reset document scroll when settings menu scroll leaks through
  • Fix reader exit/fullscreen buttons not showing after hash router migration

[1.0.1] - 2025-11-27

Added

  • Hash-based SPA router - navigation no longer causes full page reloads, fixing PWA refresh issues
  • V3 database schema with split tables for better performance
  • Pica-based thumbnail generation for higher quality
  • Configurable catalog stacking settings with presets (Default, Minimal, Expanded, Spine Showcase)
  • Background thumbnail processing now reports progress via progress tracker

Fixed

  • Smart fallback system for thumbnail generation that handles mobile browser limitations
  • Improve zoom behavior with symmetric scaling and bounds limits
  • Remove panning wiggle room when content fits viewport
  • Mark Spine Showcase as alpha and auto-reset on page load to prevent getting stuck

[1.0.0] - 2025-11-25

Cloud Integration

  • Full integration with Google Drive, MEGA, and WebDAV - files uploaded show in the catalog as placeholders that can be downloaded in a single tap
  • Automatic progress sync with the cloud - switch between devices and keep your read position and stats in sync
  • Remembers Google Drive connection between sessions and can auto-prompt for token refresh
  • Storage quota statistics (used/available storage) on cloud page for all providers

Reading Experience

  • Automatic dual/single page mode - switches based on screen orientation and whether the current image looks like a two-page spread
  • Automatic resizing and wrapping if OCR text would be oversized
  • Page preloading that doesn't block the UI, with paging animations
  • Paging past the beginning or end of a volume loads the next/previous volume. If there are no more volumes, returns to series page
  • Timer now pauses if you don't turn the page for 1-30 minutes (user configurable, default 5)
  • Time left to finish estimate shown below the timer

Stats & Analytics

  • Reading Speed History page with read history, speed tracking, achievements, graphs, and motivational features
  • Volumes now show character counts and time-to-finish estimates based on your reading speed
  • Series page shows time left estimate based on your recent reading speed
  • Volume text page for text analysis
  • Series text page for text analysis

Catalog & Navigation

  • Series in the catalog now have up to 3 thumbnails stacked with a marker if you've finished reading
  • Series page now has thumbnail view, sorting options, and time estimates
  • Added sorting modes to series and catalog pages
  • PWA file association for .cbz files - double-click to open directly in Mokuro
  • Universal drag-and-drop support - drop files anywhere to import

Keyboard Shortcuts

  • N for night mode
  • I for invert colors
  • P for page mode
  • C for cover toggle
  • Z for zoom mode
  • Esc to back out of current volume or series
  • Up/Down keys now pan instead of page
  • Scroll wheel behavior follows standards (toggle available to swap)

Night Mode

  • Automatic scheduling for night mode and invert colors - choose between Manual (hotkey) or Scheduled (time-based)
  • Night mode filter now applies to settings dialog

Performance & Reliability

  • Rewrote database to be much more performant at scale - can now handle >2000 volumes with ease
  • Restructured database to prevent out-of-memory errors when editing long series
  • Much more robust handling of file and folder names
  • Handles more arrangements of zips, cbzs, files, folders, and mokuro files - much better at importing
  • Support for importing volumes without .mokuro files (image-only)
  • Prevent browser running out of memory during large file uploads
  • Lazy-loading of cloud provider modules to reduce initial bundle size

Framework Updates

  • Updated to latest Svelte and Node versions
  • Tailwind CSS v4 and Flowbite-Svelte v1 upgrade

Bug Fixes

  • Fix reactivity race conditions causing UI flashes in reader and catalog
  • Fix MEGA auto-sync cache staleness issues
  • Fix page turn animation wiping in wrong direction
  • Fix IndexedDB deadlock during volume deletion
  • Fix Timer crash when navigating between volumes
  • Fix Google Drive OAuth not initializing when token is expired

[0.9.1] - 2024-05-18

Added

  • Google Drive integration - sync volume data and profiles to the cloud
  • Profile uploading to Google Drive
  • Catalog search
  • Manga extracting (export volumes)
  • exSTATic support
  • Jidoujisho support
  • Single volume deletion
  • Manual timer controls
  • Misc settings

Fixed

  • Fix spacebar navigation
  • Fix volume sorting
  • Fix zip image ordering
  • Fix file import ordering
  • Prevent edge swipe in reader
  • Various QOL improvements

[0.9.0] - 2023-10-05

Added

  • Core manga reader with panzoom controls
  • Mokuro OCR text overlay support
  • Catalog with drag and drop upload
  • ZIP/CBZ file support
  • Settings system with volume-specific overrides
  • Double page mode with cover page handling
  • Progress tracking per volume
  • Profile import/export
  • Stats tracking
  • Anki Connect integration
  • About section

This was the first public release of Mokuro Reader by ZXY101.