Skip to content

Conversation

@tassoevan
Copy link
Contributor

@tassoevan tassoevan commented Apr 11, 2021

Proposed changes (including videos or screenshots)

  • The Meteor package kadira:blaze-layout was removed;
  • A global subscription for the current application layout (appLayout) replaces BlazeLayout entirely;
  • The #react-root element is rendered on server-side instead of dynamically injected into the DOM tree;
  • The "page loading" throbber is now rendered on the React tree;
  • The renderRouteComponent helper was removed;
  • Some code run without any criteria on main template module was moved into client startup modules;
  • React portals used to embed Blaze templates have their own subscription (blazePortals);
  • Some route components were refactored to remove a URL path trap originally disabled by renderRouteComponent;
  • A new component to embed the DOM nodes generated by RoomManager was created.

Issue(s)

Steps to test or reproduce

Further comments

What could be the next steps:

  1. Convert templates that are not rendered over/under the main template to components (e.g. replacing appLayout.render('xyz') with appLayout.render({ component: lazy(() => import('./Xyz')) }));
  2. Render the room using React only first, then optimize it to avoid to many reconciliations between React and the DOM tree;
  3. Replace the main template with a new component;
  4. Move some initialization from client/startup to effects of the component implemented in (4);
  5. Use the URL path as the single source of truth to determine which layout component should be rendered inside AppLayout (like a rendering router that only renders if a route is the current one).

@tassoevan tassoevan changed the title improve/app-layout Global app layout Apr 11, 2021
@tassoevan tassoevan changed the title Global app layout A React-based replacement for BlazeLayout Apr 12, 2021
@tassoevan tassoevan added this to the 3.14.0 milestone Apr 12, 2021
@tassoevan tassoevan requested a review from a team April 12, 2021 00:39
@tassoevan tassoevan marked this pull request as ready for review April 12, 2021 00:39
@ggazzo ggazzo merged commit 84d5470 into develop Apr 12, 2021
@ggazzo ggazzo deleted the improve/app-layout branch April 12, 2021 18:21
gabriellsh added a commit that referenced this pull request Apr 15, 2021
…user_info

* 'develop' of github.com:RocketChat/Rocket.Chat: (40 commits)
  [FIX] Typos/missing elements in the French translation (#21525)
  [FIX] Archive permissions for room moderator (#21563)
  [FIX] Checking 'start-discussion' Permission for MessageBox Actions (#21564)
  [FIX] Correcting the case there are no result in admin users list (#21556)
  [FIX] Don't allow whitespace on bold, italic and strike (#21483)
  [FIX] Message Block ordering (#21464)
  [IMPROVE] Add proxy for data export (#20998)
  [FIX] Updating a message causing URLs to be parsed even within markdown code (#21489)
  Bump version to 3.13.2
  [FIX] Fix the bugs opening discussions (#21557)
  A React-based replacement for BlazeLayout (#21527)
  Language update from LingoHub 🤖 on 2021-04-12Z (#21530)
  Chore: Increase testing coverage on password policy class (#21482)
  Chore: Meteor update to 2.1.1 (#21494)
  Chore: Do not stop animations on Test Mode (#21484)
  Chore: Remove control character from room model operation (#21493)
  [NEW] New set of rules for client code (#21318)
  Bump version to 3.13.1
  [FIX] Header component breaking if user is not part of teams room (#21465)
  [FIX] Admin Users list pagination (#21469)
  ...
@sampaiodiego sampaiodiego mentioned this pull request Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants