Skip to content

Conversation

@V-Gira
Copy link
Contributor

@V-Gira V-Gira commented Oct 14, 2025

StoryWPB-20666 [Web] [webapp] add metadata to fileUploads

Description

Adds the option to log some asset metadata on some environments

  • never log asset data on a production environment
  • only log asset data if the backend feature flag is enabled
  • do not upload file if the asset data is incomplete and the feature flag is enabled

Checklist

  • mentions the JIRA issue in the PR name (Ex. [WPB-XXXX])
  • PR has been self reviewed by the author;
  • Hard-to-understand areas of the code have been commented;
  • If it is a core feature, unit tests have been added;

@github-actions
Copy link
Contributor

github-actions bot commented Oct 14, 2025

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 8
  • Failed: 5
  • Skipped: 0
  • 🔁 Flaky: 1
  • 📊 Total: 14
  • Total Runtime: 947.9s (~ 15 min 48 sec)

Failed Tests:

❌ Channels Management (tags: TC-8752, crit-flow-web)

Location: specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:36
Duration: 74118ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-message"] .message-body:not(:has(p.text-foreground)):has(.text)').last() to be visible


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

  158 |     if (waitForVisibility) {
  159 |       // Wait for the last message to be visible
> 160 |       await this.messages.last().waitFor({state: 'visible', timeout: 20_000});
      |                                  ^
  161 |     }
  162 |
  163 |     // Then get all matching elements
    at ConversationPage.isMessageVisible (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:160:34)
    at sendTextMessageToConversation (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/utils/userActions.ts:85:37)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:158:5
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/channelsManagement-TC-8752.spec.ts:157: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: 23603ms

Errors:

Error: expect(received).toBeFalsy()

Received: true

  125 |     await test.step('Member unmutes themselves', async () => {
  126 |       await memberCalling.unmuteSelfInFullScreen();
> 127 |       expect(await memberCalling.isSelfUserMutedInFullScreen()).toBeFalsy();
      |                                                                 ^
  128 |     });
  129 |
  130 |     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:127:65
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupCalls-TC-8632.spec.ts:125:5
❌ Group Video call (tags: TC-8637, crit-flow-web)

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

Errors:

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


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

  64 |
  65 |   async clickAcceptCallButton() {
> 66 |     await this.acceptCallButton.click();
     |                                 ^
  67 |   }
  68 |
  69 |   async clickToggleVideoButton() {
    at CallingPage.clickAcceptCallButton (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/calling.page.ts:66:33)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:147:34
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/groupVideoCall-TC-8637.spec.ts:145:16
❌ Messages in Channels (tags: TC-8753, crit-flow-web)

Location: specs/CriticalFlow/messagesInChannels-TC-8753.spec.ts:44
Duration: 45870ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-message"] [data-uie-name="message-reactions"] button[data-uie-name="emoji-pill"][aria-label="1 reaction, react with +1 emoji"]').first() to be visible


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

  208 |
  209 |     // Wait for at least one matching element to appear (optional timeout can be set)
> 210 |     await plusOneReactionIcon.first().waitFor({state: 'visible'});
      |                                       ^
  211 |
  212 |     return await plusOneReactionIcon.isVisible();
  213 |   }
    at ConversationPage.isPlusOneReactionVisible (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:210:39)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/messagesInChannels-TC-8753.spec.ts:141:46
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/messagesInChannels-TC-8753.spec.ts:137:5
❌ Messages in Groups (tags: TC-8751, crit-flow-web)

Location: specs/CriticalFlow/messagesInGroups-TC-8751.spec.ts:42
Duration: 43812ms

Errors:

TimeoutError: locator.waitFor: Timeout 20000ms exceeded.
Call log:
  - waiting for locator('[data-uie-name="item-message"] [data-uie-name="message-reactions"] button[data-uie-name="emoji-pill"][aria-label="1 reaction, react with +1 emoji"]').first() to be visible


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

  208 |
  209 |     // Wait for at least one matching element to appear (optional timeout can be set)
> 210 |     await plusOneReactionIcon.first().waitFor({state: 'visible'});
      |                                       ^
  211 |
  212 |     return await plusOneReactionIcon.isVisible();
  213 |   }
    at ConversationPage.isPlusOneReactionVisible (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:210:39)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/messagesInGroups-TC-8751.spec.ts:133:46
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/messagesInGroups-TC-8751.spec.ts:129:5

Flaky Tests:

⚠️ Setting up new device with a backup (tags: TC-8634, crit-flow-web)

Location: specs/CriticalFlow/backupRestoration-TC-8634.spec.ts:35

Attempt 1
Result: ❌ Failed
Duration: 41401ms

Errors:

Error: locator.waitFor: Test ended.
Call log:
  - waiting for locator('[data-uie-name="item-message"] .message-body:not(:has(p.text-foreground)):has(.text)').last() to be visible


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

  158 |     if (waitForVisibility) {
  159 |       // Wait for the last message to be visible
> 160 |       await this.messages.last().waitFor({state: 'visible', timeout: 20_000});
      |                                  ^
  161 |     }
  162 |
  163 |     // Then get all matching elements
    at ConversationPage.isMessageVisible (/home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/pageManager/webapp/pages/conversation.page.ts:160:34)
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/backupRestoration-TC-8634.spec.ts:87:33
    at /home/runner/actions-runner/_work/wire-webapp/wire-webapp/test/e2e_tests/specs/CriticalFlow/backupRestoration-TC-8634.spec.ts:72:3

Attempt 2
Result: ✅ Passed
Duration: 42424ms

@V-Gira V-Gira force-pushed the v/asset-metdata-field branch from 0a5a631 to 0f72058 Compare October 15, 2025 09:37
@codecov
Copy link

codecov bot commented Oct 15, 2025

Codecov Report

❌ Patch coverage is 68.75000% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 43.66%. Comparing base (b51c4ae) to head (bf3f8fe).
⚠️ Report is 1 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev   #19676      +/-   ##
==========================================
+ Coverage   43.65%   43.66%   +0.01%     
==========================================
  Files        1294     1294              
  Lines       32393    32405      +12     
  Branches     7190     7197       +7     
==========================================
+ Hits        14141    14150       +9     
- Misses      16553    16557       +4     
+ Partials     1699     1698       -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.

@V-Gira V-Gira changed the title feat: implement audit log in asset API [WPB-20665] feat: implement audit log in asset API [WPB-20666] Oct 15, 2025
@V-Gira V-Gira force-pushed the v/asset-metdata-field branch from 3ba9c62 to ed0954e Compare October 15, 2025 15:37
@V-Gira V-Gira marked this pull request as ready for review October 15, 2025 18:58
@V-Gira V-Gira requested review from a team and otto-the-bot as code owners October 15, 2025 18:58
@sonarqubecloud
Copy link

@V-Gira V-Gira merged commit 5e412b1 into dev Oct 16, 2025
17 of 18 checks passed
@V-Gira V-Gira deleted the v/asset-metdata-field branch October 16, 2025 07:41
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