mirror of
https://github.com/vector-im/element-web.git
synced 2026-05-05 20:26:19 +02:00
Merge branch 'develop' of github.com:vector-im/element-web into langleyd/shared-components-date-seperator
This commit is contained in:
commit
a69cb283bf
@ -26,6 +26,10 @@ jobs:
|
||||
- name: Update npm
|
||||
run: npm install -g npm@latest
|
||||
|
||||
# Need to setup element web too as it needs the translations
|
||||
- name: 🛠️ Setup EW
|
||||
run: yarn install --pure-lockfile
|
||||
|
||||
- name: 🛠️ Setup
|
||||
# When running `install` it also calls the `prepare` step which generates
|
||||
# a build
|
||||
@ -33,4 +37,4 @@ jobs:
|
||||
|
||||
- name: 🚀 Publish to npm
|
||||
working-directory: packages/shared-components
|
||||
run: npm publish --access public --provenance
|
||||
run: npm publish --access public --tag test --provenance
|
||||
|
||||
24
CHANGELOG.md
24
CHANGELOG.md
@ -1,3 +1,27 @@
|
||||
Changes in [1.12.3](https://github.com/element-hq/element-web/releases/tag/v1.12.3) (2025-11-04)
|
||||
================================================================================================
|
||||
## 🦖 Deprecations
|
||||
|
||||
* Remove allowVoipWithNoMedia feature flag ([#31087](https://github.com/element-hq/element-web/pull/31087)). Contributed by @Half-Shot.
|
||||
|
||||
## ✨ Features
|
||||
|
||||
* Change module API to be an instance getter ([#31025](https://github.com/element-hq/element-web/pull/31025)). Contributed by @dbkr.
|
||||
|
||||
## 🐛 Bug Fixes
|
||||
|
||||
* Show hover elements when keyboard focus is within an event tile ([#31078](https://github.com/element-hq/element-web/pull/31078)). Contributed by @t3chguy.
|
||||
* Ensure toolbar navigation pattern works in MessageActionBar ([#31080](https://github.com/element-hq/element-web/pull/31080)). Contributed by @t3chguy.
|
||||
* Ensure sent markers are hidden when showing thread summary. ([#31076](https://github.com/element-hq/element-web/pull/31076)). Contributed by @Half-Shot.
|
||||
* Fix translation in dev mode ([#31045](https://github.com/element-hq/element-web/pull/31045)). Contributed by @florianduros.
|
||||
* Fix sort order in space hierarchy ([#30975](https://github.com/element-hq/element-web/pull/30975)). Contributed by @t3chguy.
|
||||
* New Room list: don't display message preview of thread ([#31043](https://github.com/element-hq/element-web/pull/31043)). Contributed by @florianduros.
|
||||
* Revert "A11y: move focus to right panel when opened" ([#30999](https://github.com/element-hq/element-web/pull/30999)). Contributed by @florianduros.
|
||||
* Fix highlights in messages (or search results) breaking links ([#30264](https://github.com/element-hq/element-web/pull/30264)). Contributed by @bojidar-bg.
|
||||
* Add prepare script ([#31030](https://github.com/element-hq/element-web/pull/31030)). Contributed by @dbkr.
|
||||
* Fix html exports by adding SDKContext ([#30987](https://github.com/element-hq/element-web/pull/30987)). Contributed by @t3chguy.
|
||||
|
||||
|
||||
Changes in [1.12.2](https://github.com/element-hq/element-web/releases/tag/v1.12.2) (2025-10-21)
|
||||
================================================================================================
|
||||
## ✨ Features
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "element-web",
|
||||
"version": "1.12.2",
|
||||
"version": "1.12.3",
|
||||
"description": "Element: the future of secure communication",
|
||||
"author": "New Vector Ltd.",
|
||||
"repository": {
|
||||
|
||||
@ -43,7 +43,7 @@
|
||||
"lint:types": "tsc --noEmit --jsx react",
|
||||
"test:storybook": "test-storybook --url http://localhost:6007/",
|
||||
"test:storybook:ci": "concurrently -k -s first -n \"SB,TEST\" \"yarn storybook --no-open\" \"wait-on tcp:6007 && yarn test-storybook --url http://localhost:6007/ --ci --maxWorkers=2\"",
|
||||
"test:storybook:update": "playwright-screenshots --entrypoint yarn --with-node-modules && playwright-screenshots --entrypoint /work/node_modules/.bin/test-storybook --with-node-modules --url http://host.docker.internal:6007/ --updateSnapshot"
|
||||
"test:storybook:update": "playwright-screenshots --entrypoint /work/node_modules/.bin/test-storybook --with-node-modules --url http://host.docker.internal:6007/ --updateSnapshot"
|
||||
},
|
||||
"dependencies": {
|
||||
"classnames": "^2.5.1",
|
||||
@ -55,6 +55,8 @@
|
||||
"temporal-polyfill": "^0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@element-hq/element-web-playwright-common": "^2.0.0",
|
||||
"@playwright/test": "^1.50.1",
|
||||
"@storybook/addon-a11y": "^9.1.10",
|
||||
"@storybook/addon-designs": "^10.0.2",
|
||||
"@storybook/addon-docs": "^9.1.10",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
import { SynapseContainer as BaseSynapseContainer } from "@element-hq/element-web-playwright-common/lib/testcontainers";
|
||||
|
||||
const TAG = "develop@sha256:4c89333b1d25401ea72e4042f4f651a34e455370541284ff3e417f84e926edd9";
|
||||
const TAG = "develop@sha256:450b176d61e75b73d1acbbfab1de5ec3ebe08ba0f08ec00da872f7b5aaa23e54";
|
||||
|
||||
/**
|
||||
* SynapseContainer which freezes the docker digest to stabilise tests,
|
||||
|
||||
@ -8,13 +8,18 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
.mx_MPollBody {
|
||||
margin-top: 8px;
|
||||
min-width: 0; /* Override fieldset default min-width: min-content */
|
||||
width: 100%; /* Ensure fieldset takes full available width */
|
||||
border: none; /* Remove default fieldset border */
|
||||
padding: 0; /* Remove default fieldset padding */
|
||||
|
||||
h2 {
|
||||
legend {
|
||||
font-weight: var(--cpd-font-weight-semibold);
|
||||
font-size: $font-15px;
|
||||
line-height: $font-24px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
|
||||
|
||||
.mx_MPollBody_edited {
|
||||
color: $roomtopic-color;
|
||||
@ -23,7 +28,7 @@ Please see LICENSE files in the repository root for full details.
|
||||
}
|
||||
}
|
||||
|
||||
h2::before {
|
||||
legend::before {
|
||||
content: "";
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
|
||||
@ -325,11 +325,11 @@ export default class MPollBody extends React.Component<IBodyProps, IState> {
|
||||
) : null;
|
||||
|
||||
return (
|
||||
<div className="mx_MPollBody">
|
||||
<h2 data-testid="pollQuestion">
|
||||
<fieldset className="mx_MPollBody">
|
||||
<legend data-testid="pollQuestion">
|
||||
{pollEvent.question.text}
|
||||
{editedSpan}
|
||||
</h2>
|
||||
</legend>
|
||||
<div className="mx_MPollBody_allOptions">
|
||||
{pollEvent.answers.map((answer: PollAnswerSubevent) => {
|
||||
let answerVotes = 0;
|
||||
@ -360,7 +360,7 @@ export default class MPollBody extends React.Component<IBodyProps, IState> {
|
||||
{totalText}
|
||||
{isFetchingResponses && <Spinner w={16} h={16} />}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`MPollBody renders a finished poll 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -151,20 +151,20 @@ exports[`MPollBody renders a finished poll 1`] = `
|
||||
>
|
||||
Final result based on 3 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a finished poll with multiple winners 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -309,20 +309,20 @@ exports[`MPollBody renders a finished poll with multiple winners 1`] = `
|
||||
>
|
||||
Final result based on 4 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a finished poll with no votes 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -461,20 +461,20 @@ exports[`MPollBody renders a finished poll with no votes 1`] = `
|
||||
>
|
||||
Final result based on 0 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a poll that I have not voted in 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -661,20 +661,20 @@ exports[`MPollBody renders a poll that I have not voted in 1`] = `
|
||||
>
|
||||
3 votes cast. Vote to see the results
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a poll with local, non-local and invalid votes 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -869,20 +869,20 @@ exports[`MPollBody renders a poll with local, non-local and invalid votes 1`] =
|
||||
>
|
||||
Based on 5 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a poll with no votes 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -1069,20 +1069,20 @@ exports[`MPollBody renders a poll with no votes 1`] = `
|
||||
>
|
||||
No votes cast
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders a poll with only non-local votes 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -1277,20 +1277,20 @@ exports[`MPollBody renders a poll with only non-local votes 1`] = `
|
||||
>
|
||||
Based on 3 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders an undisclosed, finished poll 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -1435,20 +1435,20 @@ exports[`MPollBody renders an undisclosed, finished poll 1`] = `
|
||||
>
|
||||
Final result based on 4 votes
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`MPollBody renders an undisclosed, unfinished poll 1`] = `
|
||||
<div>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What should we order for the party?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -1635,6 +1635,6 @@ exports[`MPollBody renders an undisclosed, unfinished poll 1`] = `
|
||||
>
|
||||
Results will be visible when the poll is ended
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
`;
|
||||
|
||||
@ -18,14 +18,14 @@ exports[`<MPollEndBody /> when poll start event exists in current timeline rende
|
||||
>
|
||||
Ended a poll
|
||||
</span>
|
||||
<div
|
||||
<fieldset
|
||||
class="mx_MPollBody"
|
||||
>
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
Question?
|
||||
</h2>
|
||||
</legend>
|
||||
<div
|
||||
class="mx_MPollBody_allOptions"
|
||||
>
|
||||
@ -111,7 +111,7 @@ exports[`<MPollEndBody /> when poll start event exists in current timeline rende
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
@ -1,19 +1,19 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`<PollHistory /> Poll detail displays poll detail on active poll list item click 1`] = `
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
Question?
|
||||
</h2>
|
||||
</legend>
|
||||
`;
|
||||
|
||||
exports[`<PollHistory /> Poll detail displays poll detail on past poll list item click 1`] = `
|
||||
<h2
|
||||
<legend
|
||||
data-testid="pollQuestion"
|
||||
>
|
||||
What?
|
||||
</h2>
|
||||
</legend>
|
||||
`;
|
||||
|
||||
exports[`<PollHistory /> Poll detail navigates back to poll list from detail view on header click 1`] = `
|
||||
|
||||
18
yarn.lock
18
yarn.lock
@ -1599,7 +1599,7 @@
|
||||
yaml "^2.7.0"
|
||||
|
||||
"@element-hq/web-shared-components@file:packages/shared-components":
|
||||
version "0.0.0-test.6"
|
||||
version "0.0.0-test.7"
|
||||
dependencies:
|
||||
classnames "^2.5.1"
|
||||
counterpart "^0.18.6"
|
||||
@ -4098,7 +4098,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@vector-im/matrix-wysiwyg/-/matrix-wysiwyg-2.40.0.tgz#53c9ca5ea907d91e4515da64f20a82e5586b882c"
|
||||
integrity sha512-8LRFLs5PEKYs4lOL7aJ4lL/hGCrvEvOYkCR3JggXYXDVMtX4LmfdlKYucSAe98pCmqAAbLRvlRcR1bTOYvM8ug==
|
||||
dependencies:
|
||||
"@vector-im/matrix-wysiwyg-wasm" "link:../../Library/Caches/Yarn/v6/npm-@vector-im-matrix-wysiwyg-2.40.0-53c9ca5ea907d91e4515da64f20a82e5586b882c-integrity/node_modules/bindings/wysiwyg-wasm"
|
||||
"@vector-im/matrix-wysiwyg-wasm" "link:../../../.cache/yarn/v6/npm-@vector-im-matrix-wysiwyg-2.40.0-53c9ca5ea907d91e4515da64f20a82e5586b882c-integrity/node_modules/bindings/wysiwyg-wasm"
|
||||
|
||||
"@vitest/expect@3.2.4":
|
||||
version "3.2.4"
|
||||
@ -9679,8 +9679,8 @@ matrix-events-sdk@0.0.1:
|
||||
integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==
|
||||
|
||||
"matrix-js-sdk@github:matrix-org/matrix-js-sdk#develop":
|
||||
version "39.0.0"
|
||||
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/dd7394c14c687d91aff1b589f905aeee673b855a"
|
||||
version "39.1.2"
|
||||
resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/b489bb15cf3f5de8024a3e31ccb36cf294f82887"
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.12.5"
|
||||
"@matrix-org/matrix-sdk-crypto-wasm" "^15.3.0"
|
||||
@ -9693,7 +9693,7 @@ matrix-events-sdk@0.0.1:
|
||||
matrix-widget-api "^1.10.0"
|
||||
oidc-client-ts "^3.0.1"
|
||||
p-retry "7"
|
||||
sdp-transform "^2.14.1"
|
||||
sdp-transform "^3.0.0"
|
||||
unhomoglyph "^1.0.6"
|
||||
uuid "13"
|
||||
|
||||
@ -12149,10 +12149,10 @@ schema-utils@^4.3.0, schema-utils@^4.3.3:
|
||||
ajv-formats "^2.1.1"
|
||||
ajv-keywords "^5.1.0"
|
||||
|
||||
sdp-transform@^2.14.1:
|
||||
version "2.14.2"
|
||||
resolved "https://registry.yarnpkg.com/sdp-transform/-/sdp-transform-2.14.2.tgz#d2cee6a1f7abe44e6332ac6cbb94e8600f32d813"
|
||||
integrity sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==
|
||||
sdp-transform@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/sdp-transform/-/sdp-transform-3.0.0.tgz#863dd2d781c468d7d6a2f9c70fedcf0538f3e76c"
|
||||
integrity sha512-gfYVRGxjHkGF2NPeUWHw5u6T/KGFtS5/drPms73gaSuMaVHKCY3lpLnGDfswVQO0kddeePoti09AwhYP4zA8dQ==
|
||||
|
||||
seedrandom@^3.0.5:
|
||||
version "3.0.5"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user