01:07:18 03gammafunk02 07* 0.25-a0-614-g73ad250: A player ghost level for Ziggurats 10(11 hours ago, 1 file, 10+ 12-) 13https://github.com/crawl/crawl/commit/73ad2506374c 01:12:13 👻👌 01:17:44 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-614-g73ad250637 (34) 02:27:50 -!- oberste1n is now known as oberstein 03:11:59 Unstable branch on crawl.beRotato.org updated to: 0.25-a0-614-g73ad250 (34) 07:16:52 -!- Amnesiac_ is now known as Amnesiac 09:14:40 yessss ghost zig 10:36:07 aidanh I think the timeouts question got answered but on most servers afaik tornado is independent of apache 10:37:09 well that's not good 10:39:03 and yeah, the timeouts one was answered; i guess one possibility is to run any long-running action in via threadpool executor 10:39:20 if py2 supports that, that is 10:40:53 03Aidan Holm02 07* 0.25-a0-615-gcb3c808: Simplify admin announce code 10(6 minutes ago, 1 file, 3+ 15-) 13https://github.com/crawl/crawl/commit/cb3c808f77ea 10:48:10 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-615-gcb3c808f77 (34) 10:49:55 why isn't that good? 10:50:26 I think there are a lot of ways of handling specific things that could time out in tornado, even without asyncio 10:51:09 just needs some refactoring 10:52:20 there's even already a non-blocking implementation of check_output in the webtiles code, I noticed 10:52:38 apache/nginx is much better at serving static files, and tornado can only use a single core, although that's probably less relevant to crawl 10:53:33 also not relevant to newer versions of tornado, but that whole idle_http_timeout mess is easily avoided by using a reverse proxy 10:53:42 aidanh re the simplification check, I decided not to do it the way you did it because that requires every admin call (even though there are only one right now) to correctly do an admin check, it seemed more error prone 10:54:42 i would strongly prefer it with explicit checks, because it a) makes the code simple and obvious, and b) completely eliminates the possibility of the state ever getting out of sync 10:54:44 also, in the old way it generated warnings if someone's trying to fake it 10:55:38 ah, that's a fair point, didn't notice that 10:55:59 how would state get out of sync? 10:56:21 bugs 10:56:44 I think both worries are about bugs ;-) 10:56:48 which is not to say that the old way is buggy, but that class is big and complicated, and has lots of member variables 10:57:45 it's possible that the admin code shouldn't be part of client.html at all 10:58:09 well, for example, with the separate admin handlers table, if someone is given temporary access for a day but doesn't log out, they'll keep it indefinitely 10:58:59 if you add another way to log in / log out, (e.g. via password forget/reset) you need to remember to adjust the handlers 11:00:08 the first one is true with the changes as well, and any login code should be calling do_login 11:00:16 an explicit check on the function is basically like an @admin_required decorator, but just without the decorator; if it's not there, it's public 11:01:06 doing it with a decorator would be better 11:01:38 advil: reporting on my old bug, dex doesn't increase when you open inventory while you have the Agi status from powered by pain 11:01:54 true, access would be kept indefinitely, but now that's based on the caching behaviour of is_admin(), not the caching behaviour of the handler tables *and* is_admin() 11:02:01 basically my concern was, which way is more likely in the long term to accidentally expose an admin function to a non-admin user, and I judged that my original implementation was less likely, rather than the more obvious one 11:03:27 Tuxedo[Qyou] ok, it's probably a change following from the change to the potion then; not sure if that's intentional 11:04:25 totally reasonable concern 11:04:29 aidanh probably my preference in the long run is that all this code is partitioned anyways, but it was a *lot* quicker to implement it as part of client.html 11:05:55 agreed; i've done some basic admin interfaces as separate pages, but merging will need alexjurkiewicz's patch to prevent clobbering user templates, and all the servers will need their install script updated 11:06:46 yeah, I didn't realize that new templates wouldn't be automatically installed 11:07:29 presumably if they're not updated the admin pages will just 500, so it can be gradually rolled out 11:08:33 unfortunately, everything 500'd 11:08:50 well, I guess that was because I tried to include it 11:09:03 so yeah, if no existing template refers to it it's probably fine 11:10:50 right 11:11:32 was there any reason not to allow players to download their own saves? 11:11:42 cheating 11:11:51 ah, right 11:11:54 :-) 11:16:19 if possible I'd like to thin out some of that websocket gunk to separate pages as well, e.g. user rc / account details editing 11:16:33 woah, we have our own websocket ping pong code 11:17:20 i guess websocket_ping_interval / websocket_ping_timeout were added in tornado 4.5 11:20:16 03advil02 07* 0.25-a0-616-g382eb01: Do admin check with a decorator 10(49 seconds ago, 1 file, 11+ 2-) 13https://github.com/crawl/crawl/commit/382eb0162907 11:32:44 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-616-g382eb01629 (34) 12:23:53 Stable (0.23) branch on underhound.eu updated to: 0.23.1-93-ge536e68a2c 13:06:51 Unstable branch on crawl.akrasiac.org updated to: 0.25-a0-616-g382eb01 (34) 14:02:41 -!- amalloy is now known as amalloy_ 14:30:38 gorper (L13 VpGl) ERROR in 'tags.cc' at line 4559: Invalid item: (quantity: 0) gold piece (Orc:1) 15:11:47 https://www.reddit.com/r/dcss/comments/fk97na/my_8_year_old_twins_watch_me_play_sometimes_maybe/ 15:22:21 very cute 15:22:26 finally, a good reddit post 15:22:43 ...makes me wonder how old a version they're playing though 15:24:45 -!- Tiobot is now known as Guest4084 15:41:53 Tuxedo[Qyou]: pretty sure that the issue with dex recolouring unnecessarily under agility has been fixed for a good while (as of 38680ca743e), are you playing an up-to-date build? can you report a bug with a log/save file if it's still occuring? 15:42:53 i'm playing on trunk 15:45:32 advil: about missing template breaking things -- in the template language you can do something like "if admin.html template exists, include it" to gracefully fall back in this situation 15:45:38 a mantis bug report with a save would be very helpful then, i can't repro it locally 15:46:30 kate- just to dbl check, did you check webtiles? i.e. the status light code in js doesn't automatically follow from c++ side 15:46:45 ah! that's probably it yep 15:47:30 alexjurkiewicz yeah that's a good idea 15:47:41 what templating language even is that, though 15:48:13 ah I guess it is a tornado thing 15:48:15 til 15:49:28 the stuff in the .js is conveniently much harder to grep for by using the weird different wizmode name for agility i guess 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-617-g49b0ba0: webtiles: Add support for customised env vars 10(10 weeks ago, 3 files, 21+ 3-) 13https://github.com/crawl/crawl/commit/49b0ba08cc1d 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-618-g9ffe1e0: webtiles: Allow loading games via function 10(10 weeks ago, 3 files, 104+ 40-) 13https://github.com/crawl/crawl/commit/9ffe1e0fb390 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-619-gcb0a84e: webtiles: Add basic requirements.txt file 10(10 weeks ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/cb0a84e62287 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-620-g41eea3d: webtiles: Update README 10(10 weeks ago, 2 files, 57+ 49-) 13https://github.com/crawl/crawl/commit/41eea3d3a2e2 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-621-g9aeef00: webtiles: Allow dynamic reload of games config 10(10 weeks ago, 3 files, 57+ 37-) 13https://github.com/crawl/crawl/commit/9aeef00c2bdf 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-622-g37dbcf2: webtiles: Allow specifying -dir and CWD for games 10(10 weeks ago, 4 files, 19+ 1-) 13https://github.com/crawl/crawl/commit/37dbcf2ab515 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-623-g0b6dfb0: webtiles: Improve load_games documentation 10(10 weeks ago, 1 file, 20+ 10-) 13https://github.com/crawl/crawl/commit/0b6dfb0d175f 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-624-gca53081: webtiles: Allow editing blank rc files 10(9 weeks ago, 1 file, 7+ 2-) 13https://github.com/crawl/crawl/commit/ca5308197c21 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-625-g6895c8f: webtiles: Allow per-game milestone path config 10(9 weeks ago, 3 files, 34+ 7-) 13https://github.com/crawl/crawl/commit/6895c8f4b9df 15:50:38 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-626-gb1eece6: webtiles: Always show milestone column 10(9 weeks ago, 1 file, 0+ 4-) 13https://github.com/crawl/crawl/commit/b1eece6cbdf4 15:50:38 ... and 18 more commits 15:52:30 hmm, i guess webtiles also doesn't support highlighting for boosts that aren't from a DUR_SOMETHING, so qazlal shielding doesn't light up? 15:53:52 ah that's all separate, i see 15:54:00 it's all a bit brute force 15:55:47 advil: the template language is jinja2 15:56:14 you can "shell out" to pure python quite easily 15:56:15 {% set dotd = open('/tmp/death-of-the-day.txt', 'r').read().strip().replace('\n', '
') %} 15:56:17 {% raw dotd %}. 15:56:19 eg 15:57:47 looks like it's maybe a minimal jinja2-like language? 16:03:54 03kate-02 07* 0.25-a0-617-g20d90eb: Update some webtiles stat colouring 10(6 minutes ago, 1 file, 5+ 5-) 13https://github.com/crawl/crawl/commit/20d90ebb82ad 16:13:11 this is sort of reminding me of all the "game mapping" stuff for webtiles-changes I did 16:13:33 now I have to remember why...oh right, it was to generate server-side score listings 16:14:01 I got that working using a jsx-react interface, but it was live polling of the scores, so probably a bad idea 16:14:15 it was kind of a nightmare learning how to use the jsx-react stuff 16:18:22 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-617-g20d90ebb82 (34) 16:21:12 looks like I'll be using python3.5 and tornado5.1 fwiw 16:21:33 need an OS upgrade or python hackery to run something latest -- I'll wait for the chroot option 16:23:57 tornado6.0* 16:25:50 advil: any ideas about this creepy logging error? http://dpaste.com/12RMF5N 16:25:50 ah interesting 16:25:58 what's the exact problem? (with tornado 6) 16:26:16 you can't start a game 16:26:34 hm haven't seen that one 16:26:41 if i click a game to start it, I get bumped back to lobby, although i see a game entry in the lobby for me 16:27:08 I'm running python 7 locally so maybe something version specific? will look into it in a few minutes, I'm in the process of rearranging my home office 16:27:11 er 16:27:14 python 3.7 16:27:35 i'll try removing the logging config tweaks my branch makes 16:28:35 nope, didn't help 16:30:03 man this monitor I borrowed from my office is so wide that it's noticeable that my home desk isn't level 16:31:30 seems to be related to "self.logger = logging.LoggerAdapter(logger, {})" in process_handler.py somehow 16:33:04 replacing that with `self.logger = logging` works 16:38:31 i'll bbl. But seems to be running with this workaround for now 16:43:03 I'm not offhand sure why it would use a LoggerAdapter there 16:45:09 to prepend the pid, I think? 16:45:48 I didn't think that class did anything unless you subclassed it? 16:49:10 it also seems afaict like it must be a library bug if a LoggerAdapter instance crashes on calling `info` 16:49:30 what is your exact python version? 16:50:40 aha I bet it is this: https://bugs.python.org/issue31457 16:50:57 since that is a nested LoggerAdapter use (for some reason) 16:51:14 fixed in python 3.6 16:51:39 probably worth committing a workaround since this seems relatively unnecessary 16:53:36 !source process_handler.py 16:53:37 https://github.com/crawl/crawl/blob/master/crawl-ref/source/webserver/process_handler.py 16:54:51 haha I was just not seeing the `self.logger.process =` thing on the next line 16:57:10 alexjurkiewicz when you get a chance could you try changing line 28 to `unowned_process_logger = logging.getLogger()` 16:57:42 that one does seem unnecessary, and if it's nested LoggerAdapters that should fix it 17:22:20 advil: a str/bytes issue http://dpaste.com/1HR7PK2 17:22:36 i'll try your workaround now. how do i access the admin panel? 17:24:48 advil: your workaround doesn't seem to change anything 17:28:38 i'm going to upgrade to py3.8 17:31:14 alexjurkiewicz that line should be on line 700 of ws_handler.py, not line 733 17:31:30 in trunk at least 17:31:51 this is my branch 17:32:08 rebased on top of master 17:32:23 ah 17:32:34 is it possible that something in your branch is causing that bytes/str error? 17:32:39 it doesn't happen in py3.7 17:33:05 there could be some option that's leading to it 17:33:24 but self.message_queue is type annotated 17:33:44 maybe try checking mypy in your branch? 17:36:07 alrighty 17:36:35 having a whale of a time getting 3.8 running on this OS anyway... may be time to run in a docker container 17:44:05 advil: for this str/bytes issue, it seems like there is a message being added to the queue which is bytes type rather than string 17:44:42 that would do it 17:44:45 I'm tempted to add a workaround in append_message by explicitly checking the type of the incoming message, and logging/coercing if we see a non-string message 17:44:48 what do you think? 17:45:13 I would rather solve it by static type checking if possible, looking around to figure out how that might happen 17:45:54 ok. As of now it's a live issue on CPO so I'll create a local patch and not send it upstream 17:48:46 alexjurkiewicz: admin panel is accessed by flagging your account as a dgl admin, which you can do by setting a user flag for your login with sqlite3 17:49:00 I think the flag value you need is 1, but you can see the values in (I think) userdb.py 17:49:08 it's 1 17:49:16 there's a dgl command that sets it too 17:49:26 it's the same one you'd use to allow someone to do a rebuild 17:49:27 yeah, but alex doesn't use those scripts 17:49:32 ah right 17:50:15 so just something like 'update usernames set flags = 1 where name = 'chequers';' or the like from sqlite3, with correct values for the table name and your username 17:50:38 the table name I think also references dgl, but the name is also seenin userdb.py 17:51:27 sqlite3 -line passwd.db3 'update dglusers set flags = 1 where username="gammafunk";' 17:51:28 nice 17:51:31 is what I did 17:51:36 ty 17:52:58 alexjurkiewicz if you happen to have mypy installed, could you run `mypy *.py` in webserver? on tornado 5 there should (I think) be no errors, on tornado 6 there is one ignorable error 17:54:17 i'll never get used to `pip instal mypy` rather than `pip install mypy-lang` however many times it fails 17:54:55 advil: many errors http://dpaste.com/39CMSR8 17:55:04 I guess some are mine, though 17:59:24 most of those look ignorable, the last one is the one I expected to see, I guess it is asyncio that triggers it not tornado 6 per se 17:59:33 none of those would cause this issue I think 18:10:09 shutting down webtiles server seems to cause all games to crash (with gdb attaching) 18:11:06 and the server doesn't seem to quit after the games close 18:13:46 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-645-g7a43ae9: XXX temporary workaround for str/bytes issue 10(23 minutes ago, 1 file, 5+ 0-) 13https://github.com/crawl/crawl/commit/7a43ae9c01b9 18:13:46 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-646-g70f122a: Remove the "unowned process logger" 10(12 minutes ago, 1 file, 4+ 5-) 13https://github.com/crawl/crawl/commit/70f122a3ffd5 18:13:46 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-647-g6ce2e30: Allow overriding templates 10(6 minutes ago, 11 files, 335+ 331-) 13https://github.com/crawl/crawl/commit/6ce2e3064ebb 18:20:04 alexjurkiewicz how are you shutting it down? 18:22:40 sending TERM 18:22:55 kill `pid` 18:23:11 well, I can replicate the LoggerAdapter thing 18:27:57 aidanh: I added template fallback to my branch 18:29:58 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-646-g58fd1e7: Allow overriding templates 10(22 minutes ago, 11 files, 335+ 331-) 13https://github.com/crawl/crawl/commit/58fd1e7b66b8 18:39:59 man LoggerAdapter is really broken in py35 18:40:33 easier to just not support that python version? 18:42:42 it's doable 18:45:17 I think this is all still the bug with chained LoggerAdapters, there was a second way to get that to happen in DGLLessCrawlProcess 18:50:03 i upgraded to python3.7 and the problem has gone away 18:50:10 it doesn't seem worth fixing to me 18:51:36 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-647-g1e9fb90: Remove version specifier from tornado 10(74 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/1e9fb9035bcb 18:53:47 it's a very simple fix now that I understand the problem 19:05:44 ok, well getting the log messages to be the same while working around this is less trivial 19:06:07 -!- Psymania_ is now known as Psymania 19:06:12 maybe I'll revisit if someone else tries py35 19:06:45 alexjurkiewicz any hints about how to replicate that bytes/str issue? 19:07:06 no, and I haven't seen my logging trigger again yet 19:07:47 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-648-g0e8b75b: Clean up "Socket closed." message 10(2 minutes ago, 2 files, 14+ 2-) 13https://github.com/crawl/crawl/commit/0e8b75b21d04 19:07:58 it's probably some unusual condition, i'll keep an eye out 19:08:20 for the moment, I'll just let my branch bake as-is 19:08:38 after all this live debugging my new #1 wishlist is moving config into a non-git file 19:08:42 odds are it's something in a callback, because mypy doesn't succeed at checking those 19:10:21 Didn't know how to handle msg (user OverlordChaos): ui_state_sync <-- you were chatting about this message recently btw, what was the conclusion? 19:10:39 it's harmless, but I was not able to figure out how to get it to go away when I tried 19:10:48 the UI sends a message after the game is closed, basically 19:11:03 it would be easy enough to manually suppress it but I think the proper fix is that js shouldn't send it 19:12:44 03advil02 07* 0.25-a0-618-gba6b7f8: Override a mypy error for backwards-compat code 10(83 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/ba6b7f88fcff 19:12:44 03advil02 07* 0.25-a0-619-g63583cf: Add a comment about the LoggerAdapter chaining issue 10(46 seconds ago, 1 file, 3+ 0-) 13https://github.com/crawl/crawl/commit/63583cfaac8f 19:14:25 should there be a check on startup to simply fail if the python version is 3.5? 19:14:46 eh 19:15:22 if I'm going to do that I would just add the simple workaround conditioned on python version 19:15:22 fair point :) 19:15:39 do you think people will still be using py35? 19:15:52 in that, most servers don't even have python 3, so should hopefully leapfrog it 19:17:40 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-619-g63583cfaac (34) 19:23:49 Unstable branch on underhound.eu updated to: 0.25-a0-617-g20d90ebb82 (34) 19:25:50 well, anyone on ubuntu 16.04 will get it by default 19:26:04 I installed 3.7 and 3.8 from a well known backports repo (deadsnakes ppa) 19:27:19 maybe worth a survey and update https://github.com/crawl/crawl/wiki/DCSS-Servers-overview 19:28:04 debian 9 stretch uses 3.5, so CDO and CUE are in trouble 19:47:43 advil: not sure if this is new or not: http://dpaste.com/2VTG92N 19:47:57 I guess it happens when trying to send a message to a game that closes 19:52:11 03Byrel Mitchell02 {ebering} 07* 0.25-a0-620-g40a04f2: Fixes comment about Trog paralysis protection. 10(3 weeks ago, 1 file, 2+ 2-) 13https://github.com/crawl/crawl/commit/40a04f257632 20:03:56 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-620-g40a04f2576 (34) 20:28:51 03advil02 07* 0.25-a0-621-g2400ba0: Add a workaround for the LoggerAdapter py35 bug 10(2 minutes ago, 1 file, 13+ 4-) 13https://github.com/crawl/crawl/commit/2400ba0dc2f2 20:29:16 alexjurkiewicz have not seen that before, I take it the socket file is deleted? 20:29:30 do you know what exactly is happening? 20:33:01 alexjurkiewicz also have not replicated crashes on kill yet 20:33:14 but I definitely changed how that is supposed to be handled 20:33:18 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-621-g2400ba0dc2 (34) 20:33:36 (in fact the old behavior led to crashes on kill under some circumstances, the new is supposed to avoid it) 20:35:09 03theJollySin02 {ebering} 07* 0.25-a0-622-gfdc68c5: Alphabetizing some random item word lists 10(3 weeks ago, 3 files, 1140+ 1117-) 13https://github.com/crawl/crawl/commit/fdc68c5d1e58 20:35:09 03theJollySin02 {ebering} 07* 0.25-a0-623-g16f5e22: Added a few more strings for random item name generation 10(2 weeks ago, 3 files, 78+ 10-) 13https://github.com/crawl/crawl/commit/16f5e229432a 20:40:03 03ebering02 07* 0.25-a0-624-g55f4924: Correct spelling (ByrelMitchell) 10(15 seconds ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/55f492496c2d 20:43:52 03Goratrix02 {ebering} 07* 0.25-a0-625-g303c1a1: Shortened versions of scarf tiles (#12210) 10(2 weeks ago, 5 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/303c1a17cd3f 20:43:52 03Goratrix02 {ebering} 07* 0.25-a0-626-g6753bc3: Correct transparency in shortened scarf tiles 10(2 weeks ago, 5 files, 0+ 0-) 13https://github.com/crawl/crawl/commit/6753bc3f196a 20:46:56 03Goratrix02 {ebering} 07* 0.25-a0-627-gce76ff1: Small spelling and grammar fixes 10(2 weeks ago, 3 files, 4+ 4-) 13https://github.com/crawl/crawl/commit/ce76ff1ea078 20:48:15 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-626-g6753bc3f19 (34) 20:48:50 03Alex Jurkiewicz02 {ebering} 07* 0.25-a0-628-g0d1dd59: Add retry support to deps.py 10(13 days ago, 1 file, 21+ 3-) 13https://github.com/crawl/crawl/commit/0d1dd5979ae4 20:48:50 03Alex Jurkiewicz02 {ebering} 07* 0.25-a0-629-gdf4ec1e: Refactor deps.py 10(13 days ago, 1 file, 68+ 37-) 13https://github.com/crawl/crawl/commit/df4ec1e6d9da 20:48:50 03Alex Jurkiewicz02 {ebering} 07* 0.25-a0-630-g764d637: Don't print to stderr 10(13 days ago, 1 file, 1+ 2-) 13https://github.com/crawl/crawl/commit/764d63773487 21:03:11 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-630-g764d637734 (34) 21:04:49 ty ebering 21:09:35 advil: yeah. I saw your improved shutdown behaviour. Under old webtiles I would typically see the server kill all games and then sit there forever never quitting itself. Now it crashes all games and sits forever :D It might be some weird interaction with my PR ... I'm disinclined to fix non-breaking issues until the PR is merged, just so things get in sync again. It's making it complicated how our line 21:09:37 numbers and behaviour doesn't match up 21:11:06 webtiles server feels much faster with your changes btw. Games load quicker 21:11:46 signal handling like that can be tricky to get right and to diagnose, that's why I was reticent about that reload code added to the webtiles dev branch earlier 21:12:18 alexjurkiewicz are you able to reproduce the crashing locally? 21:12:23 or is that on CPO? 21:12:54 also when webtiles code talks about "wrapper scripts" does anyone know what that means? 21:13:11 hrm 21:13:37 I know on the early days in CAO the crawl binary was called via a shell script, maybe that 21:14:01 like, 0.4 days 21:14:26 well, that still happens, right? on dgl setups? 21:14:35 I don't think so? 21:14:38 like there's definitely a shell script that launches the crawl process 21:14:43 it handles e.g. upgrade prompt etc 21:14:44 is there? 21:14:58 yeah, but I have to sit and think how that gets called 21:15:13 like when you click trunk, you get a prompt about upgrading 21:15:23 that script that makes the prompt is the wrapper 21:15:27 part of dgamelaunch-config 21:15:36 ah interesting 21:16:06 it makes a little html output/prompt/CGI thing 21:16:11 is it outputting json? 21:16:25 it actually makes a full html page that is rendered by the browser 21:16:29 it's very bare-bones 21:16:31 let me just find it 21:16:38 https://github.com/neilmoore/dgamelaunch-config/blob/cbro/chroot/bin/crawl-git-launcher.sh ? 21:16:45 well that's the cbro version specifically 21:17:01 the very one! 21:17:25 advil: and you'll see on CAO, we also use it 21:17:33 crawl_binary = "/bin/crawl-git-launcher.sh" 21:17:40 in templated config.py 21:18:07 dgamelaunch-config is wild 21:18:21 [[ -z "$JUST_RUN_CRAWL_ALREADY" && -z "$WEBTILES" ]] && printf "\e[2J\e[H" 21:18:22 advil: yeah, and fwiw, aidanh moved that repo into crawl/dgamelaunch-config 21:18:40 -!- amalloy_ is now known as amalloy 21:18:51 he's talking of moving it into crawl/crawl to make life easier 21:19:09 oh into the repo itself? 21:19:13 yeah 21:19:22 not sure about that 21:19:34 server admins need to be able to have their own version 21:19:43 you might check out the dev log of that convo from last night then; I expressed a similar concern, but for more abstract reasons 21:19:52 or just ask him about it, we didn't talk about it too much 21:20:42 if anything I'd rather move webtiles server code out of the main repo 21:20:51 I guess my concern wasn't similar to yours, but you have a good point about customization; I think aidanh is trying to make a much better setup for shipping servers based on the dgl stuff 21:21:31 right, that's what I sort of proposed: keep the true client part of webtiles in crawl/crawl, move webtiles+dgamelaunch-config into another repo 21:21:55 but I'll leave that to the experts for sure 21:23:58 looking at the copyright on that file and googling Marc H. Thoben lead me to his youtube, which has literally only this video uploaded: https://www.youtube.com/watch?v=7NbzO78b2g4 21:25:09 I want to keep it together to make it easier to keep things in sync, and make it testable 21:25:37 (even if adding e.g. smoke tests is a bit of work) 21:26:55 I don't in principle have a problem with the per-server config in a separate repo, but I also don't see the harm in having it in the main repo, for official servers 21:27:03 and by per-server config I mean the bit that's actually different; hopefully all the common wrapper scripts and config cruft can be unified 21:28:13 advil, re server admins needing their own version, clearly they need some control, but it'd help if we had a clear picture of what it is they want to accomplish 21:28:20 regardless of how it ends up, real glad that you and other are working on fixing up our hidden greybeard magic 21:28:30 *others 21:29:04 well, dgamelaunch menus are one thing that I mentioned, but probably more pertinant is that each admin decides what versions of crawl and what forks they want on their servers 21:29:25 so their configuration templates will be different generally speaking, just due to having different games installed 21:29:54 have you looked at the branches in |amethyst's repo? 21:29:56 also lld has some crazy customizations going on, so does cwz, and while I don't *think* those use dgl at all, I'm not sure how your work might intersect with that 21:30:18 from that you can see pretty concretely what cbro, cao, and cszo (rip) customized 21:30:34 well, to be clear, the cbro branch isn't really current with johnstein's config at all 21:30:38 though for all I know there's uncommitted stuff 21:30:40 the main differences used to be that the szorg one had the current scripts 21:30:50 so people cloned that branch in particular 21:31:13 if you look at cbro/cao ones, they are missing some of the more "current" stuff that neil added 21:31:54 which cao probably just doesn't have some of those things at all even now; maybe the cao branch does fairly resemble what CAO runs, but the cbro branch does not, I believe 21:32:19 johnstein would have more info about that 21:33:09 cao probably has some uncommitted stuff 21:34:09 would make sense; neil did a bunch of admin for the server in the past 21:34:37 alexjurkiewicz are you using any wrapper scripts like that DGL one? 21:34:52 please do push any uncommitted changes for Cao when you have time 21:35:09 several of the repos there are extremely hard to use because of permissions 21:35:11 my chroot stuff needs a patch to the dgamelaunch config 21:37:06 re admins deciding what versions to run, ideally that'd be a 15 line config file, listing (repo, branch) pairs 21:38:19 03advil02 07* 0.25-a0-631-gc915619: Fix a bytes/str issue (I think) 10(4 minutes ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/c915619fb721 21:39:19 aidanh: also things like how to describe the entry and what "game" entries to add (tutorial, sprint) 21:39:43 The build passed. (master - 764d637 #12863 : Alex Jurkiewicz): https://travis-ci.org/crawl/crawl/builds/663749062 21:40:56 detect it from the binary? 21:41:01 newest customization commit to the scripts that I see on the cao dgamealunch-config repo is from 2015, Handle -print-webtiles-options in launch scripts. 21:41:20 possible, but there are forks, so I guess you'd have to make them obey that? 21:42:10 I was thinking things like detecting -tutorial, -sprint flags 21:42:14 hacky but workable 21:42:27 yeah, but some servers choose to not add every game type 21:42:47 fair enough 21:43:13 but things like customising the various paths in the chroot should be right out 21:43:16 cao has not tutorial links, for instance, and I have no idea why! 21:46:00 advil: no wrapper scripts 21:47:01 hm 21:47:10 oh, I do! for weekly challenge 21:47:15 re cwz and lld, yeah it'd be helpful to know how they worked 21:47:26 not one that sends output though... 21:47:34 actually, it might write errors 21:47:36 I wonder if it might have some trivial output? 21:47:45 yeah or errors that don't really get passed through 21:48:13 basically if it outputs anything at all it would probably have tripped that issue that I may have just fixed 21:48:16 Unstable branch on crawl.kelbi.org updated to: 0.25-a0-631-gc915619fb7 (34) 21:49:32 hm not sure it was that, there's no error output, just an exec after determining if you can play or not 21:49:44 anyway i'll keep an eye on the log, thanks for the preliminary fix 21:50:46 weekly challenge does start at least 21:51:26 wonder if any of these forks could also output something before the socket starts up 21:51:35 that's all it would take 21:54:50 with my logging patch we should be able to identify it easily 21:54:50 aha 21:54:53 weekly challenge does have output 21:54:55 Mar 18 01:50:03 ip-172-26-2-230 python[12916]: 2020-03-18 01:50:03,449 WARN: Found bytes message "b'24959 (process ID) old priority 0, new priority 5\\r'", coercing to string. You should fix this. 21:55:34 fixed 21:57:20 I may just merge the dev env parts of my branch (not the admin pages) 21:57:55 having linting and testing for both py2 and 3 will definitely help flush these out 22:00:55 https://imgflip.com/i/3t0p5b 22:03:06 lol 22:03:40 I added all existing files to an ignore list, so we can add them incrementally 22:04:33 and the bits I want to merge are only for dev env setup, so no need to rebase 22:08:07 *lint them incrementally 22:20:53 then please do so 22:23:58 The build passed. (master - c915619 #12864 : advil): https://travis-ci.org/crawl/crawl/builds/663759037 22:34:03 added a commit to fix typing 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-632-ge365bbb: webtiles: Add support for customised env vars 10(10 weeks ago, 3 files, 21+ 3-) 13https://github.com/crawl/crawl/commit/e365bbb4f987 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-633-g05ac5c1: webtiles: Allow loading games via function 10(10 weeks ago, 3 files, 104+ 40-) 13https://github.com/crawl/crawl/commit/05ac5c167cc5 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-634-gfc4c6bc: webtiles: Add basic requirements.txt file 10(10 weeks ago, 1 file, 2+ 0-) 13https://github.com/crawl/crawl/commit/fc4c6bceb603 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-635-gd30c9be: webtiles: Update README 10(10 weeks ago, 2 files, 57+ 49-) 13https://github.com/crawl/crawl/commit/d30c9be102c9 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-636-g5d3b1cf: webtiles: Allow dynamic reload of games config 10(10 weeks ago, 3 files, 57+ 37-) 13https://github.com/crawl/crawl/commit/5d3b1cfeada1 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-637-g66b81eb: webtiles: Allow specifying -dir and CWD for games 10(10 weeks ago, 4 files, 19+ 1-) 13https://github.com/crawl/crawl/commit/66b81eb64528 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-638-g123e5ad: webtiles: Improve load_games documentation 10(10 weeks ago, 1 file, 20+ 10-) 13https://github.com/crawl/crawl/commit/123e5ad456f4 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-639-gdf10f40: webtiles: Allow editing blank rc files 10(9 weeks ago, 1 file, 7+ 2-) 13https://github.com/crawl/crawl/commit/df10f4050330 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-640-gcdd0f28: webtiles: Allow per-game milestone path config 10(9 weeks ago, 3 files, 34+ 7-) 13https://github.com/crawl/crawl/commit/cdd0f28d82d1 22:37:55 03Alex Jurkiewicz02 07https://github.com/crawl/crawl/pull/1253 * 0.25-a0-641-gadf50a4: webtiles: Always show milestone column 10(9 weeks ago, 1 file, 0+ 4-) 13https://github.com/crawl/crawl/commit/adf50a49a7f7 22:37:55 ... and 23 more commits