Fix OIDC login callback handling on Element Desktop (#33332)

* Fix OIDC login callback handling on Element Desktop

* Add unit tests

* Iterate

* Fix lcov reporter

* Fix coverage paths

* Fix coverage upload

* Ensure `.test.ts` files don't get included in the desktop package

* Fix coverage artifact name

* Delint

* Tidy coverage name

* Improve coverage
This commit is contained in:
Michael Telatynski
2026-04-29 15:05:38 +01:00
committed by GitHub
parent 5ff302539e
commit 6aee85aef5
11 changed files with 395 additions and 32 deletions
+145 -4
View File
@@ -243,6 +243,9 @@ importers:
'@typescript-eslint/parser':
specifier: ^8.0.0
version: 8.58.2(eslint@8.57.1)(typescript@6.0.3)
'@vitest/coverage-v8':
specifier: ^4.1.5
version: 4.1.5(@vitest/browser@4.1.5)(vitest@4.1.5)
app-builder-lib:
specifier: 26.9.0
version: 26.9.0(patch_hash=2dfb3fcdfe573cca6c248cecf63ddea5c8fa0276859695fba6c9664d0ff285d6)(dmg-builder@26.9.0)(electron-builder-squirrel-windows@26.9.0)
@@ -291,6 +294,9 @@ importers:
matrix-web-i18n:
specifier: 'catalog:'
version: 3.6.0
memfs:
specifier: ^4.57.2
version: 4.57.2(tslib@2.8.1)
mkdirp:
specifier: ^3.0.0
version: 3.0.1
@@ -309,6 +315,15 @@ importers:
typescript:
specifier: 6.0.3
version: 6.0.3
vite:
specifier: ^8.0.9
version: 8.0.9(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.6.1)(sugarss@5.0.1(postcss@8.5.10))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vitest:
specifier: ^4.1.5
version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.5)(@vitest/coverage-v8@4.1.5)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.9(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.6.1)(sugarss@5.0.1(postcss@8.5.10))(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest-sonar-reporter:
specifier: ^3.0.0
version: 3.0.0(vitest@4.1.5)
apps/web:
dependencies:
@@ -446,7 +461,7 @@ importers:
version: 1.0.3
matrix-js-sdk:
specifier: github:matrix-org/matrix-js-sdk#develop
version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/60993dd10ada731e37db81873fede2a0afa93a6b
version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/69985ee350a33ba75f1ad11f96468344f0c92a8d
matrix-widget-api:
specifier: ^1.17.0
version: 1.17.0
@@ -2987,48 +3002,96 @@ packages:
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-core@4.57.2':
resolution: {integrity: sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-fsa@4.56.10':
resolution: {integrity: sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-fsa@4.57.2':
resolution: {integrity: sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-builtins@4.56.10':
resolution: {integrity: sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-builtins@4.57.2':
resolution: {integrity: sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-to-fsa@4.56.10':
resolution: {integrity: sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-to-fsa@4.57.2':
resolution: {integrity: sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-utils@4.56.10':
resolution: {integrity: sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node-utils@4.57.2':
resolution: {integrity: sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node@4.56.10':
resolution: {integrity: sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-node@4.57.2':
resolution: {integrity: sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-print@4.56.10':
resolution: {integrity: sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-print@4.57.2':
resolution: {integrity: sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-snapshot@4.56.10':
resolution: {integrity: sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/fs-snapshot@4.57.2':
resolution: {integrity: sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==}
engines: {node: '>=10.0'}
peerDependencies:
tslib: '2'
'@jsonjoy.com/json-pack@1.21.0':
resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==}
engines: {node: '>=10.0'}
@@ -9934,8 +9997,8 @@ packages:
matrix-events-sdk@0.0.1:
resolution: {integrity: sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==}
matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/60993dd10ada731e37db81873fede2a0afa93a6b:
resolution: {tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/60993dd10ada731e37db81873fede2a0afa93a6b}
matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/69985ee350a33ba75f1ad11f96468344f0c92a8d:
resolution: {tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/69985ee350a33ba75f1ad11f96468344f0c92a8d}
version: 41.4.0
engines: {node: '>=22.0.0'}
@@ -9980,6 +10043,11 @@ packages:
peerDependencies:
tslib: '2'
memfs@4.57.2:
resolution: {integrity: sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==}
peerDependencies:
tslib: '2'
memoize-one@5.2.1:
resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
@@ -15586,6 +15654,13 @@ snapshots:
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-core@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-fsa@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1)
@@ -15594,10 +15669,22 @@ snapshots:
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-fsa@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-core': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node-builtins@4.56.10(tslib@2.8.1)':
dependencies:
tslib: 2.8.1
'@jsonjoy.com/fs-node-builtins@4.57.2(tslib@2.8.1)':
dependencies:
tslib: 2.8.1
'@jsonjoy.com/fs-node-to-fsa@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-fsa': 4.56.10(tslib@2.8.1)
@@ -15605,11 +15692,23 @@ snapshots:
'@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node-to-fsa@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-fsa': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node-utils@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-node-builtins': 4.56.10(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node-utils@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-core': 4.56.10(tslib@2.8.1)
@@ -15621,12 +15720,29 @@ snapshots:
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-core': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-print': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-snapshot': 4.57.2(tslib@2.8.1)
glob-to-regex.js: 1.2.0(tslib@2.8.1)
thingies: 2.5.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-print@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-node-utils': 4.56.10(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-print@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-snapshot@4.56.10(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/buffers': 17.65.0(tslib@2.8.1)
@@ -15635,6 +15751,14 @@ snapshots:
'@jsonjoy.com/util': 17.65.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-snapshot@4.57.2(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/buffers': 17.65.0(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/json-pack': 17.65.0(tslib@2.8.1)
'@jsonjoy.com/util': 17.65.0(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)':
dependencies:
'@jsonjoy.com/base64': 1.1.2(tslib@2.8.1)
@@ -23553,7 +23677,7 @@ snapshots:
matrix-events-sdk@0.0.1: {}
matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/60993dd10ada731e37db81873fede2a0afa93a6b:
matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/69985ee350a33ba75f1ad11f96468344f0c92a8d:
dependencies:
'@babel/runtime': 7.29.2
'@matrix-org/matrix-sdk-crypto-wasm': 18.2.0
@@ -23633,6 +23757,23 @@ snapshots:
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
memfs@4.57.2(tslib@2.8.1):
dependencies:
'@jsonjoy.com/fs-core': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-fsa': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-builtins': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-to-fsa': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-print': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/fs-snapshot': 4.57.2(tslib@2.8.1)
'@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1)
'@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
glob-to-regex.js: 1.2.0(tslib@2.8.1)
thingies: 2.5.0(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
memoize-one@5.2.1: {}
memoize-one@6.0.0: {}