-
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
Remove policy expense chat beta #24579
Conversation
@abdulrahuman5196 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
FYI this is obviously not quite ready, it's waiting on a few backend PRs 😅 |
Sure kindly let me know when it's ready I can give a review. |
Web-E PR is in staging! We can start testing this in staging, but won't merge till the web-e changes are in prod |
_.keys(REPORTS).forEach((reportKey) => { | ||
if (ReportUtils.shouldDisableWriteActions(REPORTS[reportKey]) || ReportUtils.isExpensifyOnlyParticipantInReport(REPORTS[reportKey])) { | ||
return; | ||
} | ||
filteredReports[reportKey] = REPORTS[reportKey]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we have to filter here b/c we do this in TaskShareDestinationSelectorModal
before calling getShareDestinationOptions
. So we either do this logic in the test as well, OR we extract this filtering into getShareDestinationOptions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not able to understand why we have to do this change? Because getShareDestinationOptions
is a separate function not dependent on any component right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we need the change b/c we currently use getShareDestinationOptions
by passing in filtered reports - here:
App/src/pages/tasks/TaskShareDestinationSelectorModal.js
Lines 49 to 60 in 4a7558c
const filteredReports = useMemo(() => { | |
const reports = {}; | |
_.keys(props.reports).forEach((reportKey) => { | |
if (ReportUtils.shouldDisableWriteActions(props.reports[reportKey]) || ReportUtils.isExpensifyOnlyParticipantInReport(props.reports[reportKey])) { | |
return; | |
} | |
reports[reportKey] = props.reports[reportKey]; | |
}); | |
return reports; | |
}, [props.reports]); | |
const updateOptions = useCallback(() => { | |
const {recentReports} = OptionsListUtils.getShareDestinationOptions(filteredReports, props.personalDetails, props.betas, searchValue.trim(), [], CONST.EXPENSIFY_EMAILS, true); |
So tests were failing when we weren't filtering out archived reports (via `ReportUtils.shouldDisableWriteActions) first
@abdulrahuman5196 this PR is now ready for review, only on staging! 🙏 |
Thank you will check on this. Meanwhile the author's checklist is pending. Kindly check on the same |
…icyExpenseChatBeta
Hmm one bug I'm noticing that I think we should fix in another issue after this one: Screen.Recording.2023-08-21.at.10.39.27.AM.mov |
Ok it looks like ^ is happening b/c we load policyExpenseChat REPORTS when logging in, but not always their report actions 🤔 |
Now I'm thinking this is a bigger issue that needs to be tackled before merging this actually |
Starting thread here, to discuss some workspace chat issues: https://expensify.slack.com/archives/C01GTK53T8Q/p1692626420186549 |
@abdulrahuman5196 this PR is ready for review now! No longer waiting on backend changes & it seems the "weird states" I found above are all expected / can be fixed elsewhere so no need to make any more changes here, let's get this merged soon!! (following your testing & review of course) |
…icyExpenseChatBeta
Wooot! Amazing! Please treat this as your top priority @abdulrahuman5196 🙇♂️ 🙏 |
Reviewer Checklist
Screenshots/VideosWebScreen.Recording.2023-08-23.at.1.38.22.AM.movMobile Web - ChromeScreen.Recording.2023-08-23.at.1.41.52.AM.movMobile Web - SafariScreen.Recording.2023-08-23.at.1.42.57.AM.movDesktopScreen.Recording.2023-08-23.at.1.43.51.AM.moviOSScreen.Recording.2023-08-23.at.1.58.35.AM.movAndroidScreen.Recording.2023-08-23.at.1.57.25.AM.mov |
Code is looking good to me. Starting the testing now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
🎯 @allroundexperts, thanks for reviewing and testing this PR! 🎉 An E/App issue has been created to issue payment here: #25720. |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.57-0 🚀
|
🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.58-0 🚀
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.57-6 🚀
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.58-5 🚀
|
Holding on https://github.com/Expensify/Web-Expensify/pull/38506Details
Full plan for removing the beta here (internal link), but basically we have to remove this beta so that we can give conference attendees instant access to workspace chats
Note: I got further confirmation in slack here (public link) that everything is looking good regarding workspace chats so we should be free to make this change
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/307949
Tests
Make sure everything with workspace chats is working correctly
Offline tests
Same as above, these chats should be created optimistically when offline
QA Steps
Same as above
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
Screen.Recording.2023-08-22.at.10.11.51.AM.mov
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android