Closed izarutskaya closed 1 year ago
Triggered auto assignment to @adelekennedy (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details.
Platforms
in OP are ✅)On first visit after login, app does not display emoji reaction in reply in thread main message
If we observe the flow clearly the we've added reactions in the main report which would come under report A's reportactions.
So whatever the info related to the reportaction would be saved under the Report A's info.
This only happens with the first message of a thread because that message is related to parent report.
After logout we won't be having any of parent report until parent report info saved into Onyx
, because of that reactions would appear only after opening the parent report.
Maybe this can be backend but I don't think this needs backend intervention because I feel the system is designed the way it is and it's working good as well.
To solve this before opening any thread we should first get the info about the parentReportID
.
Example here https://github.com/Expensify/App/blob/1f22dfed6448591493ecf1124ee3654fee74aec3/src/pages/home/report/ReportActionsView.js#L143 we could add a check like the following
// Fetch Parent Report before fetching the child report.
if(props.report.parentReportID){
Report.openReport(props.reportParentID)
}
Updating backend to accept a new param parentReportID
which will help backend to return reportActions_
onyx key so that it will sync with Onyx locally.
https://github.com/Expensify/App/assets/59088937/289ad57e-952c-4b1b-a986-bee0b434b487
🐛
Job added to Upwork: https://www.upwork.com/jobs/~0184d2ee9438cd3144
Current assignee @adelekennedy is eligible for the External assigner, not assigning anyone new.
Triggered auto assignment to Contributor-plus team member for initial proposal review - @burczu (External
)
Problem Statement: On the first visit after login, the app does not display the emoji reaction in the reply of the thread's main message. This is due to the fact that the emoji reactions are stored in the parent report. When a user logs out and logs back in, the app doesn't have this parent report data loaded until it's explicitly fetched.
Proposed Solution:
In the App/src/pages/home/report/ReportActionsView.js
, add a condition that checks for the presence of a parentReportID
for the thread's main message. If found, it opens the parent report to fetch its data:
if(props.report.parentReportID){
Report.openReport(props.reportParentID);
}
Why this Solution Might Not Be Optimal:
More Optimal Solution:
useEffect(() => {
if (props.report.parentReportID && !props.report.firstMessageReactionsLoaded) {
Report.fetchReactionsForMessage(props.report.reportID, props.report.firstMessageID);
}
}, []);
In the Report API handler:
function fetchReactionsForMessage(reportID, messageID) {
// Call to backend API to get reactions for a specific message by its ID and reportID
}
This solution fetches only the necessary reactions, making it efficient and modular, which allows for further optimizations and a better separation of concerns.
Contributor details Your Expensify account email: imranaalam@gmail.com Upwork Profile Link: https://www.upwork.com/freelancers/~010d9646baeae737aa
📣 @imranaalam! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
📣 @imranaalam! 📣 Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:
- Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
- Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
- Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details. Format:
Contributor details Your Expensify account email: <REPLACE EMAIL HERE> Upwork Profile Link: <REPLACE LINK HERE>
Contributor details Your Expensify account email: imranaalam@gmail.com Upwork Profile Link: https://www.upwork.com/freelancers/~010d9646baeae737aa
✅ Contributor details stored successfully. Thank you for contributing to Expensify!
pending proposal review from @burczu
@adelekennedy I reviewed both proposals and tend to agree with @imranaalam and his Optimal Solution that this should be first updated on the backend side:
Backend Modification: Modify the backend to return the necessary reaction data for the first message of a thread, even when querying just that child report.
If we agree, I think we should change it to Internal
. What do you think?
Current assignee @burczu is eligible for the Internal assigner, not assigning anyone new.
Triggered auto assignment to @francoisl (Engineering
), see https://stackoverflow.com/c/expensify/questions/4319 for more details.
moved to internal
@francoisl, @burczu, @adelekennedy Whoops! This issue is 2 days overdue. Let's get this updated quick!
@francoisl can you make the backend update suggested here or should we deprioritize for now?
Yeah, finished the fix - just need to update tests for it. The internal PR should be ready for review tomorrow.
Just to inform: I'll be OOO on Thursday and Friday (7-8 September).
Backend fix was deployed to production yesterday. @adelekennedy I think we'll need to compensate for reporting the issue?
I think reporting and C+?
@francoisl, @burczu, @adelekennedy Whoops! This issue is 2 days overdue. Let's get this updated quick!
Payouts due:
Issue Reporter: $250 @dhanashree-sawant Upwork Eligible for 50% #urgency bonus? N
Upwork job is here.
@adelekennedy I'm not eligible for payment here - I'm a contractor from Callstack.
Thanks @adelekennedy, I have accepted the offer.
Report on Transitioning Expensify Issue from External to Internal: Consideration for Partial Compensation to Community Contributors
Introduction: The transition of an issue from an external to an internal status in Expensify raises concerns about community engagement and motivation. While it is acknowledged that moving an issue internally may be necessary for various reasons, this report explores the potential benefits of providing partial compensation to the community members who initially contributed to the issue. This approach aims to maintain community morale and incentivize future contributions.
Background: Expensify is a platform where users and community members actively engage in issue reporting and problem-solving. In some cases, issues initially opened to the external community may be reclassified as internal, limiting the visibility to external contributors.
Benefits of Transitioning to Internal: Transitioning an issue to an internal status can be beneficial for several reasons:
Challenges with Transitioning to Internal: While the decision to move an issue internally is often the right one, it poses some challenges:
Proposed Approach: To mitigate the challenges mentioned above, we propose considering partial compensation for community contributors when an issue transitions from external to internal. This approach can offer several advantages:
Implementation Details: Implementing this approach requires defining criteria for compensation, such as the significance of the issue, the quality of the report, or the level of community involvement. Compensation can be in the form of credits, recognition, or other tangible benefits.
Conclusion: Transitioning an issue from external to internal is sometimes necessary for efficient resolution, but it should not come at the cost of community engagement and motivation. Offering partial compensation to community contributors is a proactive approach that recognizes their efforts, fosters goodwill, and encourages ongoing participation. This approach not only benefits the community but also contributes to maintaining a positive image and strong relations between Expensify and its dedicated user base.
Proposal for a Survey to Address the Bug Policy Issue
Introduction: The identification of a bug in our current policy, which may potentially result in a slower pace of bug fixing, is a matter of significant concern. To comprehensively assess the validity of this issue and explore potential solutions, we propose conducting a survey. This survey aims to gather insights from contributors and users to determine if the policy needs adjustments and, if so, how to address it effectively.
Survey Objectives: The primary objectives of this survey are as follows:
Survey Structure: The survey will consist of a series of questions designed to achieve the objectives mentioned above. The questions will cover topics such as:
Survey Distribution: The survey will be distributed among the following groups:
Survey Analysis: Upon collecting survey responses, the data will be thoroughly analyzed to identify common themes, concerns, and potential solutions. This analysis will serve as the basis for further action.
Follow-Up Actions: Based on the survey findings, the following actions can be taken:
Conclusion: Conducting a survey to address the bug policy issue is a proactive step toward ensuring the efficiency of our bug-fixing process and maintaining a positive relationship with our community. By involving contributors, users, and concerned bloggers, we can collectively work towards a solution that benefits all stakeholders and improves the overall bug-fixing experience.
Bug Policy Feedback Survey
Introduction: Thank you for taking the time to participate in this survey. Your feedback is crucial in helping us assess our current bug policy and make necessary improvements. Please answer the questions honestly and provide as much detail as possible.
Demographics (Optional):
What is your age range?
How do you primarily engage with our platform?
Bug Policy Experience:
On a scale of 1-10, how familiar are you with our current bug policy? (1 being not familiar at all, 10 being extremely familiar)
Have you ever felt that our bug policy affected the pace of bug fixing?
If yes, please describe the situation:
[Text box for detailed answer]
Have you encountered instances where bugs remained open or unresolved due to the current policy?
If yes, please provide specific examples:
[Text box for detailed answer]
Suggestions and Feedback:
What aspects of the current bug policy do you believe need improvement or modification?
[Text box for detailed answer]
If you could suggest one major change to the bug policy, what would it be?
[Text box for detailed answer]
Are there any other policies or practices you believe contribute to delays in bug fixing?
[Text box for detailed answer]
Additional Comments:
Please provide any additional feedback, comments, or concerns you have regarding our bug policy or any other related topic.
[Text box for detailed answer]
Closure: Thank you for your valuable feedback! We are committed to improving our processes and ensuring a better experience for all stakeholders.
[SUBMIT BUTTON]
@francoisl, @burczu, @adelekennedy Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
@francoisl, @burczu, @adelekennedy 8 days overdue is a lot. Should this be a Weekly issue? If so, feel free to change it!
@dhanashree-sawant did you receive the payment for this? @adelekennedy is OOO this week, but if you received it then I think we can close this.
Hi @francoisl, yes I have received the payment, we can close this
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
App should display added reactions on visit to reply in thread report after login
Actual Result:
App should display added reactions on main message when we visit to reply in thread report first time after login
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: v1.3.57-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/34545ab3-b481-4514-8f38-6bf638f04a5f
https://github.com/Expensify/App/assets/115492554/ca0ac297-7810-441a-aca0-9751ac5e808e
Expensify/Expensify Issue URL:
Issue reported by: @Dhanashree-Sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691906944875479
View all open jobs on GitHub
Upwork Automation - Do Not Edit