Problem/Motivation
In ProcessBase.php line 171:
Unable to decode output into JSON: Syntax error
ArgumentCountError: Too few arguments to function Drupal\canvas\AutoSave\AutoSaveManager::__construct(), 7 passed in /var/www/html/web/modules/contrib/canvas_builder/sr
c/AutoSave/CanvasBuilderAutoSaveManager.php on line 58 and exactly 8 expected in Drupal\canvas\AutoSave\AutoSaveManager->__construct() (line 112 of /var/www/html/web/mo
dules/contrib/canvas/src/AutoSave/AutoSaveManager.php).
Comments
Comment #2
aaronchristian commentedComment #3
aaronchristian commentedThis one's fixed on
1.0.xas well.The issue was that we were overriding
AutoSaveManager::__construct()with Canvas's exact constructor signature. That worked until Canvas 1.9.0 added another required parameter, which immediately broke our subclass.The fix was to remove the constructor override entirely. The extra dependencies our subclass needs are now injected through a setter in the service provider, so we're no longer tied to Canvas's constructor signature.
I verified it by patching a local copy of Canvas to require the additional constructor argument, which reproduced your exact error. With the current
1.0.xcode, everything resolves cleanly and the test suite passes.It's included in the same commit (
7459dbf), so it should be good to test against Canvas 1.9.0.Comment #4
aaronchristian commentedComment #5
thomas.frobieterLGTM! Works like expected.
Comment #6
anybodyConfirming RTBC. @aaronchristian could you maybe tag a new alpha3 release with this fix?
Comment #7
grevil commentedComment #9
grevil commentedComment #10
anybodyStill needs a fresh release please! This major issue is not fixed in a tagged release yet.
Comment #11
aaronchristian commentedComment #12
anybodyThanks for the fresh release @aaronchristian!! :)