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 multiple includes with embeds #828

Merged

Conversation

willrowe
Copy link
Collaborator

This PR supersedes #784. After creating a failing test and debugging the issue, it turns out that the id should have never been set on the temporary template instance, since that stored it in the registry and allowed subsequent calls to the loader to return the temporary instance instead of the correct instance set before the embed.

Fixes #708

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
- Including the `id` triggers `Twig.Templates.save` and adds the instance to `Twig.Templates.registry`.
- By omitting the `id` completely, there is no chance that the temporary instance is accidentally reused through a combination of embeds/includes that would load it from the registry.
@RobLoach
Copy link
Collaborator

Thanks so much, Will 🚀

@willrowe willrowe merged commit 5326ee6 into twigjs:master Sep 22, 2022
@willrowe willrowe deleted the hotfix/multiple-included-embed-issue-708 branch September 22, 2022 13:00
@willrowe willrowe mentioned this pull request Oct 3, 2022
RobLoach added a commit that referenced this pull request Feb 28, 2023
Major improvements:
* Fix passing context around by @willrowe in #850
* Add namespace support to `source` function by @willrowe in #823
* Use src/twig.js as package's main script instead of the compiled twig.js by @RobLoach in #829

Minor improvements:
* Fix macro changing context in loop by @mihkeleidast in #773
* Imported function PATHS.strip_slash() missing by @murageyun in #770
* Convert non-string values to string before replacing by @kmonahan in #797
* Add GitHub actions test workflow by @willrowe in #817
* Fix date parsing with timezones by @plepe in #765
* Fixed Twig official's URL on README.md by @Geolim4 in #822
* Add tests for whitespace in paths by @willrowe in #824
* Fix multiple includes with embeds by @willrowe in #828
* Update to Mocha 9.x by @RobLoach in #831
* Add test for issue #767 by @willrowe in #837
* Add support for `divisible by` test by @willrowe in #838
* Add support for `with` tag without context or `only` keyword by @willrowe in #839
* Use v3 of `actions/checkout` by @willrowe in #846
* Test on more node versions by @willrowe in #847
* Fix webpack 5 compatibility by @willrowe in #849
* Add test to confirm `renderFile` error handling by @willrowe in #851
* Fix casing of variables in docs by @willrowe in #852
* Bumped dependencies by @dependabot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crashes on including a template twice that embeds another template
2 participants