Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into renovate/cypress-12.x
commit
fec67591e6
|
@ -84,14 +84,16 @@ jobs:
|
||||||
actions: read
|
actions: read
|
||||||
issues: read
|
issues: read
|
||||||
pull-requests: read
|
pull-requests: read
|
||||||
environment:
|
environment: Cypress
|
||||||
Cypress
|
strategy:
|
||||||
#strategy:
|
fail-fast: false
|
||||||
# fail-fast: false
|
matrix:
|
||||||
# matrix:
|
# Run 4 instances in Parallel
|
||||||
# # Run 4 instances in Parallel
|
runner: [1, 2, 3, 4]
|
||||||
# runner: [1, 2, 3, 4]
|
|
||||||
steps:
|
steps:
|
||||||
|
- uses: browser-actions/setup-chrome@latest
|
||||||
|
- run: echo "BROWSER_PATH=$(which chrome)" >> $GITHUB_ENV
|
||||||
|
|
||||||
- uses: tecolicom/actions-use-apt-tools@v1
|
- uses: tecolicom/actions-use-apt-tools@v1
|
||||||
with:
|
with:
|
||||||
# Our test suite includes some screenshot tests with unusual diacritics, which are
|
# Our test suite includes some screenshot tests with unusual diacritics, which are
|
||||||
|
@ -121,14 +123,12 @@ jobs:
|
||||||
with:
|
with:
|
||||||
# The built-in Electron runner seems to grind to a halt trying
|
# The built-in Electron runner seems to grind to a halt trying
|
||||||
# to run the tests, so use chrome.
|
# to run the tests, so use chrome.
|
||||||
browser: chrome
|
browser: "${{ env.BROWSER_PATH }}"
|
||||||
start: npx serve -p 8080 webapp
|
start: npx serve -p 8080 webapp
|
||||||
wait-on: "http://localhost:8080"
|
wait-on: "http://localhost:8080"
|
||||||
record:
|
record: true
|
||||||
true
|
parallel: true
|
||||||
#parallel: true
|
command-prefix: "yarn percy exec --parallel --"
|
||||||
#command-prefix: 'yarn percy exec --parallel --'
|
|
||||||
command-prefix: "yarn percy exec --"
|
|
||||||
config: '{"reporter":"cypress-multi-reporters", "reporterOptions": { "configFile": "cypress-ci-reporter-config.json" } }'
|
config: '{"reporter":"cypress-multi-reporters", "reporterOptions": { "configFile": "cypress-ci-reporter-config.json" } }'
|
||||||
ci-build-id: ${{ needs.prepare.outputs.uuid }}
|
ci-build-id: ${{ needs.prepare.outputs.uuid }}
|
||||||
env:
|
env:
|
||||||
|
@ -159,9 +159,8 @@ jobs:
|
||||||
# tell Percy more details about the context of this run
|
# tell Percy more details about the context of this run
|
||||||
PERCY_BRANCH: ${{ github.event.workflow_run.head_branch }}
|
PERCY_BRANCH: ${{ github.event.workflow_run.head_branch }}
|
||||||
PERCY_COMMIT: ${{ github.event.workflow_run.head_sha }}
|
PERCY_COMMIT: ${{ github.event.workflow_run.head_sha }}
|
||||||
PERCY_PULL_REQUEST:
|
PERCY_PULL_REQUEST: ${{ needs.prepare.outputs.pr_id }}
|
||||||
${{ needs.prepare.outputs.pr_id }}
|
PERCY_PARALLEL_TOTAL: ${{ strategy.job-total }}
|
||||||
#PERCY_PARALLEL_TOTAL: ${{ strategy.job-total }}
|
|
||||||
PERCY_PARALLEL_NONCE: ${{ needs.prepare.outputs.uuid }}
|
PERCY_PARALLEL_NONCE: ${{ needs.prepare.outputs.uuid }}
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
|
|
|
@ -335,10 +335,11 @@ export class RoomViewStore extends EventEmitter {
|
||||||
this.reset();
|
this.reset();
|
||||||
break;
|
break;
|
||||||
case "reply_to_event":
|
case "reply_to_event":
|
||||||
// If currently viewed room does not match the room in which we wish to reply then change rooms
|
// Thread timeline view handles its own reply-to-state
|
||||||
// this can happen when performing a search across all rooms. Persist the data from this event for
|
if (TimelineRenderingType.Thread !== payload.context) {
|
||||||
// both room and search timeline rendering types, search will get auto-closed by RoomView at this time.
|
// If currently viewed room does not match the room in which we wish to reply then change rooms this
|
||||||
if ([TimelineRenderingType.Room, TimelineRenderingType.Search].includes(payload.context)) {
|
// can happen when performing a search across all rooms. Persist the data from this event for both
|
||||||
|
// room and search timeline rendering types, search will get auto-closed by RoomView at this time.
|
||||||
if (payload.event && payload.event.getRoomId() !== this.state.roomId) {
|
if (payload.event && payload.event.getRoomId() !== this.state.roomId) {
|
||||||
this.dis.dispatch<ViewRoomPayload>({
|
this.dis.dispatch<ViewRoomPayload>({
|
||||||
action: Action.ViewRoom,
|
action: Action.ViewRoom,
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Room } from "matrix-js-sdk/src/matrix";
|
import { Room } from "matrix-js-sdk/src/matrix";
|
||||||
|
import { sleep } from "matrix-js-sdk/src/utils";
|
||||||
|
|
||||||
import { RoomViewStore } from "../../src/stores/RoomViewStore";
|
import { RoomViewStore } from "../../src/stores/RoomViewStore";
|
||||||
import { Action } from "../../src/dispatcher/actions";
|
import { Action } from "../../src/dispatcher/actions";
|
||||||
|
@ -245,6 +246,28 @@ describe("RoomViewStore", function () {
|
||||||
expect(roomViewStore.getRoomId()).toEqual(roomId2);
|
expect(roomViewStore.getRoomId()).toEqual(roomId2);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should ignore reply_to_event for Thread panels", async () => {
|
||||||
|
expect(roomViewStore.getQuotingEvent()).toBeFalsy();
|
||||||
|
const replyToEvent = {
|
||||||
|
getRoomId: () => roomId2,
|
||||||
|
};
|
||||||
|
dis.dispatch({ action: "reply_to_event", event: replyToEvent, context: TimelineRenderingType.Thread });
|
||||||
|
await sleep(100);
|
||||||
|
expect(roomViewStore.getQuotingEvent()).toBeFalsy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each([TimelineRenderingType.Room, TimelineRenderingType.File, TimelineRenderingType.Notification])(
|
||||||
|
"Should respect reply_to_event for %s rendering context",
|
||||||
|
async (context) => {
|
||||||
|
const replyToEvent = {
|
||||||
|
getRoomId: () => roomId,
|
||||||
|
};
|
||||||
|
dis.dispatch({ action: "reply_to_event", event: replyToEvent, context });
|
||||||
|
await untilDispatch(Action.ViewRoom, dis);
|
||||||
|
expect(roomViewStore.getQuotingEvent()).toEqual(replyToEvent);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
it("removes the roomId on ViewHomePage", async () => {
|
it("removes the roomId on ViewHomePage", async () => {
|
||||||
dis.dispatch({ action: Action.ViewRoom, room_id: roomId });
|
dis.dispatch({ action: Action.ViewRoom, room_id: roomId });
|
||||||
await untilDispatch(Action.ActiveRoomChanged, dis);
|
await untilDispatch(Action.ActiveRoomChanged, dis);
|
||||||
|
|
Loading…
Reference in New Issue