Problem/Motivation
The argument handler ViewsReferenceArgument currently uses the node from the route as token replacement argument:
$node = $this->routeMatch->getParameter('node');
....
$arguments[$index] = $this->tokenService->replace($argument, ['node' => $node]);
This is problematic if the reference field is used on other entities / nested entities e.g. Paragraphs. In such cases the arguments field won't accept tokens from the entity the reference field belongs to because the context data is missing.
Steps to reproduce
Add multiple Paragraphs with the same Views Reference field. Attempt to have them differ based on the argument, yet the argument is the same, so they cannot differ.
Proposed resolution
The suggestion is to pass the context data of the entity where the reference field is actually attached to.
Remaining tasks
Initial draft merge requestAddress feedback in #42Address feedback in #62Resolve all feedback on the MR itself- Ensure no new phpstan/phpcs/etc issues are added (currently issues are added)
- Add test coverage
- Arguments plugin should implement alterFormField to explain which tokens are available in the arguments
User interface changes
Details about which tokens are replaced in arguments plugin are provided
API changes
More tokens are replaced in the arguments plugin
Data model changes
None
Original issue summary
Hello. I created a few fields in the paragraph and also attached viewsreference field.
Since the node can have a few similar paragraphs, I want to display only own content related to the current paragraph.
However when I am trying to use "[paragraph:id]", nothing happen.

I have checked alterView() and seams as the viewsreference module are looking for tokens from the node and maybe will work in some cases, but I don't know how to pass a current delta value in the token, example [node:field_content_bottom:0:target_id].
Anyway or idea how to fix it?
Thanks in advance.
The argument handler ViewsReferenceArgument currently uses the node from the route as token replacement argument:
$node = $this->routeMatch->getParameter('node');
....
$arguments[$index] = $this->tokenService->replace($argument, ['node' => $node]);
This is problematic if the reference field is used on other entities / nested entities e.g. Paragraphs. In such cases the arguments field won't accept tokens from the entity the reference field belongs to because the context data is missing.
The suggestion is to pass the context data of the entity where the reference field is actually attached to.
Issue fork viewsreference-2985364
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
ruslan piskarovComment #3
venge commentedI also search a solution for the same problem.
Comment #4
bmunslow commentedCheck the patch submitted in comment 11 in this issue:
https://www.drupal.org/project/viewsreference/issues/2836015#comment-125...
I haven't tested the patch yet, but it seems to do exactly what you are requesting.
I will try it out and report back about it.
Comment #5
meltajon commented#4 works for me, I'm able to pass [paragraph:id] as an argument to my view.
Comment #6
bmunslow commentedYes, I can confirm as well that I have tried and tested the patch linked in #4 and it works perfectly
Comment #7
ruslan piskarovCopied the path with the author info. Thank you.
Comment #8
amerie commentedI was asked to upload my patch from https://www.drupal.org/project/viewsreference/issues/2836015 to this issue, so here it is. :)
Comment #9
ruslan piskarovComment #10
jacobbell84 commentedThanks all for the work on this. In my testing I did find one issue, in that when you use this patch with an Ajax view you'll receive the following error on subsequent Ajax calls:
TypeError: Argument 3 passed to Drupal\viewsreference\Plugin\ViewsReferenceSetting\ViewsReferenceArgument::alterView() must implement interface Drupal\Core\Entity\EntityInterface, null givenThat seems to happen because the entity isn't passed in the Ajax request. Since the entity is just for token replacement, I don't think we need it on subsequent Ajax calls anyways because the parameters that have already been set do get passed on future calls, so I adjusted the patch to just check and make sure we have an entity before trying to call the alterView functions.
Comment #11
jacobbell84 commentedRe-rolling the patch to support the dev branch
Comment #12
jacobbell84 commentedRe-rolling the patch to support the alpha5 release
Comment #13
wadator commentedRe-rolling the patch to support the 8.x-2.x-dev release
Comment #14
ecj commentedAfter enabling the modules (drupal-core 8.9.6) paragraph & token, I don't see or get a return value for the token [paragraph:id]. I did see this token in a distro where it later disappeard.
As I see a mentioning of this tken [paragraph:id] in this discussion - any idea how to enable the token paragraph:id, I suppose its defined somewhere already.. ?
Comment #15
ruslan piskarov@ecj, look the screenshot in the description of this issue, enable argument for the field and put
[paragraph:id]manually.Comment #16
ecj commented@ruslan, thank you for yout input, but I humbly fail to see the relationship between your answer and my question: where does this '[paragraph:id]' token get created & enabled, not in modules paragraphs or token as far as I can see/find. When you look at /admin/help/token under the 'paragraph' part, I only find URL and original parts.. no paragraph:id, although I did see it before.. so how to enable, where is it ?
Comment #17
ruslan piskarov@ecj,
On /admin/help/token under Paragraph section I see https://take.ms/VXOIP.
Not sure why you can't see it.
On my project enabled token and paragraph module.
Comment #18
jacobbell84 commentedComment #19
someshver commentedHi @all
When I applied #13 patch than my CSS stops loading on site. Can you please fix the issue my Drupal core version is 8.9.8
Comment #20
ruslan piskarovHey @someshver, I don't see any reason that could break the site styles. Could you try clear cache? What do you see in Drupal logs and console logs?
Comment #21
someshver commentedHi @ruslan_piskarov
I have fixed the issue. I do have two installations on my root directory one is inside docroot/ and the other one is inside web/ so that is conflicting the changes to docroot/ and web/ .
Comment #22
dgaspara commented#13 works for me. Thanks!
Comment #23
seanbThese changes would break the ViewsReferenceSettingInterface.
In #2957177: Pass view name and display id to alterFormField() method in ViewsReferenceSetting plugin we had a similar problem and decided to pass extra configuration to the plugins via the plugin configuration. I think we should probably do the same here.
Comment #24
socialnicheguru commentedwith the latest dev version the patch from 13 no longer applies
Comment #25
someshver commentedThe given patches are not working on the latest version
Comment #26
alphawebgroupre-rolled
Comment #27
someshver commentedI am getting the error after applying the patch.
TypeError: Argument 3 passed to Drupal\viewsreference\Plugin\ViewsReferenceSetting\ViewsReferenceArgument::alterView() must implement interface Drupal\Core\Entity\EntityInterface, array given, called in web\modules\contrib\viewsreference\viewsreference.module on line 82 in Drupal\viewsreference\Plugin\ViewsReferenceSetting\ViewsReferenceArgument->alterView() (line 34 of web\modules\contrib\viewsreference\src\Plugin\ViewsReferenceSetting\ViewsReferenceArgument.php)Comment #28
socialnicheguru commentedComment #29
arunverma commentedRegenerated patch for version ^2.0@beta
Comment #30
ruslan piskarovThank you @arunverma :)
Comment #32
socialnicheguru commentedPatch in #29 is not applying for version 2.0-beta3:
Installing drupal/viewsreference (2.0.0-beta3): Extracting archive
- Applying patches for drupal/viewsreference
https://www.drupal.org/files/issues/2022-05-25/2985364-29.patch (Is there any way to pass the token from the current paragraph to the view?)
Could not apply patch! Skipping. The error was: Cannot apply patch https://www.drupal.org/files/issues/2022-05-25/2985364-29.patch
Comment #33
justskew commentedComment #34
ruslan piskarovRe-rolled patch for version 2.0-beta3.
We can't apply #33 by the composer.
Comment #35
aaronpinero commentedI can confirm that patch #34 works for me with version 2.0-beta3.
Comment #36
seanbIn #3090713: Parent field entity in plugin interface we have a patch to pass the parent entity data to the view using
$view->element['#viewsreference']so other (custom) views alter hooks can do with the data whatever they want. This would at least allow a view alter to set arguments based on the parent entity.This does not add token support though. Maybe we need to add support here for a custom "parent_entity" token?
Comment #40
socialnicheguru commentedRerolled for dev version
Comment #41
aaronpinero commentedPatch #34 does not cleanly apply to the latest beta (6). I didn't check #40. I've been depending on patch #34 for quite a while now, it would be great if we could get an updated patch (or, better yet, something permanent merged).
Thanks.
Comment #42
seanbI would accept a patch that adds a custom token for the parent entity data passed in via
$view->element['#viewsreference'].See #3090713: Parent field entity in plugin interface:
The latest patch and the MR uses the node from the route argument, which is not necessarily the parent entity (eg. when using paragraphs or layout builder). This also doesn't work for non-node entities.
Comment #43
ndewhurstIt seems that #40 applies to the latest release but causes an error with
$items->getEntity()because$itemsdoes not exist in the lazyBuilder method.Here is an updated patch that loads the entity based on the (newly?) provided parent_entity_* vars.
Note: I am not familiar with this module and I'm sure this is not the best solution. You probably don't need to pass the entity everywhere if the parent entity type and ID are available. I'm just trying to maintain compatibility in a project that has some dependencies declaring that they need this patch.
Comment #44
aaronpinero commentedI tried applying patch #43 to the beta6 release via composer. The patch applied cleanly, but my pages using the views reference field displayed the WSOD. The log recorded the following error:
AssertionError: When a #lazy_builder callback is specified, no properties can exist; all properties must be generated by the #lazy_builder callback. You specified the following properties: #attached. in assert() (line 334 of /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php)
#0 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(334): assert(false, 'When a #lazy_bu...')
#1 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#2 /var/www/html/web/core/modules/views/src/Plugin/views/field/EntityField.php(934): Drupal\Core\Render\Renderer->render(Array)
#3 /var/www/html/web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1170): Drupal\views\Plugin\views\field\EntityField->render_item(0, Array)
#4 /var/www/html/web/core/modules/views/views.theme.inc(238): Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender(Object(Drupal\views\ResultRow))
#5 [internal function]: template_preprocess_views_view_field(Array, 'views_view_fiel...', Array)
#6 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(287): call_user_func_array('template_prepro...', Array)
#7 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('views_view_fiel...', Array)
#8 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#9 /var/www/html/web/core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1746): Drupal\Core\Render\Renderer->render(Array)
#10 /var/www/html/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(777): Drupal\views\Plugin\views\field\FieldPluginBase->theme(Object(Drupal\views\ResultRow))
#11 [internal function]: Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow(Array)
#12 /var/www/html/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#13 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(788): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#14 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(374): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#15 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#16 /var/www/html/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(716): Drupal\Core\Render\Renderer->render(Array)
#17 /var/www/html/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(582): Drupal\views\Plugin\views\style\StylePluginBase->renderFields(Array)
#18 /var/www/html/web/core/modules/views/src/Plugin/views/style/StylePluginBase.php(473): Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping(Array, Array, true)
#19 /var/www/html/web/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php(2169): Drupal\views\Plugin\views\style\StylePluginBase->render(Array)
#20 /var/www/html/web/core/modules/views/src/ViewExecutable.php(1538): Drupal\views\Plugin\views\display\DisplayPluginBase->render()
#21 /var/www/html/web/core/modules/views/src/Plugin/views/display/Block.php(131): Drupal\views\ViewExecutable->render()
#22 /var/www/html/web/core/modules/views/src/ViewExecutable.php(1635): Drupal\views\Plugin\views\display\Block->execute()
#23 /var/www/html/web/core/modules/views/src/Element/View.php(81): Drupal\views\ViewExecutable->executeDisplay('block_3', Array)
#24 /var/www/html/web/core/modules/views/src/Plugin/Block/ViewsBlock.php(59): Drupal\views\Element\View::preRenderViewElement(Array)
#25 /var/www/html/web/core/modules/block/src/BlockViewBuilder.php(171): Drupal\views\Plugin\Block\ViewsBlock->build()
#26 [internal function]: Drupal\block\BlockViewBuilder::preRender(Array)
#27 /var/www/html/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#28 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(788): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#29 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(374): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#30 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(446): Drupal\Core\Render\Renderer->doRender(Array)
#31 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#32 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#33 /var/www/html/web/sites/default/files/php/twig/64f8e0a2e7225_page.html.twig_e7hh4y0wifva4a_ScRFDQ36Sd/zfFVEjIYHqdRX1anIHqxRCGpcFxi4utbCkf16f__ry0.php(147): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#34 /var/www/html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_4c484e285e34c1c517dfce0f56403aae->doDisplay(Array, Array)
#35 /var/www/html/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#36 /var/www/html/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#37 /var/www/html/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#38 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/h...', Array)
#39 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('page', Array)
#40 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#41 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#42 /var/www/html/web/sites/default/files/php/twig/64f8e0a2e7225_html.html.twig_K7e0YUqNYNYFXZjaSejrhWCNJ/F9GmlgEUaQj5BFA8BJiV1mhKLHdT20aW1lYKJfOlhzk.php(87): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#43 /var/www/html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_e64b960fb8704841d8453d0d3f187c3c->doDisplay(Array, Array)
#44 /var/www/html/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#45 /var/www/html/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#46 /var/www/html/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#47 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/h...', Array)
#48 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('html', Array)
#49 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#50 /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(162): Drupal\Core\Render\Renderer->render(Array)
#51 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(580): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#52 /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(163): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#53 /var/www/html/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#54 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#55 /var/www/html/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#56 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(174): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#57 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(81): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#58 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#59 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#60 /var/www/html/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#61 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#62 /var/www/html/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#63 /var/www/html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#64 /var/www/html/web/core/lib/Drupal/Core/DrupalKernel.php(718): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#65 /var/www/html/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#66 {main}
Comment #46
ysalamonePatch #43 works well for me, I only added support for translated parent entity (it seems like the default translation was the one always used).
NB: This is my first contribution, any advice is appreciated!
Comment #48
ruslan piskarovI suggest working on a different approach as mentioned @seanB at #42.
Since parent_entity_type and parent_entity_id already are available, we can fix it more easily.
Not sure I covered all cases.
Need review.
Works with 2.0-beta7.
Comment #49
ruslan piskarovAdded support for a translated parent entity too.
Comment #50
ruslan piskarovComment #51
ruslan piskarovImprovered. Covered more cases, like [paragraph:field_taxonomy_ref:target_id].
Comment #52
ruslan piskarovFixed the issue when a view has ajax enabled and pagination doesn't work.
Comment #53
jacobbell84 commentedPatches 51 and 52 aren't working for me. I'm confused on some of the changes there. Patch 51 mentioned that it covers more bases, but the only change I see was this:
$view->element['#viewsreference']['entity'] is a holdover from an older patch though, it's not being set anywhere in this patch. Then 52 adds an additional check to fix ajax pagination:
Because of that check, and ['entity'] never being set, these plugins never execute for me anymore.
Comment #54
generalredneckechoing @jacobbell84.
I fixed it by changing the check in hhok_views_pre_view like so:
// Let all settings plugins alter the view. - if (isset($view->element['#viewsreference']['entity'])) { + if (isset($view->element['#viewsreference'])) {I don't see where the ['entity'] key is being set anywhere either. I don't know if this is 100% correct. thoughts?
Comment #55
ruslan piskarovIf I remember correctly the ['entity'] will appear if embed a view with enabled ajax in pagination.
First time it mentioned at #10.
I can't test today. Need improve a patch.
Comment #56
socialnicheguru commentedNo longer works with the dev version
Comment #57
scott_euser commentedThanks everyone for the work on this! To help review it would be good to have a single branch, and other branches hidden as its unclear at the moment (+ mix of paches).
Looking at 2985364-pass-token-from-paragraph branch, it would be good for someone to explain better to me the aim here. From the issue summary, it seems it should be isolated to the ViewsReferenceArgument setting, but all settings are changed? So maybe issue summary needs an update, or scope needs to be more limited.
Now that we have test coverage everywhere, any merge requests coming in would also need to have test coverage please.
Thanks!
Comment #58
socialnicheguru commentedReroll of 52 to apply to latest version of module
Comment #59
jv24#58 looks like it was just missing the $token_service variable. Updated patch to include it
Comment #62
das-peter commentedReview of: #59
Why are we getting the token service while we already have the service via DI? It is even used in the condition before the replacement.
Seems unnecessary - the
['entity']addition came from the other approach it seems (pre #48).If I get the general consensus the new approach started in #48 is the preferred one.
I'd agree with that since that approach needs less changes and seems to work in a generic approach while maintaining backward compatibility.
That said - I've created new branches in the fork:
2985364-pass-token-from-paragraph-light-approach: Patch from #59 with the changes I mentioned above2985364-pass-token-from-paragraph-legacy-approach: Pre-#48 codeThe MR branch 2985364-pass-token-from-paragraph contains now the light approach
@scott_euser There should be now only one Branch / MR - I've also added an update to the issue summary. Haven't gotten around to add tests yet - hence keeping on needs work.
Comment #67
chucksimply commentedI'm on 2.0-beta10...
#59 broke arguments entirely.
#60 MR works perfectly.
Thanks!
Comment #68
vlyalko commentedI have created a patch to be used until #60 MR created by daspeter is merged. It works perfectly. Thank you
Comment #69
scott_euser commentedI have attempted to update the issue summary to provide clarity as to what is needed to get this issue into a merge-able state.
Comment #70
jacobbell84 commentedI've updated the PR with the comments from #69, moving the node replacement code out of the if statement to maintain existing functionality.
Comment #71
jacobbell84 commentedComment #72
scott_euser commentedThanks! Looks like the remaining tasks in the issue summary are not complete though.