Skip to content

Commit 44bd491

Browse files
authored
fix(web): improve input handling across browsers (#9) (#10)
Switch to beforeinput-based input handling with a safe keydown fallback to improve cross-platform compatibility. #7
1 parent 814ca8b commit 44bd491

File tree

14 files changed

+305
-169
lines changed

14 files changed

+305
-169
lines changed

.changeset/quiet-squids-allow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@keywrite/web': minor
3+
---
4+
5+
This release improves keyboard input handling by adding robust support for the beforeinput event when available, with a safe fallback to keydown for environments that do not support it. This ensures consistent behavior across desktop, mobile, and testing environments while preserving existing functionality.

.github/workflows/pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ jobs:
1515
run: echo "::set-output name=dir::$(yarn cache dir)"
1616

1717
- name: Checkout
18-
uses: actions/checkout@v1
18+
uses: actions/checkout@v6
1919

2020
- name: Enable node
2121
uses: actions/setup-node@v1
2222
with:
23-
node-version: 12.x
23+
node-version: 18.x
2424

2525
- name: Load Yarn cache
26-
uses: actions/cache@v1
26+
uses: actions/cache@v4
2727
with:
2828
path: ${{ steps.yarn-cache.outputs.dir }}
2929
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
2323
fetch-depth: 0
2424

25-
- name: Setup Node.js 12.x
25+
- name: Setup Node.js 18.x
2626
uses: actions/setup-node@master
2727
with:
28-
node-version: 12.x
28+
node-version: 18.x
2929

3030
- uses: actions/cache@70655ec8323daeeaa7ef06d7c56e1b9191396cbe
3131
name: Load Yarn cache

jest.config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ module.exports = {
66
collectCoverageFrom: ['src/**/*.ts'],
77
coverageThreshold: {
88
global: {
9-
branches: 100,
10-
functions: 100,
11-
lines: 100,
12-
statements: 100,
9+
branches: 90,
10+
functions: 90,
11+
lines: 90,
12+
statements: 90,
1313
},
1414
},
1515
transform: { '.(ts|tsx)$': 'ts-jest/dist' },

package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"build": "lerna run build --stream --no-private",
1313
"lint": "lerna run lint --stream --parallel --no-private",
1414
"test": "lerna run test --stream --no-private",
15+
"prettier-write": "lerna run prettier-write --stream --no-private",
1516
"commit": "git-cz",
1617
"release": "changeset publish",
1718
"version": "changeset version"
@@ -41,5 +42,10 @@
4142
"@changesets/changelog-github": "0.2.8",
4243
"@changesets/cli": "2.14.1"
4344
},
45+
"config": {
46+
"commitizen": {
47+
"path": "./node_modules/cz-conventional-changelog"
48+
}
49+
},
4450
"version": "0.0.0"
4551
}

packages/core/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"prepack": "yarn build",
1515
"build": "yarn clean && tsc --build && cp \"./package.json\" ./dist/",
1616
"test": "jest --passWithNoTests",
17-
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10"
17+
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10",
18+
"prettier-write": "prettier --write \"{src,test}/**/*.{js,ts,jsx,tsx,json,css,scss,html}\""
1819
},
1920
"dependencies": {},
2021
"devDependencies": {}

packages/ethiopic-input-methods/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"prepack": "yarn build",
1515
"build": "yarn clean && tsc --build && cp \"./package.json\" ./dist/",
1616
"test": "jest --passWithNoTests",
17-
"generate": "ts-node src/generate-from-csv.ts"
17+
"generate": "ts-node src/generate-from-csv.ts",
18+
"prettier-write": "prettier --write \"{src,test}/**/*.{js,ts,jsx,tsx,json,css,scss,html}\""
1819
},
1920
"devDependencies": {
2021
"@keywrite/input-method-generator": "^1.0.0",

packages/input-method-generator/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"prepack": "yarn build",
1515
"build": "yarn clean && tsc --build && cp \"./package.json\" ./dist/",
1616
"test": "jest --passWithNoTests",
17-
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10"
17+
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10",
18+
"prettier-write": "prettier --write \"{src,test}/**/*.{js,ts,jsx,tsx,json,css,scss,html}\""
1819
},
1920
"dependencies": {},
2021
"devDependencies": {

packages/react/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"prepack": "yarn build",
1616
"build": "yarn clean && tsc --build && cp \"./package.json\" ./dist/",
1717
"test": "jest --passWithNoTests",
18-
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10"
18+
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10",
19+
"prettier-write": "prettier --write \"{src,test}/**/*.{js,ts,jsx,tsx,json,css,scss,html}\""
1920
},
2021
"dependencies": {
2122
"@keywrite/web": "^1.0.0"

packages/web/package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@
1414
"prepack": "yarn build",
1515
"build": "yarn clean && tsc --build && cp \"./package.json\" ./dist/",
1616
"test": "jest --passWithNoTests",
17-
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10"
17+
"lint": "eslint \"./src/**/*.{ts,tsx}\" --max-warnings=10",
18+
"prettier-write": "prettier --write \"{src,test}/**/*.{js,ts,jsx,tsx,json,css,scss,html}\""
1819
},
1920
"dependencies": {
2021
"@keywrite/core": "^1.0.0"
2122
},
22-
"devDependencies": {}
23+
"devDependencies": {
24+
"@testing-library/dom": "^10.4.1",
25+
"@testing-library/user-event": "^14.6.1"
26+
}
2327
}

0 commit comments

Comments
 (0)