Releases: osfans/trime
Releases · osfans/trime
Nightly Build
fix: fix the nightmode not working problems (#1633) fix: fix the problem that nightmode switch stops working chore: properly update the keyboard ascii status. There is a bug when current keyboard is number/symbol etc. When trying to switch to chinese keyboard, current behaviour will not update ascii status. Removed currentAsciiMode as it seems like not used after the change. Also allow keyboard to switch to last locked keyboard when there is no ascii keyboard assigned (numbers, symbols etc.)
v3.3.3
Change log from v3.3.2 to v3.3.3: v3.3.2...v3.3.3
- [63a0fec] - chore: bump version to 3.3.3
- [43a2c0e] - Revert "fix:
KP_*
would be processed twice" - [46916af] - fix: Do Not Send Key Event for NumPad Key
- [00560f3] - fix: notification/toast on RimeMessage will be popped up repeatedly
- [04a3641] - fix: shift + arrow keys not working to select text
- [243c1fb] - refactor: merge modifier state with the current keyboard's modifier state after sending combination keys
- [7e635f7] - fix: copy, cut keys not working when the shift key is locked
- [9a3e71a] - fix: edit action interceptor not working
- [19203e3] - feat: clear text selection after copy
- [7972858] - feat: add switch to not reset shift state for arrow keys
- [c42b500] - fix: theme preset trime combination keys not working
- [8ef1643] - refactor: simplify PrefMainActivity
- [d0e54c9] - refactor: still handle rime deploy message in RimeDaemon
- [6f666de] - fix: liquid keyboard symbollist not working
- [4e85bcd] - fix: in drafts or collection tab of liquid keyboard, adapter data changes to clipboard after copying text
- [25b3795] - fix: liquid keyboard not regenerate data as expected after related view cache was destroyed
- [104daea] - fix: clipboard update listener, not updating data as expected after copying existing text
- [7af9597] - fix: clipboard view cache exists, switching clipboards after copying text not update data to show newly copied content
- [239a344] - fix: clipboard item text color not follow theme key text color
- [dabb6fe] - feat: set Trime to support inline suggestions for v30 onward
- [4161954] - feat: add "autofill" library
- [f5aa0ea] - feat: add logics & UIs for displaying inline suggestions
- [80d0e03] - refactor: add inline suggestions handling in
broadcaster
- [151f5c7] - feat: add
CandidateModule
to encapsulate different candidate module - [d0cc2e9] - refactor: use
CandidateModule
instead and addSuggestionCandidateModule
to receive event - [47aca9f] - feat: add new
Suggestion
State toQuickBarStateMachine
- [6a25d9f] - feat: handle
onInlineSuggestion()
inQuickBar
withsuggestionUi
- [0b5e14a] - refactor: remove inject annotation in
CompactCandidateModule
- [fd07d25] - feat: request and handle inline suggestion in
TrimeInputMethodService
- [f6070a6] - fix: liquid keyboard not auto-scrolling to top after data update
- [7a3232d] - fix: composing key label not display and reset as expected
- [069a12f] - feat: page navigation using prevIcon and nextIcon components
- [01976cf] - fix: force show mode, toggle switch options cannot update view
- [5fb4323] - build: always overwrite files when install OpenCC data
- [1332be0] - refactor: remove rime keycode to unicode mapping
- [7d50a8c] - refactor: remove unused delegated rime api
- [582081b] - refactor: remove redundant run state checking
- [3b59952] - refactor: migrate
Rime.setOption
andRime.setCaretPos
to new api usage - [3128121] - refactor: make clear how to get and expand active text for command express
- [ebfda6e] - refactor: merge
schemaItemCached
andinputStatusCached
intostatusCached
- [c62cdd5] - fix: currentKeyboardView has not been initialized, causing crash
- [b771710] - fix: key sequence cannot switch keyboards and commit partial text
- [0524a7b] - fix: force show mode, candidates and window components show simultaneously (temp)
- [ac7ef55] - fix: key sequence cannot guide symbol and lua script mapping
- [23dfb72] - fix: key sequence cannot parse theme preset keys with same name as key types
- [2ccaeac] - fix: setting ascii_mode to true in composing state causes symbol to be repeated commits
- [3efe6fb] - chore: bump librime to 1.13.0
- [6deb98f] - build: remove UseZGC option for gradle
- [07ed340] - refactor: improve getting drawable from color schemes
- [522f601] - refactor: restore the candidate window background to previous settings
- [55c632f] - feat: add corner radius to highlighted candidate items in popup candidate window
- [a513da3] - refactor: polish candidates window settings wording
- [9850e71] - refactor: polish (virtual) keyboard settings wording
- [2276540] - feat: add setting to hide quick bar when always show candidates window
- [b5ee296] - refactor: use rime dedicate api to change candidate page
- [11f9a79] - refactor: improve touch event receiving of stock PreeditUi
- [3346d9c] - refactor: improve touch event receiving of CandidatesView
- [c32c297] - refactor: makeup a universal TouchEventReceiverWindow
- [0a5e944] - refactor: make sure CandidatesView positioning correct on first time showup
- [2b4736e] - refactor: make sure CandidatesView will not display overflow the screen
- [0d45c41] - fix: labeled candidate item in CandidatesView couldn't break line correctly
- [6f4448c] - fix: keyboard hides once click input box when the candidates window is always shown
- [34d31d4] - refactor: update touchEventReceiverWindow's position after CandidatesView's
- [d66eaa6] - refactor: simplify the setup of PageCandidatesUi's listeners
- [f917fa4] - refactor: extract CandidatesView's cursor anchor updating to IMS
- [cdaa77c] - feat: notify on preference changes
- [2c3a5c1] - feat: avoid crash loop
- [076d1e2] - feat: allow users to trigger rime action via adb shell
- [3d0a48f] - refactor: re-register intent receiver for IMS
- [d6c7d6e] - fix: NPE on key commands that to start activity with intent
- [92ea834] - refactor: add helpers to manage levers api
- [dbd5ed0] - refactor: add helpers to transform candidate list
- [071297e] - refactor: pass version name to rime setup via JNI
- [718d09d] - refactor: remove unused stuffs from
jni-utils.h
- [e34584c] - refactor: remove user config accesses when select schema or set option
- [c45e16a] - refactor(jni): pack rime proto marshaling as rime c api
- [94ad8bc] - refactor(jni): use std::string_view as more as possible
- [e092ca2] - fix: key preview not dismissed as expected
- [db0b92f] - fix: schema switches would be processed twice
- [76afff5] - feat: add setting option, schema switches debounce interval
- [88bb714] - refactor: reduce nesting of KeyMessage in TrimeInputMethodService
- [2ce393c] - fix: key sequence not handling
commit
andtext
preset keys and not processed in order - [d84f5b3] - chore: introduce AndroidX Work library
- [4098974] - feat: execute background sync work via WorkManager
- [136e3b7] - refactor: new public createNotificationChannel util method
- [6737965] - refactor: replace logcat DSL with
subprocess
- [22a019b] - fix: duplicated toast on deploy messaging (again)
- [ccaf7db] - fix(jni): recreate rime session when necessary
- [43b2322] - fix: sending non-Android key events will commit "Not a Character" text
- [b07d99c] - refactor: make custom proto apis comply with the original style
- [39ae3e2] - chore: update dependencies and toolchains
- [ac33e2c] - fix: in
ascii_mode
andascii_punct
modes, symbols for which mapping has not been...
v3.3.2
Change log from v3.3.1 to v3.3.2: v3.3.1...v3.3.2
- [15f74ff] - chore: bump version to 3.3.2
- [7cb932c] - fix floating window
- [c70f56c] - refactor: replace SimpleKeyItemBinding with SimpleItemUi
- [d6fffba] - refactor: transform FlexibleAdapter with BaseDifferAdapter
- [28fa4c0] - fix: clipboard update not in time
- [951b441] - fix: main keyboard view would disappear after switching schema
- [89504bb] - refactor: remove deprecated and unused api
- [a760919] - refactor: update key processing api usage
- [1613c45] - feat: add Android keycode to scancode mapping
- [c940750] - refactor: utilize scancode to improve key event handling
- [2c9cbfb] - refactor: tell key processing API if the system key event is ACTION_UP
- [3f91d3d] - fix: Back, Escape and Enter key action was handled before forward to librime
- [1ed4c7b] - refactor: rename Event to KeyAction
- [844a78a] - feat: implement RimeKeyEvent
- [cd5154b] - refactor: polish the code of KeyAction
- [0bbbec5] - refactor: reduce redundant nesting during key processing
- [db3fdf5] - refactor: rename KeyEventType to KeyBehavior
- [b5fbc33] - fix: space key always showed current schema name
- [9506fd7] - fix: temporary workaround for duplicated return action (again)
- [185c328] - fix: only the candidates of the first page could be selected in popup window
- [e512068] - chore: upgrade librime to 1.12.0
- [2e1328c] - refactor: remove unused override
onWindowShown/Hidden
in TrimeInputMethodService - [9abbf9a] - feat: replace Composition (view) with CandidatesView
- [b3406b5] - feat: make new PreeditUi support moving cursor on touch
- [8a0fea7] - feat: integrate UI creation for PreferenceDelegate
- [083d519] - feat: allow user to determine the candidates view mode
- [4ed8d24] - fix: reduce crash on flexboxlayout changing on candidates update
- [faac441] - refactor: relocate the files in candidates
- [b449368] - feat: add PageinationUi to indicate if candidates page has prev or next
- [31aa00b] - refactor: rename InlinePreeditMode to ComposingTextMode and set DISABLED as default value
- [de303b3] - refactor: remove deprecated string res and preference items
- [fdaaec9] - fix: keyboard view would be disappear after recreating input view
- [51424b2] - fix: workaround for some symbols cannot be committed
- [9e1969b] - fix: make sure the window view height can always follow current keyboard height
- [d9e06bd] - refactor: try to clean up the code in KeyboardView
- [5d50c06] - refactor: make Keyboard as KeyboardView a primary constructor's parameters
- [582927a] - refactor: cleanup for keyboard drawing in KeyboardView
- [b343450] - fix: schema name on space bar didn't change after switching schema
- [ec7957a] - refactor: remove deprecated popup keyboard stuffs in KeyboardView
- [b35d43a] - fix: workaround for some text pattern cannot be simulated as key sequence
- [2c84113] - refactor: new key preview choreographer
- [6b0048f] - refactor: clean up the code of Key and Keyboard
- [41623f5] - refactor: replace LeakGuardHandlerWrapper with coroutines
- [d9408de] - feat: restore horizontal padding for candidate item in candidate window
- [4559365] - feat: restore vertical layout in candidate window
- [9d05290] - refactor: improve cursor following of candidate window
- [cbb74b0] - build: try to adjust gradle jvm arguments
- [a1c11df] - fix: wrong behavior on pressing return key on physical keyboard
- [19c5cab] - refactor: remove scancode mapping
- [e45399d] - refactor: judge key up state by modifiers
- [cbf7384] - refactor: remove deprecated GraphicUtils
- [ee0a85b] - feat: add keyval unicode mapping to process unhandled-by-librime key
- [f835f4a] - feat: enhance physical keyboard support with candidates window
- [6e7548d] - refactor: make candidates window can show at fixed position perfectly
- [4dc30d3] - feat: show preedit ui on the top of bar when candidates window is disabled
- [31d3917] - fix: candidates window blocked the bar at first time showup
- [9372e46] - fix: regression that return key from physical keyboard would duplicate new line
- [1805d3c] - refactor: extract
showDialog
from InputView to IMS - [00d2e0c] - refactor: clean up
ShortcutUtils
- [37663b7] - refactor: split Utils.kt by function or receiver type
- [917aa24] - refactor: slightly refine NinePatchBitmapFactory.kt
- [3feacc5] - refactor: remove unused resources
- [4001d78] - build: refactor build process
- [3e3abdd] - refactor: bundle core native lib version name into BuildConfig
- [176608b] - refactor: improve user experience of settings pages
- [793b121] - refactor: correct preedit view behavior and polish its appearance
- [89cb040] - refactor: remove librime charcode plugin
- [781d531] - refactor: remove iconv dependency
- [2c1ba61] - chore: update librime to 1.12.0-1-gec40354
- [40b8fb5] - chore: upgrade ktlint to 1.5.0
- [9807916] - fix: add missing highlighted candidate background
- [a6e4633] - refactor: merge RimeNotification and RimeEvent as RimeMessage
- [4d467f4] - refactor: try to improve the showing of the preedit view
- [b391e89] - refactor: migrate DialogUtils to ProgressBarDialogIndeterminate
- [d0c535a] - feat: new deploy user experience
- [1b0857a] - feat: improve candidate item display
- [adbf06c] - feat: improve switch display
- [aeb960d] - feat: improve candidate window display
- [2c8e6fe] - refactor: remove speech recognition
- [0be5946] - refactor: deprecate IMS instance getter
- [0aa78a5] - refactor: constraint the text views' height in CandidateItemUi
- [d621271] - refactor: share the features of CandidateItemUi to SwitchUi
- [c24ce82] - fix: crash on creating notification on deploy failure on Android 12+
- [f83d28c] - fix:
KP_*
would be processed twice - [359d86a] - chore: add 3.3.2 changelog
v3.3.1
Change log from v3.3.0 to v3.3.1: v3.3.0...v3.3.1
- [f99fae1] - chore: bump version to 3.3.1
- [f5fed0d] - fix: switches weren't updated after switching schema
- [e16a8f1] - refactor: "pack" the text and comment view so that they are as centered as possible
- [7015ae1] - fix: shift action could not be committed when ascii mode is off
- [ad21f3b] - fix: unrolled candidates size was actually limited to about 144
- [2b6063e] - refactor: slightly shorten the default animation duration
- [4e7247c] - fix: could not unroll the candidates somehow
- [b0eea1d] - fix: unrolled candidates size was still limited to about 144
- [904e715] - refactor: never fill the width of the candidate item view
- [5ec79f7] - refactor: make the candidate text always in center while ...
- [bbab9f9] - refactor: truncate the candidate at the end if the text is too long
- [04e96cb] - chore: remove google java format
- [ded5388] - chore: upgrade ktlint to 1.3.1
- [13787eb] - chore: format with ktlint 1.3.1
- [0f63fde] - chore: ignore code format patches within git blame
- [e1b304a] - feat(core): implements KeyValue and KeyModifier
- [d82021e] - refactor: improve key event forwarding
- [03613a5] - refactor: split out KeyboardActionListener from KeyboardView
- [94be029] - refactor: split out CommonKeyboardActionListener from TextInputManager
- [5149bc4] - fix: some symbols would be committed twice in full and half shape
- [e93ded9] - refactor: make unrolled candidate view high customizable
- [385264b] - refactor: remove useless/unused keyboard settings
- [b7eee6f] - refactor: split out EnterKeyLabelModule from KeyboardView
- [ed958d9] - fix: assets in sub directories ran out of its parent in dest path
- [f737ae6] - chore: share copyright profile
- [9fbfe56] - fix: data checksums descriptor didn't copy correctly
- [90a7960] - refactor: remove debounce when selecting candidates in the compat view
- [fe9c39d] - fix: couldn't smart match the keyboard corresponding to the schema id
- [fb3903e] - refactor(api): update context in rime engine lifecycle looper
- [014a001] - refactor(ime): merge TextInputManager into TrimeInputMethodService
- [4af1789] - refactor: handle window switching in input(view) scope as more as possible
- [fa6e56c] - refactor(ime): reduce redundant text committing functions
- [7920903] - fix: forgot to invoke response handlers in Rime itself
- [a83725d] - fix: could not scroll down the unrolled candidates
- [c5b1c51] - chore: update native dependencies
- [7ecec44] - refactors: always pass the copy of the active theme to the views ...
- [3a2f450] - refactors: enhance the process of theme switching
- [7e86995] - refactors: optimize timing background sync
- [7925458] - fix: metrics of strings in RimeProto were not completely converted
- [ed113a8] - refactor: move on result action into FolderPickerPreference
- [3591a2b] - refactor: drop unnecessary data dir change listeners
- [c43d0b8] - refactor: cleanup the process of handling rime response inside Rime
- [f71f16b] - refactor: enhance rime notification handling
- [b68ea03] - fix: filter opencc data file
- [6f143ec] - chore: upgrade opencc data
- [f14404b] - build: implement OpenCCDataPlugin to install OpenCC data
- [ca9a8ab] - chore: update development guide [skip ci]
- [28835a8] - build: remove rules for installing OpenCC data in Makefile
- [deedd1e] - chore: add OpenCC data install path to gitignore
- [efe0d77] - build: fix deprecated function usage
- [d7987b2] - fix: ime could not response key event from physical keyboard (#1485)
- [7b71c6f] - chore: update librime to 1.11.2-39-gb74f5fa0
- [bde2c47] - refactor: merge notification flow and response flow as callback flow
- [19005e6] - feat: implement RimeEvent to hold events created by this frontend
- [82c4aa0] - refactor: move RimeResponse into RimeEvent as IpcResponse(Event)
- [791cf54] - fix: truncated composition view (#1479)
- [73289ad] - refactor: improve the build of spanned composition
- [2e4b291] - fix: duplicated characters in ascii mode
- [8440b0b] - ci: switch to macOS 15 runner
- [6e7e435] - fix: popup composition view blocked the bar view at first show
- [687d32b] - fix: duplicated line breaks
- [9af1587] - feat: hide scroll bars of switcher view
- [4f8040a] - refactor: transform LiquidTabsUi with RecyclerView
- [d8042c7] - chore: add 3.3.1 changelog
v3.3.0
Change log from v3.2.19 to v3.3.0: v3.2.19...v3.3.0
- [2da33f4] - chore: bump version to 3.3.0
- [81258b3] - fix: Candidates are abnormally centered
- [9a5d296] - fix: 输入状态下切换深色模式时,悬浮窗无法关闭
- [1cc9edd] - chore: use form for issue template
- [f3ad724] - feat: internal shared data directory
- [d4a581d] - fix: fix list is empty
- [34b59c4] - fix: 输入状态下切换配色,悬浮窗无法关闭
- [0555fe2] - refactor: hide composition view on input view detached from window
- [ef78335] - fix: error on access to user data dir especially on app first run
- [f580213] - refactor: create main keyboard view without binding
- [a9711be] - refactor: cancel jvm overloads on keyboard view
- [2729c9d] - refactor: rename SchemaListItem to SchemaItem
- [f378f19] - refactor: add
schemaItemCached
andcurrentSchema()
to Rime(Api) - [92c09b7] - refactor: migrate KeyboardSwitcher features into KeyboardWindow
- [10b885f] - fix: ime could not follow the keyboard's ascii mode after switching
- [b5c1674] - fix: switcher didn't update after switching to different ascii mode keyboard
- [3517b0d] - fix: keyboard layout didn't switch in time on device's orientation changed
- [1a74854] - fix: couldn't back to appropriate keyboard layout from others at landscape mode
- [c0528df] - fix: keyboard layout sometimes inadvertently backed to the default layout
- [9a31e83] - feat: builtin prelude files
- [2cc78e9] - refactor: slightly change the base data syncing logic
- [32a006f] - ci: checkout submodules recursively on pull request and commit
- [5776370] - fix: timing sync (#1441)
- [0a8d470] - fix: crashes when trying to insert using liquid keyboard candidate.
- [6306703] - chore: disable layout update animations.
- [56431f2] - Restore animation when switching to other adapter from candidate.
- [e2e37d4] - refactor: move bar ui classes into ui package
- [aa9d8a7] - chore: introduce BRAVH library
- [bfe66a4] - feat: initial implementation of SwitchesUi
- [9e38094] - feat: add runtime option setter and getter to new api interface
- [1aea201] - refactor: restore the style for SwitchesUi
- [61dc1ca] - chore: update librime to 1.11.2-27-gcdab8936
- [b1daf38] - refactor: apply the new runtime option setter and getter as more as possible
- [a03ec12] - refactor: add STOPPING state for RimeLifecycle
- [db08b6d] - refactor: slightly improve the switches view
- [5159f57] - Revert "refactor: apply the new runtime option setter and getter as more as possible"
- [b95633a] - feat(jni): use NewString to create jstring
- [74430fa] - feat(jni): add getRimeCandidates API
- [e5f7309] - feat(jni): add selectRimeCanidate and forgetRimeCandidate APIs
- [e7e9543] - fix: candidate view in LiquidKeyboard didn't show all bulk candidates
- [5e1e9bc] - refactor: migrate rime out data class into RimeProto
- [c007982] - feat(api): initial implementation of emitting rime response via shared flow
- [256c956] - feat: update composing text via rime response flow
- [dbe0386] - feat: update candidates via rime response shared flow
- [0c64c9c] - feat: update composition via rime response shared flow
- [f5879c3] - refactor: adjust the data struct of RimeProto
- [54de655] - refactor: rename CandidateListItem to CandidateItem
- [742af71] - feat: new (compact) candidate view using recyclerview
- [1ccb23c] - feat(utils): introduce EventStateMachine
- [6514811] - refactor: implements QuickBarStateMachine to drive UI update of QuickBar
- [5a59425] - chore: introduce AndroidX Paging library
- [663e9c4] - feat(window): add default animation effect when enter or exit
- [c23add2] - feat: implements unrolled candidate view
- [bd6c7fc] - refactor: remove obsolete candidate view
- [da6a911] - refactor: remove obsolete custom scroll view
- [2fadf40] - refactor: remove unused api functions
- [07bfdce] - refactor: rename CandidateAdapter to VarLengthAdapter
- [2f5b3ce] - refactor: remove unused preference entries
- [a462c00] - feat: restore the highlight of the candidate
- [9da8856] - fix: key sequence could not be committed when ascii mode is on
- [962fead] - fix: inaccurate left offset before the compact candidate view ...
- [6e6b08b] - chore: upgrade gradle to 8.10
- [4d44270] - docs: add SPDX license header with reuse
- [436c8fc] - chore: add 3.3.0 changelog
v3.2.19
Change log from v3.2.18 to v3.2.19: v3.2.18...v3.2.19
- [a1bb068] - chore: bump version to 3.2.19
- [2bc4f2f] - fix: crash on showing composition popup window somehow
- [7bb35d3] - fix: crash on showing toast in LogActivity on some custom ROMs
- [ff6b838] - refactor: move DataManager in a standalone package
- [571e7c4] - feat: smarter and faster assets syncing
- [6199d30] - refactor: utilize custom resource util methods to reset assets
- [5dc3eb8] - fix: data dir preferences didn't show default value on init
- [2c2f889] - fix: main keyboard view wouldn't show up after switching schema
- [4ffbe57] - refactor: split out composition stuffs from text package
- [18fe727] - refactor: adjust RimeComposition fields
- [debca2b] - refactor: simplify the logic to build composition view content
- [df55afb] - refactor: update composition view from external context data
- [a969f5d] - refactor: move CompositionPopupWindow into InputComponent (and InputView)
- [c484d7f] - fix: attempt to correct the wrong popup window position on moving
- [9373ea6] - fix: index out of bounds when calculate offset in Composition view
- [cc8f7db] - perf: make parseColor no longer check the parameter is null
- [14595c6] - refactor: rewrite ascii mode switch logic
- [ee4f035] - fix: Candidate ascii_mode state mismatch
- [e84a7ae] - fix: the last candidate font size is abnormal
- [46cd745] - fix: work with the old synced asset files hierarchy
- [8d676c8] - feat(event): add command set_color_scheme
- [5d0bb1f] - feat: add button to copy brief result logs to clipboard
- [d92686b] - feat: custom liquid keyboard fixed key bar
- [7a7997e] - feat: fixed key bar support
round_corner
,margin_x
- [343f3cd] - fix: liquid keyboard
key_height
,margin_x
no work - [b6f4b27] - chore: update trime-schema.json
- [0798519] - fix: fix missing debug stripped native libs
- [206b10f] - ci: upgrade to ubuntu 24.04 runner
- [a1e616d] - ci: fix broken jni cache source path for release
- [560658f] - feat: fixed key bar support image
key_back_color
- [751563b] - refactor: refactors to picker dialog
- [6d1eb3f] - fix:
dbAdapter.type
not updated when switching tabs - [b457808] - docs: add missing license header
- [6ebe8c2] - fix: theme file named xx.yy.trime.yaml cannot be selected
- [88ed36a] - chore: built-in theme name localization
- [d0ecf5c] - build: upgrade kotlin to 2 and more
- [0450cd3] - fix: copy folders in
assets
correctly - [a7b5154] - feat: restore selected files only
- [9e7ae97] - fix: use
/
as path separator for all OS - [e6204b8] - refactor: use custom toast utils
- [99dc458] - refactor: use native apis to build notification
- [95272b0] - refactor: use native apis to get stuffs from system's resource instance
- [79f9fb1] - refactor: use native apis to build intent and start activity
- [1c1b641] - refactor: use custom uri utils
- [7d7836f] - refactor: access internal inset resources by self
- [41e5d21] - chore: remove androidutilcode from dependencies
- [1869e91] - fix: crash on access to split option enum constants
- [adb63c6] - chore: migrate to rime_get_api
- [9d39427] - chore: upgrade librime lua with rime_get_api
- [a114bd7] - chore: upgrade librime with rime_get_api
- [d0f1787] - chore: add .kotlin to git ignore
- [310449e] - refactor: implement PreferenceDelegate to simplify AppPrefs
- [4b4722d] - refactor: move AppPrefs to prefs package
- [c8aaba6] - refactor: use enum class to list app ui mode
- [c33a6e1] - chore: upgrade boost to 1.85.0
- [63a771b] - chore: upgrade gradle to 8.8
- [8e044d8] - refactor: reimplement StringUtils as Strings and Regex
- [576d382] - refactor: remove outdated licensing layout
- [2df3ae5] - refactor: add
Char.isAsciiPrintable
function - [1f1c0a6] - fix:
ascii_keyboard
tag was malfunctional - [2b604c5] - refactor: move
(commit/clear)Composition
to new api interface - [2c1bcb3] - refactor: simplify the code of Candidate view
- [c873442] - refactor: move the composing logic to the view into InputView
- [e5b7461] - fix: draw all computed candidates aligned with the first one in the Y-axis direction
- [6355ea5] - fix: use unified landscape mode
- [9d2d5fd] - fix: use local context instead of appContext
- [1133efd] - style: format code
- [9855766] - docs: add missing SPDX header
- [e46046a] - docs: add 3.2.19 change log
v3.2.18
Change log from v3.2.17 to v3.2.18: v3.2.17...v3.2.18
- [003f625] - chore: bump version to 3.2.18
- [afe4dcf] - build,refactor: drop koin dependency injection framework
- [c131817] - fix: app would crash on clipboard entry editing
- [13005b0] - fix: bar could not be hidden correctly with corresponding rime option
- [9134208] - fix: fix composition window disappear
- [285b626] - chore: tidy KeyboardView
- [e5c0d7a] - perf: reduce KeyboardView memory usage
- [e3ccb9e] - refactor(keyboard): tidy KeyboardView
- [e6ca3be] - refactor(symbol): tidy LiquidKeyboard and FlexibleAdapter
- [de112cd] - refactor(symbol): tidy TabView, TabManager and SimpleKeyDao
- [d359f55] - refactor: remove deprecated dimension methods
- [3a1b043] - refactor: make the variables in Key.kt comply with CamelCase
- [318d65b] - refactor(enums): tidy enum classes
- [db10498] - refactor: tidy the stuffs of input method service
- [715f7a0] - refactor: merge EditorInstance into TrimeInputMethodService
- [42b3f56] - refactor(symbol): refine the way to get drawable for the adapters
- [521785b] - fix: too large key popup preview and it didn't dismiss after pressing
- [ba1b4a0] - chore: upgrade spotless to 6.25.0
- [1c7c7f5] - chore: upgrade ktlint to 1.2.1
- [0245256] - chore: apply ktlint to kts
- [038045b] - chore: add kts target on ktlint
- [a3d9290] - refactor: try to introduce kotlin-inject
- [8825177] - refactor: implement window manager to manage all kinds of keyboard window
- [f767aec] - refactor: wrap the message value of a rime notification into data class
- [ad10afc] - refactor: handle rime option in sub input components ...
- [844d847] - refactor: provide InputBroadcaster via InputComponent
- [d2e23e0] - refactor: slightly refactor to schema deserialization
- [0cb8802] - refactor: make ConfigMap/ConfigList implement collection interfaces
- [51ec079] - refactor: apply custom yaml config parser to Theme
- [a312a4e] - fix: keys were not all be invalidated when switching from smaller keyboard view size
- [fc22c80] - fix: set vibrate duration only if time > 0
- [5c3e867] - fix: clear previous liquid keyboard data before adding new one
- [1f9fd83] - fix: retain current scheme ID when changing day/night theme
- [caffba4] - chore: update to the latest librime
- [07e702a] - chore: update librime plugins to their latest
- [76828c9] - build(jni): remove unneeded boost dependencies
- [3baf674] - feat: slightly enhance the handling of the old opencc dict format (ocd)
- [f2c9d1c] - feat: enhance the exception handling when build opencc dictionaries
- [5400298] - build(jni): remove unused compile definitions
- [c4d5eb9] - fix: didn't actually enable iconv for boost locale
- [107eedf] - fix: build failure with glog v0.7.0
- [d9d4b9f] - refactor: fix type
- [b66c71a] - fix: wrong judge condition for opencc dict type [skip ci]
- [a9a9764] - feat: add json schema
- [7202f5b] - fix: update to the latest librime to fix api's malfunction
- [69e8b3a] - fix: disappear clipboard, collection and draft in LiquidKeyboard
- [9e295ca] - fix: random NPE when loading config in TrimeInputMethodService
- [e6b402d] - fix: move sign in the composition window was too small
- [5d7ebbe] - fix: crash on clicking blank area when enable auto split keyboard space
- [8d1ba86] - fix: adjust
InitializationUi
's inset to unblock the whole screen - [83a6fe8] - fix: random crash on composition popup window moving
- [0f1ad69] - fix: notify data set changed using
notifyDataSetChanged()
- [7c47373] - fix: calculate size using
mBeansByRow
- [710b3e7] - refactor: extract
DbAdapter
to standalone class so it can refresh data correctly - [10e24e2] - fix: do not set background color for
EventSpan
ifkey_back_color
is not color - [e254bd3] - fix: set key width to 0 if
width
not set - [35b6bbd] - ci: add macos 14 m1 runner
- [dc96e49] - chore: upgrade librime to 1.11.0
- [4a754f5] - ci: chanage macos dependency step name
- [b27b1b6] - refactor: add BarBoardWindow class
- [e360c23] - refactor: replace TabView with new LiquidTabsUi
- [281d31a] - fix: incorrect filled items' background when fast scroll the clipboard
- [8fe83c8] - refactor: automatically switch bar view when board window attach or detach
- [f3906e9] - refactor: comb and simplify the code logic of LiquidKeyboard
- [317f13a] - fix: LiquidTabsUi didn't scroll to current selected tab on init
- [73bfd86] - feat: add operation area in LiquidKeyboard
- [3dd930c] - fix: back button in LiquidKeyboard didn't work well with some themes
- [5684366] - fix: wrong tag name in release artifactory (#1289)
- [b12f9e4] - refactor: enhance exception handling of the config traversing
- [b402d42] - fix: inaccurate command to get build version name
- [25f6fa6] - chore: add git cliff config
- [422456c] - docs: generate changelog with cliff
- [0b79365] - docs: add conventional commits in pull request template
- [2287683] - chore: bump jvm target to jdk 11
- [b6ecf00] - chore: upgrade gradle to 8.7
- [96db7f5] - fix: landscape keyboard's keys' position
- [c436a2d] - ci: downgrade java version to 17 on release and nightly build
- [bd56ee3] - refactor: remove redundant parameters to show composition window
- [0657eae] - refactor: introduce daemon to manage sessions access to rime
- [ba9d0d8] - refactor: enhance lifecycle management of Rime
- [166e6bc] - refactor: adjust TextInputManager constructor method
- [8b4ef48] - feat: show notification when restarting rime
- [8f1a85e] - fix: crash on switching from other input method
- [03701a3] - fix: create rime session by lazy in MainViewModel ...
- [6084661] - fix: IntentReceiver was re-registered in TextInputManager
- [9096817] - fix: ensure to pass non-null input editor info to
startInput
of InputView ... - [dcc213d] - feat: add class & mapper to hold style parameters
- [ae982ab] - feat: add
GeneralStyle
toTheme
- [c395770] - refactor: replace with
GeneralStyle
inColorManager
- [d6f1f4a] - refactor: make all fields in
CompositionComponent
to non-nullable - [f6e993c] - refactor: replace with
GeneralStyle
in various classes - [e16fe31] - refactor: map font family from
GeneralStyle
- [b7b86c5] - chore: remove unused
Theme.Style
- [b3bfde6] - refactor: remove unnecessary condition checking
- [b51b48a] - chore: spotApply style
- [df6d73e] - fix: calculate scaled vertical gap to fit all keyboard height
- [a3484e6] - refactor: replace handler with main looper with custom RimeLifecycleScope
- [d903b31] - feat: implements RimeDispatcher for running the rime backend solo on a single thread
- [199bfd5] - refactor: add schemata stuffs to RimeApi
- [31b93d2] - refactor: enhance the UX of selecting/enabling schema(ta)
...
v3.2.17
Change log from v3.2.16 to v3.2.17: v3.2.16...v3.2.17
- [b7e5413] - chore: bump version to 3.2.17
- [78b519f] - refactor: make
SimpleAdapter
faster - [e6d71aa] - refactor: use
initVarLengthKeys()
forTABS
- [b983342] - fix: display
SYMBOL
type using var-length style - [db63dab] - fix: only call
updateComposing()
if not usingLiquidKeyboard
so tab will not scroll back to the start - [81b1a51] - feat: respect
liquid_keyword/single_width
intrime.yaml
- [0f16f78] - refactor: remove
dimens.xml
- [1844af0] - refactor: justify content in
simpleAdapter
withspace_around
- [b1f6a8c] - fix: notify dataset changed after data updated
- [30f7513] - refactor: further improve
LiquidKeyboard
performance by change implementation - [b2dcf30] - fix: liquid keyboard
TABs
- [caf7942] - delete unnecessary 'if' branch
- [5b669b8] - build: adjust gradle properties
- [42bc195] - build: update deprecated gradle feature usages
- [6d08303] - feat: implement RimeDataProvider
- [50e3f2b] - build: try to remove redundant guava dependency
- [47b6910] - build: implement native convention plugins
- [72a0c45] - build,ci: allow to specify a array of target ABIs
- [eb89429] - build: keep apks splitted by ABI with release build type
- [cd1b25b] - build: implement the gradle task to calculate native cache hash
- [8490e0c] - build: remove unneeded scripts
- [3c68e2b] - build: try to make build reproduciable
- [64fd983] - build: change to archiveBaseName
- [ee9e899] - ci: complete release ci configuration
- [94b0a23] - build,refactor: change the way to resolve keystore.properties file
- [b78b45d] - ci: create preprelease when ref name contains 'alpha' or 'beta' [skip ci]
- [64242bf] - ci: create nightly release attached to the latest commit
- [045ee5a] - fix: reset to INIT state if
LiquidKeyboard
is reset - [1076de0] - fix: hide
LiquidKeyboard
first initially - [1914c30] - refactor: extract logic of
mPopupWindow
toCompositionPopupWindow
- [af709fe] - refactor: directly read theme name instead of caching using local variable
- [60493ed] - ci: use built-in generated release notes on nightly build
- [beda040] - Update README{,_sc,tc}.md
- [c07b2c4] - build: support Java 21 compile
- [8a4177d] - fix: show toolbar whenever
selectLiquidKeyboard()
is called - [30cb7c0] - chore: remove obsolete keystore tar
- [651e97c] - fix: prevent NPE of
CompositionPopupWindow
- [a1e2d2f] - ci: split out nightly build ci configuration
- [fd8873d] - chore: remove cache magic file
- [d097e87] - fix: wrong functional key back color
- [c998c88] - fix: obtainBoolean
- [4d9440c] - refactor: get color/drawable
- [ca8959e] - Add Landscape Keyboard (#1191)
- [e79e32b] - fix: reveal dialogs on Android P (#1196)
- [099aa8b] - fix: call
super.onTouchEvent
when in "Toolbar" mode - [22ec391] - ci: attempt to make nightly build has correct changelog
- [ae38589] - refactor: remove old input root layout
- [07a5b8d] - refactor: manage bar ui with QuickBar
- [879c7f5] - refactor: manage keyboard ui with KeyboardWindow
- [21429cb] - chore,refactor: introduce Koin dependency injection library
- [5c2f39a] - refactor: use enum state instead of index to switch UI in InputView
- [af4023c] - fix: do not set zero-width non-clickable key with default width
- [f053f45] - chore: update librime and librime-predict
- [89593e3] - refactor: Key.java to kotlin
- [4ef9d81] - refactor: Keyboard.java to kotlin
- [7613a72] - refactor: KeyboardView.java to kotlin
- [a650fcb] - refactor: Event.java to kotlin
- [1a9d5ca] - perf: parseColor without underline
- [f566a1a] - fix: crash on getLabel
- [6e6e0f5] - fix: try to fix potential crash when start input view
- [dfdebd7] - chore: upgrade google java format to 1.19.2
- [66c7fc0] - feat: request storage permission in setup
- [868df46] - refactor: Kotlinify Speech.java
- [8494e6e] - refactor: Kotlinify Trime.java
- [520a10e] - fix: crash after switching to liquid keyboard
- [5833dba] - chore: qualify import name
- [5d5319d] - refactor: merge the features of DataDirectoryChangeListener into DataManager
- [ed4a77b] - refactor: fully manage Theme instance in ThemeManager
- [e56142d] - refactor: complete the migration to InputView of which included components
- [c3ffaea] - refactor: move LiquidKeyboard to InputView
- [76de434] - refactor: handle option notifications about input view in InputView
- [7f63473] - refactor: mutable isDarkMode parameters
- [ff944c3] - fix: color didn't refresh immediately when users change it
- [857e487] - fix: color would be repeatedly updated on some custom ROMs
- [8c13f2d] - fix: updated view in non-ui-thread
- [6e4fdee] - fix: keyboard layout became cluttered after changing themes
- [92fd2eb] - fix:
_hide_candidate
didn't actually hide candidate bar - [f801439] - perf: remember last dark/light color scheme
- [8ca2d3f] - fix: invalid text label for preset keys
- [d814b18] - chore: update pull request template
- [1b4ea2c] - ci: upgrade action to v4
- [58b2fc1] - fix: fallback to unprocessed image path
- [48da4e4] - fix: some key colors are incorrect
- [8123c25] - perf: dynamically load and cache keyboard layout
- [59be77e] - fix: width overflow during landscape viewing
- [de9a181] - perf: reduce duplicate keyboard loading
- [0855b55] - perf: split keyboard from the event
- [13cf60d] - refactor: handle works of KeyboardView on start/finish input in InputView
- [f910e46] - refactor: reduce redundant operations in the input method service
- [ed7aa14] - refactor: bind composition view into its popup window
- [82bfb33] - refactor: simplify reset processes when changing theme or keyboard settings
- [2ced663] - fix: composition popup window didn't update width and height in time
- [b323eed] - fix: enter label was empty after changing theme or color in place
- [a8ae212] - feat: support font family
- [7c04d6a] - perf: caching used fonts
- [345e06a] - doc: add telegram group to README
- [2caa825] - chore: add telegram link to About page
- [e8aed41] - chore: optimize build doc
- [c96af23] - chore: add F-Droid to About page
- [130ed31] - chore: update liquidkeyboard in assets theme
- [3f13fa8] - feat: reveal the keyboard background when navigation bar is visible
- [9aa9d0e] - fix: incorrect navigation bar appearance in the activities of the app
- [79b0268] - refactor: fill the entire keyboard view with keyboard background
- [d533b35] - fix: potential NPE crash on window shown
- [62372de] - ci(commit-ci): add runner os name as the suffix of jni artifacts
- [9ceba21...
v3.2.16
Change log from v3.2.15 to v3.2.16: v3.2.15...v3.2.16
- [12a59e4] - chore: bump version to 3.2.16
- [e0a7105] - refactor(jni): remove workaround for rime tools
- [db1581f] - build(jni): try to replace boost git submodule with source tarball
- [f71e5d6] - chore: ignore boost build artifactory
- [e39f742] - build(jni): more neat way to find headers
- [36adb9b] - build(jni): use marisa vendored by (lib)rime
- [0ba4060] - chore: update librime to latest commit
- [46d9ecc] - build(jni): try to improve boost build
- [3399efb] - build(jni): try to improve the build of rime and its plugins
- [21dbff3] - fix: incorrect schemaId to resolve keyboard
- [83c2f74] - fix: Incorrectly consume
keyEvent
- [19b62f5] - fix: missing init values for
LandscapeInputUIMode
- [9aad56e] - ci: use change log builder action
- [5251076] - chore: remove obsolete change log script
- [d7b9e60] - chore: unify job step name
- [0375d2b] - chore: upgrade setup android action to v3
- [9f0f371] - chore: change commit template style
- [4df3368] - chore: upgrade gralde to 8.4
- [7e9b4ef] - chore: init convert map with enum values
- [6dff1ba] - fix: mini keyboard toggle issue when plug/unplug the physical keyboard
- [5dde264] - fix: fix float window size limit
- [0bd141d] - fix: float window covers the input text on top/bottom edge
- [f2d7792] - fix: reset to original state when restarting input in the same view
- [dc27449] - fix: commit any composing text when cursor's position changed
- [70c68d4] - build(cmake): use cmake file command to create symlink
- [7b30d1d] - ci: build on Ubuntu, macOS and Windows
- [c6a67b9] - chore: update build guides
- [cafe073] - build: remove git branch info
- [6b121df] - ci: improve job steps
- [9db179f] - fix: cannot auto switch back between night mode & day mode
- [265a91a] - fix: resolve color and image path correctly in themes
- [0b07cf1] - fix: support reading non-compiled nine patch images
- [5e1b5a8] - feat: Add "Clear All Logs" & "Jump To Bottom" button
- [85e1b17] - feat: add time in logcat
- [467abde] - fix: select first theme if selected theme was removed after deploy
- [f5abd34] - refactor: fix coding style
- [eaf68b0] - fix: revert the candidate window logic as before
- [6157d6a] - chore: update dependencies
- [774bffd] - refactor: fix compile error due to dependency update
- [8f62d22] - chore: upgrade gradle to 8.5
- [d33916c] - chore: upgrade spotless to 6.23.3
- [125fd2f] - chore: upgrade google jave format to 1.18.1
- [f3d71e3] - ci: add matrix os in cache key
- [4d151c5] - ci: rename code style job name
- [9dedfcf] - ci: upgrade checkout action to v4 in release
- [3060bb1] - ci: remove duplicated gradle setup job
- [785e007] - ci: upgrade jdk to 21
- [8a38a91] - ci: rename build trime job name
- [38dd713] - ci: fix sha256sum not found in macOS
- [5232f18] - ci: check C++ files with style job
- [5f3cc5b] - ci: disable windows runner due to build issue
- [5df49c6] - ci: install clang-format in macOS
- [af9525b] - ci: skim style check in windows
- [5dc3d90] - ci: disable fast fail in matrix build
- [7eba2a7] - ci: use macos to match matrix name
- [cb76a43] - ci: fix cache key placeholder in release
- [9f368f1] - fix: modify text of
scroll_to_bottom
- [a3cf556] - chore: add .editorconfig file
- [1dfcefc] - fix: rollback of dc27449
- [8ad1248] - build: refactor build logic
- [38b5da1] - build: migrate build to version catalogs
- [1043b57] - chore: upgrade boost to 1.84.0
- [e5ea247] - fix: remove obsolete version of boost
- [c6cab32] - chore: format cmake files with cmake-format
- [28f8b48] - build: add cmake format target
- [ce67389] - doc: add cmake format document
- [b3ef356] - build: add missing cmake file
- [a5285de] - chore: format CMakeLists file
- [62b556f] - chore: fix typo in cache hash script
- [e0cf0f6] - test: add unit tests
- [fe85155] - fix: fixed an implementation error in WeakHashSet
- [1b81b63] - refactor: add
RimeWrapper
to deploy rime in async manner - [5c1f7c4] - refactor: wait for rime deployment completed before doing any work
- [857edba] - refactor: do not call
Rime.getInsance()
during init - [a6765b7] - refactor: use
RimeWrapper
to deploy instead of using rime directly - [31f4e1d] - feat: display a loading screen as keyboard during deploying
- [d4dcd6f] - refactor: display loading dialog in preference screen when deploying in background
- [ca1b607] - refactor: casts as a more generic
ViewGroup
- [bb43b61] - feat: add scrollbar style to candidate view
- [48e6a87] - refactor: remove extra loading dialog
- [fed125d] - refactor: change loading text to "deploying"
- [2863e0c] - refactor: dismiss
loadingDialog
to prevent leakage - [0c971be] - fix: return default keyboard if no keyboard is matched
- [ab36ded] - fix: prevent NPE
- [dd52f31] - refactor: standardize deploy process with a result dialog
- [344357a] - fix: set view's height so it won't be fullscreen at first
- [6d73bad] - fix: bind keyboard immediately so height won't jump up and down
- [44d8e0a] - refactor: add
InitialKeyboard
to display before deployment - [3ee23b7] - refactor: add
canStart
toRimeWrapper
to prevent auto startup - [50ca063] - refactor: add
PermissionUtils
to check if all required permissions granted - [65182fa] - refactor: set
RimeWrapper.canStart
if permissions granted - [eb0e56e] - refactor: display
InitialKeyboard
before deployment or lacks of permissions - [917b974] - refactor: fix code style
- [48c64b8] - fix: check if external storage path is empty before starting
RimeWrapper
- [6c27171] - fix: instantiate property as requested instead of caching it
- [b4151c4] - refactor: remove
DataDirectoryChangeListener.Listener
fromDataManager
- [d98fb61] - fix: correct lock & release mutex in
deploy()
method - [fc3f59f] - fix: move
fontDir
to method so it always refers to the latest value - [895d305] - chore: add new contributors to author
- [1a10a79] - fix: handle html hex code input
- [5738657] - fix: deploy in background thread when triggered by broadcast