matrix-org / matrix-org/patience

Using develop.element.io for Element Web causes frames to nest the harness

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
21
Forks
3
PR merge metrics
No merged PRs in 30d

Description

While polishing up Patience yesterday, I encountered one of the stranger web behaviours I've seen in a while...

The clients are loaded into `iframe`s inside the Patience test harness page. When Element Web tries to adjust the URL for going to a room (`location.assign("#/room/!1234:matrix.org")`), somehow the browser decides it should use the parent document (the test harness page) as the base URL, and nests a second copy of the test harness inside itself... 🤯

This was not happening a few months ago, so... that's going to be a strange one to sort out. 😵‍💫

It seems to reproduce consistently in Chrome, but only sometimes in Firefox.

It only seems to happen when using https://develop.element.io as the Element Web deployment. If I instead run Element Web locally, it works fine. So far, I've tried comparing HTTP headers and Element Web configs, but nothing seems to cause my local copy to behave like develop in this way.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in Chrome with https://develop.element.io loaded in an iframe inside the Patience test harness, then compare it with a local Element Web deployment and check Firefox behavior. Done means navigating to a room with location.assign("#/room/!1234:matrix.org") no longer nests a second copy of the harness.

Written by the indexing model from the issue text.

Assessment

Domain
testing, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.