Skip to content

Conversation

@e-maad
Copy link
Contributor

@e-maad e-maad commented Dec 3, 2025

TaskWPB-22159 [Web] Add MAX_API_VERSION env variable

Pull Request

Summary

Added environment variable MAX_API_VERSION.

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)


Screenshots or demo (if the user interface changed)

Notes for reviewers

  • Trade-offs:
  • Follow-ups (linked issues):
  • Linked PRs (e.g. web-packages):

Copilot AI review requested due to automatic review settings December 3, 2025 10:51
@e-maad e-maad requested review from a team and otto-the-bot as code owners December 3, 2025 10:51
Copilot finished reviewing on behalf of e-maad December 3, 2025 10:55
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 adds a new environment variable MAX_API_VERSION to make the maximum supported backend API version configurable, replacing the previously hardcoded value of 12. The default value is set to 13, effectively bumping the maximum supported API version.

Key changes:

  • Added MAX_API_VERSION optional environment variable (defaults to 13 if not set)
  • Replaced hardcoded max API version 12 with configurable env.MAX_API_VERSION
  • Changed default maximum API version from 12 to 13

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
server/config/env.ts Added optional MAX_API_VERSION string type definition to the Env type
server/config/client.config.ts Added conversion of MAX_API_VERSION from string to number with default value of 13
src/script/Config.ts Updated SUPPORTED_API_RANGE to use env.MAX_API_VERSION instead of hardcoded 12

@codecov
Copy link

codecov bot commented Dec 3, 2025

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 43.71%. Comparing base (2bf5f94) to head (4499ee3).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev   #19831   +/-   ##
=======================================
  Coverage   43.71%   43.71%           
=======================================
  Files        1298     1298           
  Lines       32707    32707           
  Branches     7259     7259           
=======================================
+ Hits        14297    14298    +1     
  Misses      16693    16693           
+ Partials     1717     1716    -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 Dec 3, 2025

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 76
  • Failed: 20
  • Skipped: 5
  • 🔁 Flaky: 7
  • 📊 Total: 108
  • Total Runtime: 461.5s (~ 7 min 42 sec)

Failed Tests:

❌ I want to see collapsed view when app is narrow (tags: TC-48, regression)

Location: specs/Accessibility/Accessibility.spec.ts:128
Duration: 27121ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="do-history-confirm"]')


   at pageManager/webapp/pages/infoHistory.page.ts:42

  40 |
  41 |   async clickConfirmButton() {
> 42 |     await this.continueButton.click();
     |                               ^
  43 |   }
  44 | }
  45 |
    at HistoryInfoPage.clickConfirmButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/infoHistory.page.ts:42:31)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Accessibility/Accessibility.spec.ts:135:31
❌ I should not lose a drafted message when switching between conversations in collapsed view (tags: TC-51, regression)

Location: specs/Accessibility/Accessibility.spec.ts:141
Duration: 26955ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="do-history-confirm"]')


   at pageManager/webapp/pages/infoHistory.page.ts:42

  40 |
  41 |   async clickConfirmButton() {
> 42 |     await this.continueButton.click();
     |                               ^
  43 |   }
  44 | }
  45 |
    at HistoryInfoPage.clickConfirmButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/infoHistory.page.ts:42:31)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Accessibility/Accessibility.spec.ts:150:33
❌ I should not be able to change email of user managed by SCIM (tags: TC-60, regression)

Location: specs/AccountSettingsSpecs/accountSettings.spec.ts:87
Duration: 87562ms

Errors:

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


   at pageManager/webapp/components/conversationSidebar.component.ts:64

  62 |
  63 |   async isPageLoaded() {
> 64 |     await this.preferencesButton.waitFor({state: 'visible', timeout: this.pageLoadingTimeout});
     |                                  ^
  65 |   }
  66 |
  67 |   async clickArchive() {
    at ConversationSidebar.isPageLoaded (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/components/conversationSidebar.component.ts:64:34)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/AccountSettingsSpecs/accountSettings.spec.ts:115:46
❌ Verify links to manage and create teams are shown when logged in as team owner (tags: TC-1723, regression)

Location: specs/AccountSettingsSpecs/accountSettings.spec.ts:159
Duration: 26119ms

Errors:

Error: expect(received).toBe(expected) // Object.is equality

Expected: "https://wire-teams-dev.zinfra.io/login/"
Received: "https://wire-teams-staging.zinfra.io/login/"

  166 |
  167 |       await expect(components.conversationSidebar().manageTeamButton).toBeVisible();
> 168 |       expect(await components.conversationSidebar().manageTeamButton.getAttribute('href')).toBe(
      |                                                                                            ^
  169 |         'https://wire-teams-dev.zinfra.io/login/',
  170 |       );
  171 |     },
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/AccountSettingsSpecs/accountSettings.spec.ts:168:92
❌ Web: App should not lock if I switch back to webapp tab in time (during inactivity timeout) (tags: TC-2752, TC-2753, regression)

Location: specs/AppLock/AppLock.spec.ts:60
Duration: 69949ms

Errors:

Error: expect(locator).toBeVisible() failed

Locator: locator('[data-uie-name=\'applock-modal\'] [data-uie-name=\'applock-modal-header\']')
Expected: visible
Timeout: 10000ms
Error: element(s) not found

Call log:
  - Expect "toBeVisible" with timeout 10000ms
  - waiting for locator('[data-uie-name=\'applock-modal\'] [data-uie-name=\'applock-modal-header\']')


  80 |         await unrelatedPage.waitForTimeout(31_000);
  81 |         await webappPageA.bringToFront();
> 82 |         await expect(modals.appLock().appLockModalHeader).toBeVisible();
     |                                                           ^
  83 |       });
  84 |     },
  85 |   );
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/AppLock/AppLock.spec.ts:82:59
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/AppLock/AppLock.spec.ts:77:7
❌ I want to be asked to share telemetry data when I log in (tags: TC-8780, regression)

Location: specs/Authentication/authentication.spec.ts:48
Duration: 14940ms

Errors:

Error: expect(locator).toBeVisible() failed

Locator: locator('[data-uie-name="primary-modals-container"][aria-label=\'Consent to share user data\']').locator('[data-uie-name="status-modal-title"]')
Expected: visible
Timeout: 10000ms
Error: element(s) not found

Call log:
  - Expect "toBeVisible" with timeout 10000ms
  - waiting for locator('[data-uie-name="primary-modals-container"][aria-label=\'Consent to share user data\']').locator('[data-uie-name="status-modal-title"]')


  56 |       await pages.login().login(user);
  57 |
> 58 |       await expect(modals.dataShareConsent().modalTitle).toBeVisible();
     |                                                          ^
  59 |     },
  60 |   );
  61 |
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Authentication/authentication.spec.ts:58:58
❌ Make sure user does not see data of user of previous sessions on same browser (tags: TC-1311, regression)

Location: specs/Authentication/authentication.spec.ts:192
Duration: 48065ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="do-history-confirm"]')


   at pageManager/webapp/pages/infoHistory.page.ts:42

  40 |
  41 |   async clickConfirmButton() {
> 42 |     await this.continueButton.click();
     |                               ^
  43 |   }
  44 | }
  45 |
    at HistoryInfoPage.clickConfirmButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/infoHistory.page.ts:42:31)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Authentication/authentication.spec.ts:223:35
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Authentication/authentication.spec.ts:220:7
❌ Verify you still receive messages from blocked person in a group chat (tags: TC-141, regression)

Location: specs/Block/block.spec.ts:149
Duration: 74440ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="do-send-message"]')
    - locator resolved to <button type="button" title="Send message" aria-label="Send message" data-uie-name="do-send-message" class="controls-right-button controls-right-button--send input-bar-buttons__send">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is not stable
    - retrying click action
    - waiting 20ms
    - waiting for element to be visible, enabled and stable
    - element is not stable
  - retrying click action
    - waiting 100ms
    - waiting for element to be visible, enabled and stable
  - element was detached from the DOM, retrying
    - locator resolved to <button disabled type="button" title="Send message" aria-label="Send message" data-uie-name="do-send-message" class="controls-right-button controls-right-button--send input-bar-buttons__send">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is not stable
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is not stable
    - retrying click action
      - waiting 100ms
    - waiting for element to be visible, enabled and stable
    - element is not stable
  37 × retrying click action
       - waiting 500ms
       - waiting for element to be visible, enabled and stable
       - element is not enabled
  - retrying click action
    - waiting 500ms


   at pageManager/webapp/pages/conversation.page.ts:158

  156 |   async sendMessage(message: string) {
  157 |     await this.messageInput.fill(message);
> 158 |     await this.sendMessageButton.click();
      |                                  ^
  159 |   }
  160 |
  161 |   async typeMessage(message: string) {
    at ConversationPage.sendMessage (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:158:34)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Block/block.spec.ts:165:11
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Block/block.spec.ts:163:9
❌ Verify you can unblock user from 1:1 conversation details (tags: TC-142, regression)

Location: specs/Block/block.spec.ts:186
Duration: 67347ms

Errors:

Error: expect(locator).toContainText(expected) failed

Locator: locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ has: locator('.content-message-wrapper[aria-label*="Halle Schuppe"]') })
Expected substring: "Message after being unblocked"
Timeout: 10000ms
Error: element(s) not found

Call log:
  - Expect "toContainText" with timeout 10000ms
  - waiting for locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ has: locator('.content-message-wrapper[aria-label*="Halle Schuppe"]') })


  219 |         await userAPages.conversationList().openConversation(userB.fullName);
  220 |         const message = userAPages.conversation().getMessage({sender: userB});
> 221 |         await expect(message).toContainText('Message after being unblocked');
      |                               ^
  222 |       },
  223 |     );
  224 |
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Block/block.spec.ts:221:31
❌ Verify 1on1 conversation is not created on the second end after you ignore connection request (tags: TC-365, TC-369, TC-370, TC-371, regression)

Location: specs/Connections/Connections.spec.ts:36
Duration: 50934ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for getByTestId('[data-uie-name=\'primary-modals-container\']').getByTestId('do-action')


   at pageManager/webapp/modals/base.modal.ts:60

  58 |
  59 |   async clickAction() {
> 60 |     await this.actionButton.click();
     |                             ^
  61 |   }
  62 | }
  63 |
    at CancelRequestModal.clickAction (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/modals/base.modal.ts:60:29)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Connections/Connections.spec.ts:60:38
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Connections/Connections.spec.ts:58:7
❌ Account Management (tags: TC-8639, crit-flow-web)

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

Errors:

Test timeout of 90000ms exceeded.
❌ Team owner adds whole team to an all team chat (tags: TC-8631, crit-flow-web)

Location: specs/CriticalFlow/addMembersToChat-TC-8631.spec.ts:43
Duration: 74085ms

Errors:

Error: expect(locator).toBeVisible() failed

Locator: locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ hasText: 'Hello from Casper!' })
Expected: visible
Timeout: 10000ms
Error: element(s) not found

Call log:
  - Expect "toBeVisible" with timeout 10000ms
  - waiting for locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ hasText: 'Hello from Casper!' })


  129 |       await expect(
  130 |         member1PageManager.webapp.pages.conversation().getMessage({content: `Hello from ${member1.firstName}!`}),
> 131 |       ).toBeVisible();
      |         ^
  132 |
  133 |       // Member2 sends a message
  134 |       await member2PageManager.webapp.pages.conversation().sendMessage(`Hello from ${member2.firstName}!`);
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/addMembersToChat-TC-8631.spec.ts:131:9
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/addMembersToChat-TC-8631.spec.ts:99:5
❌ Channels Management (tags: TC-8752, crit-flow-web)

Location: specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:37
Duration: 65681ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('#conversation-details') to be visible


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

  44 |
  45 |   async waitForSidebar() {
> 46 |     await this.conversationDetails.waitFor({state: 'visible'});
     |                                    ^
  47 |   }
  48 |
  49 |   async isOpen(conversationName: string) {
    at ConversationDetailsPage.waitForSidebar (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationDetails.page.ts:46:36)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:124:39
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:121:3
❌ 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: 41525ms

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/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupCalls-TC-8632.spec.ts:124:65
    at /home/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: 55918ms

Errors:

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


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

  68 |       await userLocator.click();
  69 |       // Wait for the user to be selected (checkbox should be checked)
> 70 |       await userLocator.locator('input[type="checkbox"]').waitFor({state: 'attached'});
     |                                                           ^
  71 |     }
  72 |
  73 |     await this.page.locator(`${selectById('add-participants')} ${selectByDataAttribute('do-create')}`).click();
    at ConversationDetailsPage.addUsersToConversation (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationDetails.page.ts:70:59)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:127:7
    at /home/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: 80455ms

Errors:

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


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

  68 |       await userLocator.click();
  69 |       // Wait for the user to be selected (checkbox should be checked)
> 70 |       await userLocator.locator('input[type="checkbox"]').waitFor({state: 'attached'});
     |                                                           ^
  71 |     }
  72 |
  73 |     await this.page.locator(`${selectById('add-participants')} ${selectByDataAttribute('do-create')}`).click();
    at ConversationDetailsPage.addUsersToConversation (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationDetails.page.ts:70:59)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/joinTeam-TC-8635.spec.ts:125:7
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/joinTeam-TC-8635.spec.ts:114:5
❌ I cannot edit another users message (tags: TC-683, regression)

Location: specs/Edit/edit.spec.ts:95
Duration: 29610ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('button[data-uie-name="go-people"]')
    - locator resolved to <button id="tab-7" role="tab" type="button" title="Connect" aria-selected="false" data-uie-name="go-people" data-uie-status="inactive" class="conversations-sidebar-btn">…</button>
  - attempting click action
    - waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling


   at pageManager/webapp/components/conversationSidebar.component.ts:60

  58 |
  59 |   async clickConnectButton() {
> 60 |     await this.connectButton.click();
     |                              ^
  61 |   }
  62 |
  63 |   async isPageLoaded() {
    at ConversationSidebar.clickConnectButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/components/conversationSidebar.component.ts:60:30)
    at connectWithUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:117:42)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:162:26
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:90:9
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Edit/edit.spec.ts:96:38
❌ I want to see a placeholder text as quote when original message is not available anymore (tags: TC-2994, regression)

Location: specs/Reply/reply.spec.ts:60
Duration: 29489ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('button[data-uie-name="go-people"]')


   at pageManager/webapp/components/conversationSidebar.component.ts:60

  58 |
  59 |   async clickConnectButton() {
> 60 |     await this.connectButton.click();
     |                              ^
  61 |   }
  62 |
  63 |   async isPageLoaded() {
    at ConversationSidebar.clickConnectButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/components/conversationSidebar.component.ts:60:30)
    at connectWithUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:117:42)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:162:26
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:90:9
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Reply/reply.spec.ts:64:40
❌ I should not be able to send a reply after I got removed from the conversation (tags: TC-3014, regression)

Location: specs/Reply/reply.spec.ts:288
Duration: 43740ms

Errors:

Error: expect(locator).toBeVisible() failed

Locator: locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ hasText: 'Mae DuBuque removed you' })
Expected: visible
Timeout: 10000ms
Error: element(s) not found

Call log:
  - Expect "toBeVisible" with timeout 10000ms
  - waiting for locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ hasText: 'Mae DuBuque removed you' })


  308 |       await userAPages.conversation().removeMemberFromGroup(userB.fullName);
  309 |       await new ConfirmModal(userAPages.conversation().page).clickAction();
> 310 |       await expect(userBPages.conversation().getMessage({content: `${userA.fullName} removed you`})).toBeVisible();
      |                                                                                                      ^
  311 |
  312 |       await message.hover();
  313 |       await expect(message.getByTestId('do-reply-message')).not.toBeAttached();
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Reply/reply.spec.ts:310:102
❌ I want to see ephemeral messages in the search results (tags: TC-3717, regression)

Location: specs/SelfDeletingMessages/selfDeletingMessages.spec.ts:230
Duration: 29428ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('button[data-uie-name="go-people"]')
    - locator resolved to <button id="tab-7" role="tab" type="button" title="Connect" aria-selected="false" data-uie-name="go-people" data-uie-status="inactive" class="conversations-sidebar-btn">…</button>
  - attempting click action
    - waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling


   at pageManager/webapp/components/conversationSidebar.component.ts:60

  58 |
  59 |   async clickConnectButton() {
> 60 |     await this.connectButton.click();
     |                              ^
  61 |   }
  62 |
  63 |   async isPageLoaded() {
    at ConversationSidebar.clickConnectButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/components/conversationSidebar.component.ts:60:30)
    at connectWithUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:117:42)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:162:26
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:90:9
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/SelfDeletingMessages/selfDeletingMessages.spec.ts:216:40

Flaky Tests:

⚠️ Verify link to manage a team is not shown when logged in as team member or normal use (tags: TC-1723, regression)

Location: specs/AccountSettingsSpecs/accountSettings.spec.ts:174

Attempt 1
Result: ❌ Failed
Duration: 0ms

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/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/settle.js:19:12)
    at Unzip.handleStreamEnd (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/adapters/http.js:599:11)
    at Axios.request (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/Axios.js:45:41)
    at UserRepositoryE2E.setUniqueUsername (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/userRepository.e2e.ts:35:5)
    at ApiManagerE2E.createPersonalUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/apiManager.e2e.ts:91:5)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:55:7
    at inviteMembers (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:51:3)
    at bootstrapTeamForTesting (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/setup.util.ts:34:3)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/AccountSettingsSpecs/accountSettings.spec.ts:34:18

Attempt 2
Result: ✅ Passed
Duration: 27410ms

⚠️ Verify I can retrieve calling logs (tags: TC-1725, regression)

Location: specs/AccountSettingsSpecs/accountSettings.spec.ts:185

Attempt 1
Result: ✅ Passed
Duration: 0ms

Attempt 2
Result: ✅ Passed
Duration: 33504ms

⚠️ I want to see the Full Name wherever my name gets displayed (tags: TC-1948, regression)

Location: specs/AccountSettingsSpecs/accountSettings.spec.ts:229

Attempt 1
Result: ✅ Passed
Duration: 0ms

Attempt 2
Result: ✅ Passed
Duration: 40005ms

⚠️ Verify current browser is set as temporary device (tags: TC-3460, regression)

Location: specs/Authentication/authentication.spec.ts:76

Attempt 1
Result: ❌ Failed
Duration: 35373ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="go-preferences"]')


   at pageManager/webapp/components/conversationSidebar.component.ts:52

  50 |
  51 |   async clickPreferencesButton() {
> 52 |     await this.preferencesButton.click();
     |                                  ^
  53 |   }
  54 |
  55 |   async clickAllConversationsButton() {
    at ConversationSidebar.clickPreferencesButton (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/components/conversationSidebar.component.ts:52:34)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Authentication/authentication.spec.ts:110:48
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Authentication/authentication.spec.ts:109:18

Attempt 2
Result: ✅ Passed
Duration: 31829ms

⚠️ Conversation Management (tags: TC-8636, crit-flow-web)

Location: specs/CriticalFlow/conversationManagement-TC-8636.spec.ts:34

Attempt 1
Result: ❌ Failed
Duration: 2655ms

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/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/settle.js:19:12)
    at Unzip.handleStreamEnd (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/adapters/http.js:599:11)
    at Axios.request (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/Axios.js:45:41)
    at UserRepositoryE2E.setUniqueUsername (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/userRepository.e2e.ts:35:5)
    at ApiManagerE2E.createPersonalUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/apiManager.e2e.ts:91:5)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:55:7
    at inviteMembers (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:51:3)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/conversationManagement-TC-8636.spec.ts:42:5
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/conversationManagement-TC-8636.spec.ts:38:3

Attempt 2
Result: ✅ Passed
Duration: 82675ms

⚠️ Editing a message does not create unread dot on receiver side (tags: TC-690, regression)

Location: specs/Edit/edit.spec.ts:124

Attempt 1
Result: ❌ Failed
Duration: 47939ms

Errors:

TimeoutError: locator.hover: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ has: locator('.content-message-wrapper[aria-label*="Summer Moen"]') })


   at pageManager/webapp/pages/conversation.page.ts:251

  249 |    */
  250 |   async openMessageOptions(message: Locator) {
> 251 |     await message.hover();
      |                   ^
  252 |     await message.getByTestId('message-actions').getByTestId('go-options').click();
  253 |     // The context menu containing the edit button is positioned globally as an overlay
  254 |     return this.page.getByRole('menu');
    at ConversationPage.openMessageOptions (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:251:19)
    at ConversationPage.editMessage (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:259:29)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Edit/edit.spec.ts:160:41
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Edit/edit.spec.ts:158:18

Attempt 2
Result: ✅ Passed
Duration: 32300ms

⚠️ I want to reply to a link mixed with text (tags: TC-3008, regression)

Location: specs/Reply/reply.spec.ts:205

Attempt 1
Result: ❌ Failed
Duration: 1220ms

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/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/settle.js:19:12)
    at Unzip.handleStreamEnd (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/adapters/http.js:599:11)
    at Axios.request (/home/runner/work/wire-webapp/wire-webapp/node_modules/axios/lib/core/Axios.js:45:41)
    at UserRepositoryE2E.setUniqueUsername (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/userRepository.e2e.ts:35:5)
    at ApiManagerE2E.createPersonalUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/backend/apiManager.e2e.ts:91:5)
    at createUser (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:180:3)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/test.fixtures.ts:114:21
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Reply/reply.spec.ts:33:18

Attempt 2
Result: ✅ Passed
Duration: 24835ms

⚠️ I want to click the quoted message to jump to the original message (tags: TC-3013, regression)

Location: specs/Reply/reply.spec.ts:263

Attempt 1
Result: ❌ Failed
Duration: 48931ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-message"][data-uie-send-status="2"]').filter({ hasText: 'Message' }).filter({ has: locator('.content-message-wrapper[aria-label*="Earlene Cormier"]') }).first().getByRole('group').getByTestId('do-reply-message')
    - locator resolved to <button type="button" tabindex="-1" aria-label="Reply" class="css-kb57dr" data-uie-name="do-reply-message">…</button>
  - attempting click action
    - waiting for element to be visible, enabled and stable
    - element is not stable
  - retrying click action
    - waiting for element to be visible, enabled and stable
  - element was detached from the DOM, retrying


   at pageManager/webapp/pages/conversation.page.ts:175

  173 |   async replyToMessage(message: Locator) {
  174 |     await message.hover();
> 175 |     await message.getByRole('group').getByTestId('do-reply-message').click();
      |                                                                      ^
  176 |   }
  177 |
  178 |   async enableSelfDeletingMessages() {
    at ConversationPage.replyToMessage (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:175:70)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/Reply/reply.spec.ts:273:7

Attempt 2
Result: ✅ Passed
Duration: 31015ms

⚠️ I want to see the current timer in conversation details (tags: TC-3716, regression)

Location: specs/SelfDeletingMessages/selfDeletingMessages.spec.ts:177

Attempt 1
Result: ❌ Failed
Duration: 27781ms

Errors:

TimeoutError: locator.click: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="conversation-list-header"] [data-uie-name="go-create-group"]')


   at pageManager/webapp/pages/conversationList.page.ts:112

  110 |
  111 |   async clickCreateGroup() {
> 112 |     await this.createGroupButton.click();
      |                                  ^
  113 |   }
  114 |
  115 |   getConversationLocator(conversationName: string) {
    at ConversationListPage.clickCreateGroup (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversationList.page.ts:112:34)
    at createGroup (/home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:84:34)
    at /home/runner/work/wire-webapp/wire-webapp/test/e2e_tests/specs/SelfDeletingMessages/selfDeletingMessages.spec.ts:158:24

Attempt 2
Result: ✅ Passed
Duration: 30575ms

@e-maad e-maad enabled auto-merge (squash) December 3, 2025 11:17
@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 3, 2025

@e-maad e-maad merged commit babf998 into dev Dec 3, 2025
12 checks passed
@e-maad e-maad deleted the feat/add-max-api-version-env-var branch December 3, 2025 12:22
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] <support@github.com>
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/core@46.46.3...@wireapp/core@46.46.5)

---
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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 <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: rename to updateConnectivityStatus

* chore: add copilot suggested improvements

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* 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] <support@github.com>
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 <klaus.boldt@mail.schwarz>

* 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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
Co-authored-by: Zafar Saeed Khan <zafarsaeed@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
Co-authored-by: Arjita <arjitamitra3@gmail.com>
Co-authored-by: Adrian Weiß <77456193+aweiss-dev@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: JacquelineLehner <117973982+JacquelineLehner@users.noreply.github.com>
Co-authored-by: Klaus Boldt <klaus.boldt@mail.schwarz>
Co-authored-by: Immad Abdul Jabbar <immad.jabbar@wire.com>
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] <support@github.com>
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/core@46.46.3...@wireapp/core@46.46.5)

---
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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 <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: rename to updateConnectivityStatus

* chore: add copilot suggested improvements

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* 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] <support@github.com>
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 <klaus.boldt@mail.schwarz>

* 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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
Co-authored-by: Zafar Saeed Khan <zafarsaeed@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mark Brockhoff <95471369+markbrockhoff@users.noreply.github.com>
Co-authored-by: Arjita <arjitamitra3@gmail.com>
Co-authored-by: Adrian Weiß <77456193+aweiss-dev@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: JacquelineLehner <117973982+JacquelineLehner@users.noreply.github.com>
Co-authored-by: Klaus Boldt <klaus.boldt@mail.schwarz>
Co-authored-by: Immad Abdul Jabbar <immad.jabbar@wire.com>
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