Skip to content

Releases: lurixo/Aegis

v0.1.0-beta.33

v0.1.0-beta.33 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 10 Aug 13:17

Saving a phrase no longer stops the keyboard, a save that did not land now
says so, and a restore that was cut short and could not be undone tells you
on the candidate bar.

The clipboard and phrase panels no longer wait on the disk

  • Adding, editing, moving, reordering or deleting a phrase held the keyboard
    until the change had been written to storage. The keyboard returns at once
    and the write happens on its own thread.
  • Opening the clipboard panel could stall for as long as a slow write took,
    with no limit. Reading the panel no longer waits on the file, only on the
    clip being taken in, so a write that never finishes cannot hold the panel
    shut.
  • Clearing the recently used symbols and emoji no longer waits on the file
    either. If the clear cannot be written, the recents stay on the panel rather
    than disappearing from a list that was never saved. Picking a symbol right
    after clearing no longer puts the whole cleared list back on the next start.
  • Importing phrases ran on the settings screen itself and froze it for as long
    as the write took, with no limit. It runs on its own thread and the screen
    answers as soon as the import really finishes.

A change that could not be saved says so

  • A phrase edit that failed to reach storage used to look like it had worked.
    The panel now shows what happened where you are looking: on the open panel
    as a notice, or on the candidate bar once the panel is gone.
  • The wording names what was actually done — how many phrases were stored, how
    many were already there, how many were not written, and how many were
    carried across on a move. A phrase that was already in the category is named
    as one that was already there, not as one that failed to save.
  • Exporting phrases now says which failure it hit, instead of giving the same
    message for a store it could not read and a file it could not write.
  • Clips that could not be read are named rather than silently left out of what
    a "save as phrases" carried across.

A restore that was cut short

  • If a restore was interrupted and putting this device back the way it was did
    not succeed either, the keyboard now says so on the candidate bar. Tapping
    it opens backup and restore. It keeps saying so across restarts, because the
    device is still holding a mix of the two, and it goes away once a restore
    gets through.
  • An import the backup page was still holding when the process went away is
    reported instead of leaving the page looking idle.
  • An import whose rollback failed is now told apart from one that was taken
    back cleanly, because the two leave your data in very different states.
  • A swap that left the destination missing rather than replaced is reported as
    what it is.

The auto-learned count

  • The word list page always said one auto-learned word, whatever you had
    learned. It says the real number, and the description says when a word is
    kept.
  • When no word has been glued together yet but next-word pairs have been
    recorded, the page says so rather than showing a count of none over a clear
    button that would still delete something.

Key hints on the 26-key layout

  • The hint characters above the letters sat at slightly different heights
    depending on the layout language and on which character it was — the
    underscore hint sat noticeably lower than the rest of its row. They are
    placed by the ink of the character, so the row lines up and switching
    between Chinese and English no longer moves them. The two punctuation keys
    beside the space bar are where they were. Chinese still uses full-width
    punctuation and English half-width, both on the keys and in what they type.
  • The comma and full stop on the number pages are placed by their ink, which
    is what the rest of those pages already did.

A panel opened over what you copied

  • With something you had copied showing on the bar, opening symbols, emoji or
    the clipboard pushed the whole keyboard up by the height of that bar. The
    panel takes the bar's row, as it does when the candidates are showing, and
    what you copied is back on the bar once the panel closes.

Exports and the clipboard

  • Exporting a backup, a dictionary or your phrases over a longer existing file
    could leave the tail of the old file behind. The export now truncates.
  • A copy long enough to be split into blocks was written into the clipboard
    history even with the history switched off. It now goes through the same
    check as every other copy.
  • What you copy in a password field is kept in the clipboard history like
    anything copied anywhere else. The history switch in settings is the only
    thing that decides.

v0.1.0-beta.32

v0.1.0-beta.32 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 10 Aug 03:32

Panels open at the top again, the keyboard no longer stops to save, and an
action that could not be carried out now says so instead of reporting success.

Panels start where you expect

  • Reopening the clipboard or the phrases panel could land you where you had
    scrolled to last time. The cause was a flick that kept coasting after the
    panel was dismissed and dragged the list back down. The list now stops with
    the panel, and every way of opening it starts at the top.
  • The first tap after reopening the clipboard was swallowed. It commits.
  • The same coasting affected the symbols, emoji, custom symbol and edit panels.
  • Pressing the phrases key while the panel is already open now returns the
    panel to its opening state instead of leaving your last selection, sort and
    expanded category in place.
  • The clipboard and phrases panels take the same back control as the edit
    panel, with a label next to it. On a panel too narrow to hold the label the
    label gives way, and the control keeps a full-size touch target rather than
    shrinking to the width of its icon.

The nine-key reading column

  • Locking a syllable now marks it in the reading column on the left, and the
    column scrolls far enough to show it. The column shows four rows at a time,
    and seven syllables put the marked row outside them.
  • The mark itself was drawn in a green too pale to make out against the column.
    It is drawn in a color that stands out.

A larger system font

  • At font sizes of 1.3x and above the Clipboard and Phrases labels wrapped
    inside their pill and the second line was cut off. They shrink to fit.
  • At 1.4x and above the clipboard top bar ran past the panel and pushed the
    clear control out of view. The bar stays inside the panel.
  • In a narrow landscape window the batch-selection header and its count wrapped
    and were clipped. They stay on one line and are shortened with an ellipsis.

Password fields

  • Text copied inside a password field no longer enters the clipboard history.
    The check for this existed but was never applied where the system clipboard
    is read.
  • The symbol and emoji panels no longer count what you pick inside a password
    field, because what you pick there may be part of the password, nor in any
    field whose app asks for no personalized learning — the same rule word
    learning follows. Elsewhere the Common tab still fills from what you use.

The keyboard no longer stops to save

  • Focusing a text field re-read the whole user dictionary and all learned data
    on the thread that draws the keyboard, every time either had changed on disk.
    That reading has moved to the writer thread.
  • Adding, deleting, importing or clearing on the word list page parsed both
    stores twice and rewrote them before the tap returned. The page returns
    immediately and the work happens on its own thread. The list you see is read
    back after the write, so a change that could not be saved leaves its row in
    place and says so.
  • Exporting the word list no longer runs on the drawing thread.

A deletion that could not be finished is kept

  • Deleting a word touches two stores. When the learned half could not be
    written, the word came back on the next start. The deletion is now written
    down and completed the next time the store is read.
  • A word list you import never carries someone else's deletions into yours, and
    a file that holds nothing but deletions leaves your list alone. Restoring a
    backup does not carry them across either: an archive puts its words back
    without acting on deletions made wherever it came from, and a deletion this
    device still owes survives the restore.
  • A word list you export leaves out the deletions it still owes, so the file
    you share does not carry words you have just deleted. The backup archive
    leaves them out too.

Backing up and restoring

  • A store that cannot be read is left out of the archive, and the app names
    which ones were left out.
  • A damaged backup file is reported as damaged rather than as a disk fault.
  • A restore that carries a part it cannot read is refused before anything is
    written: nothing on the device changes, and the app names the parts.
  • Your settings are put back last, once every store is in place.
  • A restore that could not be finished, including one cut short by the process
    being killed, is taken back off the device rather than left half applied.
  • A restored word list is loaded back into the running keyboard, so the
    suggestions follow the archive instead of what the keyboard held before.
  • Only one restore runs at a time. A second one started while the first is
    still going is turned down and says why.
  • A backup or restore that is still running stays on the page you come back to,
    and its result reaches that page rather than being lost. If Aegis was stopped
    while one was running, the page says so instead of turning forever.
  • The list of what a backup covers, and the list of anything it had to leave
    out, use the same names for your data that the settings screens do.
  • Choosing a file to export to and then leaving the app no longer discards the
    export in silence.

When a store cannot be read

  • Learned data that cannot be read said it was not being shown, while the list
    underneath was showing it. It now says what is true in each case: what the
    keyboard still holds, or that nothing was loaded. It says the data is kept
    rather than that the keyboard is still using it, which was not true with
    automatic learning turned off.
  • The clipboard history, the saved phrases and the recently used symbols and
    emoji are no longer written over when their file could not be read, so a file
    that is merely unreadable today is not emptied tomorrow. The phrases panel
    says so when this is why it is empty, and the clipboard panel now also says
    that nothing you copy is recorded until the file can be read again.
  • A clip whose text could not be read is no longer reported as gone from the
    device. The two are told apart.
  • When a deletion in the clipboard or phrases panel is written, the keyboard
    waits a set number of seconds for that write rather than however long it
    takes, and says the change could not be saved if it has not finished by then.
  • A file with damaged text in it now counts as unreadable. It used to be read
    with the damaged characters silently replaced, which looked like success.
  • A word that could not be stored says so instead of reporting it added.
  • A clipboard change that could not be written says so, and a change to your
    saved phrases now names the phrases rather than the clipboard history.
  • Saving a phrase while the phrase file cannot be read said the phrase was
    already there. It says the file could not be read.
  • Clearing the recently used symbols or emoji says so when it could not be
    done, and the panel keeps showing them rather than emptying in front of a
    message that says they are still there.
  • Importing phrases that could not be saved says the phrases could not be
    saved, instead of blaming a file it could read perfectly well.
  • Exporting the word list on a phone that has not learned anything yet says
    there was nothing to carry, and no longer creates an empty file first.
  • The message for a word the dictionary would not take now names both limits it
    actually enforces, on the word and on its pinyin.
  • The clipboard files have one owner inside the app, so a restore and the panel
    cannot write over each other.

Privacy

  • Setting up a new phone with Android's device-to-device transfer no longer
    carries any of the app's data across. The rule meant to keep it out covered
    only part of the app's storage, which left the dictionary, learned data,
    clipboard history, saved phrases and settings eligible to be copied. Cloud
    backup was already off. The app's own backup file remains the way to move
    them.

Setup screen

  • It no longer lists English completion and correction, which the app does not
    do.

v0.1.0-beta.31

v0.1.0-beta.31 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 09 Aug 09:05

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.

Aegis dictionary latest

Choose a tag to compare

@lurixo lurixo released this 09 Aug 08:59

Carries the full Aegis dictionary pack for in-app download.
Syncs upstream dictionary version v17.2.4.

v0.1.0-beta.30

v0.1.0-beta.30 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 06 Aug 04:14
  • Ships the language model in the downloadable dictionary pack instead of the APK, so the install is far smaller; check for a dictionary update after upgrading to fetch it.
  • Treats an installed dictionary pack that is missing one of its files as out of date, so the update is offered instead of the screen reporting that everything is current.
  • Leads the candidates with the sentence that covers every locked reading, and starts single characters within the first screen instead of after ninety-odd assembled sentences.
  • Keeps a run the keyboard glued together from single picks behind the dictionary word of the same reading, on both keyboards and on the free, cut and locked paths.
  • Leads the reading with a word added in the dictionary page and lets it climb as it is used, while words the keyboard recorded on its own stay behind the dictionary word.
  • Lists the words the keyboard learned by itself in the dictionary page, with delete for a single entry and a confirmed clear for all of them.
  • Adds a switch for automatic learning to the input settings that stops every kind of automatic recording, keeps what was already learned, and leaves words added by hand untouched.
  • Gives the edit panel backspace the keyboard behaviour: hold to repeat, swipe up to clear the field, swipe down to restore the last deletion, and delete emoji and combined characters as one.
  • Rebuilds the custom punctuation and custom operator pages around the text edit panel back control, stops clipping long operator names, groups the multiplication and division forms in the symbol panel, and drops the two hundred item cap.
  • Aligns the expanded panel backspace and retype keys with the row seams, and matches the nine key reading column to the twenty six key one.

v0.1.0-beta.29

v0.1.0-beta.29 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 01 Aug 01:13
  • Resets expanded candidates to the top whenever the panel reopens.
  • Clears the input that triggered a dictionary download as soon as the newly installed dictionary is loaded.
  • Stages Copy and Cut results behind the text-edit panel so returning to the keyboard no longer flashes or rewrites the result bar.
  • Rejects incompatible variant readings and malformed upstream rows when rebuilding downloadable dictionaries.
  • Centers Chinese 26-key symbol hints, comma, and period by their visible glyphs.

v0.1.0-beta.28

v0.1.0-beta.28 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 30 Jul 04:34
  • Makes split selection from the copy bar and Clipboard compose chosen segments in their original order without replacing the clipboard.
  • Keeps the text-edit panel stable after Copy or Cut and shows the copied result after leaving the panel.
  • Aligns the Chinese 26-key comma and period with their English-keyboard positions.
  • Adds a dedicated Phrases toolbar shortcut and refines toolbar ordering, spacing, and edge touch feedback.

v0.1.0-beta.27

v0.1.0-beta.27 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 29 Jul 13:05
  • Uses full-width punctuation on the Chinese 26-key keyboard and adds automatic and manual pinyin syllable separation with progressive reading selection.
  • Lets split clipboard items compose in their original order and saves clipboard history only through Copy All.
  • Pastes the latest Aegis clipboard entry from the text-edit panel without invoking the system paste action.
  • Prevents the text-selection control from flashing when the edit panel navigation arrows are used.

v0.1.0-beta.26

v0.1.0-beta.26 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 27 Jul 19:57
  • Stops automatic dictionary downloads and gives clearer update and failure messages for dictionary and optional grammar model downloads.
  • Resumes interrupted dictionary and grammar model downloads when the remote file identity still matches.
  • Shows more complete prefix candidates and improves sentence decoding with longer context and whole-sentence reranking.
  • Learns word formations, collocations, and next-word predictions from committed input.
  • Adds one-syllable-at-a-time locking and continued composition to the 26-key Chinese keyboard, lets 9-key users browse homophones by syllable, and places the displayed comma and period correctly.

v0.1.0-beta.25

v0.1.0-beta.25 Pre-release
Pre-release

Choose a tag to compare

@lurixo lurixo released this 25 Jul 23:13
  • The candidate list now offers every character the dictionary holds for the syllable you are on, on both the 26-key and 9-key keyboards. The characters for the syllables after it become available as you pick your way through the input from left to right.
  • The candidate strip shows the whole candidate list instead of stopping after 30 entries.
  • On the 9-key keyboard, tapping the syllable that is already selected no longer opens a separate homophone list. Every character for that syllable is now in the candidate list itself.
  • The dictionary download and its update check read the rolling dictionary release.