Commit graph

3173 commits

Author SHA1 Message Date
Joshua A. Horton
64037c0832 feat(web): content editable editing for touch 2022-09-29 08:17:49 +07:00
Joshua A. Horton
5d74d89e2c chore(web): better blur-event swallowing 2022-09-29 08:17:48 +07:00
Joshua A. Horton
fe585b88af chore(web): removal of 'kmw_ip' checks, references 2022-09-29 08:17:47 +07:00
Joshua A. Horton
7b498d60e1 chore(web): missed some spots 2022-09-29 08:17:46 +07:00
Joshua A. Horton
dfca726cf1 chore(web): fully removes touch-alias stuff 2022-09-29 08:17:45 +07:00
Joshua A. Horton
7bf29cecfd change(web): disconnects touch alias hooks, adds .inputMode 2022-09-29 08:17:44 +07:00
Joshua A. Horton
0bbc3e7375 chore(web): reverts accidental branch creep 2022-09-27 08:59:56 +07:00
Joshua Horton
fc7dfb9879
Merge pull request #7346 from keymanapp/chore/web/update-toolchain
chore(web): update Node dev-dependencies
2022-09-27 08:53:42 +07:00
Joshua A. Horton
be6bf141c1 fix(web): vscode merge got in the way 2022-09-22 15:46:49 +07:00
Joshua A. Horton
dce7ef74b2 fix(web): fixes for non-focus-related unit-test breaks 2022-09-22 15:44:56 +07:00
Joshua A. Horton
fc105b1dab chore(web): updates karma dev-dependency 2022-09-22 09:13:20 +07:00
Joshua A. Horton
cf1088027b fix(common/web): mocks did not update deadkey positions on context manipulation 2022-09-22 08:57:45 +07:00
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