Commit graph

3161 commits

Author SHA1 Message Date
Marc Durdin
c704e33708
Merge pull request #7333 from keymanapp/refactor/common/builder_has_vs_start
refactor(common): `builder` script tweaks - "has action" vs "start action" 🏗️
2022-09-21 14:43:51 +10:00
Marc Durdin
f53bfad78e
Merge pull request #7319 from keymanapp/refactor/web/low-level-build-scripts
refactor(common/web): reworks low-level module build scripts 🏗️
2022-09-21 14:43:43 +10:00
Marc Durdin
a3129adedc refactor(common): rename builder_has_action and document
* `builder_has_action` renamed to `builder_start_action`
* `builder_report` renamed to `builder_finish_action`
* `builder_has_action` created to be a silent test for the action
* Added reasonably comprehensive documentation.
2022-09-21 10:21:35 +10:00
Joshua A. Horton
ccf2919bb4 feat(web): report-scoping no longer option; is perma-on 2022-09-20 10:56:01 +07:00
Joshua A. Horton
2f639ecc9c feat(common): builder report scoping option 2022-09-20 10:10:51 +07:00
Marc Durdin
73a85664d6
Merge pull request #7315 from keymanapp/chore/web/dependency-update-got-regression-test
chore(web): update `got` dependency for regression tests
2022-09-20 09:32:20 +10:00
Joshua A. Horton
d5f11f4555 chore(web): Merge branch 'master' into refactor/web/low-level-build-scripts 2022-09-19 14:22:51 +07:00
Marc Durdin
5da24ff279
Merge pull request #7307 from keymanapp/dependabot/npm_and_yarn/nanoid-and-mocha--removed
chore(deps): bump nanoid and mocha
2022-09-19 15:34:19 +10:00
Joshua A. Horton
24092511bb refactor(web): reworks low-level module build scripts 2022-09-19 12:04:14 +07:00
Marc Durdin
4be3e384d2 chore(web): update got dependency for regression tests
* Updates `got` from ^9.6.0 to ^11.8.5.
* Also fixes paths referencing developer, and tweaks command line help.
2022-09-19 13:49:21 +10:00
dependabot[bot]
93ec6106e1
chore(deps): bump nanoid and mocha
Bumps [nanoid](https://github.com/ai/nanoid) and [mocha](https://github.com/mochajs/mocha). These dependencies needed to be updated together.

Removes `nanoid`

Updates `mocha` from 8.4.0 to 10.0.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.4.0...v10.0.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
- dependency-name: mocha
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-16 21:06:23 +00:00
Joshua A. Horton
8c2fb269b6 fix(web): fixes unintended auto-acceptance of suggestion after reverting 2022-09-16 14:26:28 +07:00
Marc Durdin
4434cdc30d chore(web): disable browserstack on non-web-specific builds
Because BrowserStack tests are unreliable, I am disabling them for any
builds that are not specifically targeting web. Two ways that the tests
can be enabled:

1. Include '(web)' in the PR title
2. Include the label test-browserstack

This only impacts builds in the CI test environment, not anything else.

See build-utils-ci.inc.sh for helper functions for accessing PR
metadata, and build-utils-ci.test.sh for unit tests for this
functionality.
2022-09-11 07:19:18 +10:00
Joshua Horton
be77d55430
Merge pull request #7036 from keymanapp/fix/web/ui-module-test-stability
fix(web): button, float init timer cleanup
2022-08-16 09:56:23 +07:00
Joshua Horton
760a20e97f
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-08-16 08:13:01 +07:00
Joshua A. Horton
a7fe8be3f4 chore(web): cleans up UI init timer handling 2022-08-12 08:12:55 +07:00
Joshua A. Horton
fd713e0363 fix(web): late toolbar init 2022-08-05 13:31:05 +07:00
Joshua Horton
65770747a3
Merge pull request #6979 from keymanapp/fix/web/mobile-screen-dim-detection
change(web): updates mobile screen dimension detection code ⬅️
2022-08-05 08:37:35 +07:00
Joshua Horton
4c468429b3
Merge pull request #6787 from keymanapp/change/web/no-reloads-on-rotation
change(web): rotation polish - OSK reload no longer needed ⬅️
2022-08-05 08:37:27 +07:00
Joshua A. Horton
e8caeda643 fix(web): button, float init timer cleanup 2022-08-04 11:43:14 +07:00
Joshua A. Horton
12d894a8ba docs(web): addresses PR review doc requests 2022-08-04 09:24:29 +07:00
jahorton
4d14bc6998 fix(web): fixes previously-unstable unit test 2022-08-02 16:10:04 +07:00
jahorton
8fab028632 chore(web): minor unit test issue review, tweak 2022-08-02 15:47:28 +07:00
jahorton
967e36e405 chore(web): cleaner promise flow for other tests 2022-08-02 15:42:51 +07:00
jahorton
d2a92494a5 fix(web): Promise logic for keyboard-loading tests 2022-08-02 15:36:34 +07:00
Joshua A. Horton
8f4198501d refactor(web): converts test_utils funcs to Promise use 2022-08-02 11:08:46 +07:00
Joshua A. Horton
bac2578039 chore(web): addresses PR review comment 2022-08-02 08:10:01 +07:00
Joshua A. Horton
205312c451 chore(web): timeout-adapter implementation 2022-08-01 13:06:15 +07:00
Joshua A. Horton
5a7840753f chore(web): centralizes test-start timeout config logic 2022-08-01 11:39:14 +07:00
Joshua A. Horton
405a553c06 chore(web): requireable module for common CI test-config 2022-08-01 10:54:57 +07:00
Marc Durdin
ab54c0ecb9 chore(common): more bin bashes 2022-07-25 16:03:22 +10:00
Marc Durdin
767927bf16 chore(common): use /usr/bin/env bash
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.

This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:

```
if [[ -v _builder_params[$e] ]]; then
```
2022-07-25 14:59:37 +10:00
Marc Durdin
93a03acb9f chore(common): builder script :target and --option support
Adds support for :target and --option to the builder_() functions in
build-utils.sh, along with a consistent way of describing command line
parameters in short-hand form, so we can avoid the display_usage getting
out of sync with actual command line parameters.

I opted to tweak the existing usage slightly, reversing parameter order
for `builder_report`, so that we could extend `builder_report` cleanly
to support targets.

The new builder_() functions are `builder_describe` and `builder_parse`,
which should be used in place for `builder_init` where you want to
provide more detailed command-line options (for many scripts, the
defaults provided through `builder_init` may suffice).

`builder_describe` lets you set a single-line description of the script,
along with a list of parameters: `actions`, `:targets` and `--options`.
Options may also specify a shorthand form, e.g. `--option,-o`. Each
parameter may optionally include a short description, separated by
space(s) from the parameter name.

build-utils.test.sh tests the functionality of the various functions,
and provides some examples of using them.

Defaults:
* If a target is not specified in `builder_describe`, a standard target
  of `:project` will be available.
* If the user does not pass an action on the command line, then `build`
  will be used.
* If the user does not pass a target on the command line, all targets
  will have the actions applied.

Note, it is possible to have targets which do not use all actions. These
may be still be specified, but can be ignored. For example, `test:tools`
may not be an action:target that you handle in the script. At this time,
the builder_() functions do not attempt to check for this.
2022-07-25 14:31:58 +10:00
Joshua A. Horton
93ae6878db change(web): updates mobile screen-dim detection code 2022-07-21 15:12:20 +07:00
Joshua Horton
b8fd5eea31
Merge pull request #6902 from keymanapp/fix/web/block-set-layer-on-desktop
fix(web): layer-setting ops should not trigger for hardware keystroke processing 🖇️
2022-07-15 11:07:19 +07:00
Joshua A. Horton
5476c7b1c3 chore(web): applies PR suggestion (manually) 2022-07-14 08:42:04 +07:00
Joshua A. Horton
53578a114f change(web): relocates pageFocusHandler def'n 2022-07-13 08:22:48 +07:00
Joshua A. Horton
7342f7f9e6 fix(web): applies PR suggestions 2022-07-12 11:01:14 +07:00
jahorton
f085c60ac1 fix(web): reset context on page focus loss 2022-07-08 09:52:40 +07:00
Marc Durdin
8ba11f608d
Merge pull request #6890 from keymanapp/fix/web/improve-console-error-reporting
fix(web): improve `console.error()` reporting
2022-07-07 09:40:06 +10:00
Joshua A. Horton
a25da20083 Merge branch 'master' into change/web/no-reloads-on-rotation 2022-07-06 14:49:28 +07:00
Marc Durdin
35adc5b970
Merge pull request #6630 from keymanapp/chore/developer/js-to-lmc
chore(developer): rename developer/js to developer/kmlmc 🎢
2022-07-06 05:42:19 +10:00
Marc Durdin
3977ffda2f fix(web): remove spurious log "No keyboard stubs exist"
This error has been logged for every start of Keyman Engine for Web in
embedded contexts, but nothing bad ever happens. It does not really seem
to be anything we need to worry about. (It may be that the
`setDefaultKeyboard()` call will never return true, but it is still
harmless in any case.)
2022-07-05 15:36:21 +10:00
Marc Durdin
f3c091a667
Merge pull request #6891 from keymanapp/chore/web/update-readme
chore(web): update readme
2022-07-05 13:00:53 +10:00
Marc Durdin
c6bb33973c chore(web): update readme 2022-07-05 12:29:13 +10:00
jahorton
aa8730acda fix(web): properly binds 'suggestionApplied' event handler 2022-07-04 09:19:51 +07:00
Joshua Horton
658865d0af
Merge pull request #6854 from keymanapp/fix/web/6853-refresh-layout-undef-guard
fix(web): null-guard for refreshLayout
2022-06-29 13:30:01 +07:00
Joshua Horton
581bda77aa
Merge pull request #6786 from keymanapp/fix/web/6735-sticky-backspace-on-resize
fix(web): clears repeating bksp on keyboard reload ⬅️
2022-06-29 13:28:01 +07:00
jahorton
25e21a0109 fix(web): a more polished version 2022-06-27 10:14:21 +07:00
jahorton
858966fa91 fix(web): null-guard for refreshLayout 2022-06-27 10:09:11 +07:00