From ecd3f9a1fa947e5659d5a0f5af365af3e7b59581 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 17:38:41 +0200 Subject: [PATCH 01/14] maint(android): remove `--ci` parameter from android builds `--ci` is deprecated since the current code discovers automatically when we're building on CI, so we don't have to pass that option when calling the `android/build.sh` script. Also remove the option itself since we're no longer using it. Build-bot: build android Test-bot: skip --- android/build.sh | 1 - resources/teamcity/android/android-actions.inc.sh | 2 +- resources/teamcity/android/keyman-android-test-samples.sh | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/android/build.sh b/android/build.sh index 12017e2c6b..caeddb5b51 100755 --- a/android/build.sh +++ b/android/build.sh @@ -39,7 +39,6 @@ builder_describe \ test \ "publish Publishes symbols to Sentry and the APKs to the Play Store." \ "archive Copy release artifacts to upload/ and rsync to downloads.keyman" \ - "--ci+ Deprecated build option. Remove in 20.0" \ --upload-sentry+ \ ":engine=KMEA Keyman Engine for Android" \ ":app=KMAPro Keyman for Android" \ diff --git a/resources/teamcity/android/android-actions.inc.sh b/resources/teamcity/android/android-actions.inc.sh index 4e0273c5fc..e6337d46bc 100755 --- a/resources/teamcity/android/android-actions.inc.sh +++ b/resources/teamcity/android/android-actions.inc.sh @@ -13,6 +13,6 @@ android_build_action() { local TARGETS="$1" # REVIEW: is it deliberate that we `configure` all targets but only `build,test` `$TARGETS`? - "${KEYMAN_ROOT}/android/build.sh" configure build,test:"${TARGETS}" --debug --ci + "${KEYMAN_ROOT}/android/build.sh" configure build,test:"${TARGETS}" --debug builder_echo end "build" success "Finished building Keyman for Android" } diff --git a/resources/teamcity/android/keyman-android-test-samples.sh b/resources/teamcity/android/keyman-android-test-samples.sh index 2698ad914a..1faa1b6c66 100755 --- a/resources/teamcity/android/keyman-android-test-samples.sh +++ b/resources/teamcity/android/keyman-android-test-samples.sh @@ -31,7 +31,7 @@ cd "${KEYMAN_ROOT}/android" function do_build() { "${KEYMAN_ROOT}/android/build.sh" \ configure,build:engine,sample1,sample2,keyboardharness \ - --debug --ci + --debug } if builder_has_action all; then From 5a1bf527272e20ea78d93811ccbf85d9e60ab0f8 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 13:10:42 +0200 Subject: [PATCH 02/14] refactor(resources): replace shebang for include files Include files are not directly executable, so it doesn't make sense to have the shebang line. However, shellcheck needs to know what shell we use. Turns out there is a shellcheck line that we can add instead of the shebang line. Follow-up-of: #14253 Build-bot: skip Test-bot: skip --- resources/teamcity/android/android-actions.inc.sh | 2 +- resources/teamcity/developer/developer-actions.inc.sh | 2 +- resources/teamcity/includes/tc-actions.inc.sh | 2 +- resources/teamcity/includes/tc-download-info.inc.sh | 2 +- resources/teamcity/includes/tc-helpers.inc.sh | 2 +- resources/teamcity/includes/tc-linux.inc.sh | 2 +- resources/teamcity/includes/tc-mac.inc.sh | 2 +- resources/teamcity/includes/tc-windows.inc.sh | 2 +- resources/teamcity/ios/ios-actions.inc.sh | 2 +- resources/teamcity/macos/macos-actions.inc.sh | 2 +- resources/teamcity/web/web-actions.inc.sh | 2 +- resources/teamcity/windows/windows-actions.inc.sh | 1 + 12 files changed, 12 insertions(+), 11 deletions(-) diff --git a/resources/teamcity/android/android-actions.inc.sh b/resources/teamcity/android/android-actions.inc.sh index 4e0273c5fc..18cfc59ef5 100755 --- a/resources/teamcity/android/android-actions.inc.sh +++ b/resources/teamcity/android/android-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. android_clean_action() { diff --git a/resources/teamcity/developer/developer-actions.inc.sh b/resources/teamcity/developer/developer-actions.inc.sh index 66cb82756a..c7fef7a5f4 100644 --- a/resources/teamcity/developer/developer-actions.inc.sh +++ b/resources/teamcity/developer/developer-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. developer_install_dependencies_on_linux_action() { diff --git a/resources/teamcity/includes/tc-actions.inc.sh b/resources/teamcity/includes/tc-actions.inc.sh index 0834c32f43..ed06865178 100644 --- a/resources/teamcity/includes/tc-actions.inc.sh +++ b/resources/teamcity/includes/tc-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. # Run the clean action in the `linux` directory.` diff --git a/resources/teamcity/includes/tc-download-info.inc.sh b/resources/teamcity/includes/tc-download-info.inc.sh index 25755af877..c1e596a394 100644 --- a/resources/teamcity/includes/tc-download-info.inc.sh +++ b/resources/teamcity/includes/tc-download-info.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. # shellcheck disable=SC2154 diff --git a/resources/teamcity/includes/tc-helpers.inc.sh b/resources/teamcity/includes/tc-helpers.inc.sh index 7ec2c3d98a..5a02face40 100644 --- a/resources/teamcity/includes/tc-helpers.inc.sh +++ b/resources/teamcity/includes/tc-helpers.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. # Returns 0 if we're running on Ubuntu. diff --git a/resources/teamcity/includes/tc-linux.inc.sh b/resources/teamcity/includes/tc-linux.inc.sh index 8427ba765e..8e8db447a0 100644 --- a/resources/teamcity/includes/tc-linux.inc.sh +++ b/resources/teamcity/includes/tc-linux.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. # Returns 0 if the OS version is greater than or equal to the specified version. diff --git a/resources/teamcity/includes/tc-mac.inc.sh b/resources/teamcity/includes/tc-mac.inc.sh index 911fec97ff..69d805bb0a 100644 --- a/resources/teamcity/includes/tc-mac.inc.sh +++ b/resources/teamcity/includes/tc-mac.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. ba_mac_unlock_keychain() { diff --git a/resources/teamcity/includes/tc-windows.inc.sh b/resources/teamcity/includes/tc-windows.inc.sh index b8d840a61b..9d7a637025 100644 --- a/resources/teamcity/includes/tc-windows.inc.sh +++ b/resources/teamcity/includes/tc-windows.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. download_symbol_server_index() { diff --git a/resources/teamcity/ios/ios-actions.inc.sh b/resources/teamcity/ios/ios-actions.inc.sh index 00b82b7f5c..acf904fe0f 100755 --- a/resources/teamcity/ios/ios-actions.inc.sh +++ b/resources/teamcity/ios/ios-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. ios_build() { diff --git a/resources/teamcity/macos/macos-actions.inc.sh b/resources/teamcity/macos/macos-actions.inc.sh index a463db4612..84095beac7 100755 --- a/resources/teamcity/macos/macos-actions.inc.sh +++ b/resources/teamcity/macos/macos-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. macos_clean_action() { diff --git a/resources/teamcity/web/web-actions.inc.sh b/resources/teamcity/web/web-actions.inc.sh index 60665e01f2..e464c78940 100644 --- a/resources/teamcity/web/web-actions.inc.sh +++ b/resources/teamcity/web/web-actions.inc.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. web_install_dependencies_on_linux_action() { diff --git a/resources/teamcity/windows/windows-actions.inc.sh b/resources/teamcity/windows/windows-actions.inc.sh index e8553bef0f..3b5699447c 100755 --- a/resources/teamcity/windows/windows-actions.inc.sh +++ b/resources/teamcity/windows/windows-actions.inc.sh @@ -1,3 +1,4 @@ +# shellcheck shell=bash # Keyman is copyright (C) SIL Global. MIT License. windows_build_action() { From 4624a22038cf481ebd9983e1089a6d7482d51602 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Thu, 3 Jul 2025 14:03:01 -0400 Subject: [PATCH 03/14] auto: increment master version to 19.0.77 --- HISTORY.md | 14 ++++++++++++++ VERSION.md | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index c76f95dbb9..bb915863e7 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,19 @@ # Keyman Version History +## 19.0.76 alpha 2025-07-03 + +* maint(common): move TC configuration for common tests (#14205) +* refactor(common): improve downloads include script (#14253) +* maint(web): move rsync code to shared functions (#14254) +* maint(developer): replace Powershell scripts (#14255) +* maint(windows): move TC configuration for Keyman Windows to scripts (#14186) +* feat(windows): human text message for 413 error (#14055) +* refactor(web): move helper functions to beginning of function (#14252) +* maint(android): add TC build scripts for Keyman for Android (#14222) +* maint(linux): use `tc_rsync_upload` and `write_download_info` functions (#14258) +* maint(ios): add TC build scripts for iOS (#14229) +* maint(mac): add TC build scripts for macOS (#14239) + ## 19.0.75 alpha 2025-07-02 * feat(resources): support ignoring unknown options in builder (#14216) diff --git a/VERSION.md b/VERSION.md index ba0827f2cf..9cba072656 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.76 \ No newline at end of file +19.0.77 \ No newline at end of file From 366bd1c855e6ffdf21ef77b595763ec1b694927c Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 20:21:17 +0200 Subject: [PATCH 04/14] fix(core): fix failing `common-test-core.sh` script Also pass `win` for Windows which will build both x86 and x64. Test-bot: skip --- resources/teamcity/common/common-test-core.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/resources/teamcity/common/common-test-core.sh b/resources/teamcity/common/common-test-core.sh index 57bc8a1c2c..9ea781697a 100755 --- a/resources/teamcity/common/common-test-core.sh +++ b/resources/teamcity/common/common-test-core.sh @@ -25,19 +25,16 @@ builder_parse "$@" if is_ubuntu; then ARCH=arch elif is_windows; then - ARCH=x86 + ARCH=win elif is_macos; then ARCH=mac else builder_echo error "Unknown architecture" - return 1 + exit 1 fi function do_all() { "${KEYMAN_ROOT}/core/build.sh" configure,build,test:${ARCH} - if is_windows; then - "${KEYMAN_ROOT}/core/build.sh" configure,build,test:x64 - fi } builder_run_action all do_all From 4c8450a0d66502d66c159c35b77588cf245fd5e3 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 20:29:11 +0200 Subject: [PATCH 05/14] fix(ios): fix ios release builds We did already cd into that directory a few lines above. Build-bot: skip Test-bot: skip --- resources/teamcity/ios/keyman-ios-release.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/teamcity/ios/keyman-ios-release.sh b/resources/teamcity/ios/keyman-ios-release.sh index e5fe7346e0..933a275424 100755 --- a/resources/teamcity/ios/keyman-ios-release.sh +++ b/resources/teamcity/ios/keyman-ios-release.sh @@ -203,7 +203,6 @@ function __do_upload_to_fastlane() { export PILOT_GROUPS="Alpha" fi - cd "upload/${KEYMAN_VERSION}" command -v fastlane # shellcheck disable=SC2154 fastlane pilot upload \ From 3e406326743f7194f3ed3362412f1239309d144e Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 20:32:20 +0200 Subject: [PATCH 06/14] fix(mac): fix release build Skipping builds since the changed code only affects TC release builds. Build-bot: skip Test-bot: skip --- resources/teamcity/macos/keyman-macos-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/teamcity/macos/keyman-macos-release.sh b/resources/teamcity/macos/keyman-macos-release.sh index 1fad300c60..b20005bdfb 100755 --- a/resources/teamcity/macos/keyman-macos-release.sh +++ b/resources/teamcity/macos/keyman-macos-release.sh @@ -69,7 +69,7 @@ function _build_publish() { builder_echo end success "publish" "Finished publishing Keyman for macOS" } -function _do_publish() { +function do_publish() { _build_publish _publish_to_downloads_keyman_com upload_help "Keyman for macOS" mac From cbcbae473e01e554746bd65d44d6252f5eef189f Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 3 Jul 2025 21:07:45 +0200 Subject: [PATCH 07/14] fix(common): fixes triggering builds if no builds to start If the PR only contains files that we ignore, we previously failed to finish the trigger build. This PR fixes the problem. The problem can be observed in #14271 which only changed a file in `resources/teamcity/common` which gets ignored in `find_platform_changes`. Test-bot: skip --- resources/build/run-required-test-builds.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/build/run-required-test-builds.sh b/resources/build/run-required-test-builds.sh index 02ec814969..9227c613cc 100755 --- a/resources/build/run-required-test-builds.sh +++ b/resources/build/run-required-test-builds.sh @@ -259,7 +259,7 @@ fi # Start test builds as required # -if (( ${#build_platforms[@]} > 0)); then +if [[ ! -z ${build_platforms:-} ]] && (( ${#build_platforms[@]:-0} > 0)); then builder_echo heading "Start test builds" triggerTestBuilds build_platforms $PRNUM else From ca14da0e79aa6711b8ec7458f0cddd9a7b4a6b6d Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 4 Jul 2025 07:39:11 +1000 Subject: [PATCH 08/14] maint(common): match OSTYPE correctly on macOS Fixes: #14276 --- resources/teamcity/includes/tc-helpers.inc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/teamcity/includes/tc-helpers.inc.sh b/resources/teamcity/includes/tc-helpers.inc.sh index 5a02face40..05bac1b746 100644 --- a/resources/teamcity/includes/tc-helpers.inc.sh +++ b/resources/teamcity/includes/tc-helpers.inc.sh @@ -22,7 +22,7 @@ is_windows() { # Returns 0 if we're running on macOS. is_macos() { - if [[ "${OSTYPE:-}" == "darwin" ]]; then + if [[ "${OSTYPE:-}" == darwin* ]]; then return 0 else return 1 From 94efd2c6390f76be07e23c42a60e3eb84224d847 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 4 Jul 2025 07:58:32 +1000 Subject: [PATCH 09/14] maint(common): trigger common builds for resources/teamcity/common changes Also removes old paths from triggers, and updates comments on matched patterns. Fixes: #14278 Test-bot: skip --- resources/build/trigger-definitions.inc.sh | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/resources/build/trigger-definitions.inc.sh b/resources/build/trigger-definitions.inc.sh index db879b95e8..8748e63edf 100644 --- a/resources/build/trigger-definitions.inc.sh +++ b/resources/build/trigger-definitions.inc.sh @@ -38,15 +38,23 @@ available_platforms_regex=`echo "${available_platforms[@]}" | sed 's/ /|/g'` # We also allow 'common' and 'core' platforms for Build-bot: commands readonly available_platforms_regex="$available_platforms_regex|common|core" -# the base folder for each pattern does not need to be included, nor oem folders -# e.g. android='common/models|common/predictive-text' -# will expand into android='^(android|(oem/[^/]+/android)|common/models|common/predictive-text)' +# the base folder for each pattern does not need to be included, nor oem +# folders, nor resources/teamcity folders +# +# e.g. watch_android='web|comon/web' will expand to cover: +# android +# oem/*/android +# web +# common/web +# resources/teamcity/android +# resources/teamcity/includes -watch_android='web|common/models|common/predictive-text|common/web' -watch_ios='web|common/models|common/predictive-text|common/web' + +watch_android='web|common/web' +watch_ios='web|common/web' watch_linux='core|common/test/keyboards/baseline' watch_mac='core' -watch_web='common/models|common/predictive-text|common/web|core' +watch_web='common/web|core' watch_windows='common|core|web' watch_developer='common|core|web' @@ -55,10 +63,10 @@ watch_developer='common|core|web' watch_common_web='common/web' # Currently, we run web tests on all three of our build platforms, to ensure # that they work in all our environments. So we need to include common/web in -# the matches for these -watch_common_windows='common/windows|common/web' -watch_common_mac='common/mac|common/web' -watch_common_linux='common/linux|common/web' +# the matches for these, as well as resources/teamcity/common +watch_common_windows='common/windows|common/web|resources/teamcity/common' +watch_common_mac='common/mac|common/web|resources/teamcity/common' +watch_common_linux='common/linux|common/web|resources/teamcity/common' # # Available build configurations and VCS identifiers; identifiers are somewhat inconsistent due From d1e1058591d0659d0534c309e0606e7c7334e00a Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Thu, 3 Jul 2025 23:14:14 -0400 Subject: [PATCH 10/14] auto: increment master version to 19.0.78 --- HISTORY.md | 11 +++++++++++ VERSION.md | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index bb915863e7..31d0547ff8 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,16 @@ # Keyman Version History +## 19.0.77 alpha 2025-07-04 + +* maint(mac): rename `_do_publish` function to `do_publish` to fix release build (#14273) +* maint(ios): remove extra `cd` command from ios release builds (#14272) +* maint(android): remove `--ci` parameter from android builds (#14264) +* refactor(resources): replace shebang for TC include files (#14265) +* fix(core): fix failing `common-test-core.sh` script (#14271) +* maint(common): match OSTYPE correctly on macOS (#14277) +* fix(common): fix triggering builds if no builds to start (#14274) +* maint(common): trigger common builds for resources/teamcity/common changes (#14279) + ## 19.0.76 alpha 2025-07-03 * maint(common): move TC configuration for common tests (#14205) diff --git a/VERSION.md b/VERSION.md index 9cba072656..3b8dc801c8 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.77 \ No newline at end of file +19.0.78 \ No newline at end of file From 1ac8c2ded75428bca3ba27370d66d686b7910bbe Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Fri, 4 Jul 2025 03:38:34 -0500 Subject: [PATCH 11/14] docs(developer): Fix links in gestures guide Follows #14204 and fixes the broken links found in keymanapp/help.keyman.com#2149 --- .../guides/develop/touch-keyboard-tutorial/gestures.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md b/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md index c66039cee3..b9c4697573 100644 --- a/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md +++ b/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md @@ -4,11 +4,11 @@ title: Using Gestures in Keyman Developer Keyman Developer offers **Longpress** keys, **Flicks**, and **Multitaps** for touch keyboard layout. To allow gestures onto your keyboard, go to the Touch layout tab and define the keys as follows: -Keyman Developer touch layout gestures +Keyman Developer touch layout gestures ## Tips -***Flicks** and **long presses** can both be used in a single keyboard. In this scenario, it is recommended to use flicks in only one direction—south (down). Long presses work well alongside this pattern. See, for example, [sil_euro_latin](../../../../keyboard/sil_euro_latin/3.0.3/sil_euro_latin#toc-mobile-keyboard-layout). +***Flicks** and **long presses** can both be used in a single keyboard. In this scenario, it is recommended to use flicks in only one direction—south (down). Long presses work well alongside this pattern. See, for example, [sil_euro_latin](/keyboard/sil_euro_latin/3.0.3/sil_euro_latin#toc-mobile-keyboard-layout). * Another helpful tip seen in the sil_euro_latin keyboard is using south-flicks on the base and shift layers corresponding to the numeric/symbol layer, this aids in both memorization and discovery. * **Flicks** in multiple directions are possible, but currently Keyman does not support hints for multiple directions, so they are not very discoverable. * **Long presses** are more discoverable, but **flicks** are faster. We suggest using south flicks along with long presses, and including the flick output in the long press for maximum discoverability and optimum ergonomics. @@ -22,5 +22,5 @@ Keyman Developer offers **Longpress** keys, **Flicks**, and **Multitaps** for to ## See also -* The [Winchus keyboard](../../../../keyboard/winchus/1.4/winchus#guia-rapida-celular) -* The [GFF Amharic keyboard](../../../../keyboard/gff_amharic/3.2.1/gff_amharic#toc-using-this-keyboard) \ No newline at end of file +* The [Winchus keyboard](/keyboard/winchus/1.4/winchus#guia-rapida-celular) +* The [GFF Amharic keyboard](/keyboard/gff_amharic/3.2.1/gff_amharic#toc-using-this-keyboard) \ No newline at end of file From 1333d78eb47374cc723593b243a8a51e74ca25fc Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 4 Jul 2025 21:46:32 +0200 Subject: [PATCH 12/14] Apply suggestions from code review --- .../help/guides/develop/touch-keyboard-tutorial/gestures.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md b/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md index b9c4697573..b09d5919cf 100644 --- a/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md +++ b/developer/docs/help/guides/develop/touch-keyboard-tutorial/gestures.md @@ -8,7 +8,7 @@ Keyman Developer offers **Longpress** keys, **Flicks**, and **Multitaps** for to ## Tips -***Flicks** and **long presses** can both be used in a single keyboard. In this scenario, it is recommended to use flicks in only one direction—south (down). Long presses work well alongside this pattern. See, for example, [sil_euro_latin](/keyboard/sil_euro_latin/3.0.3/sil_euro_latin#toc-mobile-keyboard-layout). +***Flicks** and **long presses** can both be used in a single keyboard. In this scenario, it is recommended to use flicks in only one direction—south (down). Long presses work well alongside this pattern. See, for example, [sil_euro_latin](https://help.keyman.com/keyboard/sil_euro_latin/3.0.3/sil_euro_latin#toc-mobile-keyboard-layout). * Another helpful tip seen in the sil_euro_latin keyboard is using south-flicks on the base and shift layers corresponding to the numeric/symbol layer, this aids in both memorization and discovery. * **Flicks** in multiple directions are possible, but currently Keyman does not support hints for multiple directions, so they are not very discoverable. * **Long presses** are more discoverable, but **flicks** are faster. We suggest using south flicks along with long presses, and including the flick output in the long press for maximum discoverability and optimum ergonomics. @@ -22,5 +22,5 @@ Keyman Developer offers **Longpress** keys, **Flicks**, and **Multitaps** for to ## See also -* The [Winchus keyboard](/keyboard/winchus/1.4/winchus#guia-rapida-celular) -* The [GFF Amharic keyboard](/keyboard/gff_amharic/3.2.1/gff_amharic#toc-using-this-keyboard) \ No newline at end of file +* The [Winchus keyboard](https://help.keyman.com/keyboard/winchus/1.4/winchus#guia-rapida-celular) +* The [GFF Amharic keyboard](https://help.keyman.com/keyboard/gff_amharic/3.2.1/gff_amharic#toc-using-this-keyboard) \ No newline at end of file From 598e33c2853adf8db1b8d4b92655b40ac0511d0d Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Fri, 4 Jul 2025 16:02:50 -0400 Subject: [PATCH 13/14] auto: increment master version to 19.0.79 --- HISTORY.md | 4 ++++ VERSION.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 31d0547ff8..d31f440304 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 19.0.78 alpha 2025-07-04 + +* docs(developer): Fix links in gestures guide (#14297) + ## 19.0.77 alpha 2025-07-04 * maint(mac): rename `_do_publish` function to `do_publish` to fix release build (#14273) diff --git a/VERSION.md b/VERSION.md index 3b8dc801c8..1b64c3a8c4 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.78 \ No newline at end of file +19.0.79 \ No newline at end of file From 0a5342150d1b2f29c2b726fb75683fb9cc7408ce Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 7 Jul 2025 17:34:08 +0200 Subject: [PATCH 14/14] maint(android): use `--release` for release builds This will fix the Android release builds. Previously we did a debug build but then tried to copy files from the release build folder. The original build config passed `--release` when doing a release build, which lost when moving to build scripts. Fixes: #14302 Build-bot: skip Build-bot: release android Test-bot: skip --- resources/teamcity/android/android-actions.inc.sh | 3 ++- resources/teamcity/android/keyman-android-release.sh | 4 ++-- resources/teamcity/android/keyman-android-test.sh | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/teamcity/android/android-actions.inc.sh b/resources/teamcity/android/android-actions.inc.sh index 7fa0345096..5c56b81abe 100755 --- a/resources/teamcity/android/android-actions.inc.sh +++ b/resources/teamcity/android/android-actions.inc.sh @@ -11,8 +11,9 @@ android_clean_action() { android_build_action() { builder_echo start "build" "Building Keyman for Android" local TARGETS="$1" + local ARGS="$2" # REVIEW: is it deliberate that we `configure` all targets but only `build,test` `$TARGETS`? - "${KEYMAN_ROOT}/android/build.sh" configure build,test:"${TARGETS}" --debug + "${KEYMAN_ROOT}/android/build.sh" configure build,test:"${TARGETS}" ${ARGS} builder_echo end "build" success "Finished building Keyman for Android" } diff --git a/resources/teamcity/android/keyman-android-release.sh b/resources/teamcity/android/keyman-android-release.sh index 31dd0d9c4e..7aa258ee49 100755 --- a/resources/teamcity/android/keyman-android-release.sh +++ b/resources/teamcity/android/keyman-android-release.sh @@ -120,10 +120,10 @@ fi if builder_has_action all; then android_clean_action - android_build_action "${TARGETS}" + android_build_action "${TARGETS}" --release do_publish else builder_run_action clean android_clean_action - builder_run_action build android_build_action "${TARGETS}" + builder_run_action build android_build_action "${TARGETS}" --release builder_run_action publish do_publish fi diff --git a/resources/teamcity/android/keyman-android-test.sh b/resources/teamcity/android/keyman-android-test.sh index 8a531a2bfe..ca856e1ff4 100755 --- a/resources/teamcity/android/keyman-android-test.sh +++ b/resources/teamcity/android/keyman-android-test.sh @@ -38,8 +38,8 @@ fi if builder_has_action all; then android_clean_action - android_build_action "${TARGETS}" + android_build_action "${TARGETS}" --debug else builder_run_action clean android_clean_action - builder_run_action build android_build_action "${TARGETS}" + builder_run_action build android_build_action "${TARGETS}" --debug fi