Skip to content

v0.1.0-beta.31

Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 09 Aug 09:05
· 148 commits to dev since this release

No limit on how much you can teach it, a faster first keystroke, and a user
dictionary that says so when something is wrong instead of quietly losing work.

Nothing is dropped for being too much any more

  • The clipboard kept the newest hundred thousand entries and silently discarded
    the rest. It keeps all of them.
  • The user dictionary refused a store past a quarter of a million rows, and the
    learning store evicted the oldest five hundred words once it filled up. Both
    ceilings are gone, and a store that grew past the old ones opens normally.
  • Preferences that outgrew the archive's eight megabyte entry can be backed up
    and restored again.
  • The copy bar scrolls past the first two thousand characters.

Faster to the first candidate

  • The three dictionaries and your own data now open at the same time instead of
    one after another.
  • Writing the user dictionary, and hashing a large clipboard entry, have moved
    off the thread the keyboard draws on.
  • A large clipboard body is read from its own file only when you actually use
    that body, so a long history no longer sits in memory.

Words you no longer use fade out

  • Automatic learning collected everything, including the picks you did not
    mean. Entries that go unused now decay and eventually go, and the dictionary
    page tells you how many have gone.
  • Words you added by hand are exempt: they are marked as yours and are never
    removed automatically. Words added by hand before this marking existed are
    not distinguishable from automatic ones and are treated as automatic.

Candidates

  • Continuing a sentence puts different words in front of you. The word
    bigram that ranks candidates from nothing is now stood down once you have
    committed some text, and the reading of what you already committed ranks them
    instead. Where you are typing from a blank start nothing has moved at all.
    Measured over every syllable key: with committed text ahead of it, 83.6% of
    keys show a reordered list, though the first candidate changes on 14.8% of
    them.
  • A single character that the dictionary reads two ways was listed twice. It is
    listed once.
  • Automatic learning being off now really does skip the learned-word lookups.

When a store cannot be read

Every one of these needed a corrupt userdb.txt or userlearn.txt to happen,
so most people will never have seen them. All of them lost or hid real data.

  • A store that failed to load could be written back over, replacing what was
    there with whatever happened to be in memory. It refuses now, and the file is
    left byte for byte as it was.
  • The dictionary page showed an unreadable list as an empty one. It says it
    could not be read.
  • Clearing the learned data from settings was silently undone by the next thing
    you typed. It stays cleared.
  • One unreadable store took the other one down with it: edits reported failure
    though they had landed, and backups could be neither exported nor restored.
    Each store now answers for itself.
  • Adding or deleting a word on an unreadable dictionary is refused outright
    rather than half done. A delete used to report failure while really removing
    the learned entry.
  • An unreadable dictionary was parsed again, in full, on the keyboard's own
    thread every time you focused a text field.

Deleting clipboard entries while a backup is being restored can still leave the
clipboard as it was before the restore, even though everything else comes back.
Wait for the restore to finish.

Do not downgrade to beta.30. It does not know this version's dictionary
format and will replace the file rather than refuse it.

A newer dictionary pack

The downloadable pack moves from upstream rime-wanxiang v17.1.0 to v17.2.4, and
is a little smaller: three index files the app never read are no longer in it.