docs/contribution/contributing/common-issues.md
This page aims to document a comprehensive list of known issues, commonly encountered problems, and their solutions or workarounds. If you have encountered an issue that is not mentioned here and should be, please don't hesitate to add to the list.
Automattic\Jetpack\Autoloader\AutoloadGenerator[ErrorException]
Declaration of Automattic\Jetpack\Autoloader\AutoloadGenerator::dump(Composer\Config $config, Composer\Repository\Inst
alledRepositoryInterface $localRepo, Composer\Package\PackageInterface $mainPackage, Composer\Installer\InstallationMa
nager $installationManager, $targetDir, $scanPsrPackages = false, $suffix = NULL) should be compatible with Composer\A
utoload\AutoloadGenerator::dump(Composer\Config $config, Composer\Repository\InstalledRepositoryInterface $localRepo,
Composer\Package\RootPackageInterface $rootPackage, Composer\Installer\InstallationManager $installationManager, $targ
etDir, $scanPsrPackages = false, $suffix = '')
A recent change in composer 2.0.7 made our autoloader incompatible with the new AutoloadGenerator signature. Try to downgrading to composer 2.0.6 by using composer self-update 2.0.6.
...vagrant-hostsupdater/HostsUpdater.rb:126:in ``digest': no implicit conversion of nil into String (TypeError)
You might be running an unsupported version of Vagrant. At the time of writing, VVV works with Vagrant 2.2.7. Please check VVV's requirements.
install-wp-tests.sh errormysqladmin: CREATE DATABASE failed; error: 'Access denied for user 'wp'@'localhost' to database 'wordpress-one-tests''
To fix:
sudo mysql.GRANT ALL PRIVILEGES ON * . * TO 'wp'@'localhost';. Exit by typing exit;.install-wp-tests.sh script again. Store owner can complete onboarding wizard › can complete the product types section
TimeoutError: waiting for function failed: timeout 30000ms exceeded
1 | export const waitForElementCount = function ( page, domSelector, count ) {
> 2 | return page.waitForFunction(
| ^
3 | ( domSelector, count ) => {
4 | return document.querySelectorAll( domSelector ).length === count;
5 | },
Timeouts or 404 errors in the e2e tests signal that the existing build might be broken. Run npm install && npm run clean && npm run build to generate a fresh build. It should also be noted that some of our npm scripts also remove the current build, so it's a good practice to always run a build before running e2e tests.
Thu Dec 3 11:55:56 +08 2020 - Docker container is still being built
Thu Dec 3 11:56:06 +08 2020 - Docker container is still being built
Thu Dec 3 11:56:16 +08 2020 - Docker container is still being built
Thu Dec 3 11:56:26 +08 2020 - Docker container couldn't be built
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @woocommerce/[email protected] test:e2e: `bash ./bin/wait-for-build.sh && ./bin/e2e-test-integration.js`
npm ERR! Exit status 1
Ensure that Docker is running. While the script says Docker container is still being built, it is not actually responsible for running Docker; it's just waiting for an existing docker instance to respond. Run npm run docker:up if it's not.
Add this to wp-config.php:
define( 'WCPAY_DEV_MODE', true );
Also see this document.
To get the install timestamp (used in wc_admin_active_for() in NoteTraits for example) try this SQL:
SELECT * FROM wp_options WHERE option_name = 'woocommerce_admin_install_timestamp'
Delete the woocommerce_onboarding_profile option:
DELETE FROM wp_options WHERE option_name = 'woocommerce_onboarding_profile'
localStorage.setItem( 'debug', 'wc-admin:tracks' );
and set Chrome's log level "verbose" to checked.
vagrant ssh)cd /srv/www/<WP_INSTANCE>/public_html/wp-content/plugins/woocommerce-adminbin/install-wp-tests.sh wc-admin-tests root root./vendor/bin/phpunit --group fast./vendor/bin/phpunitYou might need to composer install if phpunit doesn't exist.