-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2024-03-18] [$250] Room - Flag as offensive function is absent in the conversation, but present in the thread #36045
Comments
Job added to Upwork: https://www.upwork.com/jobs/~015264f638251d5c13 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @getusha ( |
Triggered auto assignment to @JmillsExpensify ( |
We think that this bug might be related #vip-vsb |
ProposalPlease re-state the problem that we are trying to solve in this issue.Flag as offensive function is absent in the conversation, but present in the thread What is the root cause of that problem?The problem is on the room What changes do you think we should make in order to solve the problem?We need to check if it is the main message of a thread and ensure Lines 3857 to 3865 in f6ba751
What alternative solutions did you explore? (Optional) |
ProposalPlease re-state the problem that we are trying to solve in this issue.Flag as offensive function is absent in the conversation, but present in the thread What is the root cause of that problem?The report being used to check write capability here is not correct in case the report action being evaluated is the parent report action in a thread. In this case, we're currently checking the write capability of the child report rather than the parent report. So let's say report action A belongs to #announce room, and a thread B is threaded from A, then when right click on the report action A inside thread B (as the first message/parent report action), the Line 3841 in fe61eda
What changes do you think we should make in order to solve the problem?In here, first check if the
The correct parent report will then be used here and the right What alternative solutions did you explore? (Optional)NA |
Proposal updated to add example code change and expand on RCA. |
@dukenv0307 I am not finished with my proposal and when I am finished will notify |
ProposalPlease re-state the problem that we are trying to solve in this issue.Room - Flag as an offensive function is absent in the conversation but present in the thread What is the root cause of that problem?The Lines 3925 to 3933 in 198ca2c
Furthermore, the Lines 1068 to 1069 in 1b06012
What changes do you think we should make in order to solve the problem?We can refuse to display the flag button if the policy only allows admins to comment. Instead of the report, use the root workspace report when using the Line 3932 in 198ca2c
Therefore, we should replace the
What alternative solutions did you explore? (Optional)On the other hand, we could remove the Like the mentioned buttons, even if the user is unauthenticated, the user will log in after pressing the flag comment button. |
Triggered auto assignment to @youssef-lr, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
@getusha That proposal will lead to users unable to flag any report action inside the thread, which is not correct because the members in a admin-write-only workspace could still reply to threads and talk to each other on threads, this is expected business logic. Per design, if users can send comments in a thread/report, they should be able to flag messages in it (which is why Could you give some feedback on my proposal which will produce the correct behavior (only the report action that belongs to the main report, which can't be commented on, cannot be flagged, the rest of the report actions inside the thread could still be flagged normally)? Thank you! |
Could we get a clarification on the expected result? Should we show the offensive Flag in the room thread or not? Also, should we apply the fix to the threads inside the room thread? |
Hmm, yeah I think this is by design right? The admin-only post is not flagged by design, but the thread is a distinct convo from the parent, so it can be. @dangrous Do you mind confirming? |
Just to be clear, there're 2 part of the threads:
@dangrous Could you check if this is right? Thank you! |
Hi! So @JmillsExpensify and I discussed separately:
|
📣 @getusha 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @dukenv0307 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
hmm..., @youssef-lr, I think you might have made a mistake. I believe my proposal fixes the issue because the selected proposal only prevents non-admins from flagging the child thread but not deeper workspace chat threads from the child thread. This was the main reason I posted my proposal and was selected by @getusha. Kindly, could you re-evaluate my proposal? Thank you |
@Tony-MK This is your suggested change:
As @dukenv0307 mentioned, I think |
@youssef-lr ,After checking back on my proposal, I remember I used the getRootParentReport function to get correct report to pass to isAllowToComment because the thread report can not be used to evaluate whether a user can flag. That's why the parent admin report doesn't allow a user to flag a messge but can the message thread. Therefore, it should return true for non admin rooms. I tested it and worked but could I not be grasping something? |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 1.4.49-4 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 2024-03-18. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@getusha Do you mind filling out the BZ checklist above? In the meantime, I believe the payment summary is:
|
BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@JmillsExpensify it is $250 based on #36045 (comment) |
Thanks. I updated the payment summary above and paid all contracts in Upwork. |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: 1.4.38-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
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
Action Performed:
Open https://staging.new.expensify.com/
Log in under your HT account A
In incognito mode, open https://staging.new.expensify.com/
Log in with a different account B
Under user A, create a WS
Invite user B to the created WS
Under user A, send a message to the @announce room
In the room settings, enable Who can post - Admins only
Under user B, right-click on a message from user A
Note that the Flag as offensive function is not available
Create a thread with this message
In the thread, right-click on the parent message
Expected Result:
The Flag as offensive function must be present in the conversation and is present in the thread. Or absent in the conversation and thread, if so intended.
Actual Result:
Flag as offensive function is absent in the conversation, but present in the thread
Workaround:
unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Screenshots/Videos
Add any screenshot/video evidence
Bug6370545_1707321136324.Recording__1302.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: