-
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 2023-11-17 - [$1000] Web - Incorrect comment formatting after approval #27544
Comments
Triggered auto assignment to @MitchExpensify ( |
Bug0 Triage Checklist (Main S/O)
|
Haven't been able to reproduce yet https://expensify.slack.com/archives/C049HHMV9SM/p1695071461773509?thread_ts=1694460444.917739&cid=C049HHMV9SM |
Job added to Upwork: https://www.upwork.com/jobs/~01729ed746f5c9f54c |
Current assignee @MitchExpensify is eligible for the External assigner, not assigning anyone new. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @jjcoffee ( |
Updated the "Action Performed" to make this easier.. hopefully! |
ProposalPlease re-state the problem that we are trying to solve in this issue.Incorrect comment formatting after approval What is the root cause of that problem?Text fragment is applying message header for the approval comment: Lines 1640 to 1642 in 2ad2d29
this also happens because the App/src/pages/home/report/ReportActionItemFragment.js Lines 169 to 182 in 6d67552
What changes do you think we should make in order to solve the problem?In this case, there are 2 text fragments that contain There are two things to update here:
What alternative solutions did you explore? (Optional)Approval comment fragment comes with a defined text style. We can simply use that instead to style the font-weight, e.g.:
|
Proposal |
@zukilover Thanks for your proposal! I think your solution is too much of a workaround (we can't be sure what the Waiting on more proposals! |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
Still waiting on more proposals here |
@jjcoffee @MitchExpensify this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
@jjcoffee, @MitchExpensify Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
@zukilover do you have any ideas for a new proposal based on @jjcoffee 's feedback? |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@Victor-Nyagudi proposal LGTM. I like how you approached to solve this in an efficient way. Plus, you've fixed the SUBMITTED message types. |
📣 @jjcoffee 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
📣 @Victor-Nyagudi 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Working on the PR right now. I aim to have it up and ready in roughly 2 to 4 hours. Thank you for the assignment. |
@jjcoffee With regard to your question on whether we could use the We'll first create a variable that checks if the import CONST from '../../../CONST'; // <- Imported since it's currently not there
// ...
const isApprovedOrSubmittedReportActionType = _.contains(
[CONST.REPORT.ACTIONS.TYPE.APPROVED, CONST.REPORT.ACTIONS.TYPE.SUBMITTED],
props.action.actionName
); Next, we'll create a helper function in This is done because This function will accept two parameters - // previous variables including 'isApprovedOrSubmittedReportActionType'...
const getReportActionItemFragment = (fragment, index) => {
return(
<ReportActionItemFragment
key={`actionFragment-${props.action.reportActionID}-${index}`}
fragment={fragment}
iouMessage={iouMessage}
isThreadParentMessage={ReportActionsUtils.isThreadParentMessage(props.action, props.reportID)}
attachmentInfo={props.action.attachmentInfo}
pendingAction={props.action.pendingAction}
source={lodashGet(props.action, 'originalMessage.source')}
accountID={props.action.actorAccountID}
style={props.style}
displayAsGroup={props.displayAsGroup}
actionName={props.action.actionName}
/>
);
}; We'll also need to store the // previous variables...
const flaggedContentText = (
<Text style={[styles.textLabelSupporting, styles.lh20]}>{props.translate('moderation.flaggedContent')}</Text>
); This part will also be repeated, so it can be stored in a variable. const content = !props.isHidden ? _.map(messages, (fragment, index) => getReportActionItemFragment(fragment, index)) : flaggedContentText; Finally, we'll replace what's inside the <View style={[styles.chatItemMessage, !props.displayAsGroup && isAttachment ? styles.mt2 : {}, ...props.style]}>
{isApprovedOrSubmittedReportActionType ? (
// Wrapping 'ReportActionItemFragment' inside '<Text>' so that text isn't broken up into separate lines when
// there are multiple messages of type 'TEXT', as seen when a report is submitted/approved from a
// policy on Old Dot and then viewed on New Dot.
<Text>{content}</Text>
) : (
<>{content}</>
)}
</View> Things look good so far after some light testing. cc: @lakchote for a second opinion |
Made some good progress on the PR, but it's late for me, so I'll pick things back up first thing tomorrow morning. I'm also still trying to figure out how to navigate to the Old Dot report on native devices and desktop (web works fine for mobile and Mac) given the provided method of doing so (see step 9 above) involves copying the URL from Old Dot and pasting it the New Dot URL. I'm open to suggestions. |
@Victor-Nyagudi I think you can leave this out/revert as that has been there for over 2 years (just got updated to prepend with
If you haven't figured this out yet, I usually use |
@jjcoffee I moved those deleted comments to the draft PR. Thought it would be better to continue the conversation there, but here works too if you prefer it.
Got it. I'll revert.
I also figured out how to get to the report on mobile devices (see step 38 and native screenshots). There are a lot of steps because of the extra set up occurring on Old Dot. This issue occurs on all platforms. |
No worries at all, I really appreciate how thorough you've been! Will be reviewing today. |
I'm glad to hear that. Thank you. |
Just a quick update here - the PR is still in review but we're nearing the finish line! Hopefully ready to merge by EOD. |
@OSBotify says the PR was deployed to production 3 days ago, but @MelvinBot hasn't said anything about this. Could something have gone wrong somewhere with the automation? cc: @jjcoffee |
Oh good catch, yeah there's been some issues with good 'ole Melv lately I think. @MitchExpensify Can you update the title and label to reflect a HOLD for payment 2023-11-17? Thanks! |
Payment summary: 9+ days to merge after assignment penalty (50%)
|
@MitchExpensify With regard to the penalty, please take a look at this. I was assigned this issue on October 23rd. There was a delay of 2 business days at some point because the C+ was swamped with worked. I made the following commits on Sunday, October 29th. This wasn't a business day, so it doesn't count. However, I didn't get a response until the following Wednesday and only after I bumped the C+. I didn't want to be a nuisance, so I wasn't bumping the C+ every day for reviews, but there wasn't much I could to prevent the 2 business days lost waiting for a response. I was very much aware we were approaching the 9-days penalty, so I doubled down my efforts, and thankfully, the C+ was able to prioritize the PR too. After everything was ironed out, the PR was ready to be merged on November 3rd. The amount of time in business days between October 23rd (6:45pm) when I was assigned and November 3rd (4:51pm) when the PR was ready to be merged is 8d 22h 6min. November 3rd is a Friday, so the PR could only be merged the following week which happened. Again, not enough time had elapsed to warrant bumping the internal engineer, so there wasn't much I could about the extra hours incurred between PR approval and the internal engineer merging the PR. As you can see, @MitchExpensify, even without the 2-business-day delay, the PR was ready to merge in less than 9 business days. There's nothing I could do about the amount of work the C+ was dealing with. In addition, if you take a look at the comments in the PR, the C+ and I were very proactive in finding a solution without regression, so the longer duration wasn't as a result of poor effort on our part. I beg you to take all this into account and please reconsider your stance on the 50% penalty. |
Hmm yeah I agree the penalty wouldn't usually be applied here as the PR was ready to merge within 9 WD, then was merged without changes on the next working day. As @Victor-Nyagudi points out, this required a lot of work as we needed quite a lot of back and forth on the PR to handle a few edge cases so that's why we ended up going right up to the limit. Thanks for your consideration @MitchExpensify 🙇 |
Ok, that's fair! Updating the payment summary accordingly. I appreciate the timelines! |
Bump @MitchExpensify for payment. This was supposed to be paid out last Friday. |
Regression Test Proposal
Do we agree 👍 or 👎 |
@MitchExpensify Checklist complete! |
Paid and contracts ended |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Action Performed:
Expected Result:
Correct comment formatting after approval
Actual Result:
Incorrect comment formatting after approval
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.70.5
Reproducible in staging?: n/a
Reproducible in production?: n/a
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
Expensify/Expensify Issue URL:
Issue reported by:@joaniew
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694460444917739
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: