Releases: coflyn/Mori
Releases · coflyn/Mori
Release list
Mori v4.3.3
What's New in v4.3.3
- Over-The-Air (OTA) Scraper Updates: Hot-patch scrapers dynamically without reinstalling the app
- Scraper Core Rollback: Revert active OTA patches back to the bundled baseline with a confirmation modal
- Custom Storage Directory: Select custom download folders across Android (SAF), Desktop (native dialogs), and iOS
- Native Folder Opener: Open saved media locations directly in system file managers (Finder, Explorer, Android Files, and iOS Files app)
- Android All Files Access: Optional storage permission for arbitrary directories
- Desktop Media Streaming: Stream and play downloaded media from custom paths in Desktop player
- Native Security Architecture: Precompiled native binaries linked via native FFI across Windows, macOS, and iOS
- Safe-Mode Auto Recovery: Automatically purges invalid patches and falls back to bundled core without crashes
- Desktop Native Security Verification: Resolved verification failure on Windows and macOS Tauri
- iOS Native Security Verification: Resolved false-positive security error on iOS via native binary bridge
- iOS Video Thumbnails: Replaced broken placeholders with native AVFoundation extraction and auto-healing for existing history
- Android History Quota: Optimized thumbnail dimensions by ~97% and added auto-recovery pruning to prevent storage quota crashes
- Android WebView Decompression: Resolved deflate-raw decompression errors on older WebViews using an ESM inflate fallback
- Desktop Path Resolution: Fixed duplicate nested directories by preserving leading slashes and expanding tildes (~)
- Douyin Parsing: Fixed album and slides extraction by resolving final redirect URLs in native bridges (#13)
- Android Share Overlay: Fixed syntax error and scope mismatch in history saving
Mori v4.3.2
What's New in v4.3.2
- History Favorites: Interactive favorite button with auto-pinning to top of history list and auto-clear protection
- History Modal Touch Gestures: Smooth horizontal touch swipe navigation between downloaded media items
- Expanded Localization: Added 30 new translation keys with 100% key parity across all 9 supported languages
- Frontend Architecture: Refactored monolithic codebase into domain-focused modules (i18n, CSS stylesheets, utils, downloader, settings)
- Scraper Engines Migration: Upgraded TikTok to TikDownloader (Full HD 1080p, MP3) and Twitter/X to SaveTWT (all resolutions)
- Settings UX: Relocated "Max Retry Count" into Storage & Download with dynamic visibility linked to auto-retry toggle
- Blank Video Thumbnails: Switched to dynamic 50% mid-frame extraction to prevent white or blank thumbnails caused by intro fades
- Thumbnail Orientation: Fixed 9:16 vertical video thumbnails incorrectly rotating into landscape orientation
- Desktop (Tauri): Resolved Cloudflare bot blocking on TikDownloader Server 2 via HTTP/1.1 and automatic curl fallback
- Active Slide Sync: Fixed directory path not updating when switching between video and audio slides in history modal
- Video Preview Glitch: Fixed split or distorted preview frames on high-framerate videos
- Share Overlay: Fixed binary scraper payload loading and security handshake in Android ShareActivity
- UI Text Selection: Disabled unwanted native text selection and long-press context menus on cards and dialogs
Mori v4.3.1
What's New in v4.3.1
- Direct Bilibili & b23.tv scraper engine with full 720p MP4 extraction and auto-redirect support
- Zero-dependency YouTube playlist & music parser with dual-engine fallback resolver
- Scraper standardization (MP4, PHOTO, MP3) and clean title extraction for Threads, Pinterest, Twitter, and Apple Music
- Twitter Full HD (1080p) TVD scraper promoted to Server 1 with paywall filtering
- TikTok scraper fixes: clear 1080p/720p labels on TikTokIO and removal of broken HD button on SnapTik
- Spotify & Apple Music optimization: cached sessions, faster track resolving, and simplified status labels
- Playlist download resilience with Android WakeLock guards, auto-retry loops, and failed track re-downloading
- Interactive Ambient Backgrounds (Sakura, Rain & Ripples, Snowfall, Fireflies) with customizable speed slider
- Frosted Glassmorphism intensity (Off / Subtle / Deep) and UI Corner Styles (Sharp / Modern / Round)
- Procedural Web Audio completion sound synthesis engine with 4 distinct packs
- Total History & Total Downloads real-time counters inside History statistics card
- Native Android MediaScanner integration for instant Gallery & Google Photos indexing
- Unicode / CJK path fix and automatic decodeURI to eliminate "(File missing)" errors
- Strict lowercase file extensions (.mp4, .jpg, .mp3) across Android, iOS, and Desktop Tauri
- In-app media player audio cleanup to prevent background playback leaks
- Tauri desktop cross-platform scraperFetch bridge fix
Mori v4.3.0
What's New in v4.3.0
- Corrupt media file prevention (.tmp atomic file stream writing & automatic error cleanup)
- Android native Foreground Service & sticky system status bar download notifications
- Instant Download & Analyze cancellation for single downloads, batch queues, and share overlay
- Interactive Live Animated Backgrounds (Constellations, Fluid Waves, Glass Bubbles, Ambient Particles)
- Multi-language expansion to 9 languages (EN, ID, JA, KO, ZH, AR, RU, TL, HI) with full Arabic RTL layout
- Instagram InDown scraper fix for mixed-media carousels (Photos + Videos preserved in exact order)
- History card long-press gesture to trigger item deletion with haptic feedback
- History preview modal clean folder directory paths & accurate offline missing file detection
- Settings reorganization with 2-row responsive stacked cards & nested Live Background settings
- Concurrent downloads engine (1 to 5 parallel downloads) for high-speed batch queues
- Duplicate file collision strategy (Auto-Rename, Overwrite Existing, or Skip if Exists)
- DNS over HTTPS (DoH) pre-resolution with Cloudflare 1.1.1.1 & Google 8.8.8.8 support
- Real-time download statistics card inside History page
- UI animation speed control (Off / Slow / Normal / Fast) & global font size scaling
Mori v4.2.4
What's New in v4.2.4
- Instagram Server 2 SnapSave migration (replaced DownReels engine for Instagram Reels & Photos)
- Instagram Server 1 InDown direct CDN unwrapping & 2-pass automatic retry flow fix
- Playlist & Album "Download All" feature (Spotify, Apple Music, YouTube Playlists)
- PIN security SHA-256 hashing upgrade & startup navigation freeze fix
- RedNote / Xiaohongshu short link resolution & multi-path state JSON extraction
- Centralized User-Agent architecture & exported UA constants (utils/index.js)
- Share Overlay rectangular option bar skeletons & dynamic phrase loader
- Loader timeout race condition fix (stale hide timers prematurely concealing loader)
- Batch Mode Wi-Fi Only & Cellular Data Warning guards with instant modal cancellation
- Security & XSS hardening (HTML-escaped batch queue URLs & thumbnail attributes)
- Set-Cookie header parser hardening (preserved Expires date strings containing commas)
- Storage calculation fix (resolved double-counting between EXTERNAL & EXTERNAL_STORAGE paths)
- Native download fallback & null-safe type guards for CapacitorHttp blob fallback
- Unlimited history limit fix (resolved truncation of history records to 100 items)
Mori v4.2.3
What's New in v4.2.3
- Android Share Overlay full settings sync (Language, Font, Theme, Download path)
- Android Share Overlay i18n support across 5 languages (EN, ID, JA, KO, ZH)
- Android Gallery timestamp fix (videos now appear at the top under Today)
- Android Gallery dynamic MIME type detection (WebP photos, GIF, MOV, M4A, FLAC)
- Douyin short link (v.douyin.com) & first-attempt analysis error fix
- Douyin multi-stage scraper (Direct API, multi-marker SSR parser, URI decode)
- Settings Lock Type & Batch Photo Mode dropdown i18n refresh fix
- App font default changed to Display Bold (Outfit)
- Font preset "Default" label renamed to its real name ("Inter")
- Subfolder per platform (mori_auto_folder) enabled by default
- Haptic vibration (mori_haptic) disabled by default
- Security patch: upgraded tar dependency to v7.5.21 (CVE-2026-59873)
Mori v4.2.2
What's New in v4.2.2
- Spotify & Apple Music full playlist/album download support
- UI simplification — removed header description, greeting & footer tagline
- Auto Analyze now triggers on silent auto-paste (app launch/resume)
- Auto-Download feature fix (button selector mismatch)
- History limit now respects user setting instead of hard-cap 100
- History deletion fixed (index-based, reliable for short/redirected URLs)
- Auto-clear history now cleans up orphaned thumbnail cache files
- Batch history isolation fix — items no longer merge into single card
- Batch mode YouTube playlist detection fix (video-in-playlist no longer skipped)
- Spotify track number padding fix for 100+ track playlists
- Filename sanitizer preserves parentheses (feat. artist names)
- Modal dismiss stale-handler memory leak fix
- Blob fallback download now respects timeout setting
- Confirmation dialogs localized (English / Indonesian / Japanese)
- Security: XSS fix on history list and result download buttons
- Desktop (Tauri): HTTP request timeouts added (30s / 120s / 60s)
Mori v4.2.1
What's New in v4.2.1
- Multi-Link Batch Download Mode: Added dedicated Batch Mode toggle, multi-line text area, real-time Queue Modal, and one-click DOWNLOAD ALL button.
- Batch Photo Mode Setting: Added dropdown in Settings with 3 options: Download All Photos, Combine into Single PDF (via pdf-lib), and Download First Photo Only.
- Smart Media Type Differentiation: Batch mode automatically distinguishes single video posts from genuine photo slideshow carousels, downloading 1 primary video file for video links.
- 100% 14-Platform Subfolder Coverage: Extended per-platform auto-folder categorization to cover all 14 platforms and short link domains (TikTok, IG, YouTube, Twitter/X, Facebook, Pinterest, Spotify, Apple Music, Threads, RedNote, Bilibili, Pixiv, Bandcamp).
- 4-Digit PIN Passcode Lock System: Added PIN Code as a brand-new Lock Type option alongside Biometric authentication across Mobile and Desktop.
- Audio Background Playback Fix: Added centralized stopAllMedia() helper to automatically pause audio/video previews when closing modals or switching tabs.
- Pinterest Scraper Fix: Prioritized HD 720p .mp4 video downloads over thumbnail images for pin.it short links and removed deprecated PinDirect option.
- RedNote / Xiaohongshu Scraper Fix: Replaced third-party API with direct HTML state extraction (window.INITIAL_STATE) and added rednote.com domain support.
- Bilibili.tv Scraper Fix: Fixed episode_id resolution and enabled season_id fallback for anime/play URLs.
- YouTube Scraper (YTMP3.gg) Fix: Converted API requests to sequential calls with delay guards and YTMP3.mobi fallback.
- Twitter/X Scraper (TVD) Resolution Label Fix: Filtered out upsell text and dynamically extracted dimensions directly from Twitter CDN URLs.
- Instagram Scraper Fixes: Fixed DownReels JSON errors, InDown redirect loops, and added Mobile Safari direct embed fallback parsing.
- Network & Settings Refinements: Fully integrated Anti-403 Header Guard, Cellular Data Warning Modal, Bypass SSL Errors, Force IPv4 Mode, static icon positioning, and isolated history cards.
Mori v4.2.0
update to version 4.2.0
- macOS & Windows Desktop Support (Tauri v2): Added native desktop app support for macOS (.dmg, .app) and Windows (.exe, .msi) powered by Tauri v2.
- Native CORS-Free Desktop HTTP Engine: Integrated native Rust HTTP client (tauri_http_request & tauri_fetch_bytes via reqwest) to handle cross-origin requests and binary streaming without WebKit CORS blocks.
- Native Desktop File Saving: Implemented direct Rust disk writers (tauri_download_file & tauri_save_bytes_file) saving media files and PDF exports to user Downloads folder (~/Downloads/Mori/).
- Desktop Native Browser Launcher & Auto-Update Engine: Integrated native Rust URL process launcher (tauri_open_url) and semantic version comparison (isNewerVersion) ensuring "UPDATE" and "Report Bug" links open in default desktop browser (Safari/Chrome/Arc). Fixed autoCheckUpdate() & checkUpdate() on macOS Desktop.
- Pixiv Ugoira Live MP4 Video Preview: Fixed Pixiv Ugoira preview playback on macOS/Windows Desktop with native Rust CORS-bypass streaming (tauri_fetch_bytes) and Referer headers.
- Cross-Platform PDF Gallery Exporter: Resolved CapacitorHttp.get and CHROME_UA errors during PDF generation on Desktop. Implemented cross-platform fetch fallbacks and native Rust file saving.
- Desktop Local Media & Audio Preview Player: Integrated Rust binary file byte reader (tauri_read_file_bytes) with dynamic Blob URL stream generation (blob:http://...) and platform-aware path resolution in ui.js & player.js.
- Pinterest Dual-Server & PinDirect: Pinterest now has two selectable servers — Server 1 (PinDown) for scraper-based downloads and Server 2 (PinDirect) for direct HTML extraction.
- PinDown Image Classification Fix: Fixed bug where PinDown scraper incorrectly classified image downloads as VIDEO type.
- Pinterest Multi-Image Support: PinDirect mode extracts all available original-resolution images from gallery pins.
- Spotify SoundLoaders Server Replacement: Replaced non-functional SpotMate server with SoundLoaders (Turnstile challenge bypass via /api/userverify).
- Android Storage Permission & EACCES Fix: Resolved EACCES errors on Android 13+ with an automatic multi-directory fallback chain (EXTERNAL_STORAGE -> DOCUMENTS -> EXTERNAL).
- Explicit Web Scraper Names in Server Selection Pop-ups: Standardized server selection modal text across all multi-server platforms (TikTok, Instagram, YouTube, Twitter, Spotify, Pinterest).
- Clean Filename Template Options & Default Setting: Removed redundant "Default" option and set Title Only (title) as default template with clean incremental counter collision handling.
- Desktop Biometric & Haptics Guard: Mobile biometric authentication preserved for Android/iOS, while Desktop platforms bypass mobile biometric checks and hide lock/haptic settings.
- Color Accent Setting Removed: Removed Color Accent dropdown setting from UI to enforce minimal black-and-white design system.
- SpotMate Removed: Fully removed SpotMate scraper from codebase.
Mori v4.1.0
update to version 4.1.0 - Modular scraper suite (14 platforms, 1-to-1 files) - Domain manager modules (auth, history, settings, download) - Clean subdirectory structure (vendor/, components/, i18n/, utils/) - Centralized HTTP client & URL sanitization engine - Monotonic download progress toast with silent auto-retry (3x) - Single-percentage UI & responsive toast overflow guard - Douyin multi-image photo slideshow fix - Server selection backdrop default (Server 1) - Comprehensive Japanese localization - Dynamic device platform detection & share app fix - Static thumbnail for un-downloaded history items - Fixed content:// URI bug in local file playback - Monochrome history edit mode redesign - Modal overlay state fix (confirmOverlay) - Smart history matcher (mori_file_saved) - Android WebView autoplay restored (MainActivity.java) - Capacitor local HTTP URL protection - Strict monochrome design aesthetic - Redesigned focused-input toast & settings notifications - Hardware back button & double-tap exit guard - Pixel-perfect settings UI layout polish - Scraper engine & status settings sub-page - Enhanced memory & canvas resource cleanup - Release APK signing config for installable builds - iOS IPA build support for sideloading - RedNote xhslink.cn redirect fix