From 506434b910b2cab9f64247bd109e5d7e45b60530 Mon Sep 17 00:00:00 2001 From: Firoz Ahmed Date: Tue, 18 Aug 2026 17:43:29 +0600 Subject: [PATCH 1/4] fix: make WebAuthn BufferSource values ArrayBuffer-backed (TS 5.7+) --- src/data/webAuthnRegister.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/webAuthnRegister.ts b/src/data/webAuthnRegister.ts index 23744df96..f51c41282 100644 --- a/src/data/webAuthnRegister.ts +++ b/src/data/webAuthnRegister.ts @@ -91,7 +91,7 @@ document.addEventListener('alpine:init', () => { excludeCredentialIdsList.forEach((value) => { excludeCredentials.push({ - id: base64url.parse(value, { loose: true }), + id: new Uint8Array(base64url.parse(value, { loose: true })), type: 'public-key', }); }); @@ -121,7 +121,7 @@ document.addEventListener('alpine:init', () => { } const publicKey: PublicKeyCredentialCreationOptions = { - challenge: base64url.parse(challenge, { loose: true }), + challenge: new Uint8Array(base64url.parse(challenge, { loose: true })), pubKeyCredParams: getPubKeyCredParams(signatureAlgorithms), rp: { id: rpId, @@ -129,7 +129,7 @@ document.addEventListener('alpine:init', () => { }, user: { displayName: username, - id: base64url.parse(userId, { loose: true }), + id: new Uint8Array(base64url.parse(userId, { loose: true })), name: username, }, }; From 2ed9b0f336ce6c897f8c1c988a11bfff741af658 Mon Sep 17 00:00:00 2001 From: Firoz Ahmed Date: Tue, 18 Aug 2026 17:43:32 +0600 Subject: [PATCH 2/4] fix: make WebAuthn BufferSource values ArrayBuffer-backed (TS 5.7+) --- src/data/webAuthnAuthenticate.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/webAuthnAuthenticate.ts b/src/data/webAuthnAuthenticate.ts index 8aab5bb94..f1bd8fb4e 100644 --- a/src/data/webAuthnAuthenticate.ts +++ b/src/data/webAuthnAuthenticate.ts @@ -58,7 +58,7 @@ document.addEventListener('alpine:init', () => { } const publicKey: PublicKeyCredentialRequestOptions = { - challenge: base64url.parse(challenge, { loose: true }), + challenge: new Uint8Array(base64url.parse(challenge, { loose: true })), rpId: rpId, }; @@ -121,7 +121,7 @@ document.addEventListener('alpine:init', () => { authnSelectFormElements.forEach((element) => { if (element instanceof HTMLInputElement) { allowCredentials.push({ - id: base64url.parse(element.value, { loose: true }), + id: new Uint8Array(base64url.parse(element.value, { loose: true })), type: 'public-key', }); } From 31882a6cd560ebcfa14aee15f49c61f8b43967dc Mon Sep 17 00:00:00 2001 From: Firoz Ahmed Date: Tue, 18 Aug 2026 17:43:58 +0600 Subject: [PATCH 3/4] ci: temporary build verification for this branch --- .github/workflows/verify-build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/verify-build.yml diff --git a/.github/workflows/verify-build.yml b/.github/workflows/verify-build.yml new file mode 100644 index 000000000..d7813017b --- /dev/null +++ b/.github/workflows/verify-build.yml @@ -0,0 +1,17 @@ +name: verify-build +on: + push: + branches: [fix/webauthn-buffersource-ts57] + workflow_dispatch: +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 18 + - run: npm install --no-audit --no-fund + - name: Show resolved TypeScript (must be >= 5.7 for this to be a real test) + run: npx tsc --version + - run: npm run build From ffa375f3ad022b784adb9b0e110eca30bc4f1835 Mon Sep 17 00:00:00 2001 From: Firoz Ahmed Date: Tue, 18 Aug 2026 17:45:06 +0600 Subject: [PATCH 4/4] ci: drop temporary verification workflow --- .github/workflows/verify-build.yml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .github/workflows/verify-build.yml diff --git a/.github/workflows/verify-build.yml b/.github/workflows/verify-build.yml deleted file mode 100644 index d7813017b..000000000 --- a/.github/workflows/verify-build.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: verify-build -on: - push: - branches: [fix/webauthn-buffersource-ts57] - workflow_dispatch: -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 18 - - run: npm install --no-audit --no-fund - - name: Show resolved TypeScript (must be >= 5.7 for this to be a real test) - run: npx tsc --version - - run: npm run build