Skip to content

External text reader, cleaner database management, and much more!

Latest
Compare
Choose a tag to compare
@HugoFara HugoFara released this 01 Apr 17:49
· 10 commits to master since this release

This release is composed of many small enhancements, but also of many regular bug fixes.

Added

  • Support for Japanese with MeCab on Mac! This was added thanks to quopquai on #135.
  • New globals (#163):
    • On inc/kernel_utility.php: LWT_APP_VERSION and LWT_RELEASE_DATE.
    • On api.php: LWT_API_VERSION and LWT_API_RELEASE_DATE.
    • src/js/jq_pgm.js: LWT_DATA.
    • unloadformcheck.js now declares a new object lwtFormCheck that contains all the functions needed.
  • Important additions to Text-To-Speech (TTS):
    • Word can be read on hover or on click. Pull request #147 by @ProgramComputer.
    • You can add a custom text reader with the new voice API feature! A courtesy of @ProgramComputer on pull request #153. A feature first requested on #143. Discussion in open on #174.
    • New JS functions: readTextWithExternal to read a text with an external application and speechDispatcher that can choose a text reader (browser or third party).
  • Starts a cleaner database management. Database schema is defined in db/schema/baseline.sql and no longer in PHP code.
  • You can choose to add romanization for languages that don't need it in the language settings (#119).
  • Docker images are now built for multiple platforms, see PR #169, closing discussion
    #141. Many thanks to @ProgramComputer!
  • On word review:
    • The "Read words aloud" setting is now saved, PR #185.
    • UX change: You can click on "Read words aloud" text to check the checkbox.

Changed

  • Adds missing documentation in the Docker image:
    • MarkDown files in the root folder are now included. See #160. It adds README.md and UNLICENSE.md.
    • Adds docs/info.html and docs/index.html from #146.
  • Multi-word creation was reviewed to use a simpler JS code.
  • Word review:
    • Status + 1 can be set only after word display. Before, you could press key up at any time to increase term status, but keydown was effective only after solution display (#159).
    • When testing sentences, sentences are always displayed, even when less than 70% of words in the sentence are known. See #194.
  • New files:
    • inc/feeds.php and inc/tags.php, stemmed from inc/session_utility.php. It should not lead to any code or behaviour change.
    • src/js/overlib_interface.js, stemmed from src/js/pgm.js. It contains all the overlib interactions.
    • src/js/src/js/text_events.js, stemmed from src/js/jq_pgm.js. It defines interactions with a text on reading.
  • For audio URI, raises the characters length limit from 200 to 2048
    (#144).
  • Database:
    • For Linux users, the official database RDBMS recommended is now MariaDB as a drop-in replacement of MySQL.
    • Database creation and migration is now handled directly in SQL, for a safer behavior.
    • You do no longer need to give to LWT SYSTEM_VARIABLES_ADMIN for text reparsing. (new function checkExpressions) (#167). It is still necessary for words import.
  • Docker changes:
    • By default, the images now runs at localhot/lwt and no longer in the
      root folder (installer #4
      and #169).
    • Image updated from apache-buster to apache-bullseye.
  • Composer dependencies up to date 2024-03-24.

Fixed

  • The database wizard was broken since 2.9.0.
  • Word status:
    • It was impossible to change a word status on hover since 2.9.1.
    • Having wrong dictionary link and error reporting enabled prevented word status from being changed.
  • Avoids JavaScript error on editing a language when the dictionary field is empty.
  • For some feeds, feed wizard session was not working due to ill-configured session. Solves #129, thanks to the help of PR #168.
  • Text reading position was not working consistently when adding several known words.
  • Multi-words:
    • Tooltip was not properly saved (#170).
    • Translation may be escaped two times (#170).
    • Fixes #170: on creation, multi-word was always displayed before the text it encompasses, without removing this text.
    • Tootltip title was not properly saved, normally without incidence on user display.
    • Fixes #69: having the same multi-word on multiple texts was displaying it at many positions on creation.
  • Japanese:
    • Parsing Japanese texts with MeCab was creating warnings when the text was not finishing by a punctuation mark.
    • Multi-words were not saved with MeCab parsing on Japanese.
    • Japanese was always requiring MeCab for TTS, even if it was not used (#155) and #182.
  • On word review (test):
    • Space keyboard shortcut may have been inoperative.
    • On api.php, tests were always set to "multi-word" due to a missing variable type conversion. Pull request #175.
    • Text-To-Speech was not working (suggested by #187).
    • Testing terms (Terms > Multi Actions > Test ALL Terms) was broken since 2.9.0. #192.
  • An explicit dependency to php-dom was missing in INSTALL.sh (and composer.json), as stated in #178.
  • API: the REST API was not accessible for users running LWT in a root folder.
  • On audio, the replay button is fixed: issue #138 and PR #191.
  • The field SeFirstPos was missing in table sentences of demo database, resulting in failed installation the first time.
  • Editing test annotation would not display since 2.9.1 #193.

Deprecated

  • Using any function from unloadformcheck.js without using lwtFormCheck is deprecated.
  • get_database_prefixes is deprecated, superseded by getDatabasePrefix which is much cleaner.
  • Globals defined in jq_pgm.js are going into a single global LWT_DATA.
  • New text creation workflow simplified in inc/database_connect.php: update_default_values replaced by
    registerSentencesTextItems and check_text by displayTextStatistics.

Full Changelog for 2.10.0-fork