Skip to content

Commit c92f28e

Browse files
authored
Merge pull request #9420 from keymanapp/chore/merge-master-into-feature-kmc-kmw-a17s18
chore: merge master into feature-kmc-kmw (A17S18) 🗜
2 parents 166e0ca + cdf026c commit c92f28e

File tree

105 files changed

+2231
-1015
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+2231
-1015
lines changed

.github/workflows/crowdin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: Upload translation sources to Crowdin translate.keyman.com
22

33
on:
44
schedule:
5-
# At 06:00 every two weeks
6-
- cron: '0 6 1,15 * *'
5+
# At 06:00 every day. https://crontab.cronhub.io/
6+
- cron: '0 6 * * *'
77

88
jobs:
99
upload-sources-to-crowdin:

.github/workflows/deb-packaging.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: "Ubuntu packaging"
2-
run-name: "Ubuntu packaging - ${{ github.ref_name }} by @${{ github.actor }}"
2+
run-name: "Ubuntu packaging - ${{ github.event.client_payload.branch }} (branch ${{ github.head_ref }}), by @${{ github.actor }}"
33
on:
44
repository_dispatch:
55
types: ['deb-release-packaging:*', 'deb-pr-packaging:*']
@@ -18,6 +18,8 @@ jobs:
1818
VERSION: ${{ steps.version_step.outputs.VERSION }}
1919
PRERELEASE_TAG: ${{ steps.prerelease_tag.outputs.PRERELEASE_TAG }}
2020
GIT_SHA: ${{ steps.set_status.outputs.GIT_SHA }}
21+
GHA_TEST_BUILD: ${{ github.event.client_payload.isTestBuild }}
22+
GHA_BRANCH: ${{ github.event.client_payload.branch }}
2123
steps:
2224
- name: Checkout
2325
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c #v3.3.0
@@ -103,7 +105,10 @@ jobs:
103105
strategy:
104106
fail-fast: true
105107
matrix:
106-
dist: [focal, jammy, kinetic, lunar]
108+
# Currently not building mantic until ibus version on mantic stabilizied
109+
# and we can provide a patched version
110+
# dist: [focal, jammy, lunar, mantic]
111+
dist: [focal, jammy, lunar]
107112
arch: [amd64]
108113

109114
runs-on: ubuntu-latest

HISTORY.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,60 @@
11
# Keyman Version History
22

3+
## 17.0.153 alpha 2023-08-03
4+
5+
* docs(windows): Update OS requirement to Windows 10 (#9381)
6+
* fix(web): maintenance of focus when changing keyboard via Toolbar UI (#9397)
7+
* chore(linux): Remove Kinetic from GHA (#9399)
8+
* chore(linux): Properly treat test builds with packaging GHA (#9400)
9+
10+
## 17.0.152 alpha 2023-08-02
11+
12+
* fix(developer): more wasm uset fixes (#9382)
13+
* docs(windows): corrected nmake cmd for certificates (#9376)
14+
* chore: add run-name to deb-packaging (#9386)
15+
* chore: try another variable for reporting (#9388)
16+
* chore(linux): Remove package build on Jenkins for Keyman 17 (#9380)
17+
* docs(linux): Add build doc for Keyman Web and Android (#9383)
18+
19+
## 17.0.151 alpha 2023-08-01
20+
21+
* feat(developer) marker steps (#9364)
22+
* feat(common): marker processing (#9365)
23+
* chore(linux): Don't fail on parallel builds (#9368)
24+
* fix(developer): fix breakage from emscripten 3.1.44 (#9375)
25+
* docs(core): Document how to build Core on Linux (#9328)
26+
27+
## 17.0.150 alpha 2023-07-31
28+
29+
* chore(linux): Update debian changelog (#9358)
30+
* chore(linux): Fix creation of PRs after uploading to Debian (#9360)
31+
32+
## 17.0.149 alpha 2023-07-30
33+
34+
* fix(core): Better range check for Uni_IsValid() (#9346)
35+
* chore(core): update documentation in transform logic and processor (#9352)
36+
37+
## 17.0.148 alpha 2023-07-27
38+
39+
* feat(core): merge transform/reorder processing w/ u32 (#9293)
40+
* chore(developer): make unknown vkey a hint, not error (#9344)
41+
* chore(linux): Update supported Ubuntu versions (#9341)
42+
43+
## 17.0.147 alpha 2023-07-25
44+
45+
* chore(linux): Update debian changelog (#9327)
46+
47+
## 17.0.146 alpha 2023-07-24
48+
49+
* chore(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 (#9314)
50+
51+
## 17.0.145 alpha 2023-07-21
52+
53+
* fix(linux): Fix logging (#9310)
54+
* fix(windows): open pdf in an external browser (#9295)
55+
* fix(linux): Fix installation of keyboards with lang tag `mul` (#9027)
56+
* fix(web): allows registering precached keyboards (#9304)
57+
358
## 17.0.144 alpha 2023-07-20
459

560
* refactor(linux): Use better way to get username (#9313)

VERSION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
17.0.145
1+
17.0.154

common/web/lm-worker/build-wrap-and-minify.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ if(MINIFY) {
3535
sourcesContent: DEBUG,
3636
minify: true,
3737
keepNames: true,
38+
target: 'es5',
3839
outfile: `build/lib/worker-main.polyfilled.min.js`
3940
});
4041
}

common/web/types/src/kmx/kmx-plus-builder/build-list.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ export function build_list(source_list: List, sect_strs: BUILDER_STRS): BUILDER_
8686
* @returns
8787
*/
8888
export function build_list_index(sect_list: BUILDER_LIST, value: ListItem) : BUILDER_LIST_REF {
89+
if (!value) {
90+
return 0; // empty list
91+
}
8992
if(!(value instanceof ListItem)) {
9093
throw new Error('unexpected value '+ value);
9194
}

common/web/types/src/kmx/kmx-plus-builder/build-vars.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { constants } from "@keymanapp/ldml-keyboard-constants";
22
import { KMXPlusData } from "../kmx-plus.js";
33
import { build_strs_index, BUILDER_STR_REF, BUILDER_STRS } from "./build-strs.js";
44
import { BUILDER_SECTION } from "./builder-section.js";
5-
import { BUILDER_LIST_REF } from "./build-list.js";
5+
import { build_list_index, BUILDER_LIST, BUILDER_LIST_REF } from "./build-list.js";
66
import { build_elem_index, BUILDER_ELEM, BUILDER_ELEM_REF } from "./build-elem.js";
77

88

@@ -22,7 +22,7 @@ export interface BUILDER_VARS extends BUILDER_SECTION {
2222
/**
2323
* Builder for the 'vars' section
2424
*/
25-
export function build_vars(kmxplus: KMXPlusData, sect_strs: BUILDER_STRS, sect_elem: BUILDER_ELEM) : BUILDER_VARS {
25+
export function build_vars(kmxplus: KMXPlusData, sect_strs: BUILDER_STRS, sect_elem: BUILDER_ELEM, sect_list: BUILDER_LIST) : BUILDER_VARS {
2626
if(!kmxplus.vars) {
2727
return null;
2828
}
@@ -49,7 +49,7 @@ export function build_vars(kmxplus: KMXPlusData, sect_strs: BUILDER_STRS, sect_e
4949
size: constants.length_vars +
5050
(constants.length_vars_item * kmxplus.vars.totalCount()),
5151
_offset: 0,
52-
markers: 0,
52+
markers: build_list_index(sect_list, kmxplus.vars.markers),
5353
varCount: kmxplus.vars.totalCount(),
5454
varEntries: [
5555
...stringVars,

common/web/types/src/kmx/kmx-plus-builder/kmx-plus-builder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export default class KMXPlusBuilder {
9999
this.sect.name = build_name(this.file.kmxplus, this.sect.strs);
100100
this.sect.tran = build_tran(this.file.kmxplus.tran, this.sect.strs, this.sect.elem);
101101
this.sect.uset = build_uset(this.file.kmxplus, this.sect.strs);
102-
this.sect.vars = build_vars(this.file.kmxplus, this.sect.strs, this.sect.elem);
102+
this.sect.vars = build_vars(this.file.kmxplus, this.sect.strs, this.sect.elem, this.sect.list);
103103
this.sect.vkey = build_vkey(this.file.kmxplus);
104104

105105
// Finalize the sect (index) section

common/web/types/src/kmx/kmx-plus.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { isOneChar, toOneChar, unescapeString } from '../util/util.js';
66
import { KMXFile } from './kmx.js';
77
import { UnicodeSetParser, UnicodeSet } from '@keymanapp/common-types';
88
import { VariableParser } from '../ldml-keyboard/pattern-parser.js';
9+
import { MarkerParser } from '../ldml-keyboard/pattern-parser.js';
910

1011
// Implementation of file structures from /core/src/ldml/C7043_ldml.md
1112
// Writer in kmx-builder.ts
@@ -292,6 +293,9 @@ export class Vars extends Section {
292293
return v[0];
293294
}
294295
}
296+
substituteMarkerString(s : string) : string {
297+
return MarkerParser.toSentinelString(s, this.markers);
298+
}
295299
};
296300

297301
/**

common/web/types/src/kmx/string-list.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { OrderedStringList } from 'src/ldml-keyboard/pattern-parser.js';
12
import { Strs, StrsItem } from './kmx-plus.js';
23

34
/**
@@ -22,7 +23,7 @@ export class ListIndex {
2223
* A string list in memory. This will be replaced with an index
2324
* into the string table at finalization.
2425
*/
25-
export class ListItem extends Array<ListIndex> {
26+
export class ListItem extends Array<ListIndex> implements OrderedStringList {
2627
/**
2728
* Construct a new list from an array of strings.
2829
* Use List. This is meant to be called by the List.allocString*() functions.
@@ -41,6 +42,9 @@ export class ListItem extends Array<ListIndex> {
4142
this.push(index);
4243
}
4344
}
45+
getItemOrder(item: string): number {
46+
return this.findIndex(({value}) => value.value === item);
47+
}
4448
isEqual(a: ListItem | string[]): boolean {
4549
if (a.length != this.length) {
4650
return false;
@@ -68,7 +72,12 @@ export class ListItem extends Array<ListIndex> {
6872
return 0;
6973
}
7074
}
75+
/** for debugging, print as single string */
7176
toString(): string {
72-
return this.map(v => v.value.value).join(' ');
77+
return this.toStringArray().join(' ');
78+
}
79+
/** for debugging, map to string array */
80+
toStringArray(): string[] {
81+
return this.map(v => v.value.value);
7382
}
7483
};

0 commit comments

Comments
 (0)