Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade path to React 16 #6410

Closed
lukebarnard1 opened this issue Mar 28, 2018 · 13 comments · Fixed by #10480
Closed

Upgrade path to React 16 #6410

lukebarnard1 opened this issue Mar 28, 2018 · 13 comments · Fixed by #10480
Assignees
Labels
P3 T-Task Tasks for the team like planning X-Blocked Z-Community-PR Issue is solved by a community member's PR

Comments

@lukebarnard1
Copy link
Contributor

lukebarnard1 commented Mar 28, 2018

This afternoon, I took a random detour to get Riot working with React 16, for the sake of investigating how difficult this would be. I succeeded, but obviously the diff is huge, so we might not want to do this "right now".

I did not manage to get the react-sdk tests working, primarily because matrix-react-test-utils needs similar treatment (being made compatible with React 16).

Steps to upgrade riot-web, matrix-react-sdk and matrix-react-test-utils:

  • Update various npm dependencies to most recent versions:
    • draft-js-export-html
    • draft-js-export-markdown
    • react
    • react-dom
    • react-gemini-scrollbar
  • Apply react-codemod JSCodeshifts on /src and /test
    • React-PropTypes-to-prop-types
      • will fail on trailing commas at the end of prop types
      • and where there is more than one "React.PropTypes" on a single line
    • class
      • Might render the box it's running on totally useless for a few minutes...
  • s/react-addons-test-utils/react-dom\/test-utils/
  • Fix cases where the React context API has changed(?)
@lampholder lampholder added feature P3 T-Task Tasks for the team like planning and removed feature labels Mar 29, 2018
@lampholder
Copy link
Member

OOI was there an inspiration for this detour other than generally keeping framework use up to date?

@lukebarnard1
Copy link
Contributor Author

My inspiration was primarily the number of times I've stared blankly at the logs when there's a bug that cause React to go wibbly and useless, requiring a refresh. This has been fixed in 16.

@akihikodaki
Copy link

I managed Riot work on React 16:
https://github.com/akihikodaki/riot-web/tree/react-16

Pull requests of dependent changes are open.

@lukebarnard1 lukebarnard1 self-assigned this May 23, 2018
@lukebarnard1
Copy link
Contributor Author

Assigning myself just to remind me that I want this to happen 😄 thanks @akihikodaki for doing all of this

@Half-Shot
Copy link
Member

Assuming that since the move to Slate, the work required to do this has changed?

@t3chguy
Copy link
Member

t3chguy commented Jul 31, 2019

Current split of work:

@turt2live
Copy link
Member

react-gemini-scrollbar

We actually want to kill this with fire, if it makes it easier.

@t3chguy
Copy link
Member

t3chguy commented Jul 31, 2019

Is there any plan for this :D?

@turt2live
Copy link
Member

There is the plan of "kill it with fire" but the implications haven't been thought out I don't think. I have opened #10474 to track it though.

@turt2live turt2live added the Z-Community-PR Issue is solved by a community member's PR label Sep 6, 2019
@turt2live turt2live added this to In Progress in Web App Team via automation Sep 6, 2019
@turt2live turt2live moved this from In Progress to In Review in Web App Team Sep 6, 2019
@turt2live
Copy link
Member

I've blocked this pending a release (see #10480 (review))

After that release, we should be good to go. Huge thanks to @t3chguy for taking this on!

@t3chguy
Copy link
Member

t3chguy commented Sep 6, 2019

In that case I'd really appreciate not letting it rot. Not letting things like React.createClass would be swell.

@turt2live
Copy link
Member

Yup, it should be only a week or so - if it starts to get longer than that I already have reminders set to start screaming about the problem.

Web App Team automation moved this from In Review to In Test Sep 11, 2019
@turt2live
Copy link
Member

see https://matrix.to/#/!DdJkzRliezrwpNebLk:matrix.org/$1568219990249171GhfVS:matrix.org?via=matrix.org&via=openintents.modular.im&via=vector.modular.im

We've decided to merge it to avoid delaying it, however to mitigate risk we're not merging react 16 features until after release (just in case there's some weird internal change in react 16 that breaks things). Should prevent it from bitrotting too much, and help make it possible for us to move forward.

su-ex added a commit to SchildiChat/element-web that referenced this issue May 28, 2022
* Go to space landing page when clicking on a selected space ([\element-hq#6442](matrix-org/matrix-react-sdk#6442)). Fixes element-hq#20296.
* Fall back to untranslated string rather than showing missing translation error ([\element-hq#8609](matrix-org/matrix-react-sdk#8609)).
* Show file name and size on images on hover ([\element-hq#6511](matrix-org/matrix-react-sdk#6511)). Fixes element-hq#18197.
* Iterate on search results for message bubbles ([\element-hq#7047](matrix-org/matrix-react-sdk#7047)). Fixes element-hq#20315.
* registration: redesign email verification page ([\element-hq#8554](matrix-org/matrix-react-sdk#8554)). Fixes element-hq#21984.
* Show full thread message in hover title on thread summary ([\element-hq#8568](matrix-org/matrix-react-sdk#8568)). Fixes element-hq#22037.
* Tweak video rooms copy ([\element-hq#8582](matrix-org/matrix-react-sdk#8582)). Fixes element-hq#22176.
* Live location share - beacon tooltip in maximised view ([\element-hq#8572](matrix-org/matrix-react-sdk#8572)).
* Add dialog to navigate long room topics ([\element-hq#8517](matrix-org/matrix-react-sdk#8517)). Fixes element-hq#9623.
* Change spaceroomfacepile tooltip if memberlist is shown ([\element-hq#8571](matrix-org/matrix-react-sdk#8571)). Fixes element-hq#17406.
* Improve message editing UI ([\element-hq#8483](matrix-org/matrix-react-sdk#8483)). Fixes element-hq#9752 and element-hq#22108.
* Make date changes more obvious ([\element-hq#6410](matrix-org/matrix-react-sdk#6410)). Fixes element-hq#16221.
* Enable forwarding static locations ([\element-hq#8553](matrix-org/matrix-react-sdk#8553)).
* Log `TimelinePanel` debugging info when opening the bug report modal ([\element-hq#8502](matrix-org/matrix-react-sdk#8502)).
* Improve welcome screen, add opt-out analytics ([\element-hq#8474](matrix-org/matrix-react-sdk#8474)). Fixes element-hq#21946.
* Converting selected text to MD link when pasting a URL ([\element-hq#8242](matrix-org/matrix-react-sdk#8242)). Fixes element-hq#21634. Contributed by @Sinharitik589.
* Support Inter on custom themes ([\element-hq#8399](matrix-org/matrix-react-sdk#8399)). Fixes element-hq#16293.
* Add a `Copy link` button to the right-click message context-menu labs feature ([\element-hq#8527](matrix-org/matrix-react-sdk#8527)).
* Move widget screenshots labs flag to devtools ([\element-hq#8522](matrix-org/matrix-react-sdk#8522)).
* Remove some labs features which don't get used or create maintenance burden: custom status, multiple integration managers, and do not disturb ([\element-hq#8521](matrix-org/matrix-react-sdk#8521)).
* Add a way to toggle `ScrollPanel` and `TimelinePanel` debug logs ([\element-hq#8513](matrix-org/matrix-react-sdk#8513)).
* Spaces: remove blue beta dot ([\element-hq#8511](matrix-org/matrix-react-sdk#8511)). Fixes element-hq#22061.
* Order new search dialog results by recency ([\element-hq#8444](matrix-org/matrix-react-sdk#8444)).
* Improve pills ([\element-hq#6398](matrix-org/matrix-react-sdk#6398)). Fixes element-hq#16948 and element-hq#21281.
* Add a way to maximize/pin widget from the PiP view ([\element-hq#7672](matrix-org/matrix-react-sdk#7672)). Fixes element-hq#20723.
* Iterate video room designs in labs ([\element-hq#8499](matrix-org/matrix-react-sdk#8499)).
* Improve UI/UX in calls ([\element-hq#7791](matrix-org/matrix-react-sdk#7791)). Fixes element-hq#19937.
* Add ability to change audio and video devices during a call ([\element-hq#7173](matrix-org/matrix-react-sdk#7173)). Fixes element-hq#15595.
* Fix video rooms sometimes connecting muted when they shouldn't ([\element-hq#22125](element-hq#22125)).
* Avoid flashing the 'join conference' button at the user in video rooms ([\element-hq#22120](element-hq#22120)).
* Fully close Jitsi conferences on errors ([\element-hq#22060](element-hq#22060)).
* Fix click behavior of notification badges on spaces ([\element-hq#8627](matrix-org/matrix-react-sdk#8627)). Fixes element-hq#22241.
* Add missing return values in Read Receipt animation code ([\element-hq#8625](matrix-org/matrix-react-sdk#8625)). Fixes element-hq#22175.
* Fix 'continue' button not working after accepting identity server terms of service ([\element-hq#8619](matrix-org/matrix-react-sdk#8619)). Fixes element-hq#20003.
* Proactively fix stuck devices in video rooms ([\element-hq#8587](matrix-org/matrix-react-sdk#8587)). Fixes element-hq#22131.
* Fix position of the message action bar on left side bubbles ([\element-hq#8398](matrix-org/matrix-react-sdk#8398)). Fixes element-hq#21879. Contributed by @luixxiul.
* Fix edge case thread summaries around events without a msgtype ([\element-hq#8576](matrix-org/matrix-react-sdk#8576)).
* Fix favourites metaspace not updating ([\element-hq#8594](matrix-org/matrix-react-sdk#8594)). Fixes element-hq#22156.
* Stop spaces from displaying as rooms in new breadcrumbs ([\element-hq#8595](matrix-org/matrix-react-sdk#8595)). Fixes element-hq#22165.
* Fix avatar position of hidden event on ThreadView ([\element-hq#8592](matrix-org/matrix-react-sdk#8592)). Fixes element-hq#22199. Contributed by @luixxiul.
* Fix MessageTimestamp position next to redacted messages on IRC/modern layout ([\element-hq#8591](matrix-org/matrix-react-sdk#8591)). Fixes element-hq#22181. Contributed by @luixxiul.
* Fix padding of messages in threads ([\element-hq#8574](matrix-org/matrix-react-sdk#8574)). Contributed by @luixxiul.
* Enable overflow of hidden events content ([\element-hq#8585](matrix-org/matrix-react-sdk#8585)). Fixes element-hq#22187. Contributed by @luixxiul.
* Increase composer line height to avoid cutting off emoji ([\element-hq#8583](matrix-org/matrix-react-sdk#8583)). Fixes element-hq#22170.
* Don't consider threads for breaking continuation until actually created ([\element-hq#8581](matrix-org/matrix-react-sdk#8581)). Fixes element-hq#22164.
* Fix displaying hidden events on threads  ([\element-hq#8555](matrix-org/matrix-react-sdk#8555)). Fixes element-hq#22058. Contributed by @luixxiul.
* Fix button width and align 絵文字 (emoji) on the user panel ([\element-hq#8562](matrix-org/matrix-react-sdk#8562)). Fixes element-hq#22142. Contributed by @luixxiul.
* Standardise the margin for settings tabs ([\element-hq#7963](matrix-org/matrix-react-sdk#7963)). Fixes element-hq#20767. Contributed by @yuktea.
* Fix room history not being visible even if we have historical keys ([\element-hq#8563](matrix-org/matrix-react-sdk#8563)). Fixes element-hq#16983.
* Fix oblong avatars in video room lobbies ([\element-hq#8565](matrix-org/matrix-react-sdk#8565)).
* Update thread summary when latest event gets decrypted ([\element-hq#8564](matrix-org/matrix-react-sdk#8564)). Fixes element-hq#22151.
* Fix codepath which can wrongly cause automatic space switch from all rooms ([\element-hq#8560](matrix-org/matrix-react-sdk#8560)). Fixes element-hq#21373.
* Fix effect of URL preview toggle not updating live ([\element-hq#8561](matrix-org/matrix-react-sdk#8561)). Fixes element-hq#22148.
* Fix visual bugs on AccessSecretStorageDialog ([\element-hq#8160](matrix-org/matrix-react-sdk#8160)). Fixes element-hq#19426. Contributed by @luixxiul.
* Fix the width bounce of the clock on the AudioPlayer ([\element-hq#8320](matrix-org/matrix-react-sdk#8320)). Fixes element-hq#21788. Contributed by @luixxiul.
* Hide the verification left stroke only on the thread list ([\element-hq#8525](matrix-org/matrix-react-sdk#8525)). Fixes element-hq#22132. Contributed by @luixxiul.
* Hide recently_viewed dropdown when other modal opens ([\element-hq#8538](matrix-org/matrix-react-sdk#8538)). Contributed by @yaya-usman.
* Only jump to date after pressing the 'go' button ([\element-hq#8548](matrix-org/matrix-react-sdk#8548)). Fixes element-hq#20799.
* Fix download button not working on events that were decrypted too late ([\element-hq#8556](matrix-org/matrix-react-sdk#8556)). Fixes element-hq#19427.
* Align thread summary button with bubble messages on the left side ([\element-hq#8388](matrix-org/matrix-react-sdk#8388)). Fixes element-hq#21873. Contributed by @luixxiul.
* Fix unresponsive notification toggles ([\element-hq#8549](matrix-org/matrix-react-sdk#8549)). Fixes element-hq#22109.
* Set color-scheme property in themes ([\element-hq#8547](matrix-org/matrix-react-sdk#8547)). Fixes element-hq#22124.
* Improve the styling of error messages during search initialization. ([\element-hq#6899](matrix-org/matrix-react-sdk#6899)). Fixes element-hq#19245 and element-hq#18164. Contributed by @KalleStruik.
* Don't leave button tooltips open when closing modals ([\element-hq#8546](matrix-org/matrix-react-sdk#8546)). Fixes element-hq#22121.
* update matrix-analytics-events ([\element-hq#8543](matrix-org/matrix-react-sdk#8543)).
* Handle Jitsi Meet crashes more gracefully ([\element-hq#8541](matrix-org/matrix-react-sdk#8541)).
* Fix regression around pasting links ([\element-hq#8537](matrix-org/matrix-react-sdk#8537)). Fixes element-hq#22117.
* Fixes suggested room not ellipsized on shrinking ([\element-hq#8536](matrix-org/matrix-react-sdk#8536)). Contributed by @yaya-usman.
* Add global spacing between display name and location body ([\element-hq#8523](matrix-org/matrix-react-sdk#8523)). Fixes element-hq#22111. Contributed by @luixxiul.
* Add box-shadow to the reply preview on the main (left) panel only ([\element-hq#8397](matrix-org/matrix-react-sdk#8397)). Fixes element-hq#21894. Contributed by @luixxiul.
* Set line-height: 1 to RedactedBody inside GenericEventListSummary for IRC/modern layout ([\element-hq#8529](matrix-org/matrix-react-sdk#8529)). Fixes element-hq#22112. Contributed by @luixxiul.
* Fix position of timestamp on the chat panel in IRC layout and message edits history modal window ([\element-hq#8464](matrix-org/matrix-react-sdk#8464)). Fixes element-hq#22011 and element-hq#22014. Contributed by @luixxiul.
* Fix unexpected and inconsistent inheritance of line-height property for mx_TextualEvent ([\element-hq#8485](matrix-org/matrix-react-sdk#8485)). Fixes element-hq#22041. Contributed by @luixxiul.
* Set the same margin to the right side of NewRoomIntro on TimelineCard ([\element-hq#8453](matrix-org/matrix-react-sdk#8453)). Contributed by @luixxiul.
* Remove duplicate tooltip from user pills ([\element-hq#8512](matrix-org/matrix-react-sdk#8512)).
* Set max-width for MLocationBody and MLocationBody_map by default ([\element-hq#8519](matrix-org/matrix-react-sdk#8519)). Fixes element-hq#21983. Contributed by @luixxiul.
* Simplify ReplyPreview UI implementation ([\element-hq#8516](matrix-org/matrix-react-sdk#8516)). Fixes element-hq#22091. Contributed by @luixxiul.
* Fix thread summary overflow on narrow message panel on bubble message layout ([\element-hq#8520](matrix-org/matrix-react-sdk#8520)). Fixes element-hq#22097. Contributed by @luixxiul.
* Live location sharing - refresh beacon timers on tab becoming active ([\element-hq#8515](matrix-org/matrix-react-sdk#8515)).
* Enlarge emoji again ([\element-hq#8509](matrix-org/matrix-react-sdk#8509)). Fixes element-hq#22086.
* Order receipts with the most recent on the right ([\element-hq#8506](matrix-org/matrix-react-sdk#8506)). Fixes element-hq#22044.
* Disconnect from video rooms when leaving ([\element-hq#8500](matrix-org/matrix-react-sdk#8500)).
* Fix soft crash around threads when room isn't yet in store ([\element-hq#8496](matrix-org/matrix-react-sdk#8496)). Fixes element-hq#22047.
* Fix reading of cached room device setting values ([\element-hq#8491](matrix-org/matrix-react-sdk#8491)).
* Add loading spinners to threads panels ([\element-hq#8490](matrix-org/matrix-react-sdk#8490)). Fixes element-hq#21335.
* Fix forwarding UI papercuts ([\element-hq#8482](matrix-org/matrix-react-sdk#8482)). Fixes element-hq#17616.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 T-Task Tasks for the team like planning X-Blocked Z-Community-PR Issue is solved by a community member's PR
Projects
None yet
6 participants