-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Implement UI for history visibility acknowledgement. #31156
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
Implement UI for history visibility acknowledgement. #31156
Conversation
68ef636 to
27b11e4
Compare
|
I'm wondering if this would be better off as a floating alert above the UI - would conflict less with the identity reset dialog. |
|
@kaylendog this is a question for the design team. Where are the figma design for this banner? |
Here (for EW)! |
|
Opening this up for review, since I can't make any headway on the CI failures:
|
florianduros
left a comment
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.
Each components in shared component has its own folder. imo RoomStatusBarHistoryVisible should be in packages/shared-components/src/room/RoomStatusBarHistoryVisible.
The RoomStatusBarHistoryVisible is missing at least a render test and a check that onClose is correctly binded.
...ared-components/src/room/RoomStatusBarHistoryVisible/RoomStatusBarHistoryVisible.stories.tsx
Outdated
Show resolved
Hide resolved
packages/shared-components/src/structures/RoomStatusBarHistoryVisible.stories.tsx
Outdated
Show resolved
Hide resolved
packages/shared-components/src/structures/RoomStatusBarHistoryVisible.module.css
Outdated
Show resolved
Hide resolved
packages/shared-components/src/structures/RoomStatusBarHistoryVisible.tsx
Outdated
Show resolved
Hide resolved
packages/shared-components/src/structures/RoomStatusBarHistoryVisible.tsx
Outdated
Show resolved
Hide resolved
| return ( | ||
| <Tooltip open={isTooltipOpen} description={formatTimeLeft(secondsLeft)} placement="bottom"> | ||
| <div className={classes} ref={this.ref} role="region" aria-label={_t("a11y|message_composer")}> | ||
| <HistoryVisibleBannerView vm={new HistoryVisibleBannerViewModel({ room: this.props.room })} /> |
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.
At every render of the MessageComposer, the vm will be recreated. We want to avoid that.
You can:
- Create the vm in the message component (constructor/componentDidMount), put in the state, dispose the vm in componentWillUnMount
- Create a functional component where you create the vm with Introduce a hook to auto dispose view models #31178 and render the view
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.
Addressed in 50b5785
| private readonly featureWatcher: string; | ||
| private readonly acknowledgedWatcher: string; |
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.
missing tsdoc
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.
Addressed in b6b65b0
Shows a banner above the message composer whenever a user opens a room with non-join history visibility, which they can dismiss.
Issue: element-hq/element-meta#2875
Checklist
public/exportedsymbols have accurate TSDoc documentation.