Skip to content

Commit

Permalink
chore(core): Merge branch 'feat/web/readkbd' into feat/core/kbd_from_…
Browse files Browse the repository at this point in the history
…blob
  • Loading branch information
ermshiperete committed Oct 9, 2024
2 parents db64bad + 080b5dd commit 09f89b6
Show file tree
Hide file tree
Showing 1,704 changed files with 33,961 additions and 4,469 deletions.
6 changes: 2 additions & 4 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ common/:
- common/**
- resources/**

common/models/: common/models/**
common/models/types/: common/models/types/**
common/models/templates/: common/models/templates/**
common/models/wordbreakers/: common/models/wordbreakers/**
common/models/templates/: web/src/engine/predictive-text/templates/**
common/models/wordbreakers/: web/src/engine/predictive-text/wordbreakers/**

common/resources/: resources/**
common/web/: common/web/**
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/api-verification.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: "API Verification"
run-name: "API Verification for ${{ github.ref_name }}"
on:
workflow_run:
workflows: [Ubuntu packaging]
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -184,3 +184,5 @@ lcov.info
/keyman*.changes
/keyman*.tar.?z

# flag file for build script
.configured
178 changes: 174 additions & 4 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,152 @@
# Keyman Version History

## 18.0.122 alpha 2024-10-07

* feat(mac): both option keys generate right alt if no left alt mapping (#12458)
* chore(common): improve configuration detection for hextobin (#12481)

## 18.0.121 alpha 2024-10-03

* docs(developer): Fix image links in help (#12488)
* fix(oem/fv): Update keyboard versions and names for fv_all.kmp 13.1 (#12486)
* feat(common): unified XML parser/writer (#12482)

## 18.0.120 alpha 2024-10-02

* chore(common): Add note on troubleshooting website errors (#12487)
* docs(common): mention `KEYMAN_USE_NVM` in minimum versions doc (#12490)
* docs(web): fix paths to several help pages (#12491)
* docs(web): fix structure of test document (#12492)

## 18.0.119 alpha 2024-09-28

* refactor(developer): copy dev 17.0 help into repo (#12427)
* fix(developer): warn before importing over touch layout (#12478)
* chore(linux): display branch name with API verification (#12480)
* docs(core): Update kmx-plus-file-format.md (#12479)

## 18.0.118 alpha 2024-09-26

* chore(developer): add context/options (#11566)
* chore(deps-dev): bump rollup from 4.16.4 to 4.22.4 (#12462)
* fix(developer): ignore excess whitespace in `<row keys>` attribute (#12468)
* refactor(common): move help into common prod/docs/help folders (#12424)
* fix(developer): publish developer-utils package during build (#12471)
* fix(linux): ignore additional C++ symbol in API check (#12474)

## 18.0.117 alpha 2024-09-25

* docs(common): Document how to skip generating CDN on websites (#12446)
* fix(android): Remove toggle for "Always Show Banner" (#12430)
* fix(android): Hide suggestion banner on password fields (#12442)
* fix(developer): prevent invalid string ids (#12465)

## 18.0.116 alpha 2024-09-20

* change(mac): remove verbose logging option (#12431)
* chore(common): Allow to build offline (#12439)

## 18.0.115 alpha 2024-09-19

* chore(common): detect ssh remotes in git hooks (#12437)
* fix(common): add proper configure output for hextobin (#12440)
* fix(core): add missing dependency for core (#12438)
* chore(developer): remove .js output from LDML compiler (#12432)

## 18.0.114 alpha 2024-09-17

* fix(developer): rewrite ldml visual keyboard compiler (#12402)
* fix(developer): check vars string usage before definition (#12404)
* change(mac): remove 'Always show OSK' option (#12355)

## 18.0.113 alpha 2024-09-16

* test(developer): kmcmplib compiler unit tests 3 (#11990)

## 18.0.112 alpha 2024-09-14

* chore(deps): bump express from 4.19.2 to 4.20.0 (#12396)

## 18.0.111 alpha 2024-09-13

* chore(common): Update crowdin strings for Italian (#12408)
* fix(common): correct offsets in KMX+ spec (#12350)
* fix(android): Add gating to setLongpressDelay() (#12410)

## 18.0.110 alpha 2024-09-12

* chore(common): Update to Unicode 16.0 (#12393)
* refactor(web): move `common/web/es-bundling``web/src/tools/es-bundling` (#12389)
* refactor(web): move `common/web/eslint``common/tools/eslint` (#12390)
* refactor(web): move sentry-manager → `web/src/engine/sentry-manager` (#12397)
* refactor(web): merge `device-detect` with `web/src/engine/main` (#12399)
* chore(web): allow to run unit tests in vscode test explorer (#12400)
* fix(developer): index() requires comma between parameters in kmcmplib compiler (#12328)

## 18.0.109 alpha 2024-09-11

* chore(common): Update history with 17.0.329 stable (#12394)
* refactor(web): move `model/templates` to `web/src/engine/predictive/text` (#12382)
* refactor(web): move `common/models` to `web/src/engine/predictive-text` (#12383)
* refactor(web): move `common/web/utils` to `web/src/engine/common/web-utils/` (#12384)

## 18.0.108 alpha 2024-09-10

* docs(android): Update help docs (#12367)
* fix(developer): fix building with Ubuntu 24.04 (#12379)
* refactor(android): Move build-publish.sh to builder script (#12351)
* fix(android): Separate `publishSentry` Gradle task to publish symbols to Sentry (#12358)
* refactor(web): move `model/types` to `web/types` (#12370)

## 18.0.107 alpha 2024-09-09

* fix(android): Update Text Size menu icons for RTL support (#12290)

## 18.0.106 alpha 2024-09-06

* feat(windows): add right modifier included in hotkey optional functionality (#12259)
* fix(android): Skip language counts for lexical-model packages (#12361)
* docs(web): fix link to documentation page (#12369)

## 18.0.105 alpha 2024-09-05

* chore(common): Fix missing entries in HISTORY.md (#12352)
* docs(android): Add in-app help for adjusting longpress delay (#12359)
* fix(mac): avoid crash on startup with macOS 10.15 (Catalina) (#12354)
* chore(oem/fv): Update to fv_all 13.0 (#12362)
* feat(windows): Add two new strings for SIL Global name instead of SIL International (#12327)

## 18.0.104 alpha 2024-09-03

* fix(mac): display package info after keyboard installation (#12326)

## 18.0.103 alpha 2024-09-02

* feat(windows): Remove hotkey related feature flags (#12252)
* feat(windows): update SIL logo for Windows UI (#12250)

## 18.0.102 alpha 2024-08-30

* docs(web): add documentation comments for touch layout interfaces (#12314)
* change(mac): store data in Library directory instead of Documents (#12106)
* change(mac): store partial path in UserDefaults (#12144)

## 18.0.101 alpha 2024-08-29

* refactor(web): move `gesture-recognizer``gesture-processor` (#12194)
* docs(core): fix a typo in the KMX+ doc (#12302)
* chore(web): remove obsolete comment (#12304)
* chore(android,ios): Update FirstVoices keyboards to fv_all.kmp 12.15 (#12300)
* fix(developer): make LDML import path consistent for all bundlings of kmc (#12280)
* fix(core): properly support 'other' modifier state with `uint32_t` type (#12281)
* chore(windows): fix typo in environment.inc.sh (#12286)
* fix(android): Check in material-stepper as internal Maven dependency (#12267)
* docs(core): improve formatting of KMX+ doc (#12303)
* fix(android): Prioritize certain actions over multi-line for ENTER key (#12315)
* fix(linux): add `keymanFacename` to .ldml file (#12277)
* chore(common): Update crowdin strings for Czech (#12316)
* fix(web): prevent unintuitive space-output blocking for mid-context suggestions (#12313)

## 18.0.100 alpha 2024-08-28

* fix(windows): check IM window will be in a visible location (#11967)
Expand All @@ -8,8 +155,8 @@

* feat(web): import the generator for the pred-text wordbreaker's Unicode-property data-table (#10690)
* feat(web): optimize the wordbreaker data table for filesize and ease of first-load parsing (#10692)
* (#12297)
* (#12115)
* fix(web): fixes wordbreaker test import path (#12297)
* feat(web): enable utf8 charset encoding for the build artifacts (#12115)

## 18.0.98 alpha 2024-08-26

Expand Down Expand Up @@ -54,11 +201,11 @@

## 18.0.93 alpha 2024-08-20

* (#12188)
* refactor(web): remove engine/interfaces dependency on engine/js-processor (#12188)
* fix(web): fix malformed reversion display strings (#12201)
* feat(android): Add menu to specify long-press delay (#12170)
* feat(android): Pass longpress delay to KeymanWeb (#12185)
* (#12223)
* fix(core): set mac build version for meson cli build to 10.13 (#12223)

## 18.0.92 alpha 2024-08-19

Expand Down Expand Up @@ -714,6 +861,29 @@
* chore(common): move to 18.0 alpha (#10713)
* chore: move to 18.0 alpha

## 17.0.329 stable 2024-09-09

* chore(android,ios): Add ojibwa ifinal/rdot keyboards to FirstVoices (#12020)
* change(web): revert #11174, which loads keyboards before initializing the OSK (#12040)
* fix(web): unrevert #11258, leaving OSK hidden before instructed to display (#12058)
* chore(common): use `nvm` to select version of node for builds (#12074)
* fix(developer): ignore scan code if zero in debugger (#12182)
* fix(developer): enforce presence of Version field when FollowKeyboardVersion is not set, in package compiler (#12206)
* fix(developer): enforce presence of kps Info.Description field in info compilers (#12207)
* fix(web): disable fat-finger data use when mayCorrect = false (#12226)
* chore(common): allow build agents to automatically select emsdk version, and enable support for 3.1.60+ (#12245)
* fix(web): fix documentation-keyboard spacebar-text scaling (#12240)
* fix(core): set mac build version for meson cli build to 10.13 (#12246)
* change(ios): defer registration of fonts past initialization (#12241)
* chore(android,ios): Update FirstVoices keyboards to 12.15 (#12301)
* fix(core): properly support 'other' modifier state with `uint32_t` type (#12285)
* fix(developer): find last matching key in LDML key bag when building KVK (#12284)
* fix(android): check in material-stepper as internal Maven dependency (#12324)
* fix(linux): add `keymanFacename` to .ldml file (#12283)
* chore(oem/fv): Update to fv_all 13.0 (#12363)
* fix(mac): avoid crash on startup with macOS 10.15 (Catalina) (#12364)
* fix(android): skip language counts for lexical-model packages (#12368)

## 17.0.328 stable 2024-07-27

* fix(web): add nullish test in setOsk (#12041)
Expand Down
2 changes: 1 addition & 1 deletion VERSION.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.0.101
18.0.123
4 changes: 2 additions & 2 deletions android/KMAPro/build-play-store-notes.inc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ function generateReleaseNotes() {
# Pad release notes if whatsnew.md doesn't have any line items
# Play Store release notes have a limit of 500 characters
local DEFAULT_RELEASE_NOTE="* Additional bug fixes and improvements"
local FILTERED_LINES=$( grep '^\s*\*.*$' "$KEYMAN_ROOT/android/help/about/whatsnew.md" || [[ $? == 1 ]] ) # Continue if grep has no matches
local FILTERED_LINES=$( grep '^\s*\*.*$' "$KEYMAN_ROOT/android/docs/help/about/whatsnew.md" || [[ $? == 1 ]] ) # Continue if grep has no matches
if [ -z "$FILTERED_LINES" ]; then
FILTERED_LINES="$DEFAULT_RELEASE_NOTE"
builder_warn "Warning: whatsnew.md empty so using default release note: '$FILTERED_LINES'"
fi

# Change IFS to new line
local old_IFS="${IFS}"
IFS=$'\n'
IFS=$'\n'
for line in $FILTERED_LINES
do
local CHARS_IN_RELEASE_NOTES=$( wc -m < "$PLAY_RELEASE_NOTES" )
Expand Down
10 changes: 6 additions & 4 deletions android/KMAPro/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,27 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
flatDir {
dirs "kMAPro/libs/com/stepstone/stepper/material-stepper/4.3.1/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
// sentry-android-gradle-plugin 2.1.5+ requires AGP 7.0
classpath 'io.sentry:sentry-android-gradle-plugin:4.6.0'
classpath 'name.remal:gradle-plugins:1.5.0'

// From jcenter() which could be sunset in future
// From jcenter() which was deprecated August 2024
// https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
classpath 'com.stepstone.stepper:material-stepper:4.3.1'
classpath 'com.stepstone.stepper:material-stepper:4.3.1@aar'
}
}

allprojects {
repositories {
maven { url uri("${projectDir}/libs") }
google()
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
}
Expand Down
13 changes: 13 additions & 0 deletions android/KMAPro/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "$KEYMAN_ROOT/resources/build/build-help.inc.sh"
. "$KEYMAN_ROOT/resources/build/build-download-resources.sh"

. "$KEYMAN_ROOT/android/KMAPro/build-play-store-notes.inc.sh"

# ################################ Main script ################################

# Definition of global compile constants
Expand All @@ -25,6 +27,7 @@ builder_describe "Builds Keyman for Android app." \
"configure" \
"build" \
"test Runs lint and unit tests." \
"publish Publishes symbols to Sentry and the APK to the Play Store." \
"--ci Don't start the Gradle daemon. For CI" \
"--upload-sentry Upload to sentry"

Expand Down Expand Up @@ -109,3 +112,13 @@ if builder_start_action test; then

builder_finish_action success test
fi

if builder_start_action publish; then
# Copy Release Notes
generateReleaseNotes

# Publish symbols and Keyman for Android to Play Store
./gradlew $DAEMON_FLAG publishSentry publishReleaseApk

builder_finish_action success publish
fi
18 changes: 11 additions & 7 deletions android/KMAPro/kMAPro/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,17 @@ android {
}

// how to configure the sentry android gradle plugin
sentry {
// Disables or enables the automatic configuration of Native symbols
uploadNativeSymbols = true

// Does or doesn't include the source code of native code for Sentry
includeNativeSources = true
task publishSentry {
doLast {
println 'Publishing Keyman symbols to Sentry'
sentry {
// Disables or enables the automatic configuration of Native symbols
uploadNativeSymbols = true

// Does or doesn't include the source code of native code for Sentry
includeNativeSources = true
}
}
}

String env_keys_json_file = System.getenv("keys_json_file")
Expand Down Expand Up @@ -145,7 +150,6 @@ repositories {
dirs 'libs'
}
google()
jcenter()
}

dependencies {
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 09f89b6

Please sign in to comment.