[00:04:44] @blankeclair lol your ConfirmEdit patch commented on https://phabricator.wikimedia.org/T13532 [00:04:52] yeahhhhhhhhhhhhhhhhh [00:04:53] oopsie [00:05:29] can you go remove the tag added? i don't wanna get up from my chair [00:06:00] https://phabricator.wikimedia.org/T13532#11685019 [00:06:07] thx [00:06:24] No problem. Whoops lol. I didnt think it would do that. [00:06:42] me neither lol [00:07:13] it's weird to think how many Miraheze users are younger than this task [00:07:40] yeouch [00:07:43] you're making me feel old [00:10:48] :3 embrace the oldness claire [00:12:58] I'm like 2 months older than this task LMAO [00:18:07] https://phabricator.wikimedia.org/T2001 and if you thought that task was old... [00:20:20] Wow, I like how it's age shows in the wording of the task too lol [00:24:07] "Deh suck" just screams old internet [00:28:32] we have volunteers older than this task, times a lot [00:29:03] This one is old enough to drink [00:34:54] so is this one [00:35:13] would be funny if we can make a "which task are you?" quiz [02:18:44] Since Cargo has `$wgCargoStoreUseTemplateArgsFallback` I'll probably add an argument to imitate that behavior. Unfortunately there may not be an implementation that is performant, concise, and warning-free. [05:59:10] [1/3] Join done. Looks like a left outer join. [05:59:10] [2/3] Group by is up next. [05:59:10] [3/3] https://cdn.discordapp.com/attachments/1006789349498699827/1480082429099376751/image.png?ex=69ae61ad&is=69ad102d&hm=c7ab503270ee77818cc5300d0075a28478987f7c9e80a6d8122ed6d6370de641& [10:38:39] I have an OAuth client needs to be approved for SSO sign in [10:39:25] ID is `1bcb4bb77852c7d8440237f7bf7ef640` [11:10:40] [1/2] Now we have group by, group_concat (to some extent), and some flexibility in formatting repeated values. I could add more features but at some point we just shrug and say "do it in another lua module". [11:10:41] [2/2] https://cdn.discordapp.com/attachments/1006789349498699827/1480160822016741517/image.png?ex=69aeaab0&is=69ad5930&hm=ba1c64b2a3cbe987111d4211ff91076bcdb0c2c2c7222f2f79c5eae89c3ce7a8& [11:11:06] Still need the documentation once the interface stabilizes. Not looking forward to it but docs are essentail. [12:39:15] [1/14] glad I have someone doing this who's actually used Cargo extensively lol [12:39:15] [2/14] Do you think it would be worth it to add a date type to Bucket/put's validation? so far we have repeated fields to mimic the behaviour of LIST OF, and for the following parameters we have: [12:39:15] [3/14] Page, File: PAGE [12:39:16] [4/14] Could maybe be worth adding a flag that allows you to check if these exist [12:39:16] [5/14] Searchtext: ?, probably unnecessary [12:39:16] [6/14] String, Text, Wikitext string, Wikitext, URL, Email: TEXT [12:39:16] [7/14] From what I'm reading Text is just String with `"index": false`. Text vs wikitext doesn't really matter since you can just choose whether or not to parse them using Lua. [12:39:17] [8/14] URL and Email are fairly obviously right or wrong [12:39:17] [9/14] Integer: INTEGER [12:39:17] [10/14] Float: DOUBLE [12:39:18] [11/14] Boolean: BOOLEAN [12:39:18] [12/14] Coordinates: ? [12:39:19] [13/14] Rating: probably INTEGER [12:39:19] [14/14] That leaves Date, Start date, End date, Datetime, Start datetime, and End datetime. These can probably all become one single datetime type that actually gets converted to TEXT [14:27:56] I can look later [14:28:06] I'm confusing an Italian bistro by being English [14:28:41] Good job [14:29:00] I don't think this place is used to having English guests [14:29:29] It's busy though [14:29:33] So hopefully it's nice [15:06:08] [1/5] ``` [15:06:08] [2/5] = mw.language.getContentLanguage():formatDate("c", "2021-02-04T12:00+09") [15:06:08] [3/5] 2021-02-04T03:00:00+00:00 [15:06:09] [4/5] ``` [15:06:09] [5/5] I think this is sufficient for date validation? [15:48:35] [1/2] Actually `tonumber(...:formatDate("U", ...))` might be better since that way you can use it in a condition? (although actually doesn't `c` format work with a normal string comparison? `c` format kinda destroys the readability of the bucket table though) [15:48:36] [2/2] I don't know what's the best option here. maybe I should just deliberately not touch dates lol [16:51:23] actually I could do both [21:07:37] TBH I [21:09:19] I don't think Cargo's a good example lol. Anyway validation is optional [21:09:19] But it probably doesn't hurt if we add these and the user can choose to validate their input. Datetime is weird though since there are many formats out there and are all stored as text by bucket, so they're sort of all valid. [21:11:09] Cargo isn’t the bar it’s the planks in the ground [21:13:58] [1/2] I actually really want text searching. It won't go into Bucket because Cook doesn't like the performance impact, but we can do it on the Lua side after a Bucket query is done. I had plans to write something like a `filter` which is run separately from `where` and supports more operators. I might just do that. [21:13:59] [2/2] With that said, we already have a black box tokenizer/parser for `where` which parses stuff like `A = "Test" AND (B > 10 OR C != 20)` written by an LLM. If we do add text search we'll be introducing more poorly understood LLM-written code. Maybe I'll just bite the bullet and learn how to properly write a parser. [21:56:23] There's probably some rule of the internet somewhere which is like "if you don't implement something for performance reasons, then it's going to be implemented with even worse performance" [21:56:50] it would definitely be faster to do text searching in PHP rather than Lua [22:03:11] TBH I don't yet have a use case that requires regex/text search but I wouldn't be surprised if someone wants to match a page title by prefix/regex or something of that nature. [22:05:30] at a certain point you kinda need to say "just use Lua" [22:06:03] agree [22:06:16] also, imagine implementing regex in lua [22:07:40] Claire... I have bad news... [22:08:04] how many files? [22:08:07] (Lua supports basic pattern matching out of the box) [22:08:15] patterns exist, yes, but i want regexes [22:08:24] pcre for extra cursed [22:08:31] i have a base64 encoder on-wiki lmao [22:10:30] fun fact: regexes don't exist in Lua because the average regex engine is more lines of code than the entirety of the Lua interpreter [22:10:43] yeah, but i wanna see someone do it [22:10:50] especially if you could fit it on wiki and have it function [22:11:14] we actually have a couple of regexes on-wiki, but through the use of externaldata [22:11:25] https://rainverse.wiki/module:speciallyCursed/AutoPageCreator/Comicfury