Expensify: Rule Description Stays After Toggle Off
Introduction
This article delves into a peculiar issue encountered within Expensify, a popular expense management application. Specifically, we address the problem where a 'Description Required' rule remains visible in report details even after the associated RulesDiscussion category has been toggled off. This behavior deviates from the expected outcome, where the rule should disappear upon disabling the category. This in-depth exploration provides a comprehensive understanding of the issue, its impact, and potential workarounds. Whether you're an Expensify user, a developer, or simply interested in software behavior, this article offers valuable insights.
Issue Overview
In Expensify, users can set up rules for different expense categories, including requiring a description for certain categories. However, a bug has been identified where, after toggling off the RulesDiscussion category, the 'Description Required' rule persists in report details and the Left-Hand Navigation (LHN). This unexpected behavior can lead to confusion and a less-than-ideal user experience. The rule should ideally be deactivated and hidden from view when the corresponding category is disabled. This article will dissect the steps to reproduce this issue, the expected versus actual results, and the platforms affected. Understanding the root cause and potential solutions is crucial for both users and developers to ensure a seamless expense management process.
Key Details
- App: Expensify
- Version Number: v9.2.67-0
- Reproducibility: The issue is reproducible in both staging and production environments, highlighting its pervasive nature.
- Reported By: Applause Internal Team
- Device Used: Windows 11 / Chrome
- App Component: Chat Report View
Steps to Reproduce
To fully grasp the issue, it's essential to understand the steps required to reproduce it. By following these steps, users and developers can verify the bug and its behavior firsthand.
- Precondition: Ensure the user is an Admin of a Control Workspace and has set a description hint for a category (e.g., Advertising). This setup is crucial as it establishes the initial conditions for the bug to manifest.
- Open the NewDot app: Launch the Expensify application to begin the reproduction process.
- Navigate to the Workspace chat: Access the workspace chat within the app, which serves as the context for the expense reporting.
- Submit an expense: Create and submit an expense under the category that has the required description. Critically, leave the description empty to trigger the 'Description Required' rule-based report block (RBR).
- Navigate to Workspace features: Go to the settings or features section of the workspace to access the Rules section.
- Toggle off the Rules section: Disable the RulesDiscussion category, which is the core action that should ideally remove the rule.
- Open the workspace chat - preview report: Re-enter the workspace chat and preview the report that triggered the RBR.
- Open the report details: Access the detailed view of the report to observe whether the RBR is still present.
Expected vs. Actual Result
Understanding the discrepancy between the expected and actual outcomes is paramount in bug reporting and fixing. In this case, the divergence highlights the core of the issue.
Expected Result
After toggling off the Rules section, the 'Description Required' rule-based report block (RBR) should disappear from the report details. The expectation is that disabling the category effectively removes any associated rules and their enforcement.
Actual Result
Despite toggling off the Rules section, the RBR