-
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
Display status emojis in the LHN (including the user's own status) #24414
Display status emojis in the LHN (including the user's own status) #24414
Conversation
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.
Reviewed and tested - I think we are good to go!
Looking great so far! 2 things that I noticed:
24414-web.mp4 |
I added a check for that second issue. As for the first one, it's unrelated to focus mode like I thought. I can't get it to happen on my end. Would you mind sharing the test account details or that JSON report? |
Hmm there is nothing special about the accounts i'm using. @burczu are you able to see the emojis in |
@stitesExpensify @perunt Regarding first issue - I think it works correctly: the status icon shows up in LHN only next to items where the current user, that has this status set, is presented: |
src/libs/ReportUtils.js
Outdated
!isTaskReport(report) && // | ||
isDM(report) && | ||
!isIOUReport(report) && | ||
report.participantsList.length === 1 |
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 don't think this correctly fixes the issue with showing up status icon next to channels like #admins
- in my case there is only one admin, and the icons keeps showing up
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'm also a bit confused how #admins is passing the other checks here. It should be isDM
or !isChatRoom
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 found the issue. The function isChatRoom()
doesn't seem to return true even when the report has the field isChatRoom: true
😕
Hmm something must just be weird on my end then. |
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.
LGTM!
✋ 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/stitesExpensify in version: 1.3.58-0 🚀
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.58-5 🚀
|
🚀 Deployed to staging by https://github.com/stitesExpensify in version: 1.3.59-0 🚀
|
🚀 Deployed to production by https://github.com/luacmartins in version: 1.3.59-5 🚀
|
</OfflineWithFeedback> | ||
)} | ||
</PressableWithoutFeedback> | ||
<SignInOrAvatarWithOptionalStatus isCreateMenuOpen={this.props.isCreateMenuOpen} /> |
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.
@perunt could you elaborate where does this.props.isCreateMenuOpen
come from? Or is it always undefined
?
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.
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.
Ok thanks for the input.
I think that something broke here. I'm no longer seeing the status in LHN at all @perunt |
I saw recently the Moment was replaced, it could break it. Let me check |
User.clearDraftCustomStatus(); | ||
}; | ||
|
||
const navigateBackToSettingsPage = useCallback(() => Navigation.goBack(ROUTES.SETTINGS_PROFILE, false, true), []); |
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.
This change created this issue #30509.
<PressableWithoutFeedback | ||
accessibilityLabel={translate('sidebarScreen.buttonMySettings')} | ||
accessibilityRole={CONST.ACCESSIBILITY_ROLE.BUTTON} | ||
onPress={Session.signOutAndRedirectToSignIn} |
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.
This caused #34764 since signOutAndRedirectToSignIn
got the first param as true
always. It should have been false
instead.
Details
This is the first part of a series of PRs to implement the UI for the new custom status feature.
It implements the Status option in the profile settings, and the screen to set a status.
As this feature is incomplete yet and build in iterations it will be hidden behind the
customStatus
beta.Fixed Issues
$ #23132
PROPOSAL:
Tests
Offline tests
QA Steps
Add the customStatus beta to your account or simply let this function return true
Test Steps for Account A:
Test Steps for Account B:
Additional Notes:
Modifying the valid time duration for the status can only be done manually within the code. Refer to the provided link for the specifics.
Verify that no errors appear in the JS console
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
Untitled.2.mov
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android