Needs work
Project:
Drupal Canvas
Version:
1.x-dev
Component:
Component sources
Priority:
Major
Category:
Task
Assigned:
Issue tags:
Reporter:
Created:
3 Dec 2025 at 14:52 UTC
Updated:
16 Apr 2026 at 15:33 UTC
Jump to comment: Most recent
Comments
Comment #2
phenaproximaComment #3
wim leersComment #4
garvitasakhrani commentedI am working on this issue.
Comment #5
penyaskitoThis can only happen after #3547579: Introduce a new cache tags aware prop shape repository, so changes affecting prop shape calculation can force the re-invoke of hook_canvas_storable_shape_prop_alter lands
Comment #6
penyaskito#3547579: Introduce a new cache tags aware prop shape repository, so changes affecting prop shape calculation can force the re-invoke of hook_canvas_storable_shape_prop_alter landed, no longer postponed.
Comment #7
sujal kshatri commentedI am working on this
Comment #9
sujal kshatri commentedHello maintainers,
While merging, the validate test and testing are failing.
I’m looking into it and trying to understand what is happening and what should be the next step.
In this MR, I removed the GenerateComponentConfigTrait file and removed all
trait usages from the tests.
I also replaced calls to
`$this->generateComponentConfig()` with
`$this->container->get(ComponentSourceManager::class)->generateComponents()`.
Additionally, in JsComponentTest there was an overridden
`generateComponentConfig()` method. Previously this method was calling
`parent::generateComponentConfig()`, which relied on the removed trait. I have
updated it to directly call
`$this->container->get(ComponentSourceManager::class)->generateComponents()`
instead.
If you have any guidance on the preferred way to handle this in tests, that
would be really helpful.
Thanks!
Comment #10
phenaproximaThe linter is complaining about lines like https://git.drupalcode.org/issue/canvas-3561270/-/blob/1.x/tests/src/Ker...
The problem is that you need to have that use the qualified class name. So for example, it needs to be:
Not:
And you need to have a
use Drupal\canvas\ComponentSource\ComponentSourceManager;at the top of the file, where other classes are being imported.Comment #11
sujal kshatri commentedworking on it
Comment #12
wim leersMR 412 contains 1 commit and seems to delete and remove every line in the codebase 😅 Something went quite wrong here.
Comment #15
wim leersOh, I think this is simply a matter of having created the MR from the wrong branch? https://git.drupalcode.org/issue/canvas-3561270/-/compare/1.x...sujal-us... needs to get an MR, not the
1.xbranch that's been pushed up!Comment #16
sujal kshatri commentedI was so scared that why it looks like I have changed the entire code base 😭, for past 2 days I was finding a way as toh how to take my MR back to orginal form, but was not able to do so
Thank you so much for closing it
Comment #17
sujal kshatri commentedThat could indeed be the case,
I did the MR from the wrong base branch, which would explain why the diff looked so off.
Thanks a lot for opening the correct MR
Comment #18
wim leersWe landed a whole range of DX boosts recently. #3563216: Add a base class for kernel tests to improve DX: `CanvasKernelTestBase`, #3572401: PHPCS: require CanvasKernelTestBase to be extended, forbid extending KernelTestBase, et cetera.
Let's get this one in, too!
Comment #19
wim leersComment #20
isholgueras commentedComment #22
isholgueras commentedComment #23
phenaproximaOne question on the MR, approved otherwise.
Comment #24
wim leersThis is looking great!. I echo @phenaproxima's question, have 2 additional questions, and AFAICT we can trivially simplify this MR even more: https://git.drupalcode.org/project/canvas/-/merge_requests/721#note_720933
Comment #25
wim leersTurns out we have the opportunity to make generating of
Components much more sane. Bumping priority.Comment #27
wim leers@phenaproxima pushed this forward 10 days ago. Since then, he landed #3580247: Remove canvas_install() entirely and trigger the installation of canvas_stark unconditionally when Canvas itself is installed; forbid the use of `drupal_flush_all_caches` in Canvas's code base, which is conceptually related, and actually overlaps with the commit he pushed here.
Let's get this done!