[00:58:07] [1/3] I am now convinced that miracles and magic are real. There is no way xdebug worked. [00:58:07] [2/3] I'll probably try to figure out what's going on with DPL4 first because otherwise Blue Archive Wiki will explode following the 1.44 update. [00:58:07] [3/3] https://cdn.discordapp.com/attachments/1006789349498699827/1411515359835717673/image.png?ex=68b4ef9e&is=68b39e1e&hm=c535241b1ac14f81fc7cae37c5b1affe0d2b54ff4b16e2c7a90ae8f768f88632& [02:19:27] this is wiki land [08:59:15] [1/2] YES! Looks like bucket is working normally. Insertions, deletions, and replacements are all doing fine. Idk why I got the previous issue. The only thing I had to change was `$dbw->addIdentifierQuotes`. [08:59:15] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1411636441515167784/image.png?ex=68b56062&is=68b40ee2&hm=39e0b591dc73a78027cd26cad28829f40321d0ba7eb8371998ec9f75acb7f35c& [09:00:40] Btw I DMed CA what I think is the issue for DPL4. Idk how easy it is to fix, though. I talked to the bureaucrat at Blue Archive Wiki and he said he can just migrate from DPL3/4 to Cargo if the bug persists. [09:03:24] Out of curiosity, has anyone migrated the Medik skin to MW1.44? [09:05:42] I can give it a try now [09:06:59] Was tinkering about with it but I had zero knowledge of PHP lmao. I think...? it just needed to import the MediaWiki HTML, Linker + etc classes [09:08:06] It definitely doesn't work on 1.44... And two of our biggest wikis (avid and VLW) use it by default. Not good. [09:11:46] [1/8] i got Medik off the error page by adding [09:11:46] [2/8] ```php [09:11:46] [3/8] use MediaWiki\Html\TemplateParser; [09:11:47] [4/8] use MediaWiki\Html\Html; [09:11:47] [5/8] use MediaWiki\linker\Linker; [09:11:47] [6/8] ``` [09:11:47] [7/8] to MedikTemplate.php [09:11:48] [8/8] https://cdn.discordapp.com/attachments/1006789349498699827/1411639591454376007/image.png?ex=68b56351&is=68b411d1&hm=86edb39019250b0cbfd4066e4db43a6c28b2c50c8f262744f53a3b0508660b22& [09:12:00] this was a fresh install of MW1.44 on Docker [09:14:30] [1/8] There is already a fix for `TemplateParser` on [09:14:31] [2/8] ``` [09:14:31] [3/8] if ( version_compare( MW_VERSION, '1.40', '>=' ) ) { [09:14:31] [4/8] $templateParser = new MediaWiki\Html\TemplateParser( DIR . '/../templates' ); [09:14:32] [5/8] } else { [09:14:32] [6/8] $templateParser = new TemplateParser( DIR . '/../templates' ); [09:14:32] [7/8] } [09:14:33] [8/8] ``` [09:14:43] Whoever submitted the patch for it did not fix all the problem and just left out HTML and Linker. [09:14:55] This one https://bitbucket.org/wikiskripta/medik/commits/7d7bc6d48c9720ee103b55fe67c4b107ea647c72 [09:15:56] OH! so this fix was recent [09:18:14] They only have a master branch though, so to maintain backward compatibility they may want to use this hack for HTML and Linker as well. @abaddriverlol or @pskyechology probably know how to best deal with this since they have done LOTS of patches for 1.44 compatibility. [09:23:38] [1/6] Back to Extension:Bucket. I get a database error when I try to make a `repeated` field, which is to be expected due to the feature diaprity between mariadb and mysql. I wonder why multi-value fields need to be indexed, though. If this requirement is dropped we could just make multi-value fields always not indexed? [09:23:38] [2/6] ``` [09:23:38] [3/6] Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(CAST(`cursed` AS CHAR(512) ARRAY)))' at line 1 [09:23:39] [4/6] Function: Wikimedia\Rdbms\Database::query [09:23:39] [5/6] Query: ALTER TABLE `bucket__student` DROP INDEX `cursed`, DROP `cursed`, ADD `cursed` JSON COMMENT '{\"type\":\"TEXT\",\"index\":true,\"repeated\":true}', ADD INDEX `cursed`((CAST(`cursed` AS CHAR(512) ARRAY))); [09:23:39] [6/6] ``` [09:28:36] [1/2] Indexing everything by default sounds pretty silly in the first place IMO. I think the biggest bucket on Runescape Wiki has 30,000 rows. Suppose each row is 500 bytes (which is a lot), having all of that resident in memory is 15MB. At this point indexing may make sense, otherwise a linear scan/making everything resident in memory would be pretty ine [09:28:36] [2/2] xpensive. [13:33:37] [1/20] looking deeper into this, I managed to resolve the version differences by doing this: [13:33:37] [2/20] ```php [13:33:37] [3/20] protected function resolveMwVersion() { [13:33:38] [4/20] if ( version_compare( MW_VERSION, '1.40', '>=' ) ) { [13:33:38] [5/20] $this->templateParserClass = 'MediaWiki\Html\TemplateParser'; [13:33:38] [6/20] $this->htmlClass = 'MediaWiki\Html\Html'; [13:33:39] [7/20] $this->linkerClass = 'MediaWiki\linker\Linker'; [13:33:39] [8/20] } else { [13:33:39] [9/20] $this->templateParserClass = 'TemplateParser'; [13:33:40] [10/20] $this->htmlClass = 'Html'; [13:33:40] [11/20] $this->linkerClass = 'Linker'; [13:33:41] [12/20] } [13:33:41] [13/20] } [13:33:42] [14/20] ``` [13:33:42] [15/20] Then calling on the class/function name strings when needed: [13:33:43] [16/20] ```php [13:33:43] [17/20] $templateParser = new $this->templateParserClass( DIR . '/../templates' ); [13:33:44] [18/20] ... [13:33:44] [19/20] $html .= $this->htmlClass::closeElement( 'form' ); [13:33:45] [20/20] ``` [14:31:07] [1/2] I'd recommend disabling this setting in case you haven't yet, if you want to keep debugging on all the time while only pausing the execution if a breakpoint is hit [14:31:07] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1411719958500741140/image.png?ex=68b5ae2a&is=68b45caa&hm=bebba625145ad1a2a9ec275f79a3e9f436f23a3e4a7d8b20b30bd7d06c9fa51a& [23:24:06] Yeah I disabled it after getting breakpoints working.