Last was equally spent on bugfixing phpMyAdmin and improving our Docker container.
From the bugfixing phpMyAdmin, I've spent great time with HHVM. It all started with bug report that phpMyAdmin is not working with HHVM 3.18. I've quickly fixed reported errors and wanted to add HHVM to our test matrix on Travis CI. This was not that easy as expected due to need to upgrade Travis image to Trusty. Once I did that, the build no longer worker reliably as MySQL server was sometimes not started. This showed to be known Travis bug, which can be workarounded by not using their container based infrastructure.
Once I had everything building and testing, I've noticed that the complete test takes incredibly long on recent HHVM versions (3 minutes with HHVM 3.3, 12 minutes with HHVM 3.12 and 7 minutes with HHVM 3.18). After digging a bit deeper (and adding listing of 10 slowest testcases) I've been able to produce testcase and report issue to HHVM. So if you're using phpMyAdmin with recent HHVM and it's slow, this might be the cause.
Last but not least, our Docker container got several performance tweaks, mostly tweaking PHP's opcache settings.
Handled issues:
- #13047 Simulate query not working on second (and later) server on the list
- #13048 flexible table
- #13028 Include 100% font size in the selection
- #13039 Fix #13028 Include 100% font size in the selection
- #13035 phpyMyAdmin's styling changes every time I export an object
- #13040 phpmyadmin 4.6.4 doesn't work under HHVM 3.18
- #13041 Test against multiple HHVM versions
- #13045 Missing escaping
- #13030 Error with: on the spot editing (double clicking) of the database
- #13005 Fix #12979: Fixed column alignment on foreign keys table.
- #12987 Typographical quotes
- #12967 Insert: Browse foreign values is showing nothing although data and foreign relations are set-up
- #13021 phpMyAdmin warnings not shown with error_reporting = 0
- #13031 "display all" results in Warning
- #13033 Unrecognized Content-Security-Policy directive 'referrer'
- #12006 Templating getRadioFields() and getDropdown() in libraries/Util.php
- #12937 templating getRadioFields(), getDropDown() in Util.php
- #106 PHP MySQL library version 10.1.21-MariaDB differs from your MySQL server version 5.6.xx
- #98 Opcache optimizations to test
- #65 missing restrictions of opcache functions usage via opcache.restrict_api/disable_functions in php.ini used by docker
- #55 disable allow_url_fopen