Skip to content

Conversation

@langleyd
Copy link
Member

@langleyd langleyd commented Nov 14, 2025

Fixes https://github.com/element-hq/customer-success/issues/345
Fixes https://element-io.atlassian.net/browse/PSB-929
Fixes https://element-io.atlassian.net/browse/PSB-930

What's in this PR?

  • Removes the poll ended event from the timeline. Previously there was a lot of duplication between the two.(See "Ended Poll - Old" image below)
  • Doesn't use green for the checkmark and progress bar until the poll has ended(a winner chosen).
  • Updates the Poll icon and introduces a poll closed icon
  • Changes the text and alignment of the total votes label
  • Always shows the radio buttons, but disables them for the ended polls
  • improves the screen reader output of each option and adds labels for the Poll and Closed Poll Icons.
  • It fixes https://github.com/element-hq/customer-success/issues/345 where we were sometimes display fallback text. (We no longer render the end poll event)

What's dos it look like?

Old

Screen.Recording.2025-11-24.at.16.52.03.mov

New

Screen.Recording.2025-11-24.at.16.54.18.mov

Example of the new screen reader output for options:

image

…e UX.

- Checkmark and progress bar are only green if the poll is ended.
- Updated the Poll icon for open and ended state and added labels
- Right align total votes count and update text
@langleyd langleyd requested a review from a team November 24, 2025 17:51
@langleyd langleyd marked this pull request as ready for review November 24, 2025 17:55
@langleyd langleyd requested a review from a team as a code owner November 24, 2025 17:55
@langleyd langleyd changed the title Update polls UX to match EX Mobile Update polls UX to match EX Mobile and improve accessibility Nov 24, 2025
.map((answer) => ({
answer,
voteCount: votes.get(answer.id) || 0,
optionNumber: poll.pollEvent.answers.findIndex((a) => a.id === answer.id) + 1,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The map callback gets a second arg that is the index so you don't need to make this O(n^2)

Copy link

@gaelledel gaelledel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So relating to https://github.com/element-hq/customer-success/issues/345 it seems we've completed removed the tag that said the poll ended? Is this what we want?

@gaelledel
Copy link

Screenshot 2025-11-26 at 14 36 52 You'd need to change the icon in the composer menu too

@gaelledel
Copy link

Screenshot 2025-11-26 at 14 39 19 On Light mode, the check mark icon is not visible for the selection

@langleyd
Copy link
Member Author

langleyd commented Nov 26, 2025

@gaelledel We have completely remove the whole poll ended event. We used to show the poll twice(without much visual different between the active and finished poll) except the second one would say "X Ended the poll". Indicating who ended the poll.

Is this the one you are referring to?

It is now similar to mobile in that there single poll event in the timeline now, it has a poll ended Icon, green colour progress + trophy and the disabled radio buttons to show it is finished. This UX doesn't indicate the person who ended the poll. We might be able to put that back if you think it's important(i'm not sure we care who ended it though?).

The issue you are referring also detailed a bug where if one person started a poll and somebody else finished it the poll ended event would display like this with "fallback text".
image

This doesn't happen any more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants