Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
3b30c56
test(registration): add test for terms of use before registration
JacquelineLehner Apr 27, 2026
e482bdc
test(registration): refactor popup handling for terms of use test
JacquelineLehner Apr 27, 2026
af7d2e8
chore: merge master into dev after pull request #21159 (#21160)
otto-the-bot Apr 27, 2026
f9c9f5d
chore(deps): update dependency @formatjs/cli to v6.14.3
renovate[bot] Apr 27, 2026
7401bf7
chore(deps): update dependency @nx/jest to v22.7.0 (#21163)
renovate[bot] Apr 28, 2026
1701f76
chore(deps): update nx monorepo tooling to v22.7.0
renovate[bot] Apr 28, 2026
233cd9a
test: skip TC-1097 since it's currently broken by the backend [WPB-22…
markbrockhoff Apr 28, 2026
5a46e4a
ci: add dynamic sharding for E2E tests [WPB-24724] (#21155)
markbrockhoff Apr 29, 2026
4aff9ed
chore(deps): update nx monorepo tooling to v22.7.0 (#21165)
screendriver Apr 29, 2026
9b8163d
chore(deps): update dependency baseline-browser-mapping to v2.10.22
renovate[bot] Apr 29, 2026
4a1542f
chore(deps): update dependency @formatjs/cli to v6.14.3 (#21162)
screendriver Apr 29, 2026
6a082ac
chore(deps): update dependency @nx/webpack to v22.7.0
renovate[bot] Apr 29, 2026
f1a98f9
fix(deps): update aws-sdk-js-v3 monorepo to v3.1037.0
renovate[bot] Apr 29, 2026
88040cb
chore(deps): update dependency @nx/webpack to v22.7.0 (#21164)
screendriver Apr 29, 2026
850d722
fix(deps): update aws-sdk-js-v3 monorepo to v3.1037.0 (#21171)
screendriver Apr 29, 2026
ad8c6fa
chore(deps): update dependency baseline-browser-mapping to v2.10.22 (…
screendriver Apr 29, 2026
f41b23a
test: add test for terms of use before registration [WPB-24831] (#21156)
screendriver Apr 29, 2026
1e70a43
test: verify link preview and media playback [WPB-24824] (#21172)
zhannach Apr 29, 2026
5a7448c
chore(deps): update dependency baseline-browser-mapping to v2.10.23
renovate[bot] Apr 29, 2026
2c4cbdc
chore(deps): update dependency postcss to v8.5.12
renovate[bot] Apr 29, 2026
c985047
chore(deps): update dependency baseline-browser-mapping to v2.10.23 (…
screendriver Apr 29, 2026
5f992bd
chore(deps): update dependency postcss to v8.5.12 (#21178)
screendriver Apr 29, 2026
5182547
test: add verification step for Terms of Use link in settings TC-8638…
zhannach Apr 29, 2026
89140c0
feat: add capability polling and move it behind feature flag [WPB-245…
zskhan Apr 29, 2026
19c9942
chore(deps): update dependency jsdom to v29.1.0
renovate[bot] Apr 30, 2026
67f7e71
test: remove page plugin "withConnectionRequest" to prevent race cond…
markbrockhoff Apr 30, 2026
906df38
ci: use manual testrun import instead of testiny "automation" [WPB-24…
markbrockhoff Apr 30, 2026
fc3bd67
chore(deps): update dependency jsdom to v29.1.0 (#21180)
screendriver Apr 30, 2026
5d329d4
test: write missing History Backup test [WPB-24920] (#21166)
zhannach Apr 30, 2026
88c93e4
refactor: add open function to enhanced conversation locator
markbrockhoff Apr 14, 2026
67de4fa
refactor: remove all usages of openConversation
markbrockhoff Apr 30, 2026
13f0476
refactor: remove util "openConversation"
markbrockhoff Apr 14, 2026
5532101
style: rename "getConversationLocator" to just "getConversation"
markbrockhoff Apr 30, 2026
1f65311
chore(deps): update dependency @swc/core to v1.15.32
renovate[bot] Apr 30, 2026
9b9f638
chore(deps): update dependency @swc/core to v1.15.32 (#21184)
screendriver Apr 30, 2026
31bb43e
test: replace util "openConversation" with generic "getConversation()…
screendriver Apr 30, 2026
7dc6a53
test: improve TC-392 by waiting for all messages to arrive before del…
markbrockhoff Apr 30, 2026
68920f5
chore(deps): update dependency stylelint to v17.9.1
renovate[bot] Apr 30, 2026
3198568
chore(deps): update typescript-eslint to v8.59.1 (#21194)
renovate[bot] May 4, 2026
3a9eb34
chore(deps): update dependency @babel/preset-env to v7.29.3 (#21196)
renovate[bot] May 4, 2026
da47945
fix(deps): update dependency @mediapipe/tasks-vision to v0.10.35 (#21…
renovate[bot] May 4, 2026
592fa00
chore(deps): update dependency @nx/jest to v22.7.1
renovate[bot] May 4, 2026
093ab64
chore(deps): update dependency @formatjs/cli to v6.14.4 (#21197)
renovate[bot] May 4, 2026
eb3a5ed
chore(deps): update dependency @nx/jest to v22.7.1 (#21198)
screendriver May 4, 2026
1720452
chore(deps): update dependency stylelint to v17.9.1 (#21193)
screendriver May 4, 2026
1a76b0c
chore(deps): update dependency baseline-browser-mapping to v2.10.24
renovate[bot] May 4, 2026
e4c0b6a
chore(deps): update dependency jsdom to v29.1.1 (#21200)
renovate[bot] May 4, 2026
425e9f2
chore(deps): update dependency baseline-browser-mapping to v2.10.24 (…
screendriver May 4, 2026
1b9b1a6
test: implement SSO login with claimed domain TC-8781 (#21192)
zhannach May 4, 2026
eec5fea
chore(deps): update dependency nock to v14.0.14 (#21201)
renovate[bot] May 4, 2026
4970f0e
chore(deps): update nx monorepo tooling to v22.7.1
renovate[bot] May 4, 2026
fcb5443
chore(deps): update nx monorepo tooling to v22.7.1 (#21202)
screendriver May 4, 2026
28ce4c7
chore(webapp): enable strict null checks
screendriver Apr 29, 2026
b83a7fb
chore(types): enable strict null checks and fix repo-wide type-check …
screendriver May 4, 2026
96cbbb0
Enable TypeScript compiler strict null checks [WPB-22420] (#21203)
screendriver May 4, 2026
52bf6b6
ci(actions): remove node20 variable-mapper and inline branch/tag mapp…
screendriver May 4, 2026
467d7fb
chore(deps): update webapp build tooling (#21204)
renovate[bot] May 4, 2026
ddc903b
fix: preserve runtime body classes to keep conversation selection sty…
screendriver May 4, 2026
b315667
fix(deps): update aws-sdk-js-v3 monorepo to v3.1040.0
renovate[bot] May 4, 2026
1e5b351
fix: preserve runtime body classes to keep conversation selection sty…
screendriver May 4, 2026
81f4f29
ci(actions): remove node20 variable-mapper and inline branch/tag mapp…
screendriver May 4, 2026
4aa977f
fix(deps): update aws-sdk-js-v3 monorepo to v3.1040.0 (#21211)
screendriver May 4, 2026
8a40e92
feat: Initial UI for search view(https://wearezeta.atlassian.net/brow…
arjita-mitra May 4, 2026
3ac471f
ci: re-enable collection of snapshots for debugging failed tests in C…
markbrockhoff May 4, 2026
58ab667
test: improve stability of tests sending connection requests [WPB-224…
markbrockhoff May 4, 2026
f67309e
fix(deps): update dependency xstate to v5.31.0 (#21212)
renovate[bot] May 4, 2026
0274a7f
chore: update checkout action to fetch master branch with full histor…
zskhan May 4, 2026
09009c7
refactor: remove tearDown.util.ts [WPB-25196] (#21219)
JacquelineLehner May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/workflows/e2e-tests-nightly.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: E2E Tests Nightly

on:
workflow_dispatch:
schedule:
# we want to run this nightly on dev
- cron: '0 02 * * 1-5'
Expand Down Expand Up @@ -43,8 +44,15 @@ jobs:
artifact-ids: ${{ needs.e2e_tests.outputs.reportArtifactId }}
path: apps/webapp/playwright-report

- name: Run Testiny CLI
- name: Upload report to Testiny
env:
TESTINY_API_KEY: ${{ secrets.TESTINY_API_KEY }}
TESTINY_TEST_PLAN_ID: 105 # 105 is the id of the "Regression" test plan within Testiny
DESCRIPTION: |
Build URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
yarn dlx @testiny/cli automation --project WEB --source "github" --playwright ./apps/webapp/playwright-report/report.json
node ./apps/webapp/test/e2e_tests/scripts/uploadTestReport.ts \
--runName="Regression $(date +'%m/%d/%Y - %H:%M')" \
--testPlanId="$TESTINY_TEST_PLAN_ID" \
--description="$DESCRIPTION" \
--reportPath="./apps/webapp/playwright-report/report.json"
65 changes: 31 additions & 34 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,20 +96,47 @@ jobs:
TEST_SERVICE_URL: http://localhost:8080
run: yarn playwright test -c apps/webapp/playwright.config.ts apps/webapp/test/e2e_tests/specs/CriticalFlow/startupHasNoConsoleErrors.spec.ts

# Since not always all e2e tests are run the number of shards to start up is computed dynamically from the amount of tests which will run
compute_shards:
name: Compute number of shards to use
runs-on: ubuntu-24.04

outputs:
matrixShards: ${{ steps.computeShards.outputs.matrixShards }}

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd

- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- run: yarn --immutable

- name: Compute shards
id: computeShards
env:
GREP: ${{ inputs.grep }}
run: |
NUMBER_OF_TESTS=$(yarn nx run webapp:e2e --list --grep=\"$GREP\" | grep 'Total:' | awk '{print $2}')
NUMBER_OF_SHARDS=$(( $NUMBER_OF_TESTS > 64 ? 64 : $NUMBER_OF_TESTS )) # Limit the number of shards to 64
MATRIX_SHARDS=$(jq -nc --argjson len "$NUMBER_OF_SHARDS" '[range(1; $len + 1)]')
echo "matrixShards=$MATRIX_SHARDS" >> $GITHUB_OUTPUT
echo "$NUMBER_OF_TESTS tests will be run across $NUMBER_OF_SHARDS shards"

test:
name: Run E2E Tests
runs-on: ubuntu-24.04
timeout-minutes: 45
needs: [bootstrap_smoke_test]
needs: [bootstrap_smoke_test, compute_shards]
container:
image: mcr.microsoft.com/playwright:v1.59.1-noble
options: --ipc=host

strategy:
fail-fast: false
matrix:
# prettier-ignore
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64]
shard: ${{ fromJSON(needs.compute_shards.outputs.matrixShards) }}

services:
# Run the kalium testservice as service container of the current job
Expand Down Expand Up @@ -194,43 +221,14 @@ jobs:
pattern: blob-report-*
merge-multiple: true

- name: Check for blob reports
id: check_blob_reports
run: |
if [ -d "${{ env.PLAYWRIGHT_REPORT_PATH }}/blob-reports" ]; then
echo "has_blob_reports=true" >> "$GITHUB_OUTPUT"
else
echo "has_blob_reports=false" >> "$GITHUB_OUTPUT"
fi

# Merge reports and delete blob reports and zip archives for traces, only keep resources to include within the artifact
- name: Merge playwright reports
if: ${{ steps.check_blob_reports.outputs.has_blob_reports == 'true' }}
working-directory: apps/webapp
run: |
yarn playwright merge-reports --config ./playwright.config.ts playwright-report/blob-reports
rm -rf playwright-report/blob-reports

- name: Delete trace artifacts
if: ${{ !inputs.keep_traces && steps.check_blob_reports.outputs.has_blob_reports == 'true' }}
working-directory: apps/webapp
run: |
if [ -d "playwright-report/html/data" ]; then
DELETED_COUNT=$(find playwright-report/html/data -name "*.zip" -type f -delete -print)
echo "Deleted $DELETED_COUNT trace archive files"
else
echo "Trace data directory not found, skipping trace cleanup"
fi

- name: Delete blob report artifacts
if: ${{ always() && steps.check_blob_reports.outputs.has_blob_reports == 'true' }}
uses: geekyeggo/delete-artifact@d79b2442431e4adbc383d29a28e630374eceb303
with:
name: blob-report-*

- name: Upload test report
id: upload_playwright_report
if: ${{ steps.check_blob_reports.outputs.has_blob_reports == 'true' }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: playwright-report
Expand All @@ -244,7 +242,6 @@ jobs:

- name: Extract test results
id: test-results
if: ${{ steps.check_blob_reports.outputs.has_blob_reports == 'true' }}
run: |
REPORT="${{ env.PLAYWRIGHT_REPORT_PATH }}/report.json"
if [ ! -f "$REPORT" ]; then
Expand Down Expand Up @@ -289,7 +286,7 @@ jobs:
}

- name: Update Testiny Run with results
if: ${{ inputs.testinyRunName }}
if: ${{ success() && inputs.testinyRunName }}
env:
TESTINY_API_KEY: ${{ secrets.TESTINY_API_KEY }}
TESTINY_RUN_NAME: ${{ inputs.testinyRunName }}
Expand Down
102 changes: 45 additions & 57 deletions .github/workflows/publish-and-deploy-webapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,14 @@ jobs:
name: 'build-artifact'
path: '${{env.BUILD_DIR}}${{env.BUILD_ARTIFACT}}'

- uses: kanga333/variable-mapper@3681b75f5c6c00162721168fb91ab74925eaebcb
id: changelog
with:
key: '${{github.ref}}'
map: |
{
"production": {
"changelog_type": "production"
},
"staging": {
"changelog_type": "staging"
}
}
export_to: env
- name: Define changelog type
shell: bash
run: |
if [[ "${GITHUB_REF}" == *production* ]]; then
echo "changelog_type=production" >> "$GITHUB_ENV"
elif [[ "${GITHUB_REF}" == *staging* ]]; then
echo "changelog_type=staging" >> "$GITHUB_ENV"
fi

- name: Generate changelog
id: generate_changelog
Expand Down Expand Up @@ -157,30 +151,26 @@ jobs:

# generates a mapping between branches/tag to wire-build branches
- name: Define target branches in wireapp/wire-builds to bump
uses: kanga333/variable-mapper@3681b75f5c6c00162721168fb91ab74925eaebcb
id: output_target_branches
with:
key: '${{github.ref}}'
# TODO Add staging if we ever use a wire-builds as a source for staging (we use k8s)
# "staging": {
# "targets": "[\"TBD\"]"
# },
map: |
{
"production": {
"targets": "[\"main\"]"
},
"dev": {
"targets": "[\"dev\"]"
},
"q1-2024": {
"targets": "[\"q1-2024\"]"
},
"q2-2025": {
"targets": "[\"q2-2025\"]"
}
}
export_to: log,output
shell: bash
run: |
set -eo pipefail

wire_build_target_branches_json=""

if [[ "${GITHUB_REF}" == *production* ]]; then
wire_build_target_branches_json='["main"]'
elif [[ "${GITHUB_REF}" == *dev* ]]; then
wire_build_target_branches_json='["dev"]'
elif [[ "${GITHUB_REF}" == *q1-2024* ]]; then
wire_build_target_branches_json='["q1-2024"]'
elif [[ "${GITHUB_REF}" == *q2-2025* ]]; then
wire_build_target_branches_json='["q2-2025"]'
fi

if [[ -n "${wire_build_target_branches_json}" ]]; then
echo "targets=${wire_build_target_branches_json}" >> "$GITHUB_OUTPUT"
fi

publish_wire_builds:
name: Bump webapp chart in wire-builds
Expand Down Expand Up @@ -262,26 +252,24 @@ jobs:

steps:
# generates a mapping between branches/tag to aws envs to deploy to
- uses: kanga333/variable-mapper@3681b75f5c6c00162721168fb91ab74925eaebcb
id: targets
with:
key: '${{github.ref}}'
map: |
{
"dev": {
"targets": "[\"wire-webapp-dev\", \"wire-webapp-edge\"]"
},
"master": {
"targets": "[\"wire-webapp-main\"]"
},
"production": {
"targets": "[\"wire-webapp-prod\"]"
},
"staging": {
"targets": "[\"wire-webapp-staging\"]"
}
}
export_to: env
- name: Define deployment targets
shell: bash
run: |
deployment_targets_json=""

if [[ "${GITHUB_REF}" == *dev* ]]; then
deployment_targets_json='["wire-webapp-dev", "wire-webapp-edge"]'
elif [[ "${GITHUB_REF}" == *master* ]]; then
deployment_targets_json='["wire-webapp-main"]'
elif [[ "${GITHUB_REF}" == *production* ]]; then
deployment_targets_json='["wire-webapp-prod"]'
elif [[ "${GITHUB_REF}" == *staging* ]]; then
deployment_targets_json='["wire-webapp-staging"]'
fi

if [[ -n "${deployment_targets_json}" ]]; then
echo "targets=${deployment_targets_json}" >> "$GITHUB_ENV"
fi

deploy_to_aws:
name: 'Deploy to live environments'
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/pull-translations-from-crowdin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
ref: master
fetch-depth: 0

- name: Download translations and create PR
uses: crowdin/github-action@7ca9c452bfe9197d3bb7fa83a4d7e2b0c9ae835d
Expand Down
2 changes: 1 addition & 1 deletion apps/webapp/jest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const config: Config = {
},
testPathIgnorePatterns: ['<rootDir>/server', '<rootDir>/.yalc', '<rootDir>/test/e2e_tests'],
testRunner: 'jest-jasmine2',
transformIgnorePatterns: ['/node_modules/(?!(true-myth|p-timeout|p-cancelable|noop-esm|uuid)/)'],
transformIgnorePatterns: ['/node_modules/(?!(true-myth|p-timeout|p-cancelable|noop-esm|uuid|@enormora/objectory)/)'],
// Override transform to use babel-jest for webapp (uses React automatic runtime with Emotion)
transform: {
'^.+\\.[tj]sx?$': 'babel-jest',
Expand Down
2 changes: 1 addition & 1 deletion apps/webapp/jest.report.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ module.exports = {
},
testPathIgnorePatterns: ['<rootDir>/server', '<rootDir>/.yalc', '<rootDir>/test/e2e_tests'],
testRunner: 'jest-jasmine2',
transformIgnorePatterns: ['/node_modules/(?!(true-myth|p-timeout|p-cancelable|noop-esm|uuid)/)'],
transformIgnorePatterns: ['/node_modules/(?!(true-myth|p-timeout|p-cancelable|noop-esm|uuid|@enormora/objectory)/)'],
transform: {
'^.+\\.[tj]sx?$': 'babel-jest',
},
Expand Down
14 changes: 7 additions & 7 deletions apps/webapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"@lexical/markdown": "0.27.2",
"@lexical/react": "0.27.2",
"@lexical/rich-text": "0.27.2",
"@mediapipe/tasks-vision": "0.10.34",
"@mediapipe/tasks-vision": "0.10.35",
"@sindresorhus/is": "4.6.0",
"@tanstack/react-table": "8.21.3",
"@tanstack/react-virtual": "3.13.24",
Expand Down Expand Up @@ -95,18 +95,18 @@
"use-debounce": "10.1.1",
"webgl-utils.js": "1.1.0",
"webrtc-adapter": "9.0.5",
"xstate": "5.30.0",
"xstate": "5.31.0",
"zustand": "4.5.7"
},
"devDependencies": {
"@babel/core": "7.29.0",
"@babel/plugin-proposal-decorators": "7.29.0",
"@babel/preset-env": "7.29.2",
"@babel/preset-env": "7.29.3",
"@babel/preset-react": "7.28.5",
"@babel/preset-typescript": "7.28.5",
"@emotion/eslint-plugin": "11.12.0",
"@formatjs/cli": "6.14.2",
"@nx/webpack": "22.6.5",
"@formatjs/cli": "6.14.4",
"@nx/webpack": "22.7.1",
"@playwright/test": "1.59.1",
"@roamhq/wrtc": "0.10.0",
"@testing-library/dom": "10.4.1",
Expand Down Expand Up @@ -136,7 +136,7 @@
"babel-jest": "30.3.0",
"babel-loader": "10.1.1",
"babel-plugin-transform-import-meta": "2.3.3",
"baseline-browser-mapping": "2.10.21",
"baseline-browser-mapping": "2.10.24",
"browserslist": "4.28.2",
"copy-webpack-plugin": "13.0.1",
"css-loader": "7.1.4",
Expand All @@ -153,7 +153,7 @@
"less-loader": "12.3.2",
"os-browserify": "0.3.0",
"path-browserify": "1.0.1",
"postcss": "8.5.10",
"postcss": "8.5.13",
"postcss-import": "16.1.1",
"postcss-less": "6.0.0",
"postcss-loader": "8.2.1",
Expand Down
1 change: 0 additions & 1 deletion apps/webapp/playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ module.exports = defineConfig({
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: {
mode: 'on-first-retry',
snapshots: false,
sources: false,
attachments: false,
},
Expand Down
2 changes: 2 additions & 0 deletions apps/webapp/src/i18n/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,8 @@
"cells.restoreRootNodeModal.folder.headline": "Restore folder",
"cells.search.closeButton": "Close",
"cells.search.failed": "Something went wrong, please try again later.",
"cells.search.idle.description": "Apply a search terms, or a filter to see results.",
"cells.search.idle.heading": "Searching within Shared Drive and all its folders",
"cells.search.placeholder": "Search files and folders",
"cells.selfDeletingMessage.info": "The feature is not available for conversations with a shared Drive.",
"cells.shareModal.changePassword": "Change Password",
Expand Down
2 changes: 1 addition & 1 deletion apps/webapp/src/script/auth/localeConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export function normalizeLanguage(language: string = DEFAULT_LANGUAGE): string {

export function findLanguage(language: string = DEFAULT_LANGUAGE): string {
language = normalizeLanguage(language);
return Locales.find(locale => locale.startsWith(language));
return Locales.find(locale => locale.startsWith(language)) ?? DEFAULT_LANGUAGE;
}

export function mapLanguage(language: string = DEFAULT_LANGUAGE): string {
Expand Down
4 changes: 2 additions & 2 deletions apps/webapp/src/script/auth/module/action/AuthAction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ export class AuthAction {
if (statusCode === HTTP_STATUS.NOT_FOUND) {
return new BackendError('', BackendErrorLabel.NOT_FOUND, HTTP_STATUS.NOT_FOUND);
}
if (statusCode >= HTTP_STATUS.INTERNAL_SERVER_ERROR) {
if (statusCode !== undefined && statusCode >= HTTP_STATUS.INTERNAL_SERVER_ERROR) {
return new BackendError('', BackendErrorLabel.SERVER_ERROR, HTTP_STATUS.INTERNAL_SERVER_ERROR);
}
return new BackendError('', SyntheticErrorLabel.SSO_GENERIC_ERROR, HTTP_STATUS.INTERNAL_SERVER_ERROR);
Expand Down Expand Up @@ -283,7 +283,7 @@ export class AuthAction {
const clientType = ClientType.PERMANENT;
registration.locale = currentLanguage();
registration.name = registration.name.trim();
registration.email = registration.email.trim();
registration.email = registration.email?.trim() ?? '';

dispatch(AuthActionCreator.startRegisterPersonal());
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export class ClientAction {
}
return {
classification: ClientClassification.DESKTOP,
cookieLabel: undefined,
cookieLabel: '',
label: deviceLabel,
model: deviceModel,
};
Expand Down
Loading
Loading