2.4
This release introduces a dictionary schema overhaul, more YouTube features, new enhancements and quick actions, and other quality of life improvements that improve the performance and stability of the application.
System Requirements: This application has been tested to work on a variety of devices and emulators running Android 7 to 13. Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance. Try to give the application around 2GB of storage space.
Developers: This version of the application needs to be built with a stable release of Flutter 3.7.7.
🌅 A little bit of everything
2.4
📖 Dictionary Improvements
- Dictionary System Overhaul - The internal dictionary schema has been overhauled, with significant improvements to search and import speed, space complexity, as well as sorting of dictionary search results.
- Wildcards Search - Searching with wildcards has now been implemented.
?
or?
will now match exactly a single character, while*
or※
(easily auto-suggested asこめ
) will match zero or any number of characters. - More significant performance tweaks to the dictionary search algorithm for Japanese and English to make searching even faster for users that import a lot of dictionaries.
- Improved the sorting of search results, especially in cases where the best reading would sometimes not be chosen as it would be cut off due to the query limit.
- A new option to remove all dictionary data from the database has been added. The ability to delete a single dictionary is retained, but take note that this operation may take a bit longer than clearing the entire database.
- Searching a single kanji character will now prioritise kanji results. This makes using the new Character Search quick action easier.
- Selecting the same character when using Japanese will now hide dictionary search results. Tapping a selected but different character will change the search start position.
- Selecting the same selection when using English will now hide dictionary search results.
- Removed the option to adjust the query limit for dictionary searches. The maximum number of headwords now significantly affects search speed.
- Different target languages will now have different hidden and collapsed dictionary states. This can be used to easily switch between two languages.
- Double tapping on dictionary meanings now selects the best dictionary search term length rather than only relying on the language's text segmentation guess.
- Improved progress messages related to dictionary imports.
- Slow import has been removed. Please make a new issue if you experience issues related to dictionary import.
- Fixed an issue where some frequency dictionaries would not import correctly. (#157)
- Fixed an issue where search bars in the app may have an indeterminate progress even if search has already completed.
📽️ Player Improvements
- Using the app as an external player for Jellyfin will now pass the selected subtitle of played videos into the application. (#91)
- The app will now show a buffering state upon seek and no duration change has occurred in a second.
- Seeking with a double tap, using the slider or selecting a subtitle in listening comprehension mode will now show subtitles temporarily.
- Embedded subtitles will now be processed and added individually in sequence rather than being added as a batch once all are processed. Target language subtitles are processed first.
- A warning is now shown noting to users that embedded subtitles do not work over network media when selecting subtitles.
📺 YouTube Features and Improvements
- YouTube Automatic Captions - The YouTube media source will now supply automatically generated captions. Users are strongly advised not to use automatic captions if they cannot reliably discern their correctness.
- YouTube Comments - YouTube videos viewed in the application have a new button beside the Change Video Quality button that will allow users to read and mine comments and nested replies.
- YouTube video search will now display whether a caption is automatically generated or not in the search results.
- Opening the Card Creator from text when reading comments and replies will generate the current video's image, but will appropriately not export current audio.
- New YouTube videos searched and persisted from now on will show higher resolution thumbnails.
- Live videos will no longer be shown in search and channel/playlists.
- Significantly improved the loading speed of YouTube videos. Captions information of YouTube videos will now fetch much faster.
- YouTube videos that have been loaded once will now have their subtitles cached, making loading faster on subsequent playback attempts.
- Fixed a slowdown due to the UI isolate being blocked when a YouTube video is loading and during video search when a video is processing its subtitles and required manifests.
- Fixed an issue where YouTube videos would sometimes not play due to failure in preparing subtitles.
- Fixed an issue where YouTube search would not show beyond the first page of results.
- Fixed an issue where some videos would be unresponsive or erratic with certain resolutions and video codecs.
📋 New Media Source
- Clipboard - A new media source under the Reader now allows users to easily select text pasted from the clipboard as users can in similarly in the Lyrics source.
🧰 New Enhancements and Quick Actions
- Audio Recorder - A new enhancement will now allow users to record their own audio recordings in the application. Users will need to enable microphone permissions for this to function.
- Pick Audio - A new enhancement will now allow users to pick their audio file manually for both audio fields. Note that AnkiDroid will only take certain audio formats.
- Character Search - Added a new quick action which allows users to select a single character and quickly search for it.
🛠 Miscellaneous Fixes and Changes
- Tap to select text across the entire application will now hide the dictionary result if tapped again in the same index position. If a selected portion is selected but it is not the start of the selection, tap to select will work for and will search for the tapped text onwards.
- The app holds temporary media to be exported to AnkiDroid in the public Pictures directory. As a fallback, it will attempt to use a directory in the app's internal directory. (#160)
- Fixed an issue where the sentence field would be blank if a played video's media source does not match the currently selected player media source in the home tab.
- Changes to the cache mode of the Reader WebView may prevent data expiration. (#147)
- Fixed an issue related to poly-fills when importing a new book with the Reader WebView. (#153)
- Fixed an issue where having the Dictionary tab selected would result in blank sentences when viewing a video launched by share intent, such as sharing a YouTube link to the app or using Jellyfin or Plex.
- Fixed an issue where making a card from the Lyrics source would not include an appropriate sentence, or prevent opening the Card Creator.
- Fixed an issue with font ligatures where some combination of characters such as
ff
andfi
may display incorrectly in selectable text widgets. - Fixed an issue where the app may exit incorrectly upon completion of a dictionary import operation or media source exit.
- Fixed an issue where viewing a book for the first time would not result in a sentence being populated when opening the Card Creator.
- Reduced the default subtitle font size from 24 to 20.
- The default blur widget color is now transparent.
- The Lyrics source will now parse artists correctly from YouTube song videos uploaded with a channel name pattern
Artist - Topic
. - Removed the scroll left/right gesture in the dictionary history screen. The See More footer at the bottom of a history item has been changed to a button to make its function more apparent.
- Fixed an issue where moving the blur widget did not save its position correctly.
- Reduced maximum number of dictionary history items to 10.
- Reduced the default search debounce delay to 100 milliseconds.
- Incognito mode has been removed.
- Hotfix - Reverted the same character close condition for Japanese as it demands too much precision. Tapping a text selection will close the popup instead, similar to English.
- Hotfix - Searching with a Hiragana search term will now return Katakana results if available.
- Hotfix - Tapping on a tag with a dictionary name will now toggle collapse/expand in order to make it easier when a dictionary tag is too long.
2.4.1
- Updated ッツ Ebook Reader to its latest version (b76206b8). Users may add their own cloud storage sources, but there are none included by default for now.
- Users may now download files from the Reader WebView, particularly bug reports and book/bookmark data exports, which can be imported by users in case of version migrations.
2.4.2
- The app will no longer show the home menu when it is launched by an external intent, such as text sharing, using the app as a player for Jellyfin or Plex, using web search or using the app's OS-wide context menu option, and will perform the action faster.
- Fixed an issue where changing the video quality of a YouTube video shared into the app will close the app.
- Added scrollbars for all home tab sources that were missing them, such as the Lyrics and WebSocket pages.
- The current image being exported will now show the full picture at all times and will not appear cropped in the Card Creator.
- Added back Firebase Analytics, omitted since Chisa. This is used alongside Crashlytics for developer purposes to track and identify issues as they would occur in specific devices, as well as track which build most users are using.
- Updated various project dependencies.
2.4.3
- The floating dictionary pop-up that appears in the Reader WebView will now adapt its theme to one of six themes currently selected under the Reader settings, and will no longer rely on global app theme.
- Deprecated the Character Search quick action in favor of simply selecting now underlined kanji in the headword.
- As tapping on the term and reading allowed copying the term before, this action is now moved to the new Copy To Clipboard quick action.
- The app will no longer set a maximum height for the Reader WebView's settings upon initial use.
- Recursive searches will now reflect the Reader WebView's theme. Note that this theme will no longer take effect for searches performed within the Card Creator.
- Fixed an issue where deleting a single dictionary would close the dictionary menu.
- Fixed an issue where some HTML in subtitles were not escaped.
- Fixed an issue where the device could potentially sleep while using the Player.
- Fixed instances with a lack of padding at the bottom of scrollables, such as the Player transcript and when viewing all results for a dictionary search result.
- Fixed an issue where selecting a line in the transcript would sometimes not reveal the subtitle in Listening Comprehension Mode.
- Fixed an issue where the color of the pitch accent diagram text would mismatch the Reader WebView's theme.
2.4.4
- Changed the exit behavior of the app when launching the app from external intents to safely exit rather than exit immediately, which may result to corrupting the database and preventing the app from launching.
- Changes to dictionary import (similar to the old slow import option) will benefit users with low RAM, and prevent crashing when importing dictionaries with a large amount of objects.
2.4.5
- Added back the toggle for the slow import option.
- Increased the maximum database size from 4GB to 8GB.
🗒 Thank you
Though I have much to think and ponder on with the almost numbing amount of free time that I have as of late, this update I would simply like to thank all of you who care to report bugs, request new features or simply ask for help. It shows me I have presence in this world, and being given an opportunity to help others with their workflow and learning goals gives me pockets of joy throughout my day.
The preview builds leading up to this release took many hours sitting in front of a computer screen. Working on this project gives me the opportunity to learn and hone my software development and engineering skills in a way and environment that I find enjoyable. It gives me the drive to get better and do better. Thank you for your continued use and support.
📲 Which file should I download?
The files below are for different device architectures. As a rule of thumb, arm64
should work for most modern mobile devices. armeabi
should work on older devices. Generally, desktops and emulators should use x86_64
.
Depending on which device you are using, download the appropriate APK
by expanding the Assets
drop-down below and install on your mobile phone by launching the APK
with your file explorer.