florisboard

An open-source keyboard for Android which respects your privacy. Currently in early-beta.

APACHE-2.0 License

Stars
5.9K

Bot releases are hidden (Show)

florisboard - v0.4.0-rc02 Latest Release

Published by patrickgold about 2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/florisboard/florisboard/compare/v0.4.0-rc01...v0.4.0-rc02

florisboard - v0.4.0-rc01

Published by patrickgold about 2 months ago

What's Changed

Full Changelog: https://github.com/florisboard/florisboard/compare/v0.4.0-beta03...v0.4.0-rc01

florisboard - v0.4.0-beta03

Published by patrickgold 2 months ago

What's Changed

Addons store

Many thanks @4H1R for implementing the addons store!

See this wiki entry on how to use the addons store.

Other changes

Layout changes

Developement changes

New Contributors

Full Changelog: https://github.com/florisboard/florisboard/compare/v0.4.0-beta02...v0.4.0-beta03

florisboard - v0.4.0-beta02

Published by patrickgold 6 months ago

What's Changed

  • Add emoji suggestions using the :emojiname syntax (#2385, thanks @snaik20)
  • Add emoji suggestion data for most important languages (#2437)
    • The following languages are available: English, German, Spanish, French, Italian, Portuguese
    • Do NOT ask for other languages to be added, support for other languages in emoji suggestions will be added in v0.5 via the language pack feature
  • Fix huge clipboard text items causing clipboard history crash (#2420)
  • Implement smooth scrollbar in emoji palette (#2446, thanks @KevinVan9 and @lm41)
  • Update contributing guidelines and roadmap

Development changes

  • dev: Add new Material You surface colors (#2448)
    • The following color names are now available:
      • surfaceBright
      • surfaceDim
      • surfaceContainer
      • surfaceContainerHigh
      • surfaceContainerHighest
      • surfaceContainerLow
      • surfaceContainerLowest
    • These colors have replaced the color name surface, which has been removed
    • See section "Surfaces" in this blog entry for more info
    • May break existing dynamic color themes relying on surface
  • dev: Fix build issues caused by the nlp submodule (#2218)
  • dev: Fix Rust beta build (#2450, thanks @lm41)
  • dev: Switch to ImageVector icons (#2432, thanks @lm41)
  • dev: Remove all git submodules, avoiding git ref issues
  • dev: Switch internal backend from C++ to Rust
  • dev: Update dependencies

New Contributors

Full Changelog: https://github.com/florisboard/florisboard/compare/v0.4.0-beta01...v0.4.0-beta02

florisboard - v0.4.0-beta01

Published by patrickgold 7 months ago

What's Changed

  • Add monochrome icon variants (#2159 thanks @lm41)
  • Add udmurt layouts (#2397 thanks @vorgoron)
  • Add smartbar vibrations (#2134 thanks @lm41)
  • Add option to share image to florisboard (#2112 thanks @lm41)
  • Add option to change the space-bar character (#2350 thanks @lm41)
  • Add option to cycle through the capitalization mode (#419 thanks @lm41)
  • Fix pinned clipboard items getting unpinned (#2318 thanks @lm41)
  • Fix primary clipboard entry accessible while phone is locked (#2247 thanks @lm41)
  • Fix recent emoji show up in lock-screen (#2309 thanks @lm41)
  • Fix incorrect suggestions from empty or invalid clipboard content (#2386 thanks @snaik20)
  • Fix crash in third-party licenses screen
  • Fix crash report screen not working on Android 13+ devices (#2378 thanks @lm41)

New Contributors

Full Changelog: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha06...v0.4.0-beta01

florisboard - v0.4.0-alpha06

Published by patrickgold 10 months ago

Hotfix release for v0.4.0-alpha05:

  • Fix IME enabled/selected checker failing on API 34+ (#2344)

For other changes included please refer to the release notes of v0.4.0-alpha05!


Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha05...v0.4.0-alpha06

florisboard - v0.4.0-alpha05

Published by patrickgold 10 months ago

IMPORTANT: There is currently a major breaking bug in the Settings on Android 14 devices (see #2344), a hotfix is being prepped for this!

  • Add support for Material You in themes (#2213)
  • Add several new keyboard layouts
  • Update translations
  • Several other changes, see the commit list for details
  • Remove glide typing -> will be re-implemented with word suggestions/new keyboard layout engine

This release is part of the current objective "getting the project back on track". This release is the last alpha release for 0.4, we will now move to beta releases as there isn't too much to be added for 0.4 anymore and development focus will shift to laying the foundations for the core features of 0.5. See the roadmap for details.


Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha04...v0.4.0-alpha05

florisboard - v0.4.0-alpha04

Published by patrickgold about 2 years ago

Smartbar fixes and changes (#2030)

  • Change extended actions toggle so it closes actions overflow (#2035)
  • Implement sticky action is overflow button if set to none (#2033)
  • Fix moving all Smartbar actions to hidden causing crash (#2026)
  • Fix clipboard suggestions showing when they shouldn't (#2029)

Other fixes

  • Rework KeyboardState and its observing logic (#2025)
    • Should prevent the NullPointerException crashes introduced with v0.4.0-alpha03. If not, please report this in #2025.
  • Fix bottom sheet host UI causing issues in landscape input UI (#1760)
  • Remove "auto0" placeholder logic as it is annoying (#1976)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha03...v0.4.0-alpha04

florisboard - v0.4.0-alpha03

Published by patrickgold about 2 years ago

Major Smartbar rework (#2012)

  • Smartbar layout changes
    • The Smartbar now has 4 different layouts to choose from: Suggestions only, Actions only, Suggestions+Actions shared (comparable to Gboard) and Suggestions+Actions extended (comparable to SwiftKey)
    • Each Smartbar layout has different layout-specific options
  • Changes to quick actions
    • Implement Smartbar actions overflow panel
    • Implement Smartbar actions editor panel, which allows to customize the order of the actions (#1612)
    • Remove Clipboard/Cursor row and add each of its buttons as a separate quick action
  • Other Smartbar improvements
    • Add tooltips on long-press for Smartbar actions (#1094)
    • Fix auto action expansion interfering with arrow keys (#1674)
    • Fix quick action icon size too small for landscape (#1781)
  • Changes to Smartbar theming
    • Default theme users: Nothing needs to be done, all changes apply automatically.
    • Custom theme users: Changes do NOT apply automatically! As such the Smartbar theming may look messed up, some surfaces may be transparent, etc. Please use the new default themes for reference on what can be themed, so it looks good for your theme again! Sorry for the inconvenience.

Incognito-mode (#2012)

  • Add incognito mode
    • Enables/disables itself either if the target app requests it or if one specific state is forced via Settings > Advanced > Incognito mode (#617)
    • If enabled this mode prevents new words to be learnt and stored in the personal dictionary (technically has no effect in this alpha release as there is no suggestions algorithm and no learning logic implemented, but relevant for upcoming releases)
  • Add Smartbar quick action for incognito mode (#153)
    • Effectively shows the state of incognio mode and allows you to toggle the mode, only available though if not already forced via Settings > Advanced > Incognito mode
  • Add incognito mode indicator
    • Shows inbetween the keyboard background and the key surfaces, by default in a subtle grey shade
    • Can be themed by changing the foreground of the incognito-mode-indicator rule to some other color in the stylesheet editor

Other changes

  • Privacy policy has been moved and rewritten. For you as a user nothing has changed, FlorisBoard is still as private as before. Please see the official announcement why this had to be done. You can read the new privacy policy here, alternatively you can find the link in the Settings' about screen or in the Setup screen.
  • Adjust and fix keyboard height calculation (#1561)
  • Improve sounds and vibration screen (#2003)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha02...v0.4.0-alpha03

florisboard - v0.4.0-alpha02

Published by patrickgold about 2 years ago

Auto-spacing bug fixes

  • Fix auto-spacing incorrectly triggered (#1947)
  • Fix phantom spacing for 1 letter words (#1940)
  • Please give feedback about this new feature if you want in #1935 (feedback, bugs, ideas)

Clipboard changes

  • Add clipboard phone number detection (#1889, #1971)
  • Fix domains get extracted from emails in clipboard (#1971)
  • Fix extracted URLs not checking for duplicates (#1971)
  • Improve host regex accuracy for clipboard URL extraction (#1971)
  • Partly disable smart clipboard on Android 7.0 and 7.1 due to crashes and incompatible API calls (#1970)

Keyboard and layout changes

  • Add numeric row manual shifting symbols (#1988)
  • Adjust AutoTextKey behavior to respect subtype locale (#1840)
  • Add circumflex popups to Turkish layout (#1962, thanks @tsiflimagas)
  • Add implementation for notifySuggestionReverted event
  • Fix accent ordering of z in Polish popup mapping (#1960)
  • Fix composer not allowing multiple code points (#1984)
  • Fix uppercase Greek vowels popups (#1981, thanks @tsiflimagas)

Settings UI changes

  • Upgrade Jetpack Compose to 1.2, which should resolve numerous issues with the Settings UI
  • Disable unnecessary app icon sync in Settings UI for Android 10+
  • Rework and improve splash screen of Settings UI

Other changes

  • Decouple Jetpack Compose Compiler version from other Compose packages
  • Upgrade Kotlin to 1.7.10 and Compose Compiler to 1.3.0-rc01
  • Remove deprecated Accompanist Insets library
  • Enum values are now properly stored without overriding the original capitalization in the pref datastore

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.4.0-alpha01...v0.4.0-alpha02

florisboard - v0.4.0-alpha01

Published by patrickgold over 2 years ago

Auto-spacing and auto-capitalization changes

  • Add auto-spacing after punctuation (#375)
    • Disabled by default as this is experimental, go to Settings > Typing and enable "Auto-space after punctuation" to try it out
    • Please give feedback about this new feature if you want in #1935 (feedback, bugs, ideas)
    • Auto-spacing intentionally does NOT work in URL, EMAIL and PASSWORD text fields to prevent several input issues
    • Previous auto-space is automatically overridden if multiple symbols are inserted in a row to prevent issues such as "Word. . . "
    • May break for exotic characters (aka everything not representable with one char in UTF-16)
    • There's no hardcoded language restriction, however it is tailored towards symbols used mostly in Latin-based languages atm
  • Disable auto-capitalization for Thai language (#1908)
  • Fix auto-capitalization issues with invalid initial state (#1915)

Preparation-work for word suggestions (phase1)

  • Tie composing region indicator to suggestion enabled state (#1911)
    • The current word will now only be underlined in the text color if word suggestions is enabled
  • Improve state reset mechanism for restarts (#1916)
  • Fix candidate completion logic not behaving as expected
  • Fix clicking a clipboard suggestion not causing the suggestion to go away
  • Complete internal rework of NLP manager and its API
    • Add SuggestionProvider, SpellingProvider, SuggestionCandidate
    • Add secondary text UI implementation for candidates
    • Extend Subtype internally to allow for provider ID definition
    • Properly document all NLP APIs
  • Rework clipboard suggestions logic and allow for multiple items (#739)

Spell-checker changes

  • Remove Nuspell spell check implementation for now (#1921)
    • This means that temporarily no spell checking is working, see linked issues for details
    • Spell-checking will be integrated into the upcoming suggestions- and auto-correction logic, thus spell checking will evolve together with the progress of word suggestions
    • Maybe Nuspell for spell-checking will be re-implemented again as an optional alternative for the user to select from, however this is not decided yet

Other changes

  • Add Costa Rican colón currency set (#1914)
  • Correct layout name for RU&UA (ЙЦУКЕН) (#1681, thanks @VladWinner)
  • Refactor and improve C++ codebase (#1895, thanks @sevz17)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.16...v0.4.0-alpha01

florisboard - v0.3.16

Published by patrickgold over 2 years ago

New app icons (#1775)

FlorisBoard now has new app icons for each track, designed and provided for use in this project by BloodRaven0, thanks a lot! <3

Stable Beta Debug
image image image

Input logic and editor caching behavioral changes (#1822)

  • Major rework of the internal editor instance and caching logic
    • Editor content state is now cached in a "window" around the cursor, which allows to make predictive cache changes and avoid unnecessary input connection calls (#1822)
    • Improve input performance by utilizing the new cached window system
    • Improve the communication between FlorisBoard and the target input connection
  • Adjust timing for double tap / key repeat events (#1095)

Minimum required Android version change

The minimum required Android version has been changed from Android 6 (API level 23) to Android 7 (API level 24). This change was hard to decide but it allows to fully use the ICU platform package Android provides since API 24. See #1822 for the detailed reasoning for this change. I am aware that this step may affect some users (especially old tablets), but FlorisBoard is a fast moving modern Android keyboard with limited developing resources, so I decided in favor of increasing the minimum required Android version.

Enhancements and fixes for space, enter and delete keys

  • Add delete key long press option in gesture prefs (#637)
    • The long press action for the delete key can now be changed between "Delete last character" and "Delete last word". If the latter is used and you hold down the delete key, entire words instead of characters will be deleted until you release the delete key again.
  • Add "Always delete word" toggle for glide typing (#1541, #1036)
    • By default tapping delete after a glided word will now delete the whole glided word, except if you disable the newly added toggle.
  • Fix delete key precise selection gesture bugs
  • Fix double-space period placing period incorrectly (#524)
  • Pressing delete will not reset the keyboard anymore inside the Settings preview field (#1617)
  • Fix enter key behavior for multiline and shift (#1037)
    • FlorisBoard now supports if messaging apps' "Enter key sends message" option, as long as the target messaging app field is configured correctly. Tested and verified in WhatsApp and Signal.
  • Fix space bar tapping rapidly causing characters to be deleted (#1792)

Shift-key/Capitalization-specific changes

  • Rework shift state management
    • Shifting now differentiates between "Unshifted", "Shifted (Manual)", "Shifted (Automatic)" and "Caps lock"
    • Fix Dvorak layout symbols which misinterpreted shift states previously (#528)
  • Add ability to hold shift without caps lock (#1764)
    • This allows you to use the shift key as known on a PC keyboard. If you long press shift and start typing within the first second (exact time depends on your long press timeout in prefs), caps lock will not get activated. However if you only long press shift without character input, caps lock will be activated, like previously also possible in 0.3.15 and earlier.
  • Fix shift key state concurrency issue in touch logic (#227)
  • Fix shift long press resetting after releasing (#1834)
  • Fix auto-capitalization and re-evaluate on new subtype (#1623)

Keyboard logic and UI changes / fixes

  • Added a button for switching to an IME that supports voice (#1587, thanks @ElishaAz)
    • This voice button currently requires that a proper voice IME is installed and does not work with voice overlays!
  • Fix shift+space swipe not selecting text (#1843)
  • Fix auto-capitalization not behaving correctly (#1861)
  • Fix extensions not properly reloading when context switches
  • Fix Snygg Shape crashing for corner radii >= 34dp (#1838)

Keyboard layout changes

  • Add additional Persian layout (#1823, thanks @M
  • Add Dvorak (ÑÇ) layout (#1853, thanks @tsiflimagas)ahantor)
  • Add Indonesian layout (#1879, thanks @Linerly)
  • Update Hungarian popup mapping (#1859, thanks @ptrg)
  • Vietnamese Telex: Add mising case (#1862, thanks @thanhhocse96)
  • Vastly improve Telex for Vietnamese (#1797, thanks @thanhhocse96)
    • Please see #1751 and #1797 for details regarding this change
  • Update Kurdish layout and overall improvements (#1798, thanks @GoRaN909)

Performance and APK size improvements (#1870, #1894)

  • Add baseline profile
    • This baseline profile should be a slight improvement in the initial app startup time
  • Add Proguard optimization to beta and stable builds
    • Production builds now properly remove unused code and resources, thus decreasing the APK size by about 3MB (~18MB to ~15MB)
    • Depending on your device this can also lead to a performance improvement in both app startup time and runtime usage
  • Minor improvements to the runtime performance, especially regarding events triggered by user input:
    • Improve input feedback controller performance (especially for vibrations)
    • Improve language display name performance by caching it
    • Prevent unnecessary stack trace collection in KeyboardState
    • Improve auto capitalization performance

Glide typing improvements and bug fixes (#1844)

  • Add punctuation rules logic for auto-spacing (#596, #1828)
    • This change vastly improves the auto-space functionality for Latin-based languages by providing punctuation rules for evaluation of symbols preceding/following spaces.
    • Add ability to define additional punctuation rules in keyboard
  • Fix glide typing not working for long words (#1851)
    • This change addresses the long known issue of glide having difficulties with long words. For phone screens this issue is now fixed, however for tablets or very large phone screens this issue may still occur. A fix for these kind of large screen requires a major overhaul of the glide logic in the future.
  • Auto-disable glide typing for password fields
  • Fix active key not appearing pressed for moving gestures (#1846)
  • Fix glide typing broken in some input fields (#1009, #1247)
  • Fix phantom space not resetting in selection update, causing the glide word deletion mode to not reset (#916)
  • Fix glide threshold using incorrect units, causing short words to be impossible to input using glide (#1023)

Emoji improvements / bug fixes (#1855)

  • Rework internal EmojiCompat implementation and decrease emoji load time UI jank (#1770)
  • Re-add vibration to emoji screen (#1675)
  • Fix symbols emoji category icon not representative (#1421)
  • Fix incorrect aspect ratio for emoji keys (#1856)

Settings changes

  • Possibly fix prefs sometimes reset on startup (#1726, #1868)
    • Note that this bug occurs only on some devices and you probably haven't experienced this bug beforehand, so this fix does not apply to you
    • Should you be the unlucky user to experience this bug after this release again, please provide more details in #1726, so I can try to find the reason why this bug rarely occurs. Thanks!
  • Add debug log view/export screen
  • Add exact stacktrace error log for backup failure (#1847)
  • Add translations for emoji key and landscape input Syngg elements
  • Change OSS notices to mikepenz/AboutLibraries plugin
  • Improve CrashDialogActivity crash log generation and add details

Other changes

  • Add clipboard URL and Email detection (#1889)
  • Fix Smartbar placeholder suggestion UI not updating correctly
  • Improve devtools input state overlay
  • Refactor AndroidX.Room to use KSP + export schema correctly
  • Rework internal project structure, code base and some package names (#1780)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.15...v0.3.16

florisboard - v0.3.16-rc01

Published by patrickgold over 2 years ago

Release candidate 1

This is the first release candidate for 0.3.16, and probably also the last before a stable 0.3.16 release, except some major issue is reported. After the 0.3.16 release the long-awaited 0.4.0 development cycle with focus on word suggestions will begin, more info on that will be provided after the 0.3.16 stable release.

Runtime performance improvements (#1894)

  • Minor improvements to the runtime performance, especially regarding events triggered by user input:
    • Improve input feedback controller performance (especially for vibrations)
    • Improve language display name performance by caching it
    • Prevent unnecessary stack trace collection in KeyboardState
    • Improve auto capitalization performance

Other changes

  • Add clipboard URL and Email detection (#1889)
  • Add Dvorak (ÑÇ) layout (#1853, thanks @tsiflimagas)
  • Fix auto-capitalization logic (was not triggered for mass selection and some other events)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.16-beta04...v0.3.16-rc01

florisboard - v0.3.16-beta04

Published by patrickgold over 2 years ago

Performance and APK size improvements

  • Add baseline profile
    • This baseline profile should be a slight improvement in the initial app startup time
  • Add Proguard optimization to beta and stable builds
    • Production builds now properly remove unused code and resources, thus decreasing the APK size by about 3MB (~18MB to ~15MB)
    • Depending on your device this can also lead to a performance improvement in both app startup time and runtime usage

Keyboard logic and UI changes / fixes

  • Added a button for switching to an IME that supports voice (#1587, thanks @ElishaAz)
    • This voice button currently requires that a proper voice IME is installed and does not work with voice overlays!
  • Fix shift+space swipe not selecting text (#1843)
  • Fix auto-capitalization not behaving correctly (#1861)
  • Fix extensions not properly reloading when context switches
  • Fix Snygg Shape crashing for corner radii >= 34dp (#1838)

Settings changes

  • Possibly fix prefs sometimes reset on startup (#1726, #1868)
    • Note that this bug occurs only on some devices and you probably haven't experienced this bug beforehand, so this fix does not apply to you
    • Should you be the unlucky user to experience this bug after this beta release, please provide more details in #1726, so I can try to find the reason why this bug rarely occurs. Thanks!
  • Add debug log view/export screen
  • Add exact stacktrace error log for backup failure (#1847)
  • Add translations for emoji key and landscape input Syngg elements
  • Change OSS notices to mikepenz/AboutLibraries plugin
  • Improve CrashDialogActivity crash log generation and add details

Keyboard layout changes

  • Add Indonesian layout (#1879, thanks @Linerly)
  • Update Hungarian popup mapping (#1859, thanks @ptrg)
  • Vietnamese Telex: Add mising case (#1862, thanks @thanhhocse96)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a bug which is very difficult to address and no solution has been found yet.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.16-beta03...v0.3.16-beta04

florisboard - v0.3.16-beta03

Published by patrickgold over 2 years ago

Glide typing improvements and bug fixes (#1844)

  • Add punctuation rules logic for auto-spacing (#596, #1828)
    • This change vastly improves the auto-space functionality for Latin-based languages by providing punctuation rules for evaluation of symbols preceding/following spaces.
    • Add ability to define additional punctuation rules in keyboard
  • Fix glide typing not working for long words (#1851)
    • This change addresses the long known issue of glide having difficulties with long words. For phone screens this issue is now fixed, however for tablets or very large phone screens this issue may still occur. A fix for these kind of large screen requires a major overhaul of the glide logic in the future.
  • Auto-disable glide typing for password fields
  • Fix active key not appearing pressed for moving gestures (#1846)
  • Fix glide typing broken in some input fields (#1009, #1247)
  • Fix phantom space not resetting in selection update, causing the glide word deletion mode to not reset (#916)
  • Fix glide threshold using incorrect units, causing short words to be impossible to input using glide (#1023)

Emoji improvements / bug fixes (#1855)

  • Rework internal EmojiCompat implementation and decrease emoji load time UI jank (#1770)
  • Re-add vibration to emoji screen (#1675)
  • Fix symbols emoji category icon not representative (#1421)
  • Fix incorrect aspect ratio for emoji keys (#1856)

Other changes

  • Add additional Persian layout (#1823, thanks @Mahantor)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.16 releases.

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.16-beta02...v0.3.16-beta03

florisboard - v0.3.16-beta02

Published by patrickgold over 2 years ago

Input logic and editor caching fixes (#1832)

Thanks a lot for the initial feedback on the last beta 0.3.16-beta01! This was really helpful eliminating a lot of issues and overall improving the input even more, especially for the shift key behavior. If you find other issues regarding the input logic in this beta release, feel free to continue using the discussion thread #1827 for providing feedback for this, I really appreciate it!

  • Adjust timing for double tap / key repeat events (#1095)
  • Fix backspace sometimes not working in initial state (#1831)
  • Fix long press action being run outside main thread, causing rare state mismatches
  • Fix space swipe not checking for raw input editor

Shift-key/Capitalization-specific changes

  • Rework shift state management
    • Shifting now differentiates between "Unshifted", "Shifted (Manual)", "Shifted (Automatic)" and "Caps lock"
    • Fix Dvorak layout symbols which misinterpreted shift states previously (#528)
  • Add ability to hold shift without caps lock (#1764)
    • This allows you to use the shift key as known on a PC keyboard. If you long press shift and start typing within the first second (exact time depends on your long press timeout in prefs), caps lock will not get activated. However if you only long press shift without character input, caps lock will be activated, like previously also possible in 0.3.15 and earlier.
  • Fix shift key state concurrency issue in touch logic (#227)
  • Fix shift long press resetting after releasing (#1834)
  • Fix auto-capitalization and re-evaluate on new subtype (#1623)

Non-Latin composition re-implementation and improvements

  • Re-implement composers into new editor instance logic (#1832)
    • Typing in Korean and Vietnamese (Telex) is now working again
  • Vastly improve Telex for Vietnamese (#1797, thanks @thanhhocse96)
    • Please see #1751 and #1797 for details regarding this change

Other changes

  • Fix Smartbar placeholder suggestion UI not updating correctly
  • Improve devtools input state overlay
  • Refactor AndroidX.Room to use KSP + export schema correctly

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.16 releases.
  • Glide typing has issues recognizing long words (unknown cause atm, not sure if this is still an issue)

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.16-beta01...v0.3.16-beta02

florisboard - v0.3.16-beta01

Published by patrickgold over 2 years ago

New app icons

FlorisBoard now has new app icons for each track, designed and provided for use in this project by BloodRaven0, thanks a lot! <3

Stable Beta Debug
image image image

See #1775 for implementation.

Input logic and editor caching behavioral changes (#1822)

  • Major rework of the internal editor instance and caching logic
    • Editor content state is now cached in a "window" around the cursor, which allows to make predictive cache changes and avoid unnecessary input connection calls (#1822)
    • Improve input performance by utilizing the new cached window system
    • Improve the communication between FlorisBoard and the target input connection

This new system has been tested on many common apps and all major bugs I noticed have been ironed out. Should I have accidentally broken input in an app (in comparison to a previous FlorisBoard version or another keyboard) or you just want to give general feedback on this overhaul please make sure to give me feedback in #1827 instead of raising a new issue, this allows me to have these types of issues in one place and fix them in subsequent beta and rc releases before 0.3.16 stable.

Minimum required Android version change

The minimum required Android version has been changed from Android 6 (API level 23) to Android 7 (API level 24). This change was hard to decide but it allows to fully use the ICU platform package Android provides since API 24. See #1822 for the detailed reasoning for this change. I am aware that this step may affect some users (especially old tablets), but FlorisBoard is a fast moving modern Android keyboard with limited developing resources, so I decided in favor of increasing the minimum required Android version.

If there's really a big need for Android 6 support in 0.3.16 and beyond I can experiment with making an extra APK for devices still on this API level which includes its own ICU4J packaged, however this means a very large APK size and is possibly quite hard to maintain in the long run.

Enhancements and fixes for space, enter and delete keys

  • Fix double-space period placing period incorrectly (#524)
  • Add delete key long press option in gesture prefs (#637)
    • The long press action for the delete key can now be changed between "Delete last character" and "Delete last word". If the latter is used and you hold down the delete key, entire words instead of characters will be deleted until you release the delete key again.
  • Add "Always delete word" toggle for glide typing (#1541, #1036)
    • By default tapping delete after a glided word will now delete the whole glided word, except if you disable the newly added toggle.
  • Fix delete key precise selection gesture bugs
  • Pressing delete will not reset the keyboard anymore inside the Settings preview field (#1617)
  • Fix enter key behavior for multiline and shift (#1037)
    • FlorisBoard now supports if messaging apps' "Enter key sends message" option, as long as the target messaging app field is configured correctly. Tested and verified in WhatsApp and Signal.
  • Fix space bar tapping rapidly causing characters to be deleted (#1792)

Other changes

  • Rework internal project structure, code base and some package names (#1780)
  • Update Kurdish layout and overall improvements (#1798, thanks @GoRaN909)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.16 releases.
  • Glide typing has issues recognizing long words (unknown cause atm)

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.15...v0.3.16-beta01

florisboard - v0.3.15

Published by patrickgold over 2 years ago

Theme and stylesheet changes

  • Add Pure Night and all borderless themes again to the default themes (#1702)
  • Decrease visual key height for borderless themes
  • Improve stylesheet editor rule dialog code selector (#1720)
    • Add key code preview box in stylesheet rule dialog
    • Add key code recording tool in stylesheet editor
    • Improve wording of strings referencing the code selector in stylesheet editor
  • Fix key shape clipping contents (#1710)
  • Fix emoji key (and popup) font color ignoring current theme (#1720)
  • Fix dark mode issues on Xiaomi devices by disallowing forceDarkAllowed (#1694)

Keyboard UI and behavior changes

  • Add support for Extracted Landscape Input (#1734)
    • This fixes issues where the keyboard laid itself over the input field.
    • Custom themeing of this layout is possible but may not always work, especially on some series of Xiaomi and Samsung devices. This is a known issue but difficult to fix, as the system and the keyboard fight to color the same UI elements on those devices.
    • For default theme users the new colors for this UI will automatically apply, for custom theme users it must be manually added to the theme. (See the default themes for the setup)
  • Add support for videos on clipboard history (#1721)
    • Note that not many apps support videos from the clipboard, so in many instances you won't be able to paste a video yet.
  • Add limit to clipboard history text item preview (#1730)
  • Add alphabetic letters to phone digits in telpad layout (#355)
  • Change layout direction of Smartbar and Emoji to forced LTR (#1673)
  • Fix keys can get stuck with active visuals (#1446)
  • Fix popup stays active when using multitouch (#1450)
  • Fix statistical glide typing manager crashing in some cases (#1632)
  • Fix glide not initializing if disabled on app start (#1703)
  • Fix glide trail not drawing if popups disabled (#1704)
  • Fix delete key swipe right deleting left words (#1765)
  • Fix space bar ignoring "No action" setting (#1706)
  • Fix keyboard ignoring number row height in symbols (#1658)
  • Fix media and clipboard ignoring number row in height calc (#1672)
  • Remove popups from telpad layout (#1044)

Layout changes & fixes

  • Add Armenian keyboard layouts (#1654, thanks @pjtsearch)
  • Add Azerbaijani keyboard layout (#1639, thank @nijatismayilzada)
  • Add ColemakDH keyboard layout (#1401, thanks @blucin)
  • Add Hebrew SI-1452 niqqud and some punctuation marks (#1413, thanks @amiryal)
  • Add German (Gboard) layout (#1737, thanks @m-koushan)
  • Add additional Persian keyboard layout (#1683, thanks @m-koushan)
  • Fix Arabic combining characters not displaying correctly (#1679)
  • Fix main popup for "ﺍ" ‎in Persian (#1571, thanks @tsiflimagas)
  • Fix TLDs of Arabic and Urdu-Phonetic (#1680, thanks @GoRaN909)
  • Fix Korean composition of medial+final and final+final (#1757, thanks @Hayleia)
  • Fix Persian layout issue (#1746, thanks @m-koushan)
  • Fix Unicode non-spacing marks for Thai (#1759)
    • For Android 7+ devices all Unicode non-spacing characters are now fixed with this change
  • Fix փ missing in Armenian layouts (#1741, thanks @pjtsearch)
  • Improve Ukrainian popup mappings (#1739, thanks @honsiorovskyi)

Other changes

  • Add support for locale display language in devtools
  • Add Chinese (Simplified) (zh-CN) as available language to translate
  • Decrease vertical padding usage in setup screen (#1364)
  • Fix language names not titlecase for some locales (#1686)
  • Fix Restore screen too restrictive about media type (#1707)
  • Improve devtools overlay UI and remove unnecessary code (#1763)
  • Possible fix for setup screen system observer failing (#1731)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.16 hotfix releases.
  • Glide typing has issues recognizing long words (unknown cause atm)

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.14...v0.3.15

florisboard - v0.3.15-rc02

Published by patrickgold over 2 years ago

General changes

  • Fix input view + extracted input UI layouting issues (#1760)
  • Fix NPE crash in extracted input UI (#1758)
  • Fix statistical glide typing manager crashing in some cases (#1632)
  • Fix keys can get stuck with active visuals (#1446)
  • Fix popup stays active when using multitouch (#1450)
  • Fix delete key swipe right deleting left words (#1765)
  • Improve devtools overlay UI and remove unnecessary code (#1763)

Layout changes & fixes

  • Add German (Gboard) layout (#1737, thanks @m-koushan)
  • Fix Korean composition of medial+final and final+final (#1757, thanks @Hayleia)
  • Fix Persian layout issue (#1746, thanks @m-koushan)
  • Fix Unicode non-spacing marks for Thai (#1759)
    • For Android 7+ devices all Unicode non-spacing characters are now fixed with this change

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.15/16 hotfix releases.
  • Glide typing has issues recognizing long words (unknown cause atm)

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.15-rc01...v0.3.15-rc02

florisboard - v0.3.15-rc01

Published by patrickgold over 2 years ago

Changes

  • Add Pure Night and all borderless themes again to the default themes (#1702)
  • Add support for Extracted Landscape Input (#1734)
    • This fixes issues where the keyboard laid itself over the input field.
    • Custom themeing of this layout is possible but may not always work, especially on some series of Xiaomi and Samsung devices. This is a known issue but difficult to fix, as the system and the keyboard fight to color the same UI elements on those devices.
    • For default theme users the new colors for this UI will automatically apply, for custom theme users it must be manually added to the theme. (See the default themes for the setup)
  • Add support for videos on clipboard history (#1721)
    • Note that not many apps support videos from the clipboard, so in many instances you won't be able to paste a video yet.
  • Add support for locale display language in devtools
  • Add Chinese (Simplified) (zh-CN) as available language to translate
  • Decrease visual key height for borderless themes
  • Fix glide not initializing if disabled on app start (#1703)
  • Fix glide trail not drawing if popups disabled (#1704)
  • Fix space bar ignoring "No action" setting (#1706)
  • Fix փ missing in Armenian layouts (#1741, thanks @pjtsearch)
  • Improve Ukrainian popup mappings (#1739, thanks @honsiorovskyi)

Known issues

  • When showing the keyboard UI after longer idling, it may refuse to accept touch input at first. If this happens, hide the keyboard and tap back into the text field you want to type, then it works again. This is a temporary workaround and hopefully a fix will be found for the 0.3.15/16 hotfix releases.
  • Glide typing has issues recognizing long words (unknown cause atm)

Commits included in this release: https://github.com/florisboard/florisboard/compare/v0.3.15-beta02...v0.3.15-rc01

Package Rankings
Top 6.69% on Proxy.golang.org
Badges
Extracted from project README
Crowdin Matrix badge Contributor Covenant FlorisBoard CI
Related Projects