Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Fix: Right panel keeps showing chat when unmaximizing widget. #11697

Conversation

manancodes
Copy link
Contributor

@manancodes manancodes commented Oct 2, 2023

Checklist

Fixes: element-hq/element-web#26265
Signed-off-by: Manan Sadana manancodes.dev@gmail.com

This was the behaviour before the fix:
Unmaximizing the widget does not close the Right panel, resulting in 2 chat views
Before

And this is the behaviour after the fix:
Unmaximizing closes the Right panel.
After

Type: defect


Here's what your changelog entry will look like:

🐛 Bug Fixes

@manancodes manancodes requested a review from a team as a code owner October 2, 2023 17:27
@github-actions github-actions bot added Z-Community-PR Issue is solved by a community member's PR T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems labels Oct 2, 2023
@t3chguy
Copy link
Member

t3chguy commented Oct 2, 2023

Tests written for new code (and old code if feasible)

You checked this but actually wrote no tests..?

@manancodes
Copy link
Contributor Author

manancodes commented Oct 2, 2023

Tests written for new code (and old code if feasible)

You checked this but actually wrote no tests..?

Sorry, corrected now.
Did not realise I had to write tests for this. I'm still getting familiar with testing, looking into this. If you could refer some resources, it would really help.

Also, there must be tests which check if the chat opens in Right Panel when widget is maximised. Where can I find that? It will help me with writing the new tests. Thanks.

@andybalaam
Copy link
Contributor

Did not realise I had to write tests for this. I'm still getting familiar with testing, looking into this. If you could refer some resources, it would really help.

There's some general guidance at https://github.com/matrix-org/matrix-react-sdk/blob/develop/docs/cypress.md

Also, there must be tests which check if the chat opens in Right Panel when widget is maximised. Where can I find that? It will help me with writing the new tests. Thanks.

Take a look at cypress/e2e/right-panel/right-panel.spec.ts and the other tests in that directory. Hopefully they are similar to what you need. You might possibly need to add some new Cypress commands, similar to cy.openRoomSettings(); which is fiddly but can be done. Take a look at how that one is made.

This might be quite difficult at first, so do please ask questions in #element-dev:matrix.org . It will be easiest to help if you have some code in a branch or PR that you can point at, so your questions are specific.

Thanks!

@manancodes manancodes marked this pull request as draft October 3, 2023 11:33
@manancodes
Copy link
Contributor Author

I'm still learning cypress, I have some questions:

  1. Am I using the right selectors?
  2. I'm sure this is not enough, how can I check if the widget is taking the whole height when maximising?
  3. It checks if the right panel is opened, how can I check if the right panel has the chat in it?
  4. Are the tests in the right file? If no, where should I put them?

@manancodes manancodes marked this pull request as ready for review October 5, 2023 16:26
@manancodes
Copy link
Contributor Author

@florianduros Can you please look into this?

@florianduros
Copy link
Contributor

@florianduros Can you please look into this?

I'll take a look today or tomorrow

cypress/e2e/widgets/layout.spec.ts Outdated Show resolved Hide resolved
@manancodes
Copy link
Contributor Author

Also, when you get time, can you please answer the queries that I had?

@manancodes
Copy link
Contributor Author

Is it ready to be merged?
I'm participating in hacktoberfest so it will help if this gets merged soon. Thanks.

@t3chguy
Copy link
Member

t3chguy commented Oct 16, 2023

@manancodes you should re-request review

image

@florianduros
Copy link
Contributor

florianduros commented Oct 16, 2023

Also, when you get time, can you please answer the queries that I had?

  • With your last changes yes!
  • Let me check how this part of the code is made
  • They seems to be in the right file.

@florianduros
Copy link
Contributor

@manancodes

I think we can check if the chat/timeline is in the right panel with this piece of code:

this.context.rightPanelStore.currentCard.phase === RightPanelPhases.Timeline

@manancodes
Copy link
Contributor Author

Thanks. I will add this.

@manancodes
Copy link
Contributor Author

manancodes commented Oct 17, 2023

@florianduros

This is how it is being checked in another file

const checkRoomSummaryCard = (name: string): Chainable<JQuery<HTMLElement>> => {
cy.get(".mx_RoomSummaryCard").should("have.length", 1);
return cy.get(".mx_BaseCard_header").should("contain", name);

How about using something like:
cy.get(".mx_BaseCard_header").should("contain", "Chat");

I am new to cypress, implementing your suggestion will take longer because I could not find a similar implementation. I will work on that if you are not ok with my proposal.

@florianduros
Copy link
Contributor

florianduros commented Oct 17, 2023

@manancodes I thought you asked how to check in the component implementation, not in the test. My fault.

cy.get(".mx_BaseCard_header").should("contain", "Chat"); is not specific to the right panel, I think it will get the main chat too.

We need first to select the right panel and query the chat in it:

cy.get(".mx_RightPanel").within(() => {
    cy.get(".mx_BaseCard_header").should("contain", "Chat"));
})

Cypress documentation within

@manancodes
Copy link
Contributor Author

Perfect, I will add this.

@manancodes
Copy link
Contributor Author

Done. Added and tested.

@manancodes
Copy link
Contributor Author

@florianduros , sorry for disturbing you, but I'm participating in hacktoberfest, if this get's merged soon it will really help me with that.

Copy link
Contributor

@florianduros florianduros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@florianduros florianduros added this pull request to the merge queue Oct 23, 2023
Merged via the queue into matrix-org:develop with commit c44c772 Oct 23, 2023
19 checks passed
@manancodes manancodes deleted the manancodes/Widget_unmaximised_behaviour branch October 23, 2023 11:10
gabrc52 added a commit to sipb/matrix-react-sdk that referenced this pull request Nov 12, 2023
* Knock on a ask-to-join room if a module wants to join the room when navigating to a room ([\matrix-org#11787](matrix-org#11787)). Contributed by @dhenneke.
* Element-R:  Include crypto info in sentry ([\matrix-org#11798](matrix-org#11798)). Contributed by @florianduros.
* Element-R:  Include crypto info in rageshake ([\matrix-org#11797](matrix-org#11797)). Contributed by @florianduros.
* Element-R: Add current version of the rust-sdk and vodozemac ([\matrix-org#11785](matrix-org#11785)). Contributed by @florianduros.
* Fix unfederated invite dialog ([\matrix-org#9618](matrix-org#9618)). Fixes element-hq/element-meta#1466 and element-hq/element-web#22102. Contributed by @owi92.
* New right panel visual language ([\matrix-org#11664](matrix-org#11664)).
* OIDC: add friendly errors ([\matrix-org#11184](matrix-org#11184)). Fixes element-hq/element-web#25665. Contributed by @kerryarchibald.
* Fix rightpanel hiding scrollbar ([\matrix-org#11831](matrix-org#11831)). Contributed by @kerryarchibald.
* Fix multi-tab session lock on Firefox not being cleared ([\matrix-org#11800](matrix-org#11800)). Fixes element-hq/element-web#26165. Contributed by @ManuelHu.
* Deserialise spoilers back into slash command form ([\matrix-org#11805](matrix-org#11805)). Fixes element-hq/element-web#26344.
* Fix Incorrect message scaling for verification request ([\matrix-org#11793](matrix-org#11793)). Fixes element-hq/element-web#24304. Contributed by @capGoblin.
* Fix: Unable to restore a soft-logged-out session established via SSO ([\matrix-org#11794](matrix-org#11794)). Fixes element-hq/element-web#25957. Contributed by @kerryarchibald.
* Use configurable github issue links more consistently ([\matrix-org#11796](matrix-org#11796)).
* Fix io.element.late_event received_ts vs received_at ([\matrix-org#11789](matrix-org#11789)).
* Make invitation dialog scrollable when infos are too long ([\matrix-org#11753](matrix-org#11753)). Contributed by @nurjinjafar.
* Fix spoiler text-align ([\matrix-org#11790](matrix-org#11790)). Contributed by @ajbura.
* Fix: Right panel keeps showing chat when unmaximizing widget.  ([\matrix-org#11697](matrix-org#11697)). Fixes element-hq/element-web#26265. Contributed by @manancodes.
* Fix margin of invite to room button ([\matrix-org#11780](matrix-org#11780)). Fixes element-hq/element-web#26410.
* Update base64 import ([\matrix-org#11784](matrix-org#11784)).
* Set max size for Element logo in search warning ([\matrix-org#11779](matrix-org#11779)). Fixes element-hq/element-web#26408.
* Fix: emoji size in room header topic, remove obsolete emoji style ([\matrix-org#11757](matrix-org#11757)). Fixes element-hq/element-web#26326. Contributed by @kerryarchibald.
* Fix: Bubble layout design is broken ([\matrix-org#11763](matrix-org#11763)). Fixes element-hq/element-web#25818. Contributed by @manancodes.
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jan 25, 2024
Changes in [1.11.55](https://github.com/element-hq/element-web/releases/tag/v1.11.55) (2024-01-19)
==================================================================================================


## ✨ Features

* Broaden support for matrix spec versions ([#12159](matrix-org/matrix-react-sdk#12159)). Contributed by @RiotRobot.

## 🐛 Bug Fixes

* Fixed shield alignment on message Input ([#12155](matrix-org/matrix-react-sdk#12155)). Contributed by @RiotRobot.


Changes in [1.11.54](https://github.com/element-hq/element-web/releases/tag/v1.11.54) (2024-01-16)
==================================================================================================
## 🐛 Bug Fixes

* Fix CSS stacking context order determinism ([#26840](element-hq/element-web#26840)). Contributed by @t3chguy.

## ✨ Features

* Accessibility improvements around aria-labels and tooltips ([#12062](matrix-org/matrix-react-sdk#12062)). Contributed by @t3chguy.
* Add RoomKnocksBar to RoomHeader ([#12077](matrix-org/matrix-react-sdk#12077)). Contributed by @charlynguyen.
* Adjust tooltip side for DecoratedRoomAvatar to not obscure room name ([#12079](matrix-org/matrix-react-sdk#12079)). Contributed by @t3chguy.
* Iterate landmarks around the app in order to improve a11y ([#12064](matrix-org/matrix-react-sdk#12064)). Contributed by @t3chguy.
* Update element call embedding UI ([#12056](matrix-org/matrix-react-sdk#12056)). Contributed by @toger5.
* Use Compound tooltips instead of homegrown in TextWithTooltip \& InfoTooltip ([#12052](matrix-org/matrix-react-sdk#12052)). Contributed by @t3chguy.

## 🐛 Bug Fixes

* Fix regression around CSS stacking contexts and PIP widgets ([#12094](matrix-org/matrix-react-sdk#12094)). Contributed by @t3chguy.
* Fix Identity Server terms accepting not working as expected ([#12109](matrix-org/matrix-react-sdk#12109)). Contributed by @t3chguy.
* fix: microphone and camera dropdown doesn't work In legacy call ([#12105](matrix-org/matrix-react-sdk#12105)). Contributed by @muratersin.
* Revert "Set up key backup using non-deprecated APIs (#12005)" ([#12102](matrix-org/matrix-react-sdk#12102)). Contributed by @BillCarsonFr.
* Fix regression around read receipt animation from refs changes ([#12100](matrix-org/matrix-react-sdk#12100)). Contributed by @t3chguy.
* Added meaning full error message based on platform ([#12074](matrix-org/matrix-react-sdk#12074)). Contributed by @Pankaj-SinghR.
* Fix editing event from search room view ([#11992](matrix-org/matrix-react-sdk#11992)). Contributed by @t3chguy.
* Fix timeline position when moving to a room and coming back ([#12055](matrix-org/matrix-react-sdk#12055)). Contributed by @florianduros.
* Fix threaded reply playwright tests ([#12070](matrix-org/matrix-react-sdk#12070)). Contributed by @dbkr.
* Element-R: fix repeated requests to enter 4S key during cross-signing reset ([#12059](matrix-org/matrix-react-sdk#12059)). Contributed by @richvdh.
* Fix position of thumbnail in room timeline ([#12016](matrix-org/matrix-react-sdk#12016)). Contributed by @anoopw3bdev.


Changes in [1.11.53](https://github.com/element-hq/element-web/releases/tag/v1.11.53) (2024-01-04)
==================================================================================================

## 🐛 Bug Fixes

* Fix a fresh login creating a new key backup ([#12106](matrix-org/matrix-react-sdk#12106)).


Changes in [1.11.52](https://github.com/element-hq/element-web/releases/tag/v1.11.52) (2023-12-19)
==================================================================================================


## ✨ Features

* Keep more recent rageshake logs ([#12003](matrix-org/matrix-react-sdk#12003)). Contributed by @richvdh.

## 🐛 Bug Fixes

* Fix bug which prevented correct clean up of rageshake store ([#12002](matrix-org/matrix-react-sdk#12002)). Contributed by @richvdh.
* Set up key backup using non-deprecated APIs ([#12005](matrix-org/matrix-react-sdk#12005)). Contributed by @andybalaam.
* Fix notifications appearing for old events ([#3946](matrix-org/matrix-js-sdk#3946)). Contributed by @dbkr.
* Prevent phantom notifications from events not in a room's timeline ([#3942](matrix-org/matrix-js-sdk#3942)). Contributed by @dbkr.


Changes in [1.11.51](https://github.com/vector-im/element-web/releases/tag/v1.11.51) (2023-12-05)
=================================================================================================
## ✨ Features

* Improve debian package and docs ([#26618](element-hq/element-web#26618)). Contributed by @t3chguy.

## 🦖 Deprecations

* Remove Quote from MessageContextMenu as it is unsupported by WYSIWYG ([#11914](matrix-org/matrix-react-sdk#11914)). Contributed by @t3chguy.

## ✨ Features

* Always allow call.member events on new rooms ([#11948](matrix-org/matrix-react-sdk#11948)). Contributed by @toger5.
* Right panel: view third party invite info without clearing history ([#11934](matrix-org/matrix-react-sdk#11934)). Contributed by @kerryarchibald.
* Allow switching to system emoji font ([#11925](matrix-org/matrix-react-sdk#11925)). Contributed by @t3chguy.
* Update open in other tab message ([#11916](matrix-org/matrix-react-sdk#11916)). Contributed by @weeman1337.
* Add menu for legacy and element call in 1:1 rooms ([#11910](matrix-org/matrix-react-sdk#11910)). Contributed by @toger5.
* Add ringing for matrixRTC ([#11870](matrix-org/matrix-react-sdk#11870)). Contributed by @toger5.

## 🐛 Bug Fixes

* Keep device language when it has been previosuly set, after a successful delegated authentication flow that clears localStorage ([#11902](matrix-org/matrix-react-sdk#11902)). Contributed by @mgcm.
* Fix misunderstanding of functional members ([#11918](matrix-org/matrix-react-sdk#11918)). Contributed by @toger5.
* Fix: Video Room Chat Header Button Removed ([#11911](matrix-org/matrix-react-sdk#11911)). Contributed by @kerryarchibald.
* Fix "not attempting encryption" warning ([#11899](matrix-org/matrix-react-sdk#11899)). Contributed by @richvdh.


Changes in [1.11.50](https://github.com/vector-im/element-web/releases/tag/v1.11.50) (2023-11-21)
=================================================================================================

## ✨ Features

* Ship element-web as a debian package ([#26533](element-hq/element-web#26533)). Contributed by @t3chguy.
* Update room summary card header ([#11823](matrix-org/matrix-react-sdk#11823)). Contributed by @germain-gg.
* Add feature flag for disabling encryption in Element Call ([#11837](matrix-org/matrix-react-sdk#11837)). Contributed by @toger5.
* Adapt the rendering of extra icons in the room header ([#11835](matrix-org/matrix-react-sdk#11835)). Contributed by @charlynguyen.
* Implement new unreachable state and fix broken string ref  ([#11748](matrix-org/matrix-react-sdk#11748)). Contributed by @MidhunSureshR.
* Allow adding extra icons to the room header ([#11799](matrix-org/matrix-react-sdk#11799)). Contributed by @charlynguyen.

## 🐛 Bug Fixes

* Room header: do not collapse avatar or facepile ([#11866](matrix-org/matrix-react-sdk#11866)). Contributed by @kerryarchibald.
* New right panel: fix button alignment in memberlist ([#11861](matrix-org/matrix-react-sdk#11861)). Contributed by @kerryarchibald.
* Use the correct video call icon variant ([#11859](matrix-org/matrix-react-sdk#11859)). Contributed by @robintown.
* fix broken warning icon ([#11862](matrix-org/matrix-react-sdk#11862)). Contributed by @ara4n.
* Fix rightpanel hiding scrollbar ([#11831](matrix-org/matrix-react-sdk#11831)). Contributed by @kerryarchibald.
* Switch to updating presence via /sync calls instead of PUT /presence ([#11824](matrix-org/matrix-react-sdk#11824)). Contributed by @t3chguy.

Changes in [1.11.49](https://github.com/vector-im/element-web/releases/tag/v1.11.49) (2023-11-13)
=================================================================================================

## ✨ Features
 * Ship element-web as a debian package ([\#26533](element-hq/element-web#26533)). Fixes #2777.

## 🐛 Bug Fixes
 * Ensure `setUserCreator` is called when a store is assigned ([\#3867](matrix-org/matrix-js-sdk#3867)). Fixes element-hq/element-web#26520. Contributed by @MidhunSureshR.

Changes in [1.11.48](https://github.com/vector-im/element-web/releases/tag/v1.11.48) (2023-11-07)
=================================================================================================

## ✨ Features
 * Correctly fill window.matrixChat even when a Wrapper module is active ([\#26395](element-hq/element-web#26395)). Contributed by @dhenneke.
 * Knock on a ask-to-join room if a module wants to join the room when navigating to a room ([\#11787](matrix-org/matrix-react-sdk#11787)). Contributed by @dhenneke.
 * Element-R:  Include crypto info in sentry ([\#11798](matrix-org/matrix-react-sdk#11798)). Contributed by @florianduros.
 * Element-R:  Include crypto info in rageshake ([\#11797](matrix-org/matrix-react-sdk#11797)). Contributed by @florianduros.
 * Element-R: Add current version of the rust-sdk and vodozemac ([\#11785](matrix-org/matrix-react-sdk#11785)). Contributed by @florianduros.
 * Fix unfederated invite dialog ([\#9618](matrix-org/matrix-react-sdk#9618)). Fixes element-hq/element-meta#1466 and #22102. Contributed by @owi92.
 * New right panel visual language ([\#11664](matrix-org/matrix-react-sdk#11664)).
 * OIDC: add friendly errors ([\#11184](matrix-org/matrix-react-sdk#11184)). Fixes #25665. Contributed by @kerryarchibald.

## 🐛 Bug Fixes
 * Fix rightpanel hiding scrollbar ([\#11831](matrix-org/matrix-react-sdk#11831)). Contributed by @kerryarchibald.
 * Fix multi-tab session lock on Firefox not being cleared ([\#11800](matrix-org/matrix-react-sdk#11800)). Fixes #26165. Contributed by @ManuelHu.
 * Deserialise spoilers back into slash command form ([\#11805](matrix-org/matrix-react-sdk#11805)). Fixes #26344.
 * Fix Incorrect message scaling for verification request ([\#11793](matrix-org/matrix-react-sdk#11793)). Fixes #24304. Contributed by @capGoblin.
 * Fix: Unable to restore a soft-logged-out session established via SSO ([\#11794](matrix-org/matrix-react-sdk#11794)). Fixes #25957. Contributed by @kerryarchibald.
 * Use configurable github issue links more consistently ([\#11796](matrix-org/matrix-react-sdk#11796)).
 * Fix io.element.late_event received_ts vs received_at ([\#11789](matrix-org/matrix-react-sdk#11789)).
 * Make invitation dialog scrollable when infos are too long ([\#11753](matrix-org/matrix-react-sdk#11753)). Contributed by @nurjinjafar.
 * Fix spoiler text-align ([\#11790](matrix-org/matrix-react-sdk#11790)). Contributed by @ajbura.
 * Fix: Right panel keeps showing chat when unmaximizing widget.  ([\#11697](matrix-org/matrix-react-sdk#11697)). Fixes #26265. Contributed by @manancodes.
 * Fix margin of invite to room button ([\#11780](matrix-org/matrix-react-sdk#11780)). Fixes #26410.
 * Update base64 import ([\#11784](matrix-org/matrix-react-sdk#11784)).
 * Set max size for Element logo in search warning ([\#11779](matrix-org/matrix-react-sdk#11779)). Fixes #26408.
 * Fix: emoji size in room header topic, remove obsolete emoji style ([\#11757](matrix-org/matrix-react-sdk#11757)). Fixes #26326. Contributed by @kerryarchibald.
 * Fix: Bubble layout design is broken ([\#11763](matrix-org/matrix-react-sdk#11763)). Fixes #25818. Contributed by @manancodes.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems Z-Community-PR Issue is solved by a community member's PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Double chat (main + side) when un-maximising a widget with side chat
4 participants