Skip to content

Conversation

@markbrockhoff
Copy link
Collaborator

@markbrockhoff markbrockhoff commented Nov 24, 2025

TaskWPB-21957 [Web/QA] Add fixture for creating teams

Pull Request

Summary

This PR adds a new fixture to create a team owner with a team and the option to add members to it. This was mainly done to avoid the race condition which can occur when connecting users via the api. Using a team eliminates the need to send a connection request first.


Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Standards Acknowledgement (required)


Notes for reviewers

@codecov
Copy link

codecov bot commented Nov 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.46%. Comparing base (59de699) to head (4482fae).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev   #19804      +/-   ##
==========================================
+ Coverage   43.45%   43.46%   +0.01%     
==========================================
  Files        1294     1294              
  Lines       32544    32544              
  Branches     7230     7230              
==========================================
+ Hits        14141    14146       +5     
+ Misses      16691    16687       -4     
+ Partials     1712     1711       -1     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 24, 2025

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 8
  • Failed: 3
  • Skipped: 0
  • 🔁 Flaky: 3
  • 📊 Total: 14
  • Total Runtime: 1000.3s (~ 16 min 40 sec)

Failed Tests:

❌ Planning group call with sending various messages during call (tags: TC-8632, crit-flow-web)

Location: specs/CriticalFlow/groupCalls-TC-8632.spec.ts:37
Duration: 31883ms

Errors:

Error: expect(received).toBeFalsy()

Received: true

  122 |       await memberCalling.unmuteSelfInFullScreen();
  123 |       await memberPageManager.waitForTimeout(250);
> 124 |       expect(await memberCalling.isSelfUserMutedInFullScreen()).toBeFalsy();
      |                                                                 ^
  125 |     });
  126 |
  127 |     await test.step('Validation: Owner sees member is unmuted', async () => {
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupCalls-TC-8632.spec.ts:124:65
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupCalls-TC-8632.spec.ts:121:5
❌ Group Video call (tags: TC-8637, crit-flow-web)

Location: specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:39
Duration: 42321ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('#add-participants [data-uie-name="search-list"] [aria-label="Open profile of Camron Boyer"]').locator('input[type="checkbox"]')


   at pageManager/webapp/pages/conversationDetails.page.ts:66

  64 |       await userLocator.click();
  65 |       // Wait for the user to be selected (checkbox should be checked)
> 66 |       await userLocator.locator('input[type="checkbox"]').waitFor({state: 'attached'});
     |                                                           ^
  67 |     }
  68 |
  69 |     await this.page.locator(`${selectById('add-participants')} ${selectByDataAttribute('do-create')}`).click();
    at ConversationDetailsPage.addUsersToConversation (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationDetails.page.ts:66:59)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:127:7
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:123:5
❌ New person joins team and setups up device (tags: TC-8635, crit-flow-web)

Location: specs/CriticalFlow/joinTeam-TC-8635.spec.ts:38
Duration: 66976ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('#add-participants [data-uie-name="search-list"] [aria-label="Open profile of Bernie Johns"]').locator('input[type="checkbox"]')


   at pageManager/webapp/pages/conversationDetails.page.ts:66

  64 |       await userLocator.click();
  65 |       // Wait for the user to be selected (checkbox should be checked)
> 66 |       await userLocator.locator('input[type="checkbox"]').waitFor({state: 'attached'});
     |                                                           ^
  67 |     }
  68 |
  69 |     await this.page.locator(`${selectById('add-participants')} ${selectByDataAttribute('do-create')}`).click();
    at ConversationDetailsPage.addUsersToConversation (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationDetails.page.ts:66:59)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/joinTeam-TC-8635.spec.ts:125:7
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/joinTeam-TC-8635.spec.ts:114:5

Flaky Tests:

⚠️ Account Management (tags: TC-8639, crit-flow-web)

Location: specs/CriticalFlow/accountManagement-TC-8639.spec.ts:37

Attempt 1
Result: ❌ Failed
Duration: 84417ms

Errors:

Error: Matching URL not found in the email body

   at backend/inbucketClient.e2e.ts:120

  118 |
  119 |     if (this.isValidURL(matchingUrl) === false) {
> 120 |       throw new Error('Matching URL not found in the email body');
      |             ^
  121 |     }
  122 |
  123 |     return matchingUrl;
    at InbucketClientE2E.getMatchingURLFromEmailBody (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/backend/inbucketClient.e2e.ts:120:13)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/accountManagement-TC-8639.spec.ts:133:30
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/accountManagement-TC-8639.spec.ts:124:3

Attempt 2
Result: ✅ Passed
Duration: 29518ms

⚠️ Calls in channels with device switch and screenshare (tags: TC-8754, crit-flow-web)

Location: specs/CriticalFlow/channelsCall-TC-8755.spec.ts:39

Attempt 1
Result: ❌ Failed
Duration: 62788ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-call"]') to be visible


   at pageManager/webapp/pages/calling.page.ts:90

  88 |
  89 |   waitForCell(): Promise<void> {
> 90 |     return this.callCell.waitFor({state: 'visible'});
     |                          ^
  91 |   }
  92 |
  93 |   isFullScreenVisible(): Promise<boolean> {
    at CallingPage.waitForCell (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/calling.page.ts:90:26)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsCall-TC-8755.spec.ts:99:34
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsCall-TC-8755.spec.ts:97:16

Attempt 2
Result: ✅ Passed
Duration: 78669ms

⚠️ Personal Account Lifecycle (tags: TC-8638, crit-flow-web)

Location: specs/CriticalFlow/personalAccountLifecycle-TC-8638.spec.ts:31

Attempt 1
Result: ❌ Failed
Duration: 1094ms

Errors:

AxiosError: Request failed with status code 409

   at backend/userRepository.e2e.ts:35

  33 |
  34 |   public async setUniqueUsername(username: string, token: string) {
> 35 |     await this.axiosInstance.put(
     |     ^
  36 |       'self/handle',
  37 |       {handle: username},
  38 |       {
    at settle (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/node_modules/axios/lib/core/settle.js:19:12)
    at Unzip.handleStreamEnd (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/node_modules/axios/lib/adapters/http.js:599:11)
    at Axios.request (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/node_modules/axios/lib/core/Axios.js:45:41)
    at UserRepositoryE2E.setUniqueUsername (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/backend/userRepository.e2e.ts:35:5)
    at ApiManagerE2E.createPersonalUser (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/backend/apiManager.e2e.ts:100:5)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/personalAccountLifecycle-TC-8638.spec.ts:47:9
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/personalAccountLifecycle-TC-8638.spec.ts:45:5
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/personalAccountLifecycle-TC-8638.spec.ts:44:3

Attempt 2
Result: ✅ Passed
Duration: 52239ms

@markbrockhoff markbrockhoff marked this pull request as ready for review November 24, 2025 08:36
@markbrockhoff markbrockhoff requested review from a team and otto-the-bot as code owners November 24, 2025 08:36
…t tests to use two members of the same team

This is an attempt to resolve the race conditions happening when two users connect in a 1:1 for the first time starting the conversation as proteus but it's migrated to MLS automatically. This leads to a message sent during the migration being lost. Team members don't need to go through this step as they are aware of the spoken protocol of other members after login.
@markbrockhoff markbrockhoff force-pushed the test/resolve-race-condition-when-connecting-users branch from 0f2dec7 to e9bdd65 Compare November 24, 2025 08:56
@aweiss-dev aweiss-dev requested a review from Copilot November 24, 2025 09:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors E2E tests by introducing a new createTeam fixture that simplifies team-based test setup and eliminates race conditions from API-based user connections. The fixture allows creating a team owner with optional members, providing a more reliable testing approach for team scenarios.

Key Changes

  • Added createTeam fixture to create teams with owners and members programmatically
  • Introduced connectWithUser utility and withConnectedUser plugin for team-based user connections
  • Refactored edit.spec.ts tests to use the new team fixture instead of the previous user-connection approach
  • Added supporting API methods for team operations (upgradeUserToTeamOwner, acceptTeamInvitation)

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
test/e2e_tests/test.fixtures.ts Added createTeam fixture with team creation and member invitation logic; added withConnectedUser plugin; extracted createUser helper function
test/e2e_tests/specs/Edit/edit.spec.ts Refactored all tests to use createTeam fixture and withConnectedUser instead of createUser with api.connectUsers
test/e2e_tests/utils/userActions.ts Added connectWithUser utility for team-based connections; removed German comment
test/e2e_tests/backend/teamRepository.e2e.ts Added acceptTeamInvitation method for team member onboarding
test/e2e_tests/backend/authRepository.e2e.ts Added upgradeUserToTeamOwner method to convert personal users to team owners
test/e2e_tests/backend/backendClient.e2e.ts Changed from MINIMUM_API_VERSION import to hardcoded v13
Comments suppressed due to low confidence (1)

test/e2e_tests/backend/authRepository.e2e.ts:100

  • [Important] Missing input validation for teamName parameter. The teamName is passed directly to the API without validation, which could lead to unexpected API errors if empty, too long, or containing invalid characters.

Suggestion: Add validation before the API call:

if (!teamName || teamName.trim().length === 0) {
  throw new Error('Team name cannot be empty');
}
  async upgradeUserToTeamOwner(user: User, teamName: string) {
    const res = this.axiosInstance.post(
      'upgrade-personal-to-team',
      {
        name: teamName,
        icon: 'default',
      },
      {
        headers: {
          Authorization: `Bearer ${user.token}`,
        },
      },
    );
    const data = (await res).data;
    return {teamId: data.team_id, teamName: data.team_name};
  }

  public async activateAccount(email: string, code: string) {
    await this.axiosInstance.post('activate', {
      code,
      dryrun: false,
      email: email,
    });
  }

  public async bookEmail(email: string) {
    await this.axiosInstance.post('activate/send', {
      email: email,
    });
  }

  public async loginUser(user: User): Promise<AxiosResponse> {
    const response = await this.axiosInstance.post(
      'login',
      {

@markbrockhoff markbrockhoff force-pushed the test/resolve-race-condition-when-connecting-users branch from 6fb2c33 to 4482fae Compare November 24, 2025 09:45
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 24, 2025

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
3.9% Duplication on New Code

See analysis details on SonarQube Cloud

@markbrockhoff markbrockhoff changed the title refactor: create fixture for creating teams + refactor edit tests with it refactor(WPB-21957): create fixture for creating teams + refactor edit tests with it Nov 24, 2025
@markbrockhoff markbrockhoff enabled auto-merge (squash) November 24, 2025 10:12
@markbrockhoff markbrockhoff enabled auto-merge (squash) November 24, 2025 10:47
@markbrockhoff markbrockhoff removed the request for review from otto-the-bot November 24, 2025 10:48
@markbrockhoff markbrockhoff merged commit bd2f77a into dev Nov 24, 2025
14 of 15 checks passed
@markbrockhoff markbrockhoff deleted the test/resolve-race-condition-when-connecting-users branch November 24, 2025 13:00
e-maad pushed a commit that referenced this pull request Dec 3, 2025
…t tests with it (#19804)

This is an attempt to resolve the race conditions happening when two users connect in a 1:1 for the first time starting the conversation as proteus but it's migrated to MLS automatically. This leads to a message sent during the migration being lost. Team members don't need to go through this step as they are aware of the spoken protocol of other members after login.
otto-the-bot added a commit that referenced this pull request Dec 3, 2025
* fix: remove call from the call state when a user is left the group (#19790)

* chore(deps-dev): bump rimraf from 6.1.0 to 6.1.2 in /server (#19791)

Bumps [rimraf](https://github.com/isaacs/rimraf) from 6.1.0 to 6.1.2.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](isaacs/rimraf@v6.1.0...v6.1.2)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor(WPB-21957): create fixture for creating teams + refactor edit tests with it (#19804)

This is an attempt to resolve the race conditions happening when two users connect in a 1:1 for the first time starting the conversation as proteus but it's migrated to MLS automatically. This leads to a message sent during the migration being lost. Team members don't need to go through this step as they are aware of the spoken protocol of other members after login.

* test(WPB-19966): write "Reply" regression tests (#19760)

* test(TC-8038): add test for not replying to a ping

* test(TC-8039): add test for not replying to timed messages

* test(TC-2994): add test for quote in reply to vanish if source message is removed

* test(TC-2996): add test for searching message

* test(TC-2997): test for quote in reply to be truncated

* test(TC-3002): reply to a picture

* test(TC-3003): reply to an audio message

* test(TC-3004): reply to video

* test(TC-3005): reply to link

* test(TC3006): reply to file

* test(TC-3007): reply to reply

* test(TC-3008): reply to link with text

* test(TC-3011): Reply with timed message

* test(TC-3013): test clicking the reply

* test(TC-3014): test replying in a conversation I'm no longer part of

* test(TC-3016): click on mention in reply opens user profile

* fix: remove visibility check from sendMessage

* test(TC-3009): add test case for replying to a location + util for sending location via testservice

* refactor: replace createPagesForUser with new fixtures

* refactor(test): use new fixtures for reply tests

* refactor: remove no longer used PagePlugin withConversation

* fix: accessibility improvements login(https://wearezeta.atlassian.net/browse/WPB-20819) (#19714)

* fix: make password toggle button accessible and localised(WPB-21228)

* fix: translate type

* fix: Login - New view is not announced

* fix: make back button accessible WPB-21466

* fix: make external link 2fa accessible(WPB-21279)

* fix: password toggle button text alternative(WPB-21228)

* fix: make verify account header focusable using screenkey and login subheading style adjustments

* fix: add toggle password show/hide label

* fix: address review comments

* chore: bump core packages

* fix: pipeline issues

* fix: PR comments

* fix: pipeline issues

* chore(deps): bump @wireapp/core from 46.46.3 to 46.46.5 (#19793)

Bumps [@wireapp/core](https://github.com/wireapp/wire-web-packages) from 46.46.3 to 46.46.5.
- [Commits](https://github.com/wireapp/wire-web-packages/compare/@wireapp/[email protected]...@wireapp/[email protected])

---
updated-dependencies:
- dependency-name: "@wireapp/core"
  dependency-version: 46.46.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump core-js from 3.46.0 to 3.47.0 (#19797)

Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.46.0 to 3.47.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.47.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump emoji-picker-react from 4.15.1 to 4.15.2 (#19802)

Bumps [emoji-picker-react](https://github.com/ealush/emoji-picker-react) from 4.15.1 to 4.15.2.
- [Release notes](https://github.com/ealush/emoji-picker-react/releases)
- [Commits](https://github.com/ealush/emoji-picker-react/commits)

---
updated-dependencies:
- dependency-name: emoji-picker-react
  dependency-version: 4.15.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump html-webpack-plugin from 5.6.4 to 5.6.5 (#19800)

Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 5.6.4 to 5.6.5.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](jantimon/html-webpack-plugin@v5.6.4...v5.6.5)

---
updated-dependencies:
- dependency-name: html-webpack-plugin
  dependency-version: 5.6.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump oidc-client-ts from 3.4.0 to 3.4.1 (#19801)

Bumps [oidc-client-ts](https://github.com/authts/oidc-client-ts) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/authts/oidc-client-ts/releases)
- [Commits](authts/oidc-client-ts@v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: oidc-client-ts
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump webpack from 5.102.1 to 5.103.0 (#19796)

Bumps [webpack](https://github.com/webpack/webpack) from 5.102.1 to 5.103.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](webpack/webpack@v5.102.1...v5.103.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.103.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump workbox-webpack-plugin from 7.3.0 to 7.4.0 (#19799)

Bumps [workbox-webpack-plugin](https://github.com/googlechrome/workbox) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](GoogleChrome/workbox@v7.3.0...v7.4.0)

---
updated-dependencies:
- dependency-name: workbox-webpack-plugin
  dependency-version: 7.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump stylelint from 16.25.0 to 16.26.0 (#19798)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.25.0 to 16.26.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.25.0...16.26.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump baseline-browser-mapping from 2.8.28 to 2.8.31 (#19792)

Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.8.28 to 2.8.31.
- [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases)
- [Commits](web-platform-dx/baseline-browser-mapping@v2.8.28...v2.8.31)

---
updated-dependencies:
- dependency-name: baseline-browser-mapping
  dependency-version: 2.8.31
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(WPB-19968): add tests for self deleting messages (#19805)

* test(TC-657): add test for sending ephemeral text message in 1:1

* test(TC-658): add test for sending ephemeral text message in group

* refactor: replace util sendTimedMessage with dedicated utils for enabling and disabling timed messages

* test(TC-662): Verify timer is applied to all messages until turning it off in 1:1

* test(TC-664): Verify that message with previous timer are deleted on start-up when the timeout passed in 1:1

* refactor: overload createPage fixture to optionally accept a context to reuse

* refactor: use team for tests using new fixture

* test(TC-675): Verify the message is not deleted for users that didn't read the message

* test(TC-3715): set global group conversation timer

* refactor(reply-tests): remove unused createUser fixture

* test(TC-3716): check current time is visible in details

* fix(a11y): add disabled attribute to MessageTimerButton

* test(TC-3718): check timed message button is disabled if timed messages are set globally

* test(TC-3719): globally set timer is shown on button next to input field

* test(TC-3720): system messages are shown for enabled / disabled timer messages

* test(TC-3717): check ephemeral message appear in search results

* test(TC-3731): add test for message to disappear from search results (currently broken)

* refactor: group search tests

* refactor: update search result tests to do assertions on receiver side

* refactor: group tests with self deleting messages set globally for a group conversation

* docs: add ticket number to comment for skipped test

* fix: prevent microphone disabled dialog display when muted (#19808)

* test(WPB-21957): update backend endpoint to match api version (#19809)

* chore: bump avs to v10.2.19 (#19810)

* chore(deps): bump pm2 from 6.0.13 to 6.0.14 in /server (#19814)

Bumps [pm2](https://github.com/Unitech/pm2) from 6.0.13 to 6.0.14.
- [Release notes](https://github.com/Unitech/pm2/releases)
- [Changelog](https://github.com/Unitech/pm2/blob/master/CHANGELOG.md)
- [Commits](Unitech/pm2@v6.0.13...v6.0.14)

---
updated-dependencies:
- dependency-name: pm2
  dependency-version: 6.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /server (#19817)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(WPB-19939): add authentication regression tests (#19826)

* test(TC-34579: verify signin button is disabled inc ase of empty credentials

* test(TC-3468): Verify sign in error appearance in case of suspended team account

* test(TC-3460): Verify current browser is set as temporary device

* test(TC-3465): Verify sign in error appearance in case of wrong credentials

* test(TC-3472): Ensure history is kept after refresh on permanent device

* test(TC-3473): create data driven test to also ensure history is kept on temporary device

* test(TC-1311): verify session expires

* test(TC-3480): check tls versions allowed by webapp server

* test(TC-1311): Ensure history is gone after logging out of public computer

* fix(websocket): optimise event handling. Add heartbeat [WPB-21950] (#19825)

* fix(lifecycle): optimise online / offline event handling. Add heartbeat for WS

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* chore: rename to updateConnectivityStatus

* chore: add copilot suggested improvements

---------

Co-authored-by: Copilot <[email protected]>

* chore(deps): bump express from 4.21.2 to 4.22.0 in /server (#19827)

Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 4.22.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.22.0/History.md)
- [Commits](expressjs/express@4.21.2...4.22.0)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 4.22.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: blocking user spec [19940] (#19784)

* test(WPB-19940): add tests for blocking users

* test(block): refactor block.spec.ts according to Review-Comments

add function to userActions.ts to send a connection request

add fixture for connection request

delete conversationNotConnected.modal.ts, replace it with acknowledge.modal.ts

* test(block): refactor block.spec.ts according to Review-Comments

* test(block): refactor block.spec.ts according to Review-Comments

* test(block): fixed unclear comments and variable namings

---------

Co-authored-by: Klaus Boldt <[email protected]>

* chore(deps): bump crowdin/github-action from 2.12.0 to 2.13.0 (#19828)

Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.12.0...v2.13.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: integrate Collabora using iframe [WPB-21650] (#19813)

* initial commit

* add close modal handler

* added isFileEditable()

* added edit option for conversation assets

* add tests

* fixed getNode api call

* bump @webapp/core

* fix package.json

* fixed package.json

* fix package.json

* address PR comments

* fixed types

* chore(deps-dev): bump stylelint from 16.26.0 to 16.26.1 (#19820)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.26.0 to 16.26.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.26.0...16.26.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @playwright/test from 1.56.1 to 1.57.0 (#19818)

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.56.1 to 1.57.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.56.1...v1.57.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump baseline-browser-mapping from 2.8.31 to 2.8.32 (#19819)

Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.8.31 to 2.8.32.
- [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases)
- [Commits](web-platform-dx/baseline-browser-mapping@v2.8.31...v2.8.32)

---
updated-dependencies:
- dependency-name: baseline-browser-mapping
  dependency-version: 2.8.32
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump emoji-picker-react from 4.15.2 to 4.16.1 (#19822)

Bumps [emoji-picker-react](https://github.com/ealush/emoji-picker-react) from 4.15.2 to 4.16.1.
- [Release notes](https://github.com/ealush/emoji-picker-react/releases)
- [Commits](https://github.com/ealush/emoji-picker-react/commits)

---
updated-dependencies:
- dependency-name: emoji-picker-react
  dependency-version: 4.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(WPB-21987): shard playwright tests across multiple runners (#19807)

* refactor: use nvmrc to select node version

* feat: add job to build test service

* feat: shard tests across multiple runners with integrated testservice & job to collect reports

* fix: build shadowJar of testservice

* fix: generate json report when merging blobs

* refactor: only download chrome browser for tests

* ci: use github reporter in CI

* fix: re-use playwright config when merging reports to generate json report for PR comment

* refactor: don't pass github user and token when building testservice

* feat: use 16 runners for sharding

* feat: execute regression tests in addition to critical flow

* fix: make script for reporting playwright summary work with nested test suites

* chore: use SHA for third party actions

(So Sonar shuts up)

* refactor: use line reporter instead of github

The report annotations are too annoying

* refactor: stop background process of testservice after test

* fix: run critical flow and regression tests

* ci: increase number of parallel test runners to 32

Now that the regression tests and critical flow tests are executed 16 runners is a bit too little

* style: ignore prettier for shard definition

* chore: safe guard stripAnsi function in report generation

* ci(WPB-21987): group test in playwright comment by file (#19830)

* refactor: update report script to group tests by file

* style: use list to render test cases

* feat: add direct link to download playwright report

* test(WPB-19966): fix getMessage locator to account for different message states (#19832)

* chore: add env var MAX_API_VERSION [WPB-22159] (#19831)

* runfix(cells): disable spammy tracking (#19829)

* test(WPB-19968): use a unique test message to avoid strict mode violation (#19834)

* test(WPB-19939): wait for login to finish before continuing (#19833)

* chore: Update translations

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Zafar Saeed Khan <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Brockhoff <[email protected]>
Co-authored-by: Arjita <[email protected]>
Co-authored-by: Adrian Weiß <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: JacquelineLehner <[email protected]>
Co-authored-by: Klaus Boldt <[email protected]>
Co-authored-by: Immad Abdul Jabbar <[email protected]>
e-maad pushed a commit that referenced this pull request Dec 3, 2025
…t tests with it (#19804)

This is an attempt to resolve the race conditions happening when two users connect in a 1:1 for the first time starting the conversation as proteus but it's migrated to MLS automatically. This leads to a message sent during the migration being lost. Team members don't need to go through this step as they are aware of the spoken protocol of other members after login.
e-maad added a commit that referenced this pull request Dec 3, 2025
* fix: remove call from the call state when a user is left the group (#19790)

* chore(deps-dev): bump rimraf from 6.1.0 to 6.1.2 in /server (#19791)

Bumps [rimraf](https://github.com/isaacs/rimraf) from 6.1.0 to 6.1.2.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](isaacs/rimraf@v6.1.0...v6.1.2)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor(WPB-21957): create fixture for creating teams + refactor edit tests with it (#19804)

This is an attempt to resolve the race conditions happening when two users connect in a 1:1 for the first time starting the conversation as proteus but it's migrated to MLS automatically. This leads to a message sent during the migration being lost. Team members don't need to go through this step as they are aware of the spoken protocol of other members after login.

* test(WPB-19966): write "Reply" regression tests (#19760)

* test(TC-8038): add test for not replying to a ping

* test(TC-8039): add test for not replying to timed messages

* test(TC-2994): add test for quote in reply to vanish if source message is removed

* test(TC-2996): add test for searching message

* test(TC-2997): test for quote in reply to be truncated

* test(TC-3002): reply to a picture

* test(TC-3003): reply to an audio message

* test(TC-3004): reply to video

* test(TC-3005): reply to link

* test(TC3006): reply to file

* test(TC-3007): reply to reply

* test(TC-3008): reply to link with text

* test(TC-3011): Reply with timed message

* test(TC-3013): test clicking the reply

* test(TC-3014): test replying in a conversation I'm no longer part of

* test(TC-3016): click on mention in reply opens user profile

* fix: remove visibility check from sendMessage

* test(TC-3009): add test case for replying to a location + util for sending location via testservice

* refactor: replace createPagesForUser with new fixtures

* refactor(test): use new fixtures for reply tests

* refactor: remove no longer used PagePlugin withConversation

* fix: accessibility improvements login(https://wearezeta.atlassian.net/browse/WPB-20819) (#19714)

* fix: make password toggle button accessible and localised(WPB-21228)

* fix: translate type

* fix: Login - New view is not announced

* fix: make back button accessible WPB-21466

* fix: make external link 2fa accessible(WPB-21279)

* fix: password toggle button text alternative(WPB-21228)

* fix: make verify account header focusable using screenkey and login subheading style adjustments

* fix: add toggle password show/hide label

* fix: address review comments

* chore: bump core packages

* fix: pipeline issues

* fix: PR comments

* fix: pipeline issues

* chore(deps): bump @wireapp/core from 46.46.3 to 46.46.5 (#19793)

Bumps [@wireapp/core](https://github.com/wireapp/wire-web-packages) from 46.46.3 to 46.46.5.
- [Commits](https://github.com/wireapp/wire-web-packages/compare/@wireapp/[email protected]...@wireapp/[email protected])

---
updated-dependencies:
- dependency-name: "@wireapp/core"
  dependency-version: 46.46.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump core-js from 3.46.0 to 3.47.0 (#19797)

Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.46.0 to 3.47.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.47.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump emoji-picker-react from 4.15.1 to 4.15.2 (#19802)

Bumps [emoji-picker-react](https://github.com/ealush/emoji-picker-react) from 4.15.1 to 4.15.2.
- [Release notes](https://github.com/ealush/emoji-picker-react/releases)
- [Commits](https://github.com/ealush/emoji-picker-react/commits)

---
updated-dependencies:
- dependency-name: emoji-picker-react
  dependency-version: 4.15.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump html-webpack-plugin from 5.6.4 to 5.6.5 (#19800)

Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 5.6.4 to 5.6.5.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](jantimon/html-webpack-plugin@v5.6.4...v5.6.5)

---
updated-dependencies:
- dependency-name: html-webpack-plugin
  dependency-version: 5.6.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump oidc-client-ts from 3.4.0 to 3.4.1 (#19801)

Bumps [oidc-client-ts](https://github.com/authts/oidc-client-ts) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/authts/oidc-client-ts/releases)
- [Commits](authts/oidc-client-ts@v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: oidc-client-ts
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump webpack from 5.102.1 to 5.103.0 (#19796)

Bumps [webpack](https://github.com/webpack/webpack) from 5.102.1 to 5.103.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](webpack/webpack@v5.102.1...v5.103.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.103.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump workbox-webpack-plugin from 7.3.0 to 7.4.0 (#19799)

Bumps [workbox-webpack-plugin](https://github.com/googlechrome/workbox) from 7.3.0 to 7.4.0.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](GoogleChrome/workbox@v7.3.0...v7.4.0)

---
updated-dependencies:
- dependency-name: workbox-webpack-plugin
  dependency-version: 7.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump stylelint from 16.25.0 to 16.26.0 (#19798)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.25.0 to 16.26.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.25.0...16.26.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump baseline-browser-mapping from 2.8.28 to 2.8.31 (#19792)

Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.8.28 to 2.8.31.
- [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases)
- [Commits](web-platform-dx/baseline-browser-mapping@v2.8.28...v2.8.31)

---
updated-dependencies:
- dependency-name: baseline-browser-mapping
  dependency-version: 2.8.31
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(WPB-19968): add tests for self deleting messages (#19805)

* test(TC-657): add test for sending ephemeral text message in 1:1

* test(TC-658): add test for sending ephemeral text message in group

* refactor: replace util sendTimedMessage with dedicated utils for enabling and disabling timed messages

* test(TC-662): Verify timer is applied to all messages until turning it off in 1:1

* test(TC-664): Verify that message with previous timer are deleted on start-up when the timeout passed in 1:1

* refactor: overload createPage fixture to optionally accept a context to reuse

* refactor: use team for tests using new fixture

* test(TC-675): Verify the message is not deleted for users that didn't read the message

* test(TC-3715): set global group conversation timer

* refactor(reply-tests): remove unused createUser fixture

* test(TC-3716): check current time is visible in details

* fix(a11y): add disabled attribute to MessageTimerButton

* test(TC-3718): check timed message button is disabled if timed messages are set globally

* test(TC-3719): globally set timer is shown on button next to input field

* test(TC-3720): system messages are shown for enabled / disabled timer messages

* test(TC-3717): check ephemeral message appear in search results

* test(TC-3731): add test for message to disappear from search results (currently broken)

* refactor: group search tests

* refactor: update search result tests to do assertions on receiver side

* refactor: group tests with self deleting messages set globally for a group conversation

* docs: add ticket number to comment for skipped test

* fix: prevent microphone disabled dialog display when muted (#19808)

* test(WPB-21957): update backend endpoint to match api version (#19809)

* chore: bump avs to v10.2.19 (#19810)

* chore(deps): bump pm2 from 6.0.13 to 6.0.14 in /server (#19814)

Bumps [pm2](https://github.com/Unitech/pm2) from 6.0.13 to 6.0.14.
- [Release notes](https://github.com/Unitech/pm2/releases)
- [Changelog](https://github.com/Unitech/pm2/blob/master/CHANGELOG.md)
- [Commits](Unitech/pm2@v6.0.13...v6.0.14)

---
updated-dependencies:
- dependency-name: pm2
  dependency-version: 6.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /server (#19817)

Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* test(WPB-19939): add authentication regression tests (#19826)

* test(TC-34579: verify signin button is disabled inc ase of empty credentials

* test(TC-3468): Verify sign in error appearance in case of suspended team account

* test(TC-3460): Verify current browser is set as temporary device

* test(TC-3465): Verify sign in error appearance in case of wrong credentials

* test(TC-3472): Ensure history is kept after refresh on permanent device

* test(TC-3473): create data driven test to also ensure history is kept on temporary device

* test(TC-1311): verify session expires

* test(TC-3480): check tls versions allowed by webapp server

* test(TC-1311): Ensure history is gone after logging out of public computer

* fix(websocket): optimise event handling. Add heartbeat [WPB-21950] (#19825)

* fix(lifecycle): optimise online / offline event handling. Add heartbeat for WS

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* Update src/script/repositories/event/EventRepository.ts

Co-authored-by: Copilot <[email protected]>

* chore: rename to updateConnectivityStatus

* chore: add copilot suggested improvements

---------

Co-authored-by: Copilot <[email protected]>

* chore(deps): bump express from 4.21.2 to 4.22.0 in /server (#19827)

Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 4.22.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.22.0/History.md)
- [Commits](expressjs/express@4.21.2...4.22.0)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 4.22.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: blocking user spec [19940] (#19784)

* test(WPB-19940): add tests for blocking users

* test(block): refactor block.spec.ts according to Review-Comments

add function to userActions.ts to send a connection request

add fixture for connection request

delete conversationNotConnected.modal.ts, replace it with acknowledge.modal.ts

* test(block): refactor block.spec.ts according to Review-Comments

* test(block): refactor block.spec.ts according to Review-Comments

* test(block): fixed unclear comments and variable namings

---------

Co-authored-by: Klaus Boldt <[email protected]>

* chore(deps): bump crowdin/github-action from 2.12.0 to 2.13.0 (#19828)

Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.12.0...v2.13.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: integrate Collabora using iframe [WPB-21650] (#19813)

* initial commit

* add close modal handler

* added isFileEditable()

* added edit option for conversation assets

* add tests

* fixed getNode api call

* bump @webapp/core

* fix package.json

* fixed package.json

* fix package.json

* address PR comments

* fixed types

* chore(deps-dev): bump stylelint from 16.26.0 to 16.26.1 (#19820)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.26.0 to 16.26.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](stylelint/stylelint@16.26.0...16.26.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.26.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @playwright/test from 1.56.1 to 1.57.0 (#19818)

Bumps [@playwright/test](https://github.com/microsoft/playwright) from 1.56.1 to 1.57.0.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](microsoft/playwright@v1.56.1...v1.57.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-version: 1.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump baseline-browser-mapping from 2.8.31 to 2.8.32 (#19819)

Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.8.31 to 2.8.32.
- [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases)
- [Commits](web-platform-dx/baseline-browser-mapping@v2.8.31...v2.8.32)

---
updated-dependencies:
- dependency-name: baseline-browser-mapping
  dependency-version: 2.8.32
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump emoji-picker-react from 4.15.2 to 4.16.1 (#19822)

Bumps [emoji-picker-react](https://github.com/ealush/emoji-picker-react) from 4.15.2 to 4.16.1.
- [Release notes](https://github.com/ealush/emoji-picker-react/releases)
- [Commits](https://github.com/ealush/emoji-picker-react/commits)

---
updated-dependencies:
- dependency-name: emoji-picker-react
  dependency-version: 4.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci(WPB-21987): shard playwright tests across multiple runners (#19807)

* refactor: use nvmrc to select node version

* feat: add job to build test service

* feat: shard tests across multiple runners with integrated testservice & job to collect reports

* fix: build shadowJar of testservice

* fix: generate json report when merging blobs

* refactor: only download chrome browser for tests

* ci: use github reporter in CI

* fix: re-use playwright config when merging reports to generate json report for PR comment

* refactor: don't pass github user and token when building testservice

* feat: use 16 runners for sharding

* feat: execute regression tests in addition to critical flow

* fix: make script for reporting playwright summary work with nested test suites

* chore: use SHA for third party actions

(So Sonar shuts up)

* refactor: use line reporter instead of github

The report annotations are too annoying

* refactor: stop background process of testservice after test

* fix: run critical flow and regression tests

* ci: increase number of parallel test runners to 32

Now that the regression tests and critical flow tests are executed 16 runners is a bit too little

* style: ignore prettier for shard definition

* chore: safe guard stripAnsi function in report generation

* ci(WPB-21987): group test in playwright comment by file (#19830)

* refactor: update report script to group tests by file

* style: use list to render test cases

* feat: add direct link to download playwright report

* test(WPB-19966): fix getMessage locator to account for different message states (#19832)

* chore: add env var MAX_API_VERSION [WPB-22159] (#19831)

* runfix(cells): disable spammy tracking (#19829)

* test(WPB-19968): use a unique test message to avoid strict mode violation (#19834)

* test(WPB-19939): wait for login to finish before continuing (#19833)

* chore: Update translations

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Zafar Saeed Khan <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Brockhoff <[email protected]>
Co-authored-by: Arjita <[email protected]>
Co-authored-by: Adrian Weiß <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: JacquelineLehner <[email protected]>
Co-authored-by: Klaus Boldt <[email protected]>
Co-authored-by: Immad Abdul Jabbar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants