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

fix(platform-server): insert transfer state script before other script tags #48868

Closed
wants to merge 1 commit into from

Conversation

alan-agius4
Copy link
Contributor

Previously, the state script was always appended as the last item in the body tag. This can result in the state not being available when the Angular application is bootstrap. A workaround for this was to delay the bootstrapping of the application until by using the DOMContentLoaded event listener.

const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);

document.addEventListener('DOMContentLoaded', bootstrap);

With this change the above workaround is no longer necessary as the state script tag is now added prior of any other script which guarantees that the state is present prior of the Angular application is bootstrapped.

@alan-agius4 alan-agius4 added the area: server Issues related to server-side rendering label Jan 27, 2023
@ngbot ngbot bot added this to the Backlog milestone Jan 27, 2023
…ript` tags

Previously, the state `script` was always appended as the last item in the `body` tag. This can result in the state not being available when the Angular application is bootstrap.
A workaround for this was to delay the bootstrapping of the application until by using the `DOMContentLoaded` event listener.

```ts
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);

document.addEventListener('DOMContentLoaded', bootstrap);
```

With this change the above workaround is no longer necessary as the state `script` tag is now added prior of any other `script` which guarantees that the state is present prior of the Angular application is bootstrapped.
@alan-agius4 alan-agius4 added the target: patch This PR is targeted for the next patch release label Jan 27, 2023
@alan-agius4 alan-agius4 added the action: review The PR is still awaiting reviews from at least one requested reviewer label Jan 27, 2023
@alan-agius4
Copy link
Contributor Author

Copy link
Contributor

@AndrewKushnir AndrewKushnir left a comment

Choose a reason for hiding this comment

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

@alan-agius4 looks great, thanks for the fix 👍

@AndrewKushnir AndrewKushnir removed the action: review The PR is still awaiting reviews from at least one requested reviewer label Jan 27, 2023
@alan-agius4 alan-agius4 added the action: merge The PR is ready for merge by the caretaker label Jan 27, 2023
angular-robot bot pushed a commit that referenced this pull request Jan 31, 2023
…ript` tags (#48868)

Previously, the state `script` was always appended as the last item in the `body` tag. This can result in the state not being available when the Angular application is bootstrap.
A workaround for this was to delay the bootstrapping of the application until by using the `DOMContentLoaded` event listener.

```ts
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);

document.addEventListener('DOMContentLoaded', bootstrap);
```

With this change the above workaround is no longer necessary as the state `script` tag is now added prior of any other `script` which guarantees that the state is present prior of the Angular application is bootstrapped.

PR Close #48868
@angular-robot angular-robot bot closed this in 2fc5b70 Jan 31, 2023
@alan-agius4 alan-agius4 deleted the state-script-order branch January 31, 2023 07:05
trekladyone pushed a commit to trekladyone/angular that referenced this pull request Feb 1, 2023
…ript` tags (angular#48868)

Previously, the state `script` was always appended as the last item in the `body` tag. This can result in the state not being available when the Angular application is bootstrap.
A workaround for this was to delay the bootstrapping of the application until by using the `DOMContentLoaded` event listener.

```ts
const bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);

document.addEventListener('DOMContentLoaded', bootstrap);
```

With this change the above workaround is no longer necessary as the state `script` tag is now added prior of any other `script` which guarantees that the state is present prior of the Angular application is bootstrapped.

PR Close angular#48868
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Feb 3, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@angular/animations](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fanimations/15.1.2/15.1.3) |
| [@angular/common](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fcommon/15.1.2/15.1.3) |
| [@angular/compiler](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/15.1.2/15.1.3) |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/main/packages/compiler-cli) ([source](https://github.com/angular/angular)) | devDependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/15.1.2/15.1.3) |
| [@angular/core](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fcore/15.1.2/15.1.3) |
| [@angular/forms](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fforms/15.1.2/15.1.3) |
| [@angular/platform-browser](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/15.1.2/15.1.3) |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular) | dependencies | patch | [`15.1.2` -> `15.1.3`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser-dynamic/15.1.2/15.1.3) |

---

### Release Notes

<details>
<summary>angular/angular</summary>

### [`v15.1.3`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#&#8203;1513-2023-02-02)

[Compare Source](angular/angular@15.1.2...15.1.3)

##### animations

| Commit | Type | Description |
| -- | -- | -- |
| [d36dfd4b62](angular/angular@d36dfd4) | fix | fix non-animatable warnings for easing ([#&#8203;48583](angular/angular#48583)) |

##### common

| Commit | Type | Description |
| -- | -- | -- |
| [a334e4efbe](angular/angular@a334e4e) | fix | warn if using ngSrcset without a configured image loader ([#&#8203;48804](angular/angular#48804)) |

##### compiler

| Commit | Type | Description |
| -- | -- | -- |
| [171b4d4640](angular/angular@171b4d4) | fix | incorrect code when non-null assertion is used after a safe access ([#&#8203;48801](angular/angular#48801)) |

##### migrations

| Commit | Type | Description |
| -- | -- | -- |
| [9e86dd231b](angular/angular@9e86dd2) | fix | Fixed file format issue with lint ([#&#8203;48859](angular/angular#48859)) |
| [af31f98b00](angular/angular@af31f98) | fix | migration host incorrectly reading empty files ([#&#8203;48849](angular/angular#48849)) |

##### platform-server

| Commit | Type | Description |
| -- | -- | -- |
| [73972c684e](angular/angular@73972c6) | fix | insert transfer state `script` before other `script` tags ([#&#8203;48868](angular/angular#48868)) |

##### router

| Commit | Type | Description |
| -- | -- | -- |
| [d5b2c249a3](angular/angular@d5b2c24) | fix | Handle routerLink directive on svg anchors. ([#&#8203;48857](angular/angular#48857)) |

#### Special Thanks

Alan Agius, Besim Gürbüz, Brecht Billiet, Dario Piotrowicz, Dylan Hunn, Iván Navarro, Jessica Janiuk, Kristiyan Kostadinov, Matthieu Riegler, Onkar Ruikar, Payam Valadkhan, Santosh Yadav, Virginia Dooley and Walid Bouguima

<!-- CHANGELOG SPLIT MARKER -->

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTkuMiIsInVwZGF0ZWRJblZlciI6IjM0LjEyMC4wIn0=-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1769
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Feb 6, 2023
…chematic

The bootstrapping wrapping is no longer neccesry as of 15.1.3. See: angular/angular#48868
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Feb 6, 2023
…schematic

The bootstrapping wrapping is no longer necessary as of 15.1.3. See: angular/angular#48868
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Feb 6, 2023
…schematic

The bootstrapping wrapping is no longer necessary as of 15.1.3. See: angular/angular#48868
angular-robot bot pushed a commit to angular/angular-cli that referenced this pull request Feb 7, 2023
…schematic

The bootstrapping wrapping is no longer necessary as of 15.1.3. See: angular/angular#48868
angular-robot bot pushed a commit to angular/angular-cli that referenced this pull request Feb 7, 2023
…schematic

The bootstrapping wrapping is no longer necessary as of 15.1.3. See: angular/angular#48868

(cherry picked from commit 88fddc0)
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request Feb 16, 2023
…ther `script` tags (angular#48868)"

This reverts commit 2fc5b70 as this
change is no longer needed since `type=module` script are deferred by
default.
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request Feb 16, 2023
…ther `script` tags (angular#48868)"

This reverts commit 2fc5b70 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM.
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request Feb 17, 2023
…ther `script` tags (angular#48868)"

This reverts commit 2fc5b70 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM.
alan-agius4 added a commit to alan-agius4/angular that referenced this pull request Feb 17, 2023
…ther `script` tags (angular#48868)"

This reverts commit 2fc5b70 as this
change is no longer needed since `type=module` script are deferred by
default.
AndrewKushnir pushed a commit that referenced this pull request Feb 17, 2023
…ther `script` tags (#48868)" (#49112)

This reverts commit 2fc5b70 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM.

PR Close #49112
AndrewKushnir pushed a commit that referenced this pull request Feb 17, 2023
…ther `script` tags (#48868)" (#49112)

This reverts commit 2fc5b70 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM.

PR Close #49112
AndrewKushnir pushed a commit that referenced this pull request Feb 17, 2023
…ther `script` tags (#48868)" (#49112)

This reverts commit 2fc5b70 as this change is no longer needed since `type=module` script are deferred by default. Which causes the transfer data to be queried after the browser has finished parsing the DOM.

PR Close #49112
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Mar 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker area: server Issues related to server-side rendering target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants