Skip to content

[Due for payment 2025-05-30] [$250] iOS - Video - Error message overlaps with video in video player #59038

Closed

Description

@mitarachim

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 9.1.18-2
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
If this was caught during regression testing, add the test name, ID and link from TestRail: Exp
Email or phone of affected tester (no customers): applausetester+250302kh@applause.expensifail.com
Issue reported by: Applause Internal Team
Device used: iPhone 15 Pro Max / iOS 18.3
App Component: Other

Action Performed:

  1. Launch ND or hybrid app.
  2. Go to chat.
  3. Go offline.
  4. Tap + > Add attachment > Choose from gallery.
  5. Select a video.
  6. Go online.

Expected Result:

Error message will not appear after returning online.

Actual Result:

After returning online, the video player shows "An error occurred while trying to play this video". The error overlaps with the video.

Workaround:

Unknown

Platforms:

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6781132_1742871050683.ScreenRecording_03-25-2025_10-48-42_1.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021905710430446693231
  • Upwork Job ID: 1905710430446693231
  • Last Price Increase: 2025-04-18
  • Automatic offers:
    • linhvovan29546 | Contributor | 107058686
Issue OwnerCurrent Issue Owner: @CortneyOfstad

Activity

  1. added
    BugSomething is broken. Auto assigns a BugZero manager.
    on Mar 25, 2025
  2. melvin-bot commented on Mar 25, 2025

    @melvin-bot

    Triggered auto assignment to @CortneyOfstad (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

  3. linhvovan29546 commented on Mar 25, 2025

    @linhvovan29546
    Contributor

    Proposal

    Please re-state the problem that we are trying to solve in this issue.

    iOS - Video - Error message overlaps with video in video player

    What is the root cause of that problem?

    The error message is displayed based on this condition. When playing a video while offline, the onError event is triggered, setting the hasError flag to true. However, when reconnecting, this flag is not reset, causing the error message to persist.

    {hasError && !isBuffering && !isOffline && <VideoErrorIndicator isPreview={isPreview} />}

    What changes do you think we should make in order to solve the problem?

    I have two options to fix this issue:

    1. Reset the hasError flag to false when the video loads:
      onLoad={() => {
      if (!isCurrentlyURLSet || isUploading) {
      return;
      }
      playVideo();
      }}
                                                onLoad={() => {
                                                    setHasError(false)
                                                    if (!isCurrentlyURLSet || isUploading) {
                                                        return;
                                                    }
                                                    playVideo();
                                                }} 
    1. Only set hasError to true if the video is being played while online(I prefer this option most).
      onError={() => {
      setHasError(true);
      }}
                                                onError={() => {
                                                    if(isOffline){
                                                        return
                                                    }
                                                    setHasError(true);
                                                }}

    What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

    N/A, UI bug no need unit tests

    What alternative solutions did you explore? (Optional)

    N/A

  4. melvin-bot commented on Mar 28, 2025

    @melvin-bot

    @CortneyOfstad Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

  5. added
    ExternalAdded to denote the issue can be worked on by a contributor
    on Mar 28, 2025
  6. changed the title [-]iOS - Video - Error message overlaps with video in video player[/-] [+][$250] iOS - Video - Error message overlaps with video in video player[/+] on Mar 28, 2025
  7. melvin-bot commented on Mar 28, 2025

    @melvin-bot
  8. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Mar 28, 2025
  9. CortneyOfstad commented on Mar 28, 2025

    @CortneyOfstad
    Contributor

    Was able to recreate so getting eyes on this

  10. melvin-bot commented on Mar 28, 2025

    @melvin-bot

    Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 (External)

  11. 51 remaining items

  12. changed the title [-][$250] iOS - Video - Error message overlaps with video in video player[/-] [+][Due for payment 2025-05-30] [$250] iOS - Video - Error message overlaps with video in video player[/+] on May 23, 2025
  13. melvin-bot commented on May 23, 2025

    @melvin-bot

    Reviewing label has been removed, please complete the "BugZero Checklist".

  14. melvin-bot commented on May 23, 2025

    @melvin-bot

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.50-0 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

    If no regressions arise, payment will be issued on 2025-05-30. 🎊

    For reference, here are some details about the assignees on this issue:

  15. melvin-bot commented on May 23, 2025

    @melvin-bot

    @abdulrahuman5196 @CortneyOfstad @abdulrahuman5196 The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button]

  16. CortneyOfstad commented on May 27, 2025

    @CortneyOfstad
    Contributor

    @abdulrahuman5196 when you have a chance, please complete the checklist so there is no delay in the payment summary. Thank you!

  17. CortneyOfstad commented on May 30, 2025

    @CortneyOfstad
    Contributor

    Bumped in Slack for the checklist 👍

  18. abdulrahuman5196 commented on May 30, 2025

    @abdulrahuman5196
    Contributor

    BugZero Checklist:

    • [Contributor] Classify the bug:
    Bug classification

    Source of bug:

    • 1a. Result of the original design (eg. a case wasn't considered)
    • 1b. Mistake during implementation
    • 1c. Backend bug
    • 1z. Other:

    Where bug was reported:

    • 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
    • 2b. Reported on staging (eg. found during regression or PR testing)
    • 2d. Reported on a PR
    • 2z. Other:

    Who reported the bug:

    • 3a. Expensify user
    • 3b. Expensify employee
    • 3c. Contributor
    • 3d. QA
    • 3z. Other:
    • [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.

      Link to comment: Not a regression. Seems to be a miss.

    • [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.

      Link to discussion:

    • [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

    Regression Test Proposal Template
    • [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.

      Link to issue:

    Regression Test Proposal

    Precondition:

    Test:

    1. Go to chat.
    2. Go offline.
    3. Tap + > Add attachment > Choose from gallery.
    4. Select a video.
    5. Go online.
    6. Verify that no error message overlap video when re-connect

    Do we agree 👍 or 👎

  19. abdulrahuman5196 commented on May 30, 2025

    @abdulrahuman5196
    Contributor

    @CortneyOfstad Updated the checklist

  20. CortneyOfstad commented on May 30, 2025

    @CortneyOfstad
    Contributor

    Payment Summary

    @abdulrahuman5196 — to be paid $250 via NewDot
    @linhvovan29546 — paid $250 via Upwork

    Regression Test

    One is not needed based on comment here

  21. JmillsExpensify commented on Jun 9, 2025

    @JmillsExpensify
    Contributor

    $250 approved for @abdulrahuman5196

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions