Releases: lurixo/Aegis
Release list
v0.1.0-beta.33
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
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
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
Carries the full Aegis dictionary pack for in-app download.
Syncs upstream dictionary version v17.2.4.
v0.1.0-beta.30
- 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
- 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
- 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
- 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
- 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
- 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.