* Add pure sender render inputs to EventTileViewModel
* Move sender/avatar normalization to EventTile
* Split sender and avatar adapters into focused leaf components
* Add tests for the sender and avatar adapters
* Fix sonar issues
* Make sender profile consume pure member info
* Collapse sender adapter onto snapshot-driven props
* Share current-member resolution for event and reply tiles
* Fix Prettier issues
* Keep settings preview on historical sender profiles
* Update the proprty name to reflect the use of the event-time sender data instead of resolving the current room member
* Fix Sonar issue
* Tighten member to MemberInfo | null in the view model
* Change `feature_group_calls` to default to true.
Change state to Beta
* Add `enableLegacyCallsVoip` (clarify: Audio settings relate to Legacy)
Change `element_call.use_exclusively` to just be the default of
`enableLegacyCallsVoip`.
Allow disabling in Legacy in the settings. (overwrite `use_exclusivly`
via `enableLegacyCallsVoip`)
Rename `Voice & Video` to `Legacy Voice & Video`
* improvements
- settings title update to only show legacy when appropriate
- hide menu all together if use_exclusivly is chosen
* simplify by removing the feature_group_calls flag
* smaller cleanup
* fix tests and cleanup
* clarify settings (disable) in config.md
* add back EC relevant settings in room settings dialog
* update screenshots (now default to EC enabled (not disabled)
-> show voice and video tab in room settings
* update screenshots
* always show option to control voice messages input
* lint
* fix test
* disable -> enabled And only have on mic dropdown
* update config.md
* Back to `disabled` (on by default/no config)
* remove element call hint from voice-video settings
* Update apps/web/src/i18n/strings/en_EN.json
Co-authored-by: Robin <robin@robin.town>
* Update apps/web/src/components/views/settings/tabs/user/VoiceUserSettingsTab.tsx
Co-authored-by: Robin <robin@robin.town>
* review
* cleanup element call url setting (its deprecated/not used anymore)
* clarify, that also jisti will be enabled/disabled by legacy settings
flag
* remove double section
* remove unn exassary element_call configurations
* Update en_EN.json
* Update VoiceUserSettingsTab.tsx
* Make tests use new defaults (enable element call)
* Default events power levels
* format
* review "Enable Legacy voice/video calls" label
* more radical usage of defaults in element_call config.json's
* Update config.json
* Update en_EN.json
* Update RoomSettingsDialog-test.tsx.snap
* Update useRoomCall.tsx
* fix imports
* Update request permission promp to latest designs:
https://www.figma.com/design/aOEkaJtaBmPy058V7uoqVr/Element-Call-Updates---2026?node-id=45-12591&t=7takL39icZwt9YjL-0
* Update config.json.d.ts
* fix usage of `Element` in i18n
* Update General-room-settings-tab-should-be-rendered-properly-1-linux.png
---------
Co-authored-by: Robin <robin@robin.town>
* Move more element-web tests over to vitest
Switches default env to happy-dom as SdkConfig needs a DOM and is part of the setupTests given a lot of code relies on it
* Restore jest variant of editor mock file for tests not yet moved over
* Migrate batch of tests tro vitest
* Iterate
* Migrate another test
* Simplify
* Iterate
* Iterate
* Fix lockfile
* Deduplicate
* Iterate
* Separate out SDKContext
...from SDKContextClass, as the comments hopefully explain.
Also make the captitalisation consistent.
* Adding the new file usually helps too
* Fix import
* More comment
* Update the various imports of SDKContextClass
* Also fix case of TestSDKContext
* Update the mock
* Add user status on user profile icon
Currently unstyled & no tests
* Style the user status icon
* Update snapshot
for avatar wrapper
* More snapshot updates
* add if braces
* Split out user status functions
to avoid circular dep which has the weird effect of just breaking
jest's mocking.
* type imports
* Update imports
* Update snapshot
* Tests
* baseline image
* Just snapshot the component itself
---------
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* Use other branch
* All the changes that got lost
* Fix merge
* Ensure emoji can only be one character long
* Fixup labs feature
* Remove redundant check
* Update snapshot
* update snapshot
* add snapshot
* unpin
* fix pnpm lock
* undo pn[m lockfile changes altogether
as we shouldn't actually need any afaik
* update snpahot for changed IDs
* Snapshot update
* Snapshot update
* There is now another section
* more snapshots
* more snapshot
* More snapshots
* oh come on snapshots
* actual snapshot update
* Fix sonar issues
* just update the thing manually
* [screams internally]
* Update snapshot
* test for useUserStatus
* Make useUserStatus actually truncate
* Split out slash command to its own file
& add test
* Remove irrelevant comment
* doc
* Comment on non-obvious error message
---------
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
* Refactor MessageActionBar into MVVM ActionBarView
* Adding tooltips for menu items and correct i18n strings
* Layout changes
* Renaming some properties
* Rename property
* Create a first version of the view model and refactor media visibility logic
* Refactor view to take options and rections menu as optional properties
* Cleaner interface between view and view model
* Refactor view properties and replace Menu and MenuItem
* Bugfixes and switching to ActionBarView instead of MessageActionBar in element-web
* Avoid creating view models and render toolbar until it is actually shown
* Added unit and playwright tests and documented the view
* Added view model unit tests and updated snapshots of dependant tests
* Remove unused components and unnecessary css
* Remove unused language tags
* Fix for handling join-rules correctly
* Prettier
* Add handling of stale view model in async calls
* Prettier
* Split the element-web css into two different. One for legacy components and one for the ActionBarView
* Missing variables used for linting
* Fix for showing ActionBarView when using keyboard for navigation
* Handle visibility on context menu closing
* ThreadPanel uses the ActionBarView so restore css rule
* Fix for visibility of the ActionBarView in Thread panel
* Fix for ActionBarVuew visibility when closing right-click context menu and not still hovering
* Add roving index to function as a toolbar
* Adjust the RoomView test to send hover to the EventTile instead of the message text
* Fix SonarCloud issues
* Fix for SonarCloud issue
* Merge fix
* Rename mx_LegacyActionBar to mx_ThreadActionBar
* Added documentation and simplified join rules
* Generalize the ActionBarView and move logic to view model
* Add the four new buttons to the ActionBarView
* Update view model and tests to use the updated ActionBarView
* Refactor element-web to use ActionBarView
* Clean up styling in element-web
* Clean up and updating snaps and screenshots
* Added unit-tests for better coverage
* Moving ActionBarView to the correct folder in shared components
* Update snaps in element-web
* Better documentation in stories
* Merge fixes
* Updates after review comments
* Review comment fixes
* Added documentation to view models and updated snaps
* Hide button had the wrong label
* Replace createRef with useRef
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts
And a couple of gitignore tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>