Skip to content

Commit ad46ad9

Browse files
authored
v0.6.3 (#70)
* Alpha dev ci (#3) Ready for alpha release. Test artifacts and ci process looking good. * fix tagged version name * Squashed commit of the following: commit 7bf35c37269a801656141a57a6d59aaa22759675 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:55:12 2020 -0700 use browse loaded for brwose placeholder commit 25001f4158904dc5e3297822cc4d16f773745638 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:24:40 2020 -0700 plural libraries commit 87237403632fe2f7ccef9300b3f7c265b0dfbe25 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:20:38 2020 -0700 just nuke all that libraries exist stuff commit 723e31eb988b433d22e8d4362e9a01c06f2a1a70 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:19:13 2020 -0700 auth dialog enter submits form. autofocus on username commit ce74887c2ced4e704bcf1cf77087ff6618e011b7 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:45:08 2020 -0700 update package.json commit 7546fa58bb080ffec0486e781e526b35b9a4df7e Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:43:50 2020 -0700 update poetry commit 985bd5e61fe1b8a7dcfc1583b3c634bbbf292791 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:32:27 2020 -0700 let enter submit logins * Squashed commit of the following: commit 688165d01c797b723387d057dac7d004461c258e Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:28:20 2020 -0700 0.5.1 minor bugfixes commit 2487d151e0a687f5bac3aa152acb066d556beadf Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:18:31 2020 -0700 lint commit 31432a3c4f6e3463ef71a3d4b606713cabdaf5cb Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:07:50 2020 -0700 ignore webpack-stats.json for prettierignore and sort it * oops forgot to bump docker-env version * V0.5.2 (#8) * v0.5.1 with correct docker tag. (#7) * oops forgot to bump docker-env version * tweak NEWS to trigger ci deploy * update README roadmap to include OPDS * admin flag documentation * fix bad multiprocessing method for windows * Squashed commit of the following: commit c12e685bd192fa724bce8bd956f7981a0df571dc Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 19:01:22 2020 -0700 cleanup filtering commit 134b1d0e25f2018979f957f764f01546fe797726 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:47:54 2020 -0700 move get_folders_filter into choices only commit cad82011ac6012c26b1f933adf70aafb8b64b143 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:47:31 2020 -0700 fix filter menu close commit 61567ace2f997ccafd6b9b7030bde77e3c55fbd3 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:15:31 2020 -0700 reorg and optimize some browse_base view stuff commit db9fc9b9ae606e53c9c4e364c010ef4df0e7dcb0 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:15:10 2020 -0700 lint commit 3bf26fd1d8e374eec862a671446775c1773750f6 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:14:29 2020 -0700 poetry extras doesn't work like i thought it did. move that stuff into development deps commit 84b42d11aa33f8a0559a5763e25e78e4ecd47110 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 16:59:24 2020 -0700 lazy filter choices * Squashed commit of the following: commit bcb685cac1ee10a78838b8404c5411f63c53ba2d Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 19:16:19 2020 -0700 return of librariesExist * bump v0.5.2 version numbers * declare PKG_VERSION in Dockerfile * v0.5.3 (#10) * v0.5.2 (#9) * Alpha dev ci (#3) Ready for alpha release. Test artifacts and ci process looking good. * fix tagged version name * Squashed commit of the following: commit 7bf35c37269a801656141a57a6d59aaa22759675 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:55:12 2020 -0700 use browse loaded for brwose placeholder commit 25001f4158904dc5e3297822cc4d16f773745638 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:24:40 2020 -0700 plural libraries commit 87237403632fe2f7ccef9300b3f7c265b0dfbe25 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:20:38 2020 -0700 just nuke all that libraries exist stuff commit 723e31eb988b433d22e8d4362e9a01c06f2a1a70 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 23:19:13 2020 -0700 auth dialog enter submits form. autofocus on username commit ce74887c2ced4e704bcf1cf77087ff6618e011b7 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:45:08 2020 -0700 update package.json commit 7546fa58bb080ffec0486e781e526b35b9a4df7e Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:43:50 2020 -0700 update poetry commit 985bd5e61fe1b8a7dcfc1583b3c634bbbf292791 Author: AJ Slater <aj@slater.net> Date: Tue Aug 25 22:32:27 2020 -0700 let enter submit logins * Squashed commit of the following: commit 688165d01c797b723387d057dac7d004461c258e Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:28:20 2020 -0700 0.5.1 minor bugfixes commit 2487d151e0a687f5bac3aa152acb066d556beadf Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:18:31 2020 -0700 lint commit 31432a3c4f6e3463ef71a3d4b606713cabdaf5cb Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 01:07:50 2020 -0700 ignore webpack-stats.json for prettierignore and sort it * oops forgot to bump docker-env version * V0.5.2 (#8) * v0.5.1 with correct docker tag. (#7) * oops forgot to bump docker-env version * tweak NEWS to trigger ci deploy * update README roadmap to include OPDS * admin flag documentation * fix bad multiprocessing method for windows * Squashed commit of the following: commit c12e685bd192fa724bce8bd956f7981a0df571dc Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 19:01:22 2020 -0700 cleanup filtering commit 134b1d0e25f2018979f957f764f01546fe797726 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:47:54 2020 -0700 move get_folders_filter into choices only commit cad82011ac6012c26b1f933adf70aafb8b64b143 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:47:31 2020 -0700 fix filter menu close commit 61567ace2f997ccafd6b9b7030bde77e3c55fbd3 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:15:31 2020 -0700 reorg and optimize some browse_base view stuff commit db9fc9b9ae606e53c9c4e364c010ef4df0e7dcb0 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:15:10 2020 -0700 lint commit 3bf26fd1d8e374eec862a671446775c1773750f6 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 18:14:29 2020 -0700 poetry extras doesn't work like i thought it did. move that stuff into development deps commit 84b42d11aa33f8a0559a5763e25e78e4ecd47110 Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 16:59:24 2020 -0700 lazy filter choices * Squashed commit of the following: commit bcb685cac1ee10a78838b8404c5411f63c53ba2d Author: AJ Slater <aj@slater.net> Date: Wed Aug 26 19:16:19 2020 -0700 return of librariesExist * bump v0.5.2 version numbers * declare PKG_VERSION in Dockerfile * whitenoise 5.2.0 fixes the AUTOREFRESH BUG * Squashed commit of the following: commit 52ed30323697d07feef08f57533626df9e84f042 Author: AJ Slater <aj@slater.net> Date: Thu Aug 27 11:43:49 2020 -0700 versioned API * remove print * fix filter error with aggregates. fucking confusing. * make the no comics found label a little less garish * Squashed commit of the following: commit cee372d8dfda3c862a9d83883041edc45a013c7a Author: AJ Slater <aj@slater.net> Date: Thu Aug 27 12:48:46 2020 -0700 displaying package version works * master version bumping script * only flood control libaryChanged message * broadcast a message when we scan libraries * scan notify api endpoint * frontend for scan notify snackbar * lint * move isAdmin to auth getters * use queue for scan-notify * Squashed commit of the following: commit 54aed271624a0d93a9f8cd23475151c27dd96710 Author: AJ Slater <aj@slater.net> Date: Fri Aug 28 09:56:33 2020 -0700 fix login * update NEWS * fix sed for bsd * fix tests on docker where whitenoise complains about missing static dir * ensure all STATIC_DIRS exist for whitenoise * new black. update poetry, npm & lint * 0.5.4 version bump * only use the build type static files in dev mode. always should've been like this. * collect static needs dev marker to actually collect the dev static dirs * revert whitenoise * codex v0.5.5 * fix logging error * borders on browse-cards * fix border interference with unread flag * v0.5.6 * comicbox 1.3 * allow null credit roles * V0.5.7 (#35) * v0.5.7 news and version * remove transparency from child count * center pages better in reader. still has a two page gap. * scroll to the top of the page when the route changes * more explicit read/unread menu. Add download comic to menu * fix previous comic always start of series bug * lint migrations * npm update * logfiles * more items to news * lint * reorg setup-dev.sh * Docker caching for wheel builder image * remove scanlocks on startup. fix library change by not disabling element * Squashed commit of the following: commit e1994b7d8f76d1aff43de8fddd927e3ac6686502 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 15:37:37 2020 -0700 bum news commit f230dd6590b2c0e404f5820dca76810207c74a74 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 15:33:23 2020 -0700 remove inconsistent document.title setting commit 129323516a24bb1959f1e5cee244af56151b273f Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 15:29:20 2020 -0700 restore child counts and bookmarks commit 21f25ec7b15822b5ee51c2c97b4a700d584306fb Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 14:42:49 2020 -0700 modular frontend comic name code. disambiguate volumes more commit 3f8c7a4fedf931b81da9196147f6556632194fbf Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 14:21:46 2020 -0700 volume parsing on the back end commit 557ace75ccb3522302a1b402466cb19d75a38b22 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 14:21:19 2020 -0700 fix issue type in browser commit 4d2331d240f0b78c48e2cc365dc4d41f9155ff7d Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 13:55:02 2020 -0700 remove extra loggins commit 566e353f78ce81f502b9ceac103f0f41b300b91c Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 13:52:40 2020 -0700 move ensure cover path to serializer so we only hit the db once commit adfeda4d5d3a91e355ae55e6182411b2cb7f73bf Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 13:15:12 2020 -0700 pass series_name, volume_name, issue as fields. no more janky parsing commit 361e0ad253356ea7d5733bb1ca54e2e80173c9e4 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:48:43 2020 -0700 rename containerList commit 830454081e9163039dbd7893a91b099b7f094380 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:45:53 2020 -0700 fix up route not starting from 0 commit d17e0de419e9dd0c715d46f71e856c77a619a845 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:34:47 2020 -0700 pagination union with header name annotated instead of python computed commit b1aac346d372dd5a41397c53428de0303733958a Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:06:44 2020 -0700 npm update commit 69414ec4e09c97c7a6c6c7a7da3406b71da7f178 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:02:24 2020 -0700 update poetry commit e34d4af0c79d86f7ca2bc072be9ee5b8965ae54f Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:02:04 2020 -0700 clear cache on startup commit 34a96e36638d98be77ed5de3681c7011b4d2b6a2 Author: AJ Slater <aj@slater.net> Date: Thu Sep 3 12:00:38 2020 -0700 fix last_scan create library bug commit fef826cd24f2cd0315113a45f2c8eee2dcbf9667 Author: AJ Slater <aj@slater.net> Date: Tue Sep 1 16:38:20 2020 -0700 pagination proof of concept. breaks with folder view commit 01eefe612e6e63556e6f58545e1fbf9846689f85 Author: AJ Slater <aj@slater.net> Date: Tue Sep 1 16:34:46 2020 -0700 lint * friendly /me message * Squashed commit of the following: commit b73eab2312d1648dc24203ec7bca712d820daeb2 Author: AJ Slater <aj@slater.net> Date: Fri Sep 4 13:15:54 2020 -0700 remove unused var commit 12d990586f00f9b6c65eade9495de3ed65aea1fe Author: AJ Slater <aj@slater.net> Date: Fri Sep 4 13:11:25 2020 -0700 watch for user changes in the browse app, not the auth app for browse stuff. commit 9ba8575c0e4f4c011fde28ee2ec37d206063700f Author: AJ Slater <aj@slater.net> Date: Fri Sep 4 13:10:34 2020 -0700 consolidate route generation in browse store and add page * reform browse console logging * Squashed commit of the following: commit d72c5eda5744f68d442e91f942bf7e8077271976 Author: AJ Slater <aj@slater.net> Date: Fri Sep 4 13:34:00 2020 -0700 refactor browse card to be a single card object. * oder the common browse fields * fix cover on metadata page * move progress bar to browse card for better positioning. * more tests for comic model * bump codex version oops * v0.5.8 * poetry update * more helpful 404 page * V0.5.9 (#50) * poetry update * more helpful 404 page * update npm * fix logging bug on null role import * Squashed commit of the following: commit 0980b6e2ce4d8a7b5a55722427febb3d6d35b05e Author: AJ Slater <aj@slater.net> Date: Sat Sep 5 18:09:12 2020 -0700 fix folder sorts. reorganize annotation code. eliminate x_order_key in favor of order_value commit 4797fc411aa6d43d43a66ff98a90641c6c8338e4 Author: AJ Slater <aj@slater.net> Date: Sat Sep 5 15:39:43 2020 -0700 first draft of folder sort fixes. needs cleanup * Squashed commit of the following: commit 36329ac2572bd95d55fe2e6b79156a0355eea42b Author: AJ Slater <aj@slater.net> Date: Sat Sep 5 19:25:15 2020 -0700 missing cover support * poetry update * version bump * comicbox 0.1.4 * lint * Squashed commit of the following: commit 9f22f50e97ecc743270e26217012d8d5097016dc Author: AJ Slater <aj@slater.net> Date: Tue Sep 8 13:53:41 2020 -0700 use base images when building runnable docker * V0.5.10 (#53) * fix filtering bug * bump version * clean up comments * fix reader settings * mostly fix reader image layout * fix reader to browser uninitialized error * bump news * update poetry * npm update * simpler image labels * V0.5.11 (#55) * simpler image labels * simply image tagging even more. publish to pypi with ci * ignore node_modules of course * use Min instead of Max for sorting containers. Added benefit is covers match sort values now * flex layout to the rescue for adaptive browse tile row heights. * fix bookmarks not working for sessions * update poetry & npm * bump version to 0.5.11 & news * fix mobile safari bug with stretched images * Squashed commit of the following: commit 8573d66e625a99288cc52092aad33c14845bb631 Author: AJ Slater <aj@slater.net> Date: Fri Sep 11 13:05:53 2020 -0700 fix the whitenoise prefixing for dev mode commit 46700920e7da71e0a1779eb0a701ac321dad1d71 Author: AJ Slater <aj@slater.net> Date: Fri Sep 11 12:33:35 2020 -0700 works in prod * abuse WHITENOISE_ROOT for covers so I can turn off WHITENOISE_USE_FINDERS in production * poorly spelled variable prevented setting global reader settings * bump news * another news bump * admin failed imports list * Squashed commit of the following: commit 3a3e206df83ee9ad103b2c7600a2ae1b3fb305f8 Author: AJ Slater <aj@slater.net> Date: Mon Sep 14 17:42:25 2020 -0700 scan notify snack * bump version and news * lint and cleanup prints * Squashed commit of the following: commit ee19a333161c174b387a4b2b525d04ec1d549b91 Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 14:38:45 2020 -0700 latest version * Squashed commit of the following: commit 6001d4a338bf9dc86238b0da565e76a891d3de02 Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 19:55:53 2020 -0700 remove the init_admin_flags from migrations commit 38556ea04959e02522c08288c152f61ea18b7a3a Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 19:47:38 2020 -0700 minor cleanups and comments commit 3e40d41c52b188353b0d04e96c7e35dec5315d95 Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 19:31:46 2020 -0700 bump news commit 1321826d522c32cb62a13abb1ea3df8173f8cf3d Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 18:00:20 2020 -0700 add dev config dir to prettierignore commit 784e165efc57f6f97092e8d17236a0bde40b226d Author: AJ Slater <aj@slater.net> Date: Tue Sep 15 17:52:09 2020 -0700 disable session users first try * change failed import comment * v0.5.13 * crap i'm sure now * Squashed commit of the following: commit be04fac73fe3fdcd2ee600aac8106125f45bff7c Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 19:56:48 2020 -0700 lint commit f93023cf01b2e2f8fe0e83fdcd0c051ed1a8428e Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 19:55:47 2020 -0700 bump news commit 2637d430f90a382145218d691e64e28939c4f024 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 19:53:27 2020 -0700 poetry and npm update commit a7d8af755fea91b202e018ce63d084dc22229daa Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 19:49:01 2020 -0700 add force to comic cover creation commit c6b11e3ea7866c980bc0e4b9b0772d39f81a3052 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 19:25:20 2020 -0700 fix unable to delete libs commit af224ffc3b34b172ecc2ae84c848fcf1d64bf5c0 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 17:08:07 2020 -0700 rehide edit button and fix issueRow layout on mobile commit 17bee0af42a14d1d53285f6ef8f4c583888a36c7 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 16:50:27 2020 -0700 minor cleanup of checkbox commit c7f235af7abd00914c874b2fb65ebd1be545e1a4 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 16:33:27 2020 -0700 remove comment cruft commit 073b6f08e39100aa71dc33eee6969abb473164fc Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 16:32:00 2020 -0700 bump version & news commit 0c8bdfb5f216df4353533d9371437caa65dfb7f7 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 16:29:14 2020 -0700 dict for websocket messages commit 7a8e1e9af9bd57a93b08d9f587435ed4f47f525b Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 15:51:41 2020 -0700 minor cleanups commit d1ad0ef4159aade2793c424be693f4dd3d36f943 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 14:01:29 2020 -0700 remove cruft commit df1d69ef2d28fd88049032d8ee7c6d21163708f6 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 13:56:06 2020 -0700 minor cleanups and formalize timing for metadata commit 0e68de8a3b85bb05657b83f7d2871f02094696a0 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 13:48:51 2020 -0700 two minute timeout! commit 650099da1be7510c25fb0c1ed562fdeb56a31e2c Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 13:15:34 2020 -0700 cleanups for metadata commit 5c06d6c8d43f3400d92bfa9062851951b0ea9981 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 02:30:56 2020 -0700 progress meter for metadata commit 7775cf15f56f347136817bb1bf33f00091b13a05 Author: AJ Slater <aj@slater.net> Date: Fri Sep 25 02:29:43 2020 -0700 fix no credits bug. fix pk lookup syntax commit 70688d27a01bc2eb75f8a7cce007ec2d92fbeddb Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 22:17:53 2020 -0700 lint commit 72b53b462cb7d5feebbe4fea6159fc3f9588fbc3 Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 22:17:47 2020 -0700 move comic-name into components commit f300f21097bb0d194ce1359eaf37b25c7f23ce20 Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 22:15:45 2020 -0700 show less metadata if not in editMode commit 7731a45e630108eae0a254d49fd009a6293e8247 Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 22:15:10 2020 -0700 first minort cleanups commit 30399ee10b665e39c30cef5a5332b2f31c8459f9 Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 18:44:54 2020 -0700 freeze the comic metadata it won't change ... yet? commit ded8672c4c0f437febcbbb0ee393cd7b056d9216 Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 18:44:20 2020 -0700 fix null issueChoices commit 5ecab8eb652941ff208c31cd5e1b7734a40da73f Author: AJ Slater <aj@slater.net> Date: Thu Sep 24 18:44:02 2020 -0700 share initialItem across autocomplete and combobox commit 02a4e2f71c1662d6874741d025e4e10ac315f6e6 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 16:21:59 2020 -0700 placeholder for metdata commit c4a4c37dee9f243626f8137dc6d5c35266dc6dbd Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:41:45 2020 -0700 Squashed commit of the following: commit 3637b056f2d2d947658767f11a5f29b8c664e817 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:41:24 2020 -0700 fix date display and all autocompletes commit 02d14266742e64620b17787049d8d6f0594258ea Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:35:32 2020 -0700 align issues better commit 7f8efe405e883b686a10cdf8d84e0e4edd41f1fc Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:30:49 2020 -0700 fix language and country display commit 0dc983f501c421bbd223e5348abdf096337f67f4 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:30:25 2020 -0700 wipe comic data before lookup commit fa7236f6a74e061ecb475672c72dff4de19134e0 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 15:29:42 2020 -0700 fix pycountry lookup bug commit 9a6bb655e51d3f9416b5bfc3bfb2feb6ab3b72b4 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 13:49:28 2020 -0700 optimize getting only the aggregate filter for metadata commit 5129983d1f589cba0acad9edbe921203645c4db4 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 13:37:38 2020 -0700 compress all metdata consts into the QUERY_SERIALIZER map commit c7e35a64fd491fedbee6ba4682975a5afb54df2b Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 13:14:02 2020 -0700 move frontend api files to versioned directory commit 49389216c3fb60718aceb45f34fe942e46cb45fc Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 13:08:34 2020 -0700 rename variables. clean up cruft. comments commit 39788fc1fcce0c8ce131da1be03be2284766d386 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 12:53:31 2020 -0700 lint and comments commit 3baa071e140c6f46bab63bed10bbfab13e546e5a Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 12:48:40 2020 -0700 lint commit 49565bc5c50c7b058e76837f8ab382db3caa63c8 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 12:48:36 2020 -0700 lint ci scripts as well commit e1cac1604f0ae5e7f83fd94e9125c96c4b3104a6 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 12:45:29 2020 -0700 add a progress bar to metdata commit d0e2412ae18b9a5f75f64dde1ab770e1968f1927 Author: AJ Slater <aj@slater.net> Date: Wed Sep 23 12:38:21 2020 -0700 move top book cover decorations into book-cover so they display on the metadata page commit 07426ce9fdacab8c980deaebac2e913f8c3c1eba Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:55:20 2020 -0700 simpler tag icon is better commit f8e8ed39b725accffa57ba7f4978515e16a6fc4e Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:54:16 2020 -0700 Tag multiple icon commit a9a79e656cf20f141f44eb3e1b8c7b542ea27d6b Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:47:20 2020 -0700 remove log commit ee14d91ebfa3c96597003d50da2bed96351665cc Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:44:58 2020 -0700 change metadata icon commit 9b76a9bc7ca5a445d17bf505823241428588063f Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:31:11 2020 -0700 format issue decimals commit a49061082610264d7aaed1d38d1bf24f0baaddf6 Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 20:16:02 2020 -0700 fix issues to handle years commit 08bd7639ebca0d68cf4bff985725681be72c7dba Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 19:39:48 2020 -0700 credits working commit 268df3cd136972c7bc28aa7d0ea1761f4a2d24e9 Author: AJ Slater <aj@slater.net> Date: Tue Sep 22 18:20:51 2020 -0700 working even better. credits, issue display and folder test remain commit a5d6d88244fb1536c840789857c7624bb8cd2c4d Author: AJ Slater <aj@slater.net> Date: Mon Sep 21 19:31:49 2020 -0700 kind of working but kludgy backend solution commit 05c67e90052cc69010c20bd9d2c39d0e21745032 Author: AJ Slater <aj@slater.net> Date: Fri Sep 18 16:54:50 2020 -0700 move children and page count into base class commit c0f337bcde505729380caa10a6ea665fa2d5aa38 Author: AJ Slater <aj@slater.net> Date: Fri Sep 18 15:14:13 2020 -0700 move bookmark aggregation up into metadataclass for real. remove unused fit_to & two_pages commit 7c3ab1eb99e433b1181c4a3ff319329f1bd0a287 Author: AJ Slater <aj@slater.net> Date: Fri Sep 18 14:08:31 2020 -0700 move bookmark annotations to browse_metadata_base * speed up metadata by 50% * Squashed commit of the following: commit 97c87f28bbd4285efb89051de6c3844f1948c80f Author: AJ Slater <aj@slater.net> Date: Thu Oct 1 15:09:01 2020 -0700 lint and comments. remove cruft commit 4d10bd16f07ad2e3c83ccb963f5e90978a61b214 Author: AJ Slater <aj@slater.net> Date: Thu Oct 1 15:02:02 2020 -0700 major cleanup commit 8a23d7aa13702b0d75e4d1576e8ae75b03329af8 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 20:15:59 2020 -0700 partial cleanups commit 27b66e26aa0d302364d1576c52140a0ea060b222 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 19:56:06 2020 -0700 isort commit 1c320e2187dabda7b3cc6bc55423902add58b3d0 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 19:54:37 2020 -0700 fix related field counts and cleanup a bit of cruft. more cleanup to do. commit bd045eb0692e9232c51dd33053801d407c415039 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 18:59:09 2020 -0700 it motherfucking works commit 752d1773671196a4bbb3472490f35d394df806d7 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 18:48:58 2020 -0700 working agg all. now just do pks commit af6b59b69824836f8485892d83ad7156d055372e Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 12:56:57 2020 -0700 coment. lint commit f678f8f35d9724c9eca514e85c8372d6c534621a Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 12:34:21 2020 -0700 clean up metadata container aggregate a bit commit 49ca05eedf6f9a6ade3682272c35d7e0733203c9 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 12:14:01 2020 -0700 simplify a map commit fc2a6d4d0834ccc056474414b6d15d61bbffe7df Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 11:59:21 2020 -0700 major cleanup of metadata view commit 0a90f5c5c75ec2a60f00334dcddc8d5eb95bf641 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 09:04:28 2020 -0700 more explicit nginx docs commit fe54d13f985d796b95593efb9f8e6c1ad539d879 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 09:04:18 2020 -0700 clean up metadata serializers commit 0e182239e8525ee33a8b095b6b406cd567e7acf9 Author: AJ Slater <aj@slater.net> Date: Wed Sep 30 09:04:04 2020 -0700 remove a little cruft commit f8972d6b19c0f9c829d605c6ddb6fd229cef2466 Author: AJ Slater <aj@slater.net> Date: Tue Sep 29 19:37:45 2020 -0700 ugly but working bufix for too much data commit 0f4d7d70c4c8b44a8e629bbee217df742b76de08 Author: AJ Slater <aj@slater.net> Date: Tue Sep 29 16:38:35 2020 -0700 new metadata api works on frontend. backend bug gives too much info for groups commit 4241cacf42e8b4cf27a08c657f672694be1bde4a Author: AJ Slater <aj@slater.net> Date: Tue Sep 29 00:20:50 2020 -0700 lang serialiezer returns value if text lookup fails commit c9a6465fd913185c2df340c082d1e0985b6fa189 Author: AJ Slater <aj@slater.net> Date: Mon Sep 28 18:18:10 2020 -0700 doubled speed of metadata * bump version * Squashed commit of the following: commit 88404c565b4cc3fbad899ca1bccd366b43b199b5 Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 14:54:40 2020 -0700 remove TEST variable. always a bad idea commit a3bef259dc6c72b0a8bb885d0353d7a8bad1b81f Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 13:58:02 2020 -0700 comments commit 265784ce9fdf5fe2429fda3fa98f271c2275667b Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 13:54:39 2020 -0700 optimize select_related for metadata just a little more commit a488427a15ab8d0efb4a742308a0696d313492dc Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 13:45:15 2020 -0700 pop fields before serialization. should be faster commit 07df6a610a7683cf16551c4e644207d10be96f27 Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 13:39:42 2020 -0700 clean up serializers and choices. get choices from src too. commit 5d59c5a95dcc6194f76d45c578efdd529a895f90 Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 00:19:19 2020 -0700 fix improper null items on undefined metadata fields commit 905aa375760b374f3e5c8ccdc29f074cf2e3e754 Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 00:18:59 2020 -0700 fix metadata folder view commit d6017dd76297f448735198e1a3a1c9f111865a2e Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 23:15:54 2020 -0700 reading choices and messages from the webpack json works now commit 87246c285ac93674eff1ba55be651a05e967102b Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 14:14:37 2020 -0700 move item xformer into api commit 102b291511cc3e6c34d7efe2f4e7839d5637766c Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 14:04:05 2020 -0700 fix null items commit b7212c3e3a47987d1b20ba604aba408555b32f70 Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 13:44:22 2020 -0700 sorted items commit 5c8cef6cd7eb85c246f3099b35a71f2b87555e51 Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 13:27:26 2020 -0700 componentize browser-settings-menu commit d3fd0f57ea0d5500389e97e1c071896abac3791a Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 13:17:06 2020 -0700 componentize browser settings dialog commit 8510179f3be465df0d7848751e62a699902dd458 Author: AJ Slater <aj@slater.net> Date: Fri Oct 2 13:05:52 2020 -0700 working filter menu. componentize top toolbar filters. * massive rename of containers and browse for consistency * docstyle linting * lint * remove mypy and vulture. i don't use them. * Squashed commit of the following: commit 936a6c8a202b09db2c8d6bedc8ce1d8add3e3f5e Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 18:13:22 2020 -0700 move secret key and logging init management into modules. websocket server doesn't configure logging right. commit 328bb8288bbee74b88c0e0754bc13abdb7ea114d Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:35:23 2020 -0700 less picky about passwords commit 8a953e20676ac5ca7e5c226b8792e075dbae1d11 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:17:14 2020 -0700 hypercorn 0.11.0 includes asgi signals and a big logging change. fix the logging with a custom formatter and a flag to logconfig_dict commit e3eae3400a2c07cab11997b74a71397e70f9d3e2 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:14:20 2020 -0700 upgrade babel/core commit 16034b60a7fb41fe47d67a8c02972231094f9946 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:14:04 2020 -0700 remove comment cruft commit 23885db544421469e46d0d42a75844c73b082fa5 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:13:31 2020 -0700 dev run script alter python path for local dir commit 80b92b45921dadc9d6a3811f7e92df5bd9377505 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:12:46 2020 -0700 correct logging __name__ and remove print cruft commit 2a6d347dcc71e39a88b2e7c515c8b2fcae07b0de Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:12:24 2020 -0700 document where i got the timezones middleware commit 59778ffa39967f7b6e42a5bf4fb4c52c8fbe5ce4 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:12:04 2020 -0700 debug lifespan logging commit b3ae98d90fbf3e9f1bf4b5eb17fb467c63f21f54 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 17:11:35 2020 -0700 rename procs & threads for logging commit 77f064e89aaa639c97b1bf7aeb4748a2fefe04d4 Author: AJ Slater <aj@slater.net> Date: Sat Oct 3 21:55:52 2020 -0700 broken asgi signals handling? * Squashed commit of the following: commit 4eca7486fa16467cfee0e38f4d6560c8b8487d12 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 18:19:12 2020 -0700 replace old DEV flag with DEBUG remove redundancy * lint * stop pytest from testing migrations * oops broke flake8 * Squashed commit of the following: commit efa7750ba35e3e32ba005a01cf53aab949c6993c Author: AJ Slater <aj@slater.net> Date: Mon Oct 5 12:27:34 2020 -0700 componentize browser-main commit 3e9caadb2ffa7e7b679ab813d4c5acb4a7f366cb Author: AJ Slater <aj@slater.net> Date: Mon Oct 5 12:06:01 2020 -0700 oops forgot to commit settings file for module change commit ca5168afd78bf05bdc7572120c746beb2e93ef22 Author: AJ Slater <aj@slater.net> Date: Mon Oct 5 12:05:31 2020 -0700 settings module commit 54af69ae2562fdb7b101ef57d5ebbf9dd8088482 Author: AJ Slater <aj@slater.net> Date: Sun Oct 4 20:25:01 2020 -0700 componentize browser * lint * componentize reader * remove todo suggestion * more metadata fields * update news * fix restarts * its closer to 5 seconds in practice * update poetry and npm packages * change order of stop and start daemons a bit * fix finding webpack files. Use regex instead of glob * bump news and version * fix root_path bug. v0.5.17 * renaming some variables fixes settings changing * bump version and news * reform progress dialog with offspring timing * no touch stuff actually used * always return * Move sockets to vue-native-sockets. Componentize snackbars and move them to app level * hypercorn bugfix doesn't squash logging anymore. remove workaround. * new poetry install option * lint * update npm * remove an extra futile conenction attempt * add a publish check * lint * fix websocket dumb test * move includes to set.has * log the path as well as the reason to stdout for log watchers * bump news * Squashed commit of the following: commit 926deb8f3214f1c0a3c818904492df0182e42ded Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 20:39:25 2020 -0700 remove orjson parser. needs glibc commit b98a47f8847b7ea8ac3f50beb7c3045e42cae3d1 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 20:38:59 2020 -0700 bump Next Up commit 03248e99c0aeb686d4059ceb57f149974ef255a7 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 20:38:01 2020 -0700 alphabetize deps commit a1f96f39963c3e9bc15325aa09cf68a641c43771 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 20:37:46 2020 -0700 lint commit b1de6c0228d68e1b73d7c034bad68d73de8c619b Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 20:36:51 2020 -0700 fix hypercorn config path commit 27390428900926886cfeccbde97e7149c04486c7 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 19:31:30 2020 -0700 alphabetize pyproject commit edfd191eb7429487acb8ea345cc10ade34dd0df9 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 16:56:11 2020 -0700 bumpt version to 0.6.0 commit 91c52925ada6bbebd19599d7ae04394f92c46eee Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 15:34:20 2020 -0700 just do next to nothing for asgi test commit fe6fd4ce49db31639ea47bbb02b17b111b1b7a5e Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 15:33:51 2020 -0700 fix deprecated log method commit 37ac8132c8c97d74a52c9fa0525b9822204bde41 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 15:29:13 2020 -0700 fix pytest settings and enhance asgi test commit 364fef6d675eb0cd3e43aed96a238c1474281798 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 15:19:50 2020 -0700 poetry update, npm update commit 52ece20751a726f78566fe3ef6085e95a1b529ac Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 15:17:48 2020 -0700 centralize issue nameing and handle decimals and 1/2 better commit 33434f2d0aa43e0577ec63d8fefdeea08d9b2dad Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 14:50:42 2020 -0700 fix overcaching of reader settings commit 9363e3ae218ab2c12042c79d7be70e61b76627d3 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 14:33:31 2020 -0700 lint commit e40f710e383ee003f2941467172bc7f7337bca77 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 14:33:01 2020 -0700 fix padding on dialogs commit f96df2da458a1895441dd9ecd54f4c66f7b84b97 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 14:26:34 2020 -0700 fix reader image centering. move bookmark serializers into own file commit 63610d21bba02614aba6ba236224d23862bab6d4 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 14:06:50 2020 -0700 componentize reader settings dialog commit 2c209bef96781281ddf59b3c7a33785008b7b7e5 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:51:40 2020 -0700 clear form choices more often commit 18ea7033b98aedbf099b2abd410a6f394420e897 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:49:14 2020 -0700 move the vuetify null code into choices json commit 8bd0d2d3836915725e9802c30110366cb07fe2c8 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:31:20 2020 -0700 show browser progress for some user interactions, not others commit a2e3fd015894f26f123f9287d92445c738ffefbb Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:30:47 2020 -0700 fix mark read menu for folders and cleanups commit 785fdbf100fc1389d5b027977a94df20dee3ccdb Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:22:59 2020 -0700 fix manage.py for new settings location commit 77a0d05edc258306cab4e89b6712fa50f65b6cdd Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:04:41 2020 -0700 remove comments commit 6deae30b7effa5fad7116e18b11fe503a54b98ba Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 13:03:58 2020 -0700 clean up serializers with custom fields commit c1c3ab51c4935e84f38021e7a9292945954e9b7e Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 12:43:48 2020 -0700 move special django setup stuff into own file commit e07ea7a552316b92cff452dc6031d7c4f7979ccc Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 12:34:15 2020 -0700 move settings into module commit 1226bb969e03038db677e5702bbcec0f19ebd177 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 12:15:59 2020 -0700 shrink filter controls more. especailly on mobile commit c6fc22f8263b65366e26bbddb3befcb806b51c25 Author: AJ Slater <aj@slater.net> Date: Tue Oct 13 12:03:30 2020 -0700 recheck notify after failed_states notification commit b6cd4b5531ddef8867b8a11e9b37229f0d55dc5e Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 20:50:25 2020 -0700 update npm commit cf192c0c26dd7dedb072d85e4f6cb45de7533307 Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 20:42:45 2020 -0700 comicbox 0.1.5 and update poetry commit 81f17d68a7bf552647b915182c563f4014cabe9a Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 20:42:20 2020 -0700 remoe dry run nonsense commit 99fef62c685c70f7b7c3cf2c457f71bcedc6565e Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 19:57:26 2020 -0700 lint NEWS commit d642581bc62b3514f109b1c18fe4de560cb990a0 Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 19:56:30 2020 -0700 news to md commit 6348b028259b23f2653974f91ec2f2c677a27c09 Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 19:52:14 2020 -0700 unbreak storyArc and seriesgroup filter endpoints commit 87feba07c27f472cd8023311d3738f14cdf6542a Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 19:07:14 2020 -0700 consistent naming of Creators commit ce905132a40e6cc2ca4ee64404a85c0a886e57ca Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 17:34:41 2020 -0700 fix null boolean on book cover commit be0ff1fb7f197cb10c6c88a37e24dc610ad8d58f Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 17:29:04 2020 -0700 reader slider pagination. fixes for reader nav & thumb-label on the inside of the slider button. commit 7617f6e666708d7ca7a54927d7d532b3a14a8212 Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 14:07:17 2020 -0700 bump NEWS commit 8e48e15177f175be1acdcd31e672baea797f9cad Author: AJ Slater <aj@slater.net> Date: Mon Oct 12 14:05:58 2020 -0700 version footer moves to setting dialog commit 515a594e6d015769f91f0522739e0604b054709b Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 14:47:46 2020 -0700 fix settings menu closing commit 5ff9da5d607a061829b953b85a8b667ba12878b2 Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 14:21:08 2020 -0700 change sort icon and add labels on focus to the toolbar commit 06c235f6e1e57afcb7e05a4cfd69251b4b06befa Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 13:03:38 2020 -0700 remove useless sorts. fix reverse sorts commit b3f21bce7a6ce73cdab2f8060678c39117520bad Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 13:03:12 2020 -0700 change warning to debug commit 7641e9b626230bb3b1ce63942559876c8f1f3ffe Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 00:43:15 2020 -0700 format times for browser card order-by. fix sort_by menu length. clean up eslint cruft commit 40f1e6f54378e961e12cb9a79ab3931b63e5335c Author: AJ Slater <aj@slater.net> Date: Sat Oct 10 00:42:21 2020 -0700 fix crash with get_aggregate_field on new sort_by name for Comic commit 415ee902908122d8a0238351dba00a5ebbab283c Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 20:11:44 2020 -0700 lint commit 2a987eef30717f87c374e830af358187c326ed90 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 18:49:23 2020 -0700 first draft of fitlers and sorts commit 21333947890622b82cad6208009913a32aefbb76 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 18:04:49 2020 -0700 rename credit person to creators commit b6738f855d269fefe0b2652b3318ba6004b2359a Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 17:53:19 2020 -0700 fix filtering on none for charfields commit 2d9b9452bf9d2091b4a44c264093f6b7cd4b83d0 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 17:27:46 2020 -0700 add credit_person, teams. fix bug with setBrowseChoices calling twice commit 50fd303026258ae3ce1edf0b23f10ef42fb9cc7f Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 14:53:30 2020 -0700 for choices use aggregate filters commit fe966722fd79eb07a5507ce3699089150289cf18 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 14:07:10 2020 -0700 working filters commit 8c4a0fb8a53d64bdd1e4ea3f7e5baaa07acec908 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 13:12:40 2020 -0700 new filters like pycountry and credit person display but do not filter yet commit 6e717061a6c5f6b6852d5c4a016fcd5efee8c95b Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 12:09:05 2020 -0700 simple new filters commit 9fc372c6be7e984170e81daec208c18448134cfe Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 11:50:20 2020 -0700 add year filter and condense source of filters to one object commit e90a65e77169956dfda212e7f221e06ad472c810 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 11:46:50 2020 -0700 extra protection for empty filter commit 4846d50b6e4cb73535fbfe47f8914e3603b70025 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 11:43:07 2020 -0700 replace ujson with orjson commit d84d725b6310bd101488e505e754748b7d3a24c0 Author: AJ Slater <aj@slater.net> Date: Fri Oct 9 00:17:07 2020 -0700 move default hypercorn toml location. simplify get_root_path function: commit 3f807a9791dd3bf2fb32213b8b25db14c2b21460 Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 23:46:13 2020 -0700 modify news commit f91864b71794a641350a37c9f8f68e022c803933 Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 18:42:34 2020 -0700 bump news commit 07dc108e40b0518c0f43ab9db1a2f77f3884858f Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 18:40:25 2020 -0700 faster json parsing commit 26137ac75f0c009f5ecc12b67d9cfb1c8f5006f5 Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 18:38:18 2020 -0700 fix too visible uproute when there is no route commit 316fefef6340c6a87ae2adefb994f40d3641aa00 Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 18:38:04 2020 -0700 fix nav to r with positive pk commit 8795021b14cf97ab6c1f958747b9b0b371062db7 Author: AJ Slater <aj@slater.net> Date: Thu Oct 8 18:00:13 2020 -0700 api v2 basically working * lint * lint * fix notify on start bug. minor cleanups. * fix redundant navigation. debug logs for browser opened & getpage. don't get on create, wait for opentosee * rename pageNumber to page for consistency with new api * change action names to be declarative * poetry & npm updates * fix my one frontend unit test * oops forgot to remove dry run thing * fix collectstatic for new settings * librarian exception logging just in case * error exit on collect static just incase * remove personal details from git * codex 0.6.1 * lint * Squashed commit of the following: commit a1eb9d1630950052fab714efcdb8a0c04f082b63 Author: AJ Slater <aj@slater.net> Date: Wed Oct 14 18:45:36 2020 -0700 bump version commit a7bfecd8cdaadf6415aaa9dbc1a35cd27c15aef1 Author: AJ Slater <aj@slater.net> Date: Wed Oct 14 18:43:31 2020 -0700 fix warning messages and add an init message commit 76a69aaf868621574d30437dc2146a1cfe61f9cb Author: AJ Slater <aj@slater.net> Date: Wed Oct 14 18:32:40 2020 -0700 lint commit b71759260cab7ae44a29bf740935ffc3421242ed Author: AJ Slater <aj@slater.net> Date: Wed Oct 14 18:31:09 2020 -0700 restore dev-flag * speling * debug logging * turn librariand into a class * faulthander * turn debug on for development * refactor hypercorn config parsing * rename some hypercorn settings methods * collapse DEV into DEBUG again. add LOGLEVEL * bump news * bump version
1 parent d99f48b commit ad46ad9

22 files changed

+258
-244
lines changed

NEWS.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Codex News
22

3+
## v0.6.3
4+
5+
- Add LOGLEVEL environment variable. Set to DEBUG to see everything.
6+
- Removed DEV environment variable.
7+
- Possible fix for newly imported covers not displaying.
8+
39
## v0.6.2
410

511
- Librarian startup crash is intermittent and only in docker.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ Codex is a Django Python webserver with a VueJS front end. This is my first ever
207207

208208
`/codex/dev-server-ttabs.sh` will run the three or four different servers reccomended for development in terminal tabs.
209209

210-
`/codex/run.sh` runs the main Django server. Set the `DEV` environment variables to activate both development and debug mode: `DEV=1 ./run.sh`. This also lets you run the server without collecting static files for production and with a hot reloading frontend.
210+
`/codex/run.sh` runs the main Django server. Set the `DEBUG` environment variable to activate debug mode: `DEBUG=1 ./run.sh`. This also lets you run the server without collecting static files for production and with a hot reloading frontend.
211211

212212
### Links
213213

codex/librarian/daemon.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33

44
def start_daemons():
55
"""Start the daemons. But don't import them until django is set up."""
6-
from codex.librarian.librariand import start_librarian
6+
from codex.librarian.librariand import LibrarianDaemon
77
from codex.websocket_server import start_flood_control_worker
88

9+
LibrarianDaemon.start()
910
start_flood_control_worker()
10-
start_librarian()
1111

1212

1313
def stop_daemons():
1414
"""Stop the daemons. But don't import them until django is set up."""
15-
from codex.librarian.librariand import stop_librarian
15+
from codex.librarian.librariand import LibrarianDaemon
1616
from codex.websocket_server import stop_flood_control_worker
1717

18+
LibrarianDaemon.stop()
1819
stop_flood_control_worker()
19-
stop_librarian()

codex/librarian/librariand.py

Lines changed: 158 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
"""Library process worker for background tasks."""
2+
import faulthandler
23
import logging
34
import os
45
import platform
56
import time
67

78
from multiprocessing import Pool
89
from multiprocessing import Process
9-
from multiprocessing import Value
1010
from time import sleep
1111

1212
import simplejson as json
@@ -41,6 +41,7 @@
4141
from codex.models import Folder
4242
from codex.serializers.webpack import WEBSOCKET_MESSAGES as WS_MSGS
4343
from codex.settings.django_setup import django_setup
44+
from codex.settings.settings import PORT
4445
from codex.websocket_server import BROADCAST_SECRET
4546
from codex.websocket_server import IPC_SUFFIX
4647
from codex.websocket_server import WS_API_PATH
@@ -50,11 +51,9 @@
5051
django_setup()
5152

5253
LOG = logging.getLogger(__name__)
53-
PORT = Value("i", 9810) # Shared memory overwritten in run.py
5454
BROADCAST_URL_TMPL = "ws://localhost:{port}/" + WS_API_PATH + IPC_SUFFIX
5555
MAX_WS_ATTEMPTS = 4
5656
SHUTDOWN_TASK = "shutdown"
57-
librarian_proc = None
5857
if platform.system() == "Darwin":
5958
# XXX Fixes QUEUE sharing with default spawn start method. The spawn
6059
# method is also very very slow. Use fork and the
@@ -65,152 +64,163 @@
6564
set_start_method("fork", force=True)
6665

6766

68-
def get_websocket():
69-
"""Connect to the websocket broadcast url."""
70-
# Its easier to inject these into the ws server event loop
71-
# by sending them instead of using shared memory.
72-
ws = None
73-
attempts = 0
74-
while ws is None or not ws.connected and attempts <= MAX_WS_ATTEMPTS:
75-
time.sleep(0.5)
76-
try:
77-
broadcast_url = BROADCAST_URL_TMPL.format(port=PORT.value)
78-
ws = create_connection(broadcast_url)
79-
except ConnectionRefusedError:
80-
attempts += 1
81-
if ws and ws.connected:
82-
LOG.info("Librarian connected to websockets.")
83-
else:
84-
LOG.error("Librarian cannot connect to websockets.")
85-
return ws
86-
87-
88-
def send_json(ws, typ, message):
89-
"""Send a JSON message."""
90-
obj = {"type": typ}
91-
if typ in MessageType.SECRET_TYPES:
92-
obj["secret"] = BROADCAST_SECRET.value
93-
obj["message"] = message
94-
msg = json.dumps(obj)
95-
if ws is None or not ws.connected:
96-
ws = get_websocket()
97-
ws.send(msg)
98-
return ws
99-
100-
101-
def process_task(task, ws, pool, watcher, main_pid):
102-
"""Process an individual task popped off the queue."""
103-
run = True
104-
try:
105-
if isinstance(task, ScanRootTask):
106-
msg = WS_MSGS["SCAN_LIBRARY"]
107-
ws = send_json(ws, MessageType.ADMIN_BROADCAST, msg)
108-
scan_root(task.library_id, task.force)
109-
elif isinstance(task, ScanDoneTask):
110-
if task.failed_imports:
111-
msg = WS_MSGS["FAILED_IMPORTS"]
112-
else:
113-
msg = WS_MSGS["SCAN_DONE"]
114-
ws = send_json(ws, MessageType.ADMIN_BROADCAST, msg)
115-
elif isinstance(task, ComicModifiedTask):
116-
import_comic(task.library_id, task.src_path)
117-
elif isinstance(task, ComicCoverCreateTask):
118-
# Cover creation is cpu bound, farm it out.
119-
args = (task.src_path, task.db_cover_path, task.force)
120-
pool.apply_async(create_comic_cover, args=args)
121-
elif isinstance(task, FolderMovedTask):
122-
obj_moved(task.src_path, task.dest_path, Folder)
123-
elif isinstance(task, ComicMovedTask):
124-
obj_moved(task.src_path, task.dest_path, Comic)
125-
elif isinstance(task, ComicDeletedTask):
126-
obj_deleted(task.src_path, Comic)
127-
elif isinstance(task, FolderDeletedTask):
128-
obj_deleted(task.src_path, Folder)
129-
elif isinstance(task, LibraryChangedTask):
130-
msg = WS_MSGS["LIBRARY_CHANGED"]
131-
ws = send_json(ws, MessageType.BROADCAST, msg)
132-
elif isinstance(task, WatcherCronTask):
133-
sleep(task.sleep)
134-
watcher.set_all_library_watches()
135-
elif isinstance(task, ScannerCronTask):
136-
sleep(task.sleep)
137-
scan_cron()
138-
elif isinstance(task, UpdateCronTask):
139-
sleep(task.sleep)
140-
update_codex(main_pid, task.force)
141-
elif isinstance(task, RestartTask):
142-
sleep(task.sleep)
143-
restart_codex(main_pid)
144-
elif task == SHUTDOWN_TASK:
145-
LOG.info("Shutting down Librarian...")
146-
run = False
67+
# XXX Should this inherit from Process?
68+
class LibrarianDaemon:
69+
"""Librarian Process."""
70+
71+
proc = None
72+
73+
def __init__(self, main_pid):
74+
"""Create threads and process pool."""
75+
LOG.debug("Librarian initializing...")
76+
self.main_pid = main_pid
77+
self.watcher = Uatu()
78+
self.crond = Crond()
79+
self.pool = Pool()
80+
self.ws = None
81+
LOG.debug("Librarian initialized.")
82+
83+
def ensure_websocket(self):
84+
"""Connect to the websocket broadcast url."""
85+
# Its easier to inject these into the ws server event loop
86+
# by sending them instead of using shared memory.
87+
if self.ws is not None and self.ws.connected:
88+
return
89+
attempts = 0
90+
while self.ws is None or not self.ws.connected and attempts <= MAX_WS_ATTEMPTS:
91+
time.sleep(0.5)
92+
try:
93+
broadcast_url = BROADCAST_URL_TMPL.format(port=PORT)
94+
self.ws = create_connection(broadcast_url)
95+
except ConnectionRefusedError:
96+
attempts += 1
97+
if self.ws and self.ws.connected:
98+
LOG.info("Librarian connected to websockets.")
14799
else:
148-
LOG.warning(f"Unhandled task popped: {task}")
149-
except (Comic.DoesNotExist, Folder.DoesNotExist) as exc:
150-
LOG.warning(exc)
151-
except Exception as exc:
152-
LOG.exception(exc)
153-
return run
154-
155-
156-
def librarian(main_pid):
157-
"""
158-
Process tasks from the queue.
159-
160-
This proces also runs the crond thread and the Watchdog Observer
161-
threads.
162-
"""
163-
try:
164-
LOG.info("Started Librarian.")
165-
ws = None
166-
LOG.debug("ws declared.")
100+
LOG.error("Librarian cannot connect to websockets.")
101+
102+
def send_json(self, typ, message):
103+
"""Send a JSON message."""
104+
obj = {"type": typ}
105+
if typ in MessageType.SECRET_TYPES:
106+
obj["secret"] = BROADCAST_SECRET.value
107+
obj["message"] = message
108+
msg = json.dumps(obj)
109+
self.ensure_websocket()
110+
self.ws.send(msg)
111+
112+
def process_task(self, task):
113+
"""Process an individual task popped off the queue."""
167114
run = True
168-
LOG.debug("about to start daemons")
169-
watcher = Uatu()
170-
LOG.debug("created Uatu")
171-
crond = Crond()
172-
LOG.debug("created Cron")
173-
watcher.start()
115+
try:
116+
if isinstance(task, ScanRootTask):
117+
msg = WS_MSGS["SCAN_LIBRARY"]
118+
self.send_json(MessageType.ADMIN_BROADCAST, msg)
119+
scan_root(task.library_id, task.force)
120+
elif isinstance(task, ScanDoneTask):
121+
if task.failed_imports:
122+
msg = WS_MSGS["FAILED_IMPORTS"]
123+
else:
124+
msg = WS_MSGS["SCAN_DONE"]
125+
self.send_json(MessageType.ADMIN_BROADCAST, msg)
126+
elif isinstance(task, ComicModifiedTask):
127+
import_comic(task.library_id, task.src_path)
128+
elif isinstance(task, ComicCoverCreateTask):
129+
# Cover creation is cpu bound, farm it out.
130+
args = (task.src_path, task.db_cover_path, task.force)
131+
self.pool.apply_async(create_comic_cover, args=args)
132+
elif isinstance(task, FolderMovedTask):
133+
obj_moved(task.src_path, task.dest_path, Folder)
134+
elif isinstance(task, ComicMovedTask):
135+
obj_moved(task.src_path, task.dest_path, Comic)
136+
elif isinstance(task, ComicDeletedTask):
137+
obj_deleted(task.src_path, Comic)
138+
elif isinstance(task, FolderDeletedTask):
139+
obj_deleted(task.src_path, Folder)
140+
elif isinstance(task, LibraryChangedTask):
141+
msg = WS_MSGS["LIBRARY_CHANGED"]
142+
self.send_json(MessageType.BROADCAST, msg)
143+
elif isinstance(task, WatcherCronTask):
144+
sleep(task.sleep)
145+
self.watcher.set_all_library_watches()
146+
elif isinstance(task, ScannerCronTask):
147+
sleep(task.sleep)
148+
scan_cron()
149+
elif isinstance(task, UpdateCronTask):
150+
sleep(task.sleep)
151+
update_codex(self.main_pid, task.force)
152+
elif isinstance(task, RestartTask):
153+
sleep(task.sleep)
154+
restart_codex(self.main_pid)
155+
elif task == SHUTDOWN_TASK:
156+
LOG.info("Shutting down Librarian...")
157+
run = False
158+
else:
159+
LOG.warning(f"Unhandled task popped: {task}")
160+
except (Comic.DoesNotExist, Folder.DoesNotExist) as exc:
161+
LOG.warning(exc)
162+
except Exception as exc:
163+
LOG.exception(exc)
164+
return run
165+
166+
def start_threads(self):
167+
"""Start all librarian's threads."""
168+
LOG.info("Starting Librarian Threads...")
169+
self.watcher.start()
174170
LOG.debug("started Uatu")
175-
crond.start()
171+
self.crond.start()
176172
LOG.debug("started Cron")
177-
pool = Pool()
178-
LOG.debug("created process pool")
179-
LOG.info("Librarian started threads and waiting for tasks.")
180-
while run:
181-
task = QUEUE.get()
182-
run = process_task(task, ws, pool, watcher, main_pid)
183-
184-
if ws:
185-
ws.close()
186-
pool.close()
187-
crond.stop()
188-
watcher.stop()
189-
crond.join()
190-
watcher.join()
191-
pool.join()
192-
except Exception as exc:
193-
LOG.error("Librarian crashed.")
194-
LOG.exception(exc)
195-
LOG.info("Stopped Librarian.")
196-
197-
198-
def start_librarian():
199-
"""Start the worker process."""
200-
global librarian_proc
201-
202-
args = (os.getpid(),)
203-
librarian_proc = Process(
204-
target=librarian, name="librarian", args=args, daemon=False
205-
)
206-
librarian_proc.start()
207-
# this signal is thrown by runserver which i don't use anymore
208-
# file_changed.connect(stop_librarian)
209-
210-
211-
def stop_librarian(*args, **kwargs):
212-
"""Stop the librarian process."""
213-
global librarian_proc
214-
QUEUE.put(SHUTDOWN_TASK)
215-
if librarian_proc:
216-
librarian_proc.join()
173+
174+
def stop_threads(self):
175+
"""Stop all librarian's threads."""
176+
LOG.debug("Stopping threads...")
177+
if self.ws:
178+
self.ws.close()
179+
self.pool.close()
180+
self.crond.stop()
181+
self.watcher.stop()
182+
self.crond.join()
183+
self.watcher.join()
184+
self.pool.join()
185+
186+
def loop(self):
187+
"""
188+
Process tasks from the queue.
189+
190+
This proces also runs the crond thread and the Watchdog Observer
191+
threads.
192+
"""
193+
try:
194+
faulthandler.enable()
195+
LOG.info("Started Librarian.")
196+
self.start_threads()
197+
run = True
198+
LOG.info("Librarian started threads and waiting for tasks.")
199+
while run:
200+
task = QUEUE.get()
201+
run = self.process_task(task)
202+
self.stop_threads()
203+
except Exception as exc:
204+
LOG.error("Librarian crashed.")
205+
LOG.exception(exc)
206+
LOG.info("Stopped Librarian.")
207+
208+
@staticmethod
209+
def worker(main_pid):
210+
"""Create a new librarian daemon and run it."""
211+
daemon = LibrarianDaemon(main_pid)
212+
daemon.loop()
213+
214+
@classmethod
215+
def start(cls):
216+
"""Start the worker process."""
217+
args = (os.getpid(),)
218+
cls.proc = Process(target=cls.worker, name="librarian", args=args, daemon=False)
219+
cls.proc.start()
220+
221+
@classmethod
222+
def stop(cls):
223+
"""Stop the librarian process."""
224+
QUEUE.put(SHUTDOWN_TASK)
225+
if cls.proc:
226+
cls.proc.join()

0 commit comments

Comments
 (0)