01:39:07 Unstable branch on crawl.develz.org updated to: 0.26-a0-52-gd53d4cd058 (34) 03:30:43 Fork (bcadrencrawl) on crawl.kelbi.org updated to: 0.22.1-2777-ge649c80b0b 06:35:49 -!- amalloy is now known as amalloy_ 08:36:03 pblur (L10 BaSu) Crash caused by signal #6: Aborted (Lair:1) 09:49:38 AC prediction in item description does not account for Ozo's Armour 13https://crawl.develz.org/mantis/view.php?id=12276 by vt 10:02:22 I wonder if we tagged something with e.g. "0.25.0-pre1", (a) would it attempt to do the release builds, and (b) would anything horribly break in our infrastructure (would versions get messed up etc) 10:45:12 -!- Tiobot is now known as Guest77305 11:32:46 tourney team, any tips on `ValueError: Cannot specify ',' with 's'.`? 11:33:00 I think it's a result of https://github.com/crawl/dcss_tourney/commit/af970df3a3162182031c5e8a625e54cec1346614#diff-0e89ac8b75f48407c5296d6ddab2f225 ? 11:33:17 the exception is on `val = '{:,}'.format(val)` 11:33:30 where it seems that somehow val is a string 11:34:07 possibly by tourney_team I mean alexjurkiewicz :-P 11:35:07 I guess I'm not actually seeing a cast ever happening, even though _is_numeric_table_value will return true if casting to float is possible 11:38:15 indeed, if I change this line to `val = '{:,}'.format(isinstance(val, str) and int(val) or val)` there is no crash, but maybe I won't commit that since I'm not 100% sure what cases are supposed to be covered here given that the check uses float() 12:11:23 oh 12:11:57 alexjurkiewicz: I think that above error may have been triggered by a player name that was entirely numeric (in the data set I am using, which is 0.24 tourney data, there is a player named "1492") 12:13:51 treating that cell as numeric seems to mess up other things about that player 14:07:32 -!- behalebabo_ is now known as behalebabo 14:34:27 in whereis_table, `src CHAR(3),`, how has this 9 year old line ever worked? 'cbro' is 4 chars 14:34:57 is it possible that some mysql versions / connectors wouldn't error on trying to insert something too long? 14:39:09 in some places src is a VARCHAR(10), maybe it should be that everywhere 14:51:35 is 128K a large size for an html file 14:51:38 ? 14:51:50 I have no perspective on this 14:54:11 doesn't seem too outlandish to have a 128k html file 14:56:07 It's kind of big unless that's including a lot of inline CSS or JS 14:57:18 For comparison, there are two HTML files in the NYT home page, one ~2k and the other 168k with a bunch of inline CSS and JS. 14:57:25 mysql shouldn't let you put values that are too long for a table, maybe there's some weird shenanigans going on with different character encoding sizes? 14:57:29 Ant it loads pretty snappily. 14:57:33 *for a field 14:58:31 what this is is search implemented in javascript, so it's big because it has every player / clan name in it. Though now that I think about it, it's still a fraction of all-players 14:59:45 I guess could make it smaller if I generated the links in js instead of during static generation, maybe not worth it 15:00:49 tourney team check out my sweet commit: https://github.com/crawl/dcss_tourney/commit/e9b1b151bcadf707fb2787d26c0d32ae3beb7ddb 15:00:51 150k for a mostly JS file sounds a lot less alarming. The actual download time of 150k is pretty fast these days. 15:01:13 yeah, given that all-players is nearly 600k just on testing data, I'm going to set aside this worry for the moment 15:01:18 The problem is if you actually have a 150k DOM, the browser will be horribly ineffiicent. 15:01:33 Sure 15:01:41 well, it is in html 15:02:00 advil: iirc I truncated the server names to 3 chars before populating that table 15:02:06 better to have something slow than no search (though it wasn't noticeably slow in testing) 15:02:13 ah, I wonder if the truncation got lost somewhere 15:02:34 elliptic do you know if it was necessary that that be fixed width for some reason? 15:02:51 Right, but JS data in the HTML isn't a DOM element; it doesn't interact with any of the layout engine stuff. So it can be 150k+ without making the browser drag. 15:03:25 alexjurkiewicz uh I don't know how to use your fancy 2010s formatting stuff so you may want to apply bootstrap somehow to that commit? 15:03:31 the data is just a giant ul 15:04:02 could do it as js though if that ends up being necessary 15:04:06 Ah. Yeah, if it ends up being an issue, that would probably be better. 15:08:00 oh I see gammafunk disabled cbro on CDO, so presumably ran into the same error 15:08:24 advil: I don't think so, my vague recollection is that I actually populated that table by taking the first three characters of the filename for the milestone/logfile at a time when CAO and CDO were the only servers 15:09:32 ah, that makes sense historically 15:09:32 and then when other servers with 4-letter abbreviations arrived, it was simplest just to special-case adding the 'o' at the end for display purposes 15:09:39 nice 15:09:42 how are you determining src now? 15:10:13 was it added as a milestone/logfile field? since I'm pretty sure it at least used to be a derived sequell field, not something in the actual files 15:10:29 there's a tuple of things like `LogSpec('cbro', 'milestones/cbro-milestones-0.25', CBRO + 'meta/0.25/milestones'),` 15:10:33 yeah, still derived I believe 15:10:42 but it's set rather than calculated from anything 15:11:40 ah, yeah, that sounds like something someone else must have written when cleaning up the config situation 15:13:34 (btw great work everyone on the new tourney scripts! I haven't had time to look at any of the code but from what I hear it sounds like many improvements to the internals have been made along with setting up the new rules/pages etc) 15:14:12 yeah, alexjurkiewicz and ebering have done a ton of work on them 15:14:29 I've been slacking until now 15:15:03 this search thing is something I've wanted to figure out since forever though 15:17:05 ok, I changed the type for src 15:17:22 hopefully there's not still some truncation hiding somewhere 15:21:57 btw, I'm poking at the test pages now and https://crawl.develz.org/tournament/0.25/all-players-ranks.html isn't very easy to look at on my computer because I can't see most of the columns without going all the way down to the bottom of the page to access the horizontal scroller 15:22:12 yeah, it needs some work 15:22:33 alexjurkiewicz and I discussed that a bit but didn't yet come up with a clear solution 15:22:39 too much info 15:26:04 yeah, possibly there just shouldn't be so much info on that page 15:26:23 hm, either I'm doing something wrong or the tourney scripts run *really* slowly on cdo 15:28:14 it's sort of acting like it's hitting db locks, but I don't think there's another process running? 15:35:14 so yeah, 10 minutes for 3k lines at <5%cpu the whole time suggests *something* is weird with the db connection 15:37:08 the db is also not particularly using cpu 15:44:35 alright, new search page is live at https://crawl.develz.org/tournament/0.25/search.html 15:57:41 oh, someone still needs to fix 'winning' 15:57:49 I tried to do it the other day and largely failed 15:58:35 it doesn't have a bunch of the columns in its namedtuple def because it is set directly rather than pulled from another table (I think) 16:01:56 we should add back in some version of the 0.24 conduct text to the rules page 18:13:39 -!- jfcaron_ is now known as jfcaron 18:54:27 lol, also all my effort on search is automatically done by a one line DataTables call 18:59:27 advil: interesting, re: those scoring files being always created. If I understand you correctly, other files should just be creatig them as well, and perhaps they're just not served by apache (or are being save in some weird location)? 19:00:11 I wouldn't necessarily expect them to generally be created in the same directory as logfiles, other scoring files aren't there for cbro unless I missed something 19:00:50 also I couldn't get them to be created locally (though I didn't try very hard) so maybe there is some other condition on their creation? 19:07:14 advil: what needs to be fixed for "winning" 19:12:31 well, it doesn't render 19:12:35 fails this check: https://github.com/crawl/dcss_tourney/blob/new-scoring/templates/category.mako#L39 19:13:15 adding a category.source_table value is not the answer, but I wasn't able to get my head around category leaders enough to understand what is the answer (https://github.com/crawl/dcss_tourney/blob/new-scoring/scoring_data.py#L55) 19:13:45 I think it's simpler because it is set directly in a column on players 19:14:07 but that code is assuming some uniformity on how categories are set up that winning doesn't obey 19:14:33 Yeah, Winning is special cased, and imo shouldn't have a leader board 19:14:39 just be included in points displays 19:14:50 well, it needs something so that it shows up in the category lists 19:15:10 right now it shows "Full ranking not available.", and (iirc) doesn't appear at all on player pages 19:15:28 oh it does show up on player pages 19:15:29 it shows up on player pages 19:15:52 annd in the all players list 19:16:07 and in the clans list 19:17:23 well, if it intentionally doesn't have a leaderboard that's fine (though maybe unexpected since it is the only one), but it still needs something for the overview 19:24:56 -!- The topic of ##crawl-dev is: Crawl Development | Logs: http://s-z.org/crawl-dev/ | People with +v have commit access. | Please keep general Crawl-related chat to ##crawl. | Dev wiki: http://crawl.develz.org/wiki | Long stuff to a pastebin service, please. 19:25:09 -!- The topic of ##crawl is: Play Dungeon Crawl Stone Soup online now! Type ??servers for instructions. | http://crawl.develz.org | FooTV: http://termcast.develz.org - ??footv for instructions | See also ##crawl-offtopic 19:54:05 advil: thanks for the `val = '{:,}'.format(val)` report for a user name. Dang. The whole table formatting doesn't understand the data types it's working on, so this is a little hard to solve. Properly 19:54:25 +advil | is it possible that some mysql versions / connectors wouldn't error on trying to insert something too long? <-- correct it will silently truncate 19:54:37 alexjurkiewicz have you used DataTables before? 19:54:50 it provides a bunch of stuff that will help with all-player-ranks I think 19:56:17 about CDO being slow to read data, I suggest checking iowait% CPU time. I expect it will be very high 19:57:31 advil: no i haven't. It sounds interesting 19:58:05 it seems like we need to represent the table in a sqlalchemy compatible way to use it though? 19:58:28 nah, only minimal changes to get a lot of features (like sorting by column) 19:58:56 though what I've done is kind of hacky (and I did need one ugly css workaround for table-dark) 19:59:34 getting it to do *something* really was about as simple as https://datatables.net/examples/basic_init/zero_configuration.html plus giving the table an id 20:00:05 the features I'd like for HTML table generation now: able to pass in the data type of columns (or a formatter function), so we can convert from raw DB data to pretty data (eg links to player pages, conversion of secs to h:m:s, apply table cell formatting classes), sorting columns (click to asc/desc/original), filtering (type text into search box and only show rows with matching data) 20:00:30 DataTables gets the last two pretty automaticaly 20:00:46 I'm still tweaking this but I can commit something 20:01:45 that sounds great 20:03:25 advil: for the search functionality, did you consider writing the data as a JSON/JS file which can be loaded by any page? 20:03:44 I considered no complex or sophisticated things 20:04:01 the automatic search thing for datatables may obsolete that whole search page tbh 20:04:15 (though it still has the virtue of being simple I guess) 20:05:01 what I did there could be loaded by any page with a different css wrapper and a default hidden though 20:05:43 we just have to be willing to stick a 130k hidden ul in every page 20:06:15 I am guilty of several ugly hacks in my quest to get the frontend working 20:07:38 fwiw, the bootstrap docs are fantastic https://getbootstrap.com/docs/4.5/layout/overview/ 20:08:04 I have to admit I haven't even tried to figure out what it does, let alone how to use it :-P 20:08:08 i'll not have much time to work on this until monday, it's a long weekend here. I'll keep an eye on the commits and see what I can do 20:08:39 alexjurkiewicz: you implemented the listing of past nemelex choices (not just the current one), right? 20:08:58 the thing that lists them in order with number of wins and crossed out if they've reached 8 20:09:38 oh btw if anyone else wants an archive of the current cdo rc files for testing, let me know 20:09:59 oh yeah, that's maybe a better idea than giving people the wget statements 20:10:14 advil: it only took like...years...but looks like CXC discord finally banned MR 20:10:20 oh wow 20:10:42 I looked at the README on how to set those up and it was talking about cron so I just noped out and scp'd a tarbell 20:10:59 heh, yeah 20:11:25 you can find the crontab under the crawl login if you want; I've been enabling it in parts as servers come online 20:11:43 which I think only CDO is missing now, although CUE still has an issue with logfile/milesteons files not being public 20:12:24 and napkin has said he'll set up 0.25 on cdo eventually 20:28:56 alexjurkiewicz can you recommend a pattern for setting ready function for specific pages? i.e. where should one do that? 20:29:01 I can do it for every page in script.js, and presumably can start conditioning on page title there, but that seems wrong 20:39:22 alexjurkiewicz: the category simplification is really cool but I think you might have cut too far 20:39:57 several categories really want a significant ammount of custom display 22:44:03 -!- amalloy_ is now known as amalloy 23:00:10 gammafunk: i copied the old nemelex display code 23:00:19 ok 23:00:25 so it should have that implementation 23:00:34 ebering: I'm 100% for re-adding those categories. I just didn't want to have to maintain a dedicated template for each cateogyr page 23:00:42 but the reason why I didn't copy it is because I figured there'd be some bootstrap gadget more appropriate to use 23:01:02 ebering: if you can expose the data as a column in the source table, it can be added easily 23:01:03 what I read focused on fixed numbers of columns 23:01:25 ebering: see the full_ranking_extra_columns property of Category named tuple 23:02:23 gammafunk: yeah. Definitely there's a better approach. I guess the first question is how do we want to lay out the data? Horizontally or vertically? And then thinking about alignment of data in each sub-item. From that we can pick an appropriate data type 23:03:01 gammafunk: I think a list group might be appropriate https://getbootstrap.com/docs/4.5/components/list-group/ 23:03:20 you can use contextual classes to mark latest, active and completed combos 23:04:23 ebering: also, I know some of these columns need custom display logic. Like for the banner category. That's something I'll try to work on this week (passing column data type / transformation logic to the html.table functions) 23:06:30 alexjurkiewicz: thanks, I'll take a look at that 23:11:33 using a badge to show wins could work well 23:11:58 or the final list group example with custom aligned content using d-flex and w-xx classes 23:12:11 actually, bit complex that for what should be a relatively simple display 23:18:14 heh just realised advil reimplemented this for the search apge 23:21:56 haha once again in the dumbest way possible 23:23:24 hi alex 23:31:17 -!- Quipyowert1 is now known as Quipyowert