-
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
There's no notification of newly received message(s) if you are reading historical messages in the back scroll #4475
Comments
Triggered auto assignment to @michaelhaxhiu ( |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I agree with @parasharrajat. Ideally, I would want a separate nudge similar to Linkedin or slack which says "New Messages Received", which when clicked would probably scroll/take me to the start of the new chats. |
@parasharrajat What do you propose here makes all the difference. If it's a different indicator like in slack I assume. Then it's a completely different issue & usecase. What my solution does when you scroll back down after viewing history, it will show a new marker indicator above the oldest new message received. |
Yes, that would be a great solution for this issue. And I was just wondering if both the issues can be solved by a single solution. |
This comment has been minimized.
This comment has been minimized.
@michaelhaxhiu Whoops! This issue is 2 days overdue. Let's get this updated quick! |
This comment has been minimized.
This comment has been minimized.
Triggered auto assignment to @Beamanator ( |
This comment has been minimized.
This comment has been minimized.
@Beamanator Rather than self-assessing this GH and posting this to Upwork on my own accord, I'm using the Do you agree that this GH and #4472 should remain separate? Or should these be combined into 1? @parasharrajat can you or someone else define what a |
@michaelhaxhiu I added the Suggestion section in the issue's body. Feel free to generalize it. It's better if you pull in someone from the Design team as we would be needing their help as well. A design label is also good. Also, not yet need to be external, first, a discussion is needed to be taken place, if we want to move forward with this. Opening a slack thread. |
Are we saying
Am I understanding what
Yep agreed - this isn't ready for |
Triggered auto assignment to @sylveawong ( |
Spoke to @parasharrajat 1:1 and he clarified that by "marker", he means this sort of unread notification. He added this to the GH Body too ⭐ : |
That sounds great, thanks!
I agree these should remain separate and here's why: In slack, both indicators / markers are present (see this video - the one @parasharrajat mentioned in this issue and the one @Santhosh-Sellavel mentioned in his issue - #4472) and I think it would be amazing if we could add both to NewDot: Screen.Recording.2021-08-11.at.9.35.08.AM.movHowever, before marking |
Roger that, sounds good 👌 I think it'll work well since the marker is visually small, so even when it persists it's not obtrusive to reading scrollback |
🚀 |
Here is the proposal @Beamanator
onScroll={e => this.currentScrollOffset = -e.nativeEvent.contentOffset.y}
<MarkerBadge
active={this.state.markerActive}
count={this.props.report.unreadActionCount}
onClick={scrollToBottom}
onClose={hide}
/>
MarkerBadge will look like Obviously, I will the App Style Guide this is just to show how will it behave. const MARKER_NOT_ACTIVE_TRANSLATE_Y = -30;
const MARKER_ACTIVE_TRANSLATE_Y = 10;
const Markerbadge = ({
count,
onClick,
onClose,
active,
}) => {
const [translateY] = useState(new Animated.Value(MARKER_NOT_ACTIVE_TRANSLATE_Y));
const show = () => {
Animated.spring(translateY, {
toValue: MARKER_ACTIVE_TRANSLATE_Y,
duration: 80,
useNativeDriver: true,
}).start();
};
const hide = () => {
Animated.spring(translateY, {
toValue: MARKER_NOT_ACTIVE_TRANSLATE_Y,
duration: 80,
useNativeDriver: true,
}).start();
};
useEffect(() => {
if (active && count > 0) {
show();
} else {
hide();
}
}, [count, active]);
return (
<View
style={[
{
position: 'absolute',
left: '50%',
top: 0,
zIndex: 100,
backfaceVisibility: 'hidden',
visibility: 'hidden',
},
]}
>
<Animated.View style={[
styles.flexRow,
styles.justifyContentBetween,
styles.alignItemsCenter,
{
backfaceVisibility: 'visible',
visibility: 'visible',
left: '-50%',
transform: [
{translateY},
],
},
]}
>
<Button
success
small
onPress={onClick}
ContentComponent={() => (
<View style={[styles.flexRow]}>
<Icon small src={DownArrow} fill={themeColors.textReversed} />
<Text
selectable={false}
style={[
styles.ml2,
styles.buttonSmallText,
styles.textWhite,
]}
>
{count}
{' '}
new messages
</Text>
</View>
)}
shouldRemoveRightBorderRadius
style={[styles.flex1]}
/>
<Button
success
small
style={[styles.buttonDropdown]}
onPress={onClose}
shouldRemoveLeftBorderRadius
ContentComponent={() => (
<Icon small src={Close} fill={themeColors.textReversed} />
)}
/>
</Animated.View>
</View>
);
}; Glimpse |
Thanks so much @parasharrajat for your proposal, that looks fantastic - I can't wait to see it live 💪 please submit a PR when you have a chance! And @michaelhaxhiu please hire Rajat when you have a chance too 👍 |
Hired, let's start this party. |
Reopening, waiting 7 days for regressions 👍 |
Making weekly since PR was merged last week |
Any news for me on Upwork? |
@parasharrajat just paid it out! |
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:
Break down in numbered steps
Expected Result:
When reading scrollback in a given chat, show a
X new message(s)
indicator if new messages are received in that DM. This should serve as a method of notifying a user that they have unread chats. See mockup below:28px tall, 11px font size
and should be consistent with our split button pattern that we have on the IOU payment page.Actual Result:
Nothing happens which tells the user about the new message.
Workaround:
Just remain at bottom of the chat.
Platform:
Where is this issue occurring? All
Version Number: 1..0.82.3
Logs: https://stackoverflow.com/c/expensify/questions/4856
no-indicator.mp4
Upwork job link: https://www.upwork.com/jobs/~01d1ea31874a29c2d1
View all open jobs on Upwork
Suggestion
Overall Idea is to show a different new marker from the new line indicator. This could be placed on the Center top of the Chat body Area(where you see a list of chat messages) or the right-top of the composer which is minimized to icon form on Mobile.
I vouch for the Top-center Position of the report Page. a marker as simple as
new messages
in green which when clicked scroll the chat list to the most recent(bottom).Example
The text was updated successfully, but these errors were encountered: