Skip to content

Conversation

@richvdh
Copy link
Member

@richvdh richvdh commented Jan 26, 2026

Add a decoration to the header for encrypted rooms with history_visibility: {shared|public}.

Fixes: #31858

Screenshot:
image

Add a decoration to the header for encrypted rooms with `history_visibility:
{shared|public}`.

Fixes: #31858
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

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

Isn't this still behind a feature flag feature_share_history_on_invite? Also isn't it misleading given new members which self-join will not see history. I think this needs product sign-off

Also as per the e2e test fails, looks a bit scary on DMs, no?

@t3chguy t3chguy requested a review from a team January 26, 2026 12:40
@richvdh
Copy link
Member Author

richvdh commented Jan 26, 2026

Isn't this still behind a feature flag feature_share_history_on_invite? Also isn't it misleading given new members which self-join will not see history. I think this needs product sign-off

I'll double-check these.

Also as per the e2e test fails, looks a bit scary on DMs, no?

What do you mean?

@t3chguy
Copy link
Member

t3chguy commented Jan 26, 2026

What do you mean?

image

Just like we hide the member list in a 2-user DM, I doubt we want to scare people into thinking others may be able to see your secret chat with BotAlice in the future.

@richvdh
Copy link
Member Author

richvdh commented Jan 26, 2026

I doubt we want to scare people into thinking others may be able to see your secret chat with BotAlice in the future.

The whole point of the icon is to let people know that others may be able to see your secret chat with BotAlice in the future.

@t3chguy
Copy link
Member

t3chguy commented Jan 26, 2026

The whole point of a member list is to see who is in the room, we still hide it from the room header for DMs as product/design deemed it confusing for users for DMs

Copy link
Contributor

@mxandreas mxandreas left a comment

Choose a reason for hiding this comment

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

From product/design - this is intentional. We want to highlight to the ex-WhatsApp people that new members can read history (which is never the case on WhatsApp). And it is true that some existing Element users may need to be warned as well, as they might have history sharing accidentally on.

@t3chguy
Copy link
Member

t3chguy commented Jan 26, 2026

But today it simply won't be true? As it shows without the labs flag enabled, and also the joiner may not be joining in a compatible way?

  1. If the joiner isn't using Element
  2. If the joiner self-joins (e.g. via restricted join rule)
  3. If the joiner is using Element but without the labs flag on

So it makes it feel like a broken feature if anything? Oversell and disappoint shouldn't be the UX imo

@mxandreas
Copy link
Contributor

From product/design - this is intentional. We want to highlight to the ex-WhatsApp people that new members can read history (which is never the case on WhatsApp). And it is true that some existing Element users may need to be warned as well, as they might have history sharing accidentally on.

@mxandreas
Copy link
Contributor

But today it simply won't be true? As it shows without the labs flag enabled, and also the joiner may not be joining in a compatible way?

We should check the labs flag, yes, because that is straightforward to do.

If the joiner isn't using Element
If the joiner self-joins (e.g. via restricted join rule)

It is not ideal, but I do not see this as a major issue as the warning is to make sure user is aware of the current policy. Making the tooltip more complex/nuanced usually does not help and makes it even more complicated to understand. We can improve this by linking the FAQ entry for this if there will be significant confusion.

... since history isn't actually shared unless the flag is on
Copy link
Member

@andybalaam andybalaam left a comment

Choose a reason for hiding this comment

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

Looks good, thanks!

@richvdh richvdh added this pull request to the merge queue Jan 27, 2026

const mask = [bobPage.locator(".mx_MessageTimestamp")];
// Exclude message timestamps and RR avatars from the screenshot. Bob sometimes sees Alice's RR on the
// previous event, which is surprising but not what we're testing here.
Copy link
Member

@t3chguy t3chguy Jan 27, 2026

Choose a reason for hiding this comment

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

This sounds like you're introducing a flaky test as per my comment c1d5f1a

css is what you want rather than mask to hide things you want excluded from a screenshot due to inconsistent position, rather than inconsistent content which is what a mask helps with

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm afraid I can't see your comment there.

It seems like it was already flaky, because it passed in CI and failed on my machine. Given it still passes in CI, having updated the screenshot on my machine, I hope this has made it less flaky.

Copy link
Member

@t3chguy t3chguy Jan 29, 2026

Choose a reason for hiding this comment

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

I think if anything it'd make it more flaky, as it makes it vary more rather than less, by the size difference between the circle and the square mask. Though, likely both are enough to trigger the min pixels difference check

Merged via the queue into develop with commit 6177220 Jan 27, 2026
48 of 50 checks passed
@richvdh richvdh deleted the rav/shared_history_icon branch January 27, 2026 15:25
richvdh added a commit that referenced this pull request Jan 29, 2026
Followup on #31879: change the icon shown for world_readable rooms.
BillCarsonFr pushed a commit that referenced this pull request Jan 29, 2026
Followup on #31879: change the icon shown for world_readable rooms.
rbondesson pushed a commit to ZacksBot/element-web that referenced this pull request Feb 3, 2026
Followup on element-hq#31879: change the icon shown for world_readable rooms.
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Feb 10, 2026
…880)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [element-hq/element-web](https://github.com/element-hq/element-web) | patch | `v1.12.9` → `v1.12.10` |

---

### Release Notes

<details>
<summary>element-hq/element-web (element-hq/element-web)</summary>

### [`v1.12.10`](https://github.com/element-hq/element-web/releases/tag/v1.12.10)

[Compare Source](element-hq/element-web@v1.12.9...v1.12.10)

#### ✨ Features

- Support additional\_creators in /upgraderoom (MSC4289) ([#&#8203;31934](element-hq/element-web#31934)). Contributed by [@&#8203;andybalaam](https://github.com/andybalaam).
- Update room header icon for world\_readable rooms ([#&#8203;31915](element-hq/element-web#31915)). Contributed by [@&#8203;richvdh](https://github.com/richvdh).
- Show an icon in the room header for shared history ([#&#8203;31879](element-hq/element-web#31879)). Contributed by [@&#8203;richvdh](https://github.com/richvdh).
- Remove "history may be shared" banner. ([#&#8203;31881](element-hq/element-web#31881)). Contributed by [@&#8203;kaylendog](https://github.com/kaylendog).
- Allow dismissing 'Key storage out of sync' temporarily ([#&#8203;31455](element-hq/element-web#31455)). Contributed by [@&#8203;andybalaam](https://github.com/andybalaam).
- Add `resolutions` entry for `matrix-widget-api` to package.json ([#&#8203;31851](element-hq/element-web#31851)). Contributed by [@&#8203;toger5](https://github.com/toger5).
- Improve visibility under contrast control mode ([#&#8203;31847](element-hq/element-web#31847)). Contributed by [@&#8203;t3chguy](https://github.com/t3chguy).
- Unread Sorting - Add option for sorting in `OptionsMenuView` ([#&#8203;31754](element-hq/element-web#31754)). Contributed by [@&#8203;MidhunSureshR](https://github.com/MidhunSureshR).
- Unread sorting - Implement sorter and use it in the room list store ([#&#8203;31723](element-hq/element-web#31723)). Contributed by [@&#8203;MidhunSureshR](https://github.com/MidhunSureshR).
- Allow Element Call widgets to receive sticky events ([#&#8203;31843](element-hq/element-web#31843)). Contributed by [@&#8203;robintown](https://github.com/robintown).
- Improve icon rendering accessibility ([#&#8203;31791](element-hq/element-web#31791)). Contributed by [@&#8203;t3chguy](https://github.com/t3chguy).
- Add message preview toggle to room list header option ([#&#8203;31821](element-hq/element-web#31821)). Contributed by [@&#8203;florianduros](https://github.com/florianduros).

#### 🐛 Bug Fixes

- \[Backport staging] Fix room list not being cleared ([#&#8203;32438](element-hq/element-web#32438)). Contributed by [@&#8203;RiotRobot](https://github.com/RiotRobot).
- Fix failure to update room info panel on joinrule change ([#&#8203;31938](element-hq/element-web#31938)). Contributed by [@&#8203;richvdh](https://github.com/richvdh).
- Throttle space notification state calculation ([#&#8203;31922](element-hq/element-web#31922)). Contributed by [@&#8203;dbkr](https://github.com/dbkr).
- Fix emoji verification responsive layout ([#&#8203;31899](element-hq/element-web#31899)). Contributed by [@&#8203;t3chguy](https://github.com/t3chguy).
- Add patch for linkify to fix doctype handling ([#&#8203;31900](element-hq/element-web#31900)). Contributed by [@&#8203;dbkr](https://github.com/dbkr).
- Fix rooms with no messages appearing at the top of the room list ([#&#8203;31798](element-hq/element-web#31798)). Contributed by [@&#8203;MidhunSureshR](https://github.com/MidhunSureshR).
- Fix room list menu flashes when menu is closed ([#&#8203;31868](element-hq/element-web#31868)). Contributed by [@&#8203;florianduros](https://github.com/florianduros).
- Message preview toggle is inverted in room list header ([#&#8203;31865](element-hq/element-web#31865)). Contributed by [@&#8203;florianduros](https://github.com/florianduros).
- Fix duplicate toasts appearing for the same call if two events appear. ([#&#8203;31693](element-hq/element-web#31693)). Contributed by [@&#8203;Half-Shot](https://github.com/Half-Shot).
- Fix ability to send rageshake during session restore failure ([#&#8203;31848](element-hq/element-web#31848)). Contributed by [@&#8203;t3chguy](https://github.com/t3chguy).
- Fix mis-alignment of `Threads` right panel title ([#&#8203;31849](element-hq/element-web#31849)). Contributed by [@&#8203;t3chguy](https://github.com/t3chguy).
- Unset buttons does not include color inherit ([#&#8203;31801](element-hq/element-web#31801)). Contributed by [@&#8203;Philldomd](https://github.com/Philldomd).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zLjYiLCJ1cGRhdGVkSW5WZXIiOiI0My4zLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3880
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
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.

History Sharing: room header decoration for shared encrypted rooms

4 participants