Commit Graph

64500 Commits

Author SHA1 Message Date
ElementRobot
00954542f3 Remove an extra paragraph in advanced room settings (#31500) (#31511)
This was introduced (presumably accidentally) in
[#30169](https://github.com/element-hq/element-web/pull/30169/files#diff-89268874351e08a327e47b0a7e1d4e916e1ad8dc4be8b4a3f1ef67f3f83a5bc9R459)

(cherry picked from commit 3d80e607ce)

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
2025-12-11 11:01:17 +00:00
ElementRobot
1cf9e546fd Don't show the key storage out of sync toast when backup disabled (#31506) (#31507)
(cherry picked from commit 4bd8eeb17a)

Co-authored-by: Hubert Chathi <hubert@uhoreg.ca>
2025-12-10 18:14:32 +00:00
RiotRobot
cf25d5e258 v1.12.7-rc.0 2025-12-09 15:01:14 +00:00
RiotRobot
86a38cd2d2 Upgrade dependency to matrix-js-sdk@39.4.0-rc.0 2025-12-09 14:53:31 +00:00
Michael Telatynski
4fda167c11 Fix composer button visibility in contrast colour mode (#31255)
* Fix composer button visibility in contrast colour mode

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Simplify

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-09 13:59:01 +00:00
Will Hunt
d30e6f25d3 Ensure correct room version is used and permissions are appropriately sert when creating rooms (#31464)
* Check default PL when setting a new PL in createRoom

* Drop custom PL setting for video rooms

* lint files

* Add room version test

* Cleanup test

* fix import
2025-12-09 12:05:49 +00:00
Michael Telatynski
5324834b47 Fix e2e icon rendering (#31454)
* Fix e2e icon rendering

Regressed by change to compound icons, due to it relying on a hack of rendering icons atop each other to draw a background.

Also fixes a nested tooltip which became annoying during testing

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-09 11:43:02 +00:00
ElementRobot
63f269e52c [create-pull-request] automated change (#31463)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-09 06:23:33 +00:00
Richard van der Hoff
2fb0bf6152 EventIndexer: ensure we add initial checkpoints when the db is first opened (#31448)
* EventIndex: add some documentation

... because comments are not subject to rationing.

* EventIndex: rationalise addInitialCheckpoints logic

* EventIndex: improve logging

* use a single `logger` instance to do the prefixing
* use `JSON.stringify` on the checkpoints so that the rageshakes are useful
* distinguish between logger.warn and logger.debug
* emit some logs if the crawler loop fails

* Move check for empty database to `init`

The problem with checking if the database is empty in `onSync` is that, by the
time we get there, it won't be.

Instead let's remember if the db was empty in `init`, and then once a sync
completes, we can add the checkpoints.

* Some tests for EventIndexer
2025-12-08 14:08:31 +00:00
R Midhun Suresh
3b0bc0bb4a Fix /join <alias> command failing due to race condition (#31433)
* Explicitly pass via_servers in join room options

* Fix test
2025-12-08 11:10:44 +00:00
Michael Telatynski
e97de7d2ea Replace legacy icons with compound (#31424)
* Replace legacy dialpad.svg icon with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace legacy silence.svg icon with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace legacy tab-userdirectory.svg icon with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace legacy e2e icons with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove old mask

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update jest snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-08 09:27:50 +00:00
ElementRobot
b3e8bc8fea [create-pull-request] automated change (#31450)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-08 06:32:53 +00:00
Richard van der Hoff
f0738a295a MessageEventIndexDialog: distinguish indexed rooms (#31436)
* MessageEventIndexDialog: comments for state

* ManageEventIndexDialog: deduplicate some code

`updateCurrentRoom` has the same logic as `componentDidMount`, so let's factor
it out.

* ManageEventIndexDialog: distinguish indexed rooms

Just because a room is not currently awaiting indexing does not mean it has
been indexed. Update the dialog to show the actual number of indexed rooms, and
the number of rooms that are awaiting indexing.

* Apply suggestion from @richvdh

---------

Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>
2025-12-07 22:23:59 +00:00
ElementRobot
7887cbb81b [create-pull-request] automated change (#31444)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-06 06:21:37 +00:00
David Langley
be8a18964e Update polls UX to match EX Mobile and improve accessibility (#31245)
* Remove poll ended event UI.

* Add better aria labels for screen reader and change ui to match mobile 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

* Update jest tests

* Fix total votes alignment

* Fix screenshots

* Update snapshot

* Update e2e tests

* fix more e2e tests

* Clean up CSS

* Add back text for undisclosed poll (total should be hidden)

* Update checkmark and progress colours to more closely match mobile

* Don't compute optionNumber on each render

* "Total votes" working doesn't really work with the current web behaviour

Web doesn't show the votes for undisclosed polls(mobile does). reverting and that behaviour change should be addressed in a different PR(or on mobile.).

* Fix e2e test

* Update screenshots

* Move positioning of total votes label back to the left side

as we are no longer changing the copy to match mobile

* Don't concatenate label

* Fix translation order

* Remove unneeded translations

* remove O(n^2) code

* fix snapshots

* Fix check style in poll option

* prettier
2025-12-05 19:56:04 +00:00
Will Hunt
d610c3d1ae Fix flaky AppTile tests (#31442)
* Bit of cleanup

* Attempts to fix

* uncomment

* Restructure tests

* Better reset

* Descrew up tests

* fix comment

* Remove redundant calls
2025-12-05 17:41:27 +00:00
Timo
9faee160e9 Move EditInPlace out of Form (Fixes: reloading EW on EC url update) (#31434)
* Move `EditInPlace` out of `Form`

If it is part of the form saving will submit the inner form of
EditInPlace and reload EW.

* add tests and comments

* update snapshot

* fix playwright
2025-12-05 13:45:18 +00:00
Florian Duros
242f2deb64 Add option to enable read receipt and marker when user interact with UI (#31353)
* feat(room view): add `enableReadReceiptsAndMarkersOnActivity` props

For the multiroom module, we display several room views at the same
time. In order to avoid all the rooms to send read receipts and markers
automatically when we are interacting with the UI, we add
`enableReadReceiptsAndMarkersOnActivity`props.

When at false, the timeline doesn't listen to user activity to send
these receipts. Only when the room is focused, marker and read receipts
are updated.

* test(room view): add test for `enableReadReceiptsAndMarkersOnActivity`

* build(ew-api): update `@element-hq/element-web-module-api` to `v1.9.0`
2025-12-05 11:52:41 +00:00
Hiroshi Shinaoka
5607291f1e Fixes issue where cursor would jump to the beginning of the input field after converting Japanese text and pressing Tab (#31432)
* Fix cursor position bug during IME composition

Add IME composition check to BasicMessageComposer.onKeyDown to prevent
cursor position issues when pressing Tab key immediately after Japanese
input conversion. This matches the behavior in SendMessageComposer and
EditMessageComposer.

Fixes issue where cursor would jump to the beginning of the input field
after converting Japanese text and pressing Tab.

* Add tests for IME composition keydown handling

- Add test to verify keydown events are ignored during IME composition
- Add test to verify keydown events are handled normally when not composing
- Tests ensure the fix for Japanese IME cursor position bug works correctly
2025-12-05 11:18:01 +00:00
ElementRobot
39fb67c201 [create-pull-request] automated change (#31428)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-05 10:18:14 +00:00
Robin
71895a3891 Fix widgets getting stuck in loading states (#31314)
* Refer to ClientWidgetApi as "widget API" rather than "messaging"

* Rename StopGapWidgetDriver to ElementWidgetDriver

* Rename StopGapWidget to WidgetMessaging

* Fix WidgetMessaging's lifetime by storing it in WidgetMessagingStore

(Rather than storing just the raw ClientWidgetApi objects.)

* Unfail test

* use an error

* cleanup start

* Add docs

* Prettier

* link to store

* remove a let

* More logging, split up loop

* Add a test demonstrating a regression in Call.start

* Restore Call.start to a single, robust event loop

* Fix test failure by resetting the messaging store

* Expand on the WidgetMessaging doc comment

* Add additional tests to buff up coverage

* Add a test for the sticker picker opening the IM.

* reduce copy paste

---------

Co-authored-by: Half-Shot <will@half-shot.uk>
Co-authored-by: Timo K <toger5@hotmail.de>
2025-12-05 09:19:06 +00:00
R Midhun Suresh
f4e74c8dd2 Introduce a hook to auto dispose view models (#31178)
* Create hook to auto dispose vm

* Write test

* Fix lint error

* Use proper license

* whatever -> whichever

* Remove eslint comments

* Add clarifying comment
2025-12-05 06:48:50 +00:00
ElementRobot
d62f4d4d49 [create-pull-request] automated change (#31429)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-05 06:32:16 +00:00
Will Hunt
a2f5c49438 Update settings toggles to use consistent design across app. (#30169)
* Use EditInPlace for identity server picker.

* Update test

* Add a test for setting an ID server.

* fix tests

* Reformat other :not sections

* forgot a comma

* Update Apperance settings to use toggle switches.

* Remove unused checkbox setting.

* Remove unused import.

* Update tests

* lint

* update apperance screenshot

* Begin replacing settings

* Refactor RoomPublishSetting

* Remove LabelledToggleSwitch

* Refactor SettingsFlag to use SettingsToggleInput

* Refactor CreateRoomDialog to use SettingsToggleInput

* Refactor DeclineAndBlockInviteDialog to use SettingsToggleInput

* Update DevtoolsDialog

* Refactor ReportRoomDialog to use SettingsToggle

* Update RoomUpgradeWarningDialog to use SettingsToggleInput

* Update WidgetCapabilitiesPromptDialog to use SettingsToggleInput

* Update trivial switchovers

* Update Notifications settings to use SettingsFlag where possible

* Update RoomPublishSetting and SpaceSettingVisibilityTab to use SettingsToggleInput with a warning

* revert changes to field

* Updated screenshots

* Prevent accidental submits

* Replace test ID tests

* Create new snapshot tests

* Add screenshot test for DeclineAndBlockDialog

* Add screenshot for create room dialog.

* Add devtools test

* Add upgrade rooms test

* Add widget capabilites prompt test

* Fix spec

* Add a test for the live location sharing prompt.

* fix copyright

* Add tests for notification settings

* Add tests for user security tab.

* Add test for room security tab.

* Add test for video settings tab.

* remove .only

* Test creating a video room

* Mask the IM name in the header.

* Add spaces vis tab test.

* Fixup unit tests to check correct attributes.

* Various fixes to components for tests.

* lint

* Update compound

* update setting names

* Cleanup tests

prettier

Updates some more playwright tests

Update more snapshots

Update switch

more fixes

drop .only

last screenshot round

fix video room flake

Remove console.logs

Remove roomId from devtools view.

lint

final screenshot

* Add playwright tests

* import pages/ remove duplicate create-room

* Update screenshots

* Fix accessibility for devtools

* Disable region test

* Fixup headers

* remove extra test

* Fix permissions dialog

* fixup tests

* update snapshot

* Update jest tests

* Clear up playwright tests

* update widget screenshot

* Fix wrong snaps from using wrong compound version

* Revert mistaken s/checkbox/switch/

* lint lint

* Update headings

* fix snap

* remove unused

* update snapshot

* update tab screenshot

* Update snapshots

* Fix margins

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Delint

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 15:46:21 +00:00
Michael Telatynski
f84e2815d0 Make code scanning happier (#31243)
* Make code scanning happier

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Discard changes to src/components/views/auth/CaptchaForm.tsx

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 15:38:18 +00:00
David Langley
bfc2c884bc Add ability to the room view to hide widgets (#31400)
* add hideWidgets prop

* Trigger Build
2025-12-04 15:30:54 +00:00
Valere Fedronic
dc67863cbc call: Pass the echo cancellation and noise suppression settings to EC (#31317) 2025-12-04 14:59:48 +00:00
Michael Telatynski
e7be9d16b9 Remove matrix-events-sdk dependency (#31398)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 13:24:28 +00:00
Michael Telatynski
d1f45da51a Tweak rendering of icons for a11y (#31358)
* Tweak rendering of icons in legacy video feed

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove unused classes

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in face pile

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in overflow tile

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in room search view

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in top unread messages bar

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in space basic settings

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in thread summary tile

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in legacy room tile

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in incoming call toast

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in labs jump to date

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in field validation

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in mini avatar uploader

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in info tooltip

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tweak rendering of icons in network dropdown

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 13:04:13 +00:00
Michael Telatynski
52d082aed6 Add label to skip Sonar coverage (#31420)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 12:22:36 +00:00
Florian Duros
1a7023779c Room list: fix room options remaining on room item after mouse leaving (#31414)
* refactor(room list): remove extra component button and `setMenuOpen` callback

* fix(room list): replace js focus and hover handling by CSS to fix focus decoration

Closes https://github.com/element-hq/element-web/issues/31365

* test(room list): update jest test

* refactor(room list): remove irrelevant comment

* test(room list): update screenshots
2025-12-04 11:23:13 +00:00
ElementRobot
2ab9d345b4 Playwright Docker image updates (#31418)
* [create-pull-request] automated change

* Update Playwright utilities for navigating MAS UI

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-04 10:28:25 +00:00
Florian Duros
c7fa97cc73 fix: make RoomList.showMessagePreview configurable by config.json (#31419) 2025-12-04 09:25:50 +00:00
David Baker
6a57f69cd9 line in the wrong place 2025-12-03 20:51:37 +00:00
David Baker
e1fb8da2e4 Hopefully fail on no permission
or similar errors
2025-12-03 20:41:52 +00:00
David Baker
7320e3702c Update topic workflow for correct topic format 2025-12-03 20:35:08 +00:00
David Baker
386db8f385 Fix the topic update workflow (#31416)
* Fix the topic update workflow

 * Update room IDs with the new ones after upgrades
 * Make room name variable more descriptive
 * Fail if the topic doesn't match

* Return when failing
2025-12-03 19:37:48 +00:00
David Langley
5a9656350e Add Z-Skip-Sonar check (#31409)
* Try fetch PR from the workflow run to check the label and skip sonar

* Use existing pattern to post success for the sonarqube check

* Trigger Build
2025-12-03 18:38:58 +00:00
RiotRobot
046fb335c0 Merge branch 'master' into develop 2025-12-03 17:25:41 +00:00
RiotRobot
bb5bf5a462 v1.12.6 2025-12-03 17:21:30 +00:00
ElementRobot
916c5a0232 Add option to pick call options for voice calls. (#31407) (#31413)
* Add option to pick call options for voice calls.

* hook on the right thing

* Fix wrong call being disabled

* update snaps

* Add tests for menus

* more snaps

* snap snap

(cherry picked from commit a352a3838e)

Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>
2025-12-03 16:29:41 +00:00
David Baker
81b3ec9df2 Make ESLint's TS Root dir relative to .eslintrc.js (#31411)
* Make ESLint's TS Root dir relative to .eslintrc.js

As per https://github.com/typescript-eslint/typescript-eslint/issues/251 seems
like this is the answer for having vscode not getting confused about
multiple projects in a monorepo with different tsconfigs.

* Add it here too for good measure
2025-12-03 16:11:15 +00:00
Will Hunt
a352a3838e Add option to pick call options for voice calls. (#31407)
* Add option to pick call options for voice calls.

* hook on the right thing

* Fix wrong call being disabled

* update snaps

* Add tests for menus

* more snaps

* snap snap
2025-12-03 15:21:15 +00:00
David Baker
61168f0531 Make shared components a regular dependency (#31402)
As other packages need the types too. Also bump version
2025-12-03 13:25:48 +00:00
R Midhun Suresh
3c6f3f7814 Implement new renderNotificationDecoration from module API (#31389)
* Upgrade module api package

* Add a wrapper component

So that we can render the decoration component with just the room.

* Implement module API method

* Add more tests
2025-12-03 11:11:47 +00:00
David Baker
3e2ee7c829 Bump shared components version 2025-12-03 11:19:26 +00:00
David Baker
ac399e8afd Add module API as a ependency of shared components (#31393)
As it refers to the i18n API for types
2025-12-03 10:58:44 +00:00
ElementRobot
4987d6c573 [create-pull-request] automated change (#31397)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-03 06:31:32 +00:00
ElementRobot
c883ceeb4b [create-pull-request] automated change (#31396)
Co-authored-by: t3chguy <2403652+t3chguy@users.noreply.github.com>
2025-12-03 06:23:32 +00:00
Michael Telatynski
421a69aede Replace more icons with compound (#31381)
* Replace element-icons/chat-bubbles.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/chat-bubbles.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace external-link.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/hide.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/explore.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/hash-*.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/share.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/group-members.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/mask-as-*.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/low-priority.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/plus-circle.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Replace element-icons/roles.svg with compound

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update jest snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2025-12-02 15:58:46 +00:00