Expensify Bug: 'Approve' Opens After Offline Report Access

Alex Johnson
-
Expensify Bug: 'Approve' Opens After Offline Report Access

Introduction

This article delves into a peculiar bug encountered within the Expensify application, specifically concerning the behavior of the Reports section after transitioning from offline to online mode. The issue arises when users access the Expenses tab within Reports while offline, and upon regaining internet connectivity, the app unexpectedly redirects to the Approve tab. This deviation from the expected behavior disrupts the user experience and necessitates a closer examination of the underlying cause and potential solutions. We will explore the steps to reproduce this bug, the observed results, and the platforms affected. Understanding this issue is crucial for developers and users alike to ensure a seamless experience with Expensify.

Issue Description

The core of the problem lies in the app's state management when switching between offline and online modes. When a user navigates to Reports > Expenses while offline, the app presumably stores this navigation state. However, upon reconnecting to the internet, instead of maintaining the user's intended destination (Expenses tab), the app defaults to the Approve tab. This behavior is inconsistent with the expected outcome, where the app should seamlessly restore the user's previous location within the Reports section. This bug can lead to user frustration, especially if they were in the middle of a task within the Expenses tab and are unexpectedly redirected. Furthermore, it highlights a potential flaw in the app's handling of offline states and synchronization upon regaining connectivity. Ensuring the app accurately preserves and restores navigation states is paramount for a smooth user experience.

Steps to Reproduce

To replicate this bug, follow these steps meticulously:

  1. Navigate to staging.new.expensify.com.
  2. Log in using a new account.
  3. Skip the workspace creation process and refrain from accessing the Reports tab initially.
  4. Set the application to offline mode.
  5. Proceed to the Workspaces tab and create a new workspace.
  6. Go to the Reports section.
  7. Within Reports, navigate to a tab other than the default (e.g., Expenses or any other available tab).
  8. Restore the internet connection, bringing the application back online.

By following these steps, you should be able to consistently reproduce the bug where the app redirects to the Approve tab instead of maintaining the selected tab within Reports.

Expected vs. Actual Result

Expected Result: After restoring the internet connection, the application should remain on the tab selected within the Reports section (e.g., Expenses).

Actual Result: Upon going online, the application automatically navigates to the Approve tab, regardless of the previously selected tab within Reports. This unexpected redirection disrupts the user's workflow and deviates from the anticipated behavior. The discrepancy between the expected and actual results underscores the need for a fix to ensure a consistent and intuitive user experience. This bug not only affects usability but also reflects a potential issue in the application's state management and synchronization mechanisms.

Technical Details

  • Version Number: 9.2.71-0
  • Reproducible in Staging?: Yes
  • Reproducible in Production?: Yes
  • Regression Testing: This issue was identified during regression testing.
  • Affected Tester: sjdoisjdonisjdsoij@gmail.com
  • Reported by: Applause Internal Team
  • Device Used: Mac 26.1 / Chrome
  • App Component: Search

The fact that this bug is reproducible in both staging and production environments highlights its significance and the urgency for a resolution. The detailed information provided, including the version number and the affected tester's email, aids developers in pinpointing the source of the issue and implementing a fix effectively. Understanding the app component involved (Search) may offer further clues into the root cause of the bug.

Platforms Affected

The following platforms are confirmed to be affected by this bug:

  • Windows: Chrome
  • MacOS: Chrome / Safari

The bug has not been verified on the following platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • MacOS: Desktop

The cross-platform nature of this bug, affecting both Windows and macOS environments, suggests a potential issue in the core logic of the application rather than platform-specific code. Further testing on the unverified platforms is recommended to determine the full scope of the issue and ensure a comprehensive fix.

Visual Evidence

A screenshot/video demonstrating the bug can be found at: https://github.com/user-attachments/assets/7d726efd-d677-40bf-9e36-a6ecc667ba02

Visual evidence is invaluable in bug reporting as it provides a clear and concise representation of the issue. The provided link offers a direct view of the bug in action, enabling developers to quickly understand the problem and its impact on the user experience. This visual aid complements the textual description and enhances the overall clarity of the bug report.

Workaround

Currently, there is no known workaround for this issue. Users experiencing this bug will need to manually navigate back to their desired tab within the Reports section after the app redirects to the Approve tab. This lack of a workaround underscores the need for a timely fix to eliminate the inconvenience caused by this bug. The absence of a simple solution further emphasizes the importance of addressing the underlying cause to prevent future occurrences.

Conclusion

The Expensify bug, where the app redirects to the Approve tab after accessing Reports > Expenses offline and then going back online, presents a significant usability issue. This article has detailed the steps to reproduce the bug, the expected versus actual results, and the platforms affected. The lack of a current workaround highlights the urgency of addressing this issue. Developers should prioritize investigating the state management and synchronization mechanisms within the app to ensure a seamless transition between offline and online modes. A comprehensive fix will greatly enhance the user experience and maintain the integrity of the Expensify application.

For further information on Expensify and its features, you can visit the Expensify website.

You may also like