From 29ebe20521b5cf533bd8eefb6c5a16312b3689f5 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Thu, 13 Jan 2022 21:44:41 -0600 Subject: [PATCH 1/6] enhance turbo documentation --- docs/api/javascript-api.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api/javascript-api.md b/docs/api/javascript-api.md index 8e1699f74..a1b281a86 100644 --- a/docs/api/javascript-api.md +++ b/docs/api/javascript-api.md @@ -61,7 +61,8 @@ The best source of docs is the main [ReactOnRails.js](https://github.com/shakaco /** * Set options for ReactOnRails, typically before you call ReactOnRails.register * Available Options: - * `traceTurbolinks: true|false Gives you debugging messages on Turbolinks events + * `traceTurbolinks: true|false` Gives you debugging messages on Turbolinks events + * `turbo: true|false` enables Turbo, which is not auto-detected like the Turbolinks library is */ setOptions(options) From 467b03281b4118dbd12d0728af0a00d19d63d3c3 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Fri, 14 Jan 2022 15:30:06 -0600 Subject: [PATCH 2/6] switch from render to load event listeners --- node_package/src/clientStartup.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/node_package/src/clientStartup.ts b/node_package/src/clientStartup.ts index 9914814d1..0cd344a5f 100644 --- a/node_package/src/clientStartup.ts +++ b/node_package/src/clientStartup.ts @@ -241,16 +241,16 @@ function renderInit(): void { if (turboInstalled()) { debugTurbolinks( 'USING TURBO: document added event listeners ' + - 'turbo:before-render and turbo:render.'); - document.addEventListener('turbo:before-render', reactOnRailsPageUnloaded); - document.addEventListener('turbo:render', reactOnRailsPageLoaded); + 'turbo:before-visit and turbo:load.'); + document.addEventListener('turbo:before-visit', reactOnRailsPageUnloaded); + document.addEventListener('turbo:load', reactOnRailsPageLoaded); reactOnRailsPageLoaded(); } else if (turbolinksVersion5()) { debugTurbolinks( 'USING TURBOLINKS 5: document added event listeners ' + - 'turbolinks:before-render and turbolinks:render.'); - document.addEventListener('turbolinks:before-render', reactOnRailsPageUnloaded); - document.addEventListener('turbolinks:render', reactOnRailsPageLoaded); + 'turbolinks:before-visit and turbolinks:load.'); + document.addEventListener('turbolinks:before-visit', reactOnRailsPageUnloaded); + document.addEventListener('turbolinks:load', reactOnRailsPageLoaded); reactOnRailsPageLoaded(); } else { debugTurbolinks( From a6cc1e2272426e1e93208207997525e333ebc8f5 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Fri, 14 Jan 2022 15:34:40 -0600 Subject: [PATCH 3/6] changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24e563929..0a83128b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ Please follow the recommendations outlined at [keepachangelog.com](http://keepac ### [Unreleased] Changes since last non-beta release. +### Fixed +- Double rendering of components with using Turbo or Turbolinks. [PR 1421](https://github.com/shakacode/react_on_rails/pull/1421) by [judahmeek](https://github.com/judahmeek). + *Please add entries here for your pull requests that are not yet released.* ### [12.5.2] - 2021-12-29 ### Fixed From 5a1b748d0fb1cdf5c5d99e0f5da9ca2208682913 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Mon, 17 Jan 2022 15:57:34 -0600 Subject: [PATCH 4/6] update setOptions typing --- node_package/src/types/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_package/src/types/index.ts b/node_package/src/types/index.ts index 1e8f35f9b..037243c5e 100644 --- a/node_package/src/types/index.ts +++ b/node_package/src/types/index.ts @@ -116,7 +116,7 @@ export interface ReactOnRails { register(components: { [id: string]: ReactComponentOrRenderFunction }): void; registerStore(stores: { [id: string]: Store }): void; getStore(name: string, throwIfMissing: boolean): Store | undefined; - setOptions(newOptions: {traceTurbolinks: boolean}): void; + setOptions(newOptions: {traceTurbolinks?: boolean, turbo?: boolean}): void; reactOnRailsPageLoaded(): void; authenticityToken(): string | null; authenticityHeaders(otherHeaders: { [id: string]: string }): AuthenticityHeaders; From 8cd4b57024925ecab817a5471abd3f008b9535a4 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Mon, 17 Jan 2022 16:17:13 -0600 Subject: [PATCH 5/6] restrict generator mini-css-extract-plugin version to 2.4.5 --- lib/generators/react_on_rails/base_generator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/generators/react_on_rails/base_generator.rb b/lib/generators/react_on_rails/base_generator.rb index 9ea2fbe86..fe5647947 100644 --- a/lib/generators/react_on_rails/base_generator.rb +++ b/lib/generators/react_on_rails/base_generator.rb @@ -90,7 +90,7 @@ def add_yarn_dependencies babel-plugin-macros" puts "Adding CSS handlers" - run "yarn add css-loader css-minimizer-webpack-plugin mini-css-extract-plugin style-loader" + run "yarn add css-loader css-minimizer-webpack-plugin mini-css-extract-plugin@2.4.5 style-loader" puts "Adding dev dependencies" run "yarn add -D @pmmmwh/react-refresh-webpack-plugin react-refresh" From 0d94ca75a54a26e12b04c18092a7174f52022668 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Tue, 18 Jan 2022 14:38:01 -0600 Subject: [PATCH 6/6] add typescripts changes --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a83128b3..ad56dc4fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ Please follow the recommendations outlined at [keepachangelog.com](http://keepac Changes since last non-beta release. ### Fixed -- Double rendering of components with using Turbo or Turbolinks. [PR 1421](https://github.com/shakacode/react_on_rails/pull/1421) by [judahmeek](https://github.com/judahmeek). +- Double rendering of components with using Turbo or Turbolinks. Also, updated relevant Typescript definitions. [PR 1421](https://github.com/shakacode/react_on_rails/pull/1421) by [judahmeek](https://github.com/judahmeek). *Please add entries here for your pull requests that are not yet released.* ### [12.5.2] - 2021-12-29