Skip to content

Thread cleanup - #88

Merged
ajslater merged 83 commits into
developfrom
thread_cleanup
Nov 3, 2021
Merged

ajslater merged 83 commits into
developfrom
thread_cleanup

Conversation

@ajslater

@ajslater ajslater commented Nov 3, 2021

Copy link
Copy Markdown
Owner

Clean up multiprocessing and threading

@ajslater
ajslater merged commit 3c15186 into develop Nov 3, 2021
@ajslater
ajslater deleted the thread_cleanup branch November 3, 2021 20:23
ajslater added a commit that referenced this pull request Dec 15, 2021
* lint

* switch codex to using simpleques

* use much simpler EnvironmentPlugin for passing in package version

* advance eslint version

* upgrade babel eslint parser and webpack to v5

* update sass-loader

* lint

* oops sass-loader 11+ needs vuecli v5

* new browser title more explicit

* fix titles for folders

* fix loading browserChoices for python

* rc1 uses comicbox 0.1.7 which doesn't use the regex package

* restore all platforms to env

* 0.6.8rc2 uses python 3.9, 3.10 is incompatible with hypercorn

* change defaults to series instead of volume

* toolbar with subheading for group type

* update package.json

* update deps

* update axios

* bump version to rc3

* catch a rare navigate to same place error

* django 3.2 migration for auto ids

* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real
ajslater added a commit that referenced this pull request Dec 15, 2021
* use much simpler EnvironmentPlugin for passing in package version

* advance eslint version

* upgrade babel eslint parser and webpack to v5

* update sass-loader

* lint

* oops sass-loader 11+ needs vuecli v5

* new browser title more explicit

* fix titles for folders

* fix loading browserChoices for python

* rc1 uses comicbox 0.1.7 which doesn't use the regex package

* restore all platforms to env

* 0.6.8rc2 uses python 3.9, 3.10 is incompatible with hypercorn

* change defaults to series instead of volume

* toolbar with subheading for group type

* update package.json

* update deps

* update axios

* bump version to rc3

* catch a rare navigate to same place error

* django 3.2 migration for auto ids

* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci
ajslater added a commit that referenced this pull request Dec 15, 2021
* update sass-loader

* lint

* oops sass-loader 11+ needs vuecli v5

* new browser title more explicit

* fix titles for folders

* fix loading browserChoices for python

* rc1 uses comicbox 0.1.7 which doesn't use the regex package

* restore all platforms to env

* 0.6.8rc2 uses python 3.9, 3.10 is incompatible with hypercorn

* change defaults to series instead of volume

* toolbar with subheading for group type

* update package.json

* update deps

* update axios

* bump version to rc3

* catch a rare navigate to same place error

* django 3.2 migration for auto ids

* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1
ajslater added a commit that referenced this pull request Dec 15, 2021
* oops sass-loader 11+ needs vuecli v5

* new browser title more explicit

* fix titles for folders

* fix loading browserChoices for python

* rc1 uses comicbox 0.1.7 which doesn't use the regex package

* restore all platforms to env

* 0.6.8rc2 uses python 3.9, 3.10 is incompatible with hypercorn

* change defaults to series instead of volume

* toolbar with subheading for group type

* update package.json

* update deps

* update axios

* bump version to rc3

* catch a rare navigate to same place error

* django 3.2 migration for auto ids

* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1

* fix integrity bug
ajslater added a commit that referenced this pull request Dec 17, 2021
* bump version to rc3

* catch a rare navigate to same place error

* django 3.2 migration for auto ids

* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1

* fix integrity bug

* Squashed commit of the following:

commit f1334d552a021d03a8fc5ea89c31cac805711299
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:30:47 2021 -0800

    script rename

commit 53bc44f30bc134f267a2d153ac87688377ced25f
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:00:48 2021 -0800

    picopt

commit 958f51cde02fd32542ca5983982f6f3664aacba3
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:50:34 2021 -0800

    lint

commit b7b20fb084f61c26b3ecd6c8ce3d94778e2f0658
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:49:33 2021 -0800

    don't need to ignore md5 lockfile anymore

commit 89a36563763eead6284027084c45629699734077
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:46 2021 -0800

    for test script us amd64 because that's a my mac

commit a7b724865b23eaf507baf252c2d3fa132134b5a8
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:24 2021 -0800

    remove development ! from script

commit a57c754d4c0d8a5ddba31ed902ce04d2fae1b6b1
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 19:09:27 2021 -0800

    only use hadolint on mac

commit 079a2adfeda475ec924c44dcdcdbfc073c806170
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:37:17 2021 -0800

    dont store md5 in a file

commit 55b7a92516bccd50547da6d8fb267d7670c3967e
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:34:36 2021 -0800

    can kind of cache wheels on docker hub now. needds more testing

* Squashed commit of the following:

commit 9cda3e199256ff9d91d823141f88e1e80cb8cc07
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:41 2021 -0800

    lint

commit e2111c593f032de0d5af9e3774c8864fa0729ecc
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:37 2021 -0800

    poetry is now in codex-wheel-builder

commit badf327668d1c2b2f2c309e949c540bfecea19a0
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:49:26 2021 -0800

    rename docker scripts

commit 1b6867e63e450302e7f22025cd5b7a7d51aa042c
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:57 2021 -0800

    use buildx bake for codex

commit c6c1e8878dc97a7057c7414325d0c93fad1aa9e5
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:47 2021 -0800

    ignore more paths

commit 7c22f745623416b9f26be0c277975ad300e42e8a
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 14:05:44 2021 -0800

    build scripts

* Squashed commit of the following:

commit b47ef0b4d47156adffc78797ddc89e63feb6d123
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:38:23 2021 -0800

    more indexes for comic fields

commit 5e1b6e409f4cffee61841725706386cba4f26f1d
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:25:33 2021 -0800

    fix latestversion update. remove parent_folder override for comic

* trap illegal folder error corectly

* update poetry & npm

* update cryptography package

* v0.7.3 and lint

* fix codex-wheels tags and hopefully docker-compose.yaml

* remove unused platform nodes from docker-compose

* fix codex-wheels build

* fix names of circleci jobs
ajslater added a commit that referenced this pull request Dec 17, 2021
* ignore personal TODO list

* lint

* fix version number

* Squashed commit of the following:

commit 4b50bb83599d7084a3d96264b49d363d7b3d5114
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 17:32:34 2021 -0700

    Better docs for autofield

commit b9ffd1e7300333e7c2dd1d15ea95cbcf535bccb3
Author: AJ Slater <aj@slater.net>
Date:   Tue Oct 12 16:51:07 2021 -0700

    Autofield instead of bigautofield

* 0.6.8rc4

* add swiping back to reader

* jsconfig for vueter

* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1

* fix integrity bug

* Squashed commit of the following:

commit f1334d552a021d03a8fc5ea89c31cac805711299
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:30:47 2021 -0800

    script rename

commit 53bc44f30bc134f267a2d153ac87688377ced25f
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:00:48 2021 -0800

    picopt

commit 958f51cde02fd32542ca5983982f6f3664aacba3
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:50:34 2021 -0800

    lint

commit b7b20fb084f61c26b3ecd6c8ce3d94778e2f0658
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:49:33 2021 -0800

    don't need to ignore md5 lockfile anymore

commit 89a36563763eead6284027084c45629699734077
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:46 2021 -0800

    for test script us amd64 because that's a my mac

commit a7b724865b23eaf507baf252c2d3fa132134b5a8
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:24 2021 -0800

    remove development ! from script

commit a57c754d4c0d8a5ddba31ed902ce04d2fae1b6b1
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 19:09:27 2021 -0800

    only use hadolint on mac

commit 079a2adfeda475ec924c44dcdcdbfc073c806170
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:37:17 2021 -0800

    dont store md5 in a file

commit 55b7a92516bccd50547da6d8fb267d7670c3967e
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:34:36 2021 -0800

    can kind of cache wheels on docker hub now. needds more testing

* Squashed commit of the following:

commit 9cda3e199256ff9d91d823141f88e1e80cb8cc07
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:41 2021 -0800

    lint

commit e2111c593f032de0d5af9e3774c8864fa0729ecc
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:37 2021 -0800

    poetry is now in codex-wheel-builder

commit badf327668d1c2b2f2c309e949c540bfecea19a0
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:49:26 2021 -0800

    rename docker scripts

commit 1b6867e63e450302e7f22025cd5b7a7d51aa042c
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:57 2021 -0800

    use buildx bake for codex

commit c6c1e8878dc97a7057c7414325d0c93fad1aa9e5
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:47 2021 -0800

    ignore more paths

commit 7c22f745623416b9f26be0c277975ad300e42e8a
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 14:05:44 2021 -0800

    build scripts

* Squashed commit of the following:

commit b47ef0b4d47156adffc78797ddc89e63feb6d123
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:38:23 2021 -0800

    more indexes for comic fields

commit 5e1b6e409f4cffee61841725706386cba4f26f1d
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:25:33 2021 -0800

    fix latestversion update. remove parent_folder override for comic

* trap illegal folder error corectly

* update poetry & npm

* update cryptography package

* v0.7.3 and lint

* fix codex-wheels tags and hopefully docker-compose.yaml

* remove unused platform nodes from docker-compose

* fix codex-wheels build

* fix names of circleci jobs

* update npm

* fix tagging on build scripts
ajslater added a commit that referenced this pull request Dec 19, 2021
* update proxy tester nginx config to use port 80

* update deps

* Squashed commit of the following:
kb help

commit a2b14296ec6b542ce81e962eaf33a1214ce2f549
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:47 2021 -0700

    remove cruft

commit 2117b1b5c3dd82b77b8bf79c86f096288931d649
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:37:08 2021 -0700

    fix 2 hotkey

commit 8624c28d1b9d7a6914ee4c051c2362cc1277d625
Author: AJ Slater <aj@slater.net>
Date:   Wed Oct 13 14:20:09 2021 -0700

    mostly working

* 0.6.8rc5

* v0.6.8

* better fix for sed in build dist

* remove editing metadata from the next up

* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1

* fix integrity bug

* Squashed commit of the following:

commit f1334d552a021d03a8fc5ea89c31cac805711299
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:30:47 2021 -0800

    script rename

commit 53bc44f30bc134f267a2d153ac87688377ced25f
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:00:48 2021 -0800

    picopt

commit 958f51cde02fd32542ca5983982f6f3664aacba3
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:50:34 2021 -0800

    lint

commit b7b20fb084f61c26b3ecd6c8ce3d94778e2f0658
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:49:33 2021 -0800

    don't need to ignore md5 lockfile anymore

commit 89a36563763eead6284027084c45629699734077
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:46 2021 -0800

    for test script us amd64 because that's a my mac

commit a7b724865b23eaf507baf252c2d3fa132134b5a8
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:24 2021 -0800

    remove development ! from script

commit a57c754d4c0d8a5ddba31ed902ce04d2fae1b6b1
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 19:09:27 2021 -0800

    only use hadolint on mac

commit 079a2adfeda475ec924c44dcdcdbfc073c806170
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:37:17 2021 -0800

    dont store md5 in a file

commit 55b7a92516bccd50547da6d8fb267d7670c3967e
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:34:36 2021 -0800

    can kind of cache wheels on docker hub now. needds more testing

* Squashed commit of the following:

commit 9cda3e199256ff9d91d823141f88e1e80cb8cc07
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:41 2021 -0800

    lint

commit e2111c593f032de0d5af9e3774c8864fa0729ecc
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:37 2021 -0800

    poetry is now in codex-wheel-builder

commit badf327668d1c2b2f2c309e949c540bfecea19a0
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:49:26 2021 -0800

    rename docker scripts

commit 1b6867e63e450302e7f22025cd5b7a7d51aa042c
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:57 2021 -0800

    use buildx bake for codex

commit c6c1e8878dc97a7057c7414325d0c93fad1aa9e5
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:47 2021 -0800

    ignore more paths

commit 7c22f745623416b9f26be0c277975ad300e42e8a
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 14:05:44 2021 -0800

    build scripts

* Squashed commit of the following:

commit b47ef0b4d47156adffc78797ddc89e63feb6d123
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:38:23 2021 -0800

    more indexes for comic fields

commit 5e1b6e409f4cffee61841725706386cba4f26f1d
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:25:33 2021 -0800

    fix latestversion update. remove parent_folder override for comic

* trap illegal folder error corectly

* update poetry & npm

* update cryptography package

* v0.7.3 and lint

* fix codex-wheels tags and hopefully docker-compose.yaml

* remove unused platform nodes from docker-compose

* fix codex-wheels build

* fix names of circleci jobs

* update npm

* fix tagging on build scripts

* Fix last filter, group, sort not loading properly for some new views

* codespell skip

* big integrity cleanup and simplification. use through model more.

* bump to 0.7.4

* new eslint-promise

* eslint 8
ajslater added a commit that referenced this pull request Dec 21, 2021
* notes on outdated npm deps

* Bulk database imports (#87)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* Thread cleanup (#88)

* rename queue.py file for type checker

* basically working bulk import

* update poetry

* commented out mypy stub settings for django

* pyright for lint

* oops forgot to commmit bulk_import goodness

* fix credit update

* remove print cruft

* Fix Bugs. Move everything to bulk method. Create folder move & comic move functions. fix the watcher.

* change comments

* remove prints

* move some aggregating code from query into the aggregator

* more explicit variables

* more logging

* remove cruft

* clean up through model getting

* modularlize presave routines for groups & folders

* use an EventBatcher thread to do bulk moves

* Add librarychanged tasks for bulk imports and moves

* consolidate buffer threads in a class

* lint

* lint

* poetry & npm update

* remove deprecated option

* better import logging

* more logging

* tryna batch all this

* fix debug line

* fix logging

* working frontend again. downgraded webpack

* extra deps notes

* update poetry

* liberal use of put_nowait() fixes blocked comic creation

* Fix blocked comic creation with put_nowait() also fix ambiguous group linking bug

* fix total reporting logging

* fix task creation in watcher

* newer package-lock

* revert that put_nowait nonsense

* working scan thread

* more exception handling for thread loops and some _ prefixes

* just a little _ function cleanup in watcherd

* fix minor bugs and differences with bulk branch"

* additional exception catching in lifespan just to be sure

* remove useless print

* move event batchthread startup to a better place

* remove errant prints

* lint

* batching for big queries to try to fix sqlite bug

* upgrade npm

* upgrade poetry

* adjust batch sizes

* bump version

* fix bad function name

* lint

* instance queue for scanner thread

* bulk is now implied

* fix some logging and cleanup comments"

* update readme

* cleanup threads

* rename thread file and class

* make the notification worker handle multiple messages

* replace libarary using websockets with queue

* big thread consolidation into AggregateMessageQueuedThread with same run loop

* move method near where its used

* consolidate more into Notifier class. Only start NOTIFIER thread one place

* better lifecycle for notifier thread and move more things into notifier class

* moved conns into Notifier

* remove unused django_setup()

* modularize websocket server more. improve imports in lifespan

* clean up librarian by moving initializeion stuff into asgi & lifespan

* rename QUEUE to LIBRARIAN_QUEUE to be less ambiguous

* seperate notifier into its own file

* less ambigous debug

* make getLogger import more specific

* lint

* merge extraneous file

* minor lint and reoder join

* fix test

* version bump to 0.7.0rc0

* poetry and npm update

* update npm

* update @babel/eslint-parser supports eslint 8

* Faster covers (#89)

* _ for comic cover function names

* admin regen covers task

* update news for admin feature

* create bulk covers

* fix logging

* only use the bulk thread now, but not all calls are batched properly

* bulk browser cover creation

* bulk and single comic where appropriate

* update news. cleanup librarian

* Squashed commit of the following:

commit ab7a1ca54d4bfae42be60b635dd30c76b50f0845
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 18:21:40 2021 -0700

    cleanup notifier

* Squashed commit of the following:

commit cdbbe3454ae4ee56e8f873a176799784e198e9e8
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 19:58:33 2021 -0700

    consolidate thread logic

* Squashed commit of the following:

commit da0202eb186daa6dda47bcbb6f66748af101d461
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:51:10 2021 -0700

    fix name with referencing models before they're changed probably

commit c45e96b259b7bca592d20ef2448db6c90d264ba0
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:47:49 2021 -0700

    model reference threw a bug fix

commit 6006ffecd12ab925dd0af9e5677ca232e540c3eb
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 3 21:41:51 2021 -0700

    removed is_default and changed folder to folder

* Squashed commit of the following:

commit 1bf2641fa84e80310f2214e73d88220a0442e025
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:06:32 2021 -0700

    don't change volume names on the new import

commit 73b7be1424a504a7c4b66a6183d6e811b0743e38
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 16:05:18 2021 -0700

    fix missing comic in db bug for cover generation

commit 08ba39307ef8f02c56ea868af0451a994978d0fb
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:32:05 2021 -0700

    less ambigous scanner logging

commit 7092e62575521d94bd6173654419dfdeeb93a02b
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 15:29:43 2021 -0700

    fix scanner error on library not found.

commit 0075ee8b98c038784cd668176721189c685fc6dc
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 14:59:42 2021 -0700

    pyright linting. configure vulture to only point out egregious problems

commit 15f46e863d6a3eb5bf607a841eaf6aaec8001695
Author: AJ Slater <aj@slater.net>
Date:   Thu Nov 4 11:25:20 2021 -0700

    update README & NEWS

* update circleci image

* Squashed commit of the following:

commit ae98321
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:53:17 2021 -0700

    update news for improvements

commit 56069d4
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 5 00:36:13 2021 -0700

    cover during import

* bulk cover cleanup. remove unused task

* Squashed commit of the following:

commit 2096d4eecb394c0b0bdd815e852647583232fa15
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:13:52 2021 -0800

    lint

commit b1b88b37466372dbdf2797292509c10a2547fc8e
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 20:12:11 2021 -0800

    lint, typing hack

commit 6581e9351ef3f4cfb51e7074be898ca0146871fa
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 19:55:58 2021 -0800

    lint and fix up some logging

commit 8e8b1bed765c030721fce292b546b53cab98d29b
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 7 16:56:42 2021 -0800

    bunch of logging cleanups and a new log level VERBOSE

* fix always recreating covers bug

* fix deleting a library bug

* further fix deleted libraries on watcher

* fix query_fks verbose loggging counts

* fix comic model name string

* Squashed commit of the following:

commit 1a507f97522e9deb2115c617349a2468f2b43b90
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:21:11 2021 -0800

    manually update updated_at for all bulk updates.

commit 23f4cb5f2cce80f3159eb210a3cab590d270e1f3
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:45 2021 -0800

    fix bug displaying updated_at for created_at

commit f802144fa74d1ff8bcc74d5e0dda13e1a0548782
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:19:23 2021 -0800

    just use python json

commit 4600acbddbaa5f2c61aba11c9aa20a8276224570
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:18:43 2021 -0800

    use database for latest_version and vacuum.

commit e7522c1751ae74c3344047987e09b755e6680d46
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:16:09 2021 -0800

    update hypercorn and pyright

commit 775e5276f3eba8cd798526e0115ec8d05836c832
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:39 2021 -0800

    lint

commit 5e56cc4f984359357e860ae589008955919a5a2f
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 9 16:15:28 2021 -0800

    shfmt!

* lint

* bump NEWS

* logging change and fix activate_wal_journal startup

* logging fix

* fixed m2m folder linking

* lint dockerfile and add AM_I_IN_A_DOCKER_CONTAINER env var

* keep regular kwargs name

* fix credit table frontend

* fix m2m metadata getting for aggregate comics

* Squashed commit of the following:

commit 198fd48b3d5e2ee259c51c71e01eee5fadb06f46
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 11:43:04 2021 -0800

    reorg watchdog files

commit d99132fe50f1c9a0f2407cdec07a249e93f8937b
Author: AJ Slater <aj@slater.net>
Date:   Wed Nov 17 10:38:48 2021 -0800

    fix crash on dir not found

commit 30cc7f85db704d8ca9da5ccb3abc1fa2e534bdba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 22:21:12 2021 -0800

    update admin page docs

commit f8730fe2d861410190334a4f1d0d32c0534009a8
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 21:54:27 2021 -0800

    fix database polling observer shutdown

commit ccdf47854da630be53765439f8780b0e800cb6dc
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 20:08:10 2021 -0800

    clean up emmiter

commit 738084537852f9f3e59fed9f901981ffa2a72b83
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:59:59 2021 -0800

    changed cron to run at local midnight. cleaned up cron code. Only start watchers once.

commit cd686ab54a5bb566f4eef4dd48e18e872fba6bba
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 19:30:51 2021 -0800

    fix polling as a cron job being smart about last_poll and poll_every

commit 41072f4e7868690fab693f434d7845179c9e641a
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 18:08:10 2021 -0800

    handle modified dirs

commit f0b3a7d24cbc54df57c7346721af5bcc8775f763
Author: AJ Slater <aj@slater.net>
Date:   Tue Nov 16 17:48:45 2021 -0800

    basically working poller

commit 16b97915f227d7a11670ee4a8b85c91b8f47c560
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 14 23:52:38 2021 -0800

    first draft of watchdog poller

commit 65acec99706d303b827cbfbec8276d60d858af65
Author: AJ Slater <aj@slater.net>
Date:   Fri Nov 12 11:37:17 2021 -0800

    seperate move from import functions

* bump news

* rename bulk_import package to db

* don't ignore FolderModifiedEventsk

* cleanup too many things importing directly from the coverd.

* fix bag watchdog task

* fix comic cover annoation on deep folders

* lint

* remove obsolete SleepTask superclass

* poetry update

* update npm

* lint

* lint & typecheck

* simplify toolbar layout

* fix bad mutation"

* reordered NEWS

* tweak filter select positiong

* fix menu poller

* fix admin on demand polls

* add the sleep back but use a thread.

* lint

* Clean up logging

* use itertools on generator

* consolidate query_fk code

* fix failed imports

* fix moving files into library root path. fix ignoring non comic files

* fix updated_at on Folders modifed

* bulk create missing covers

* clean up counting for logging mostly in the library.db module

* fix missing folder bug on modified

* logging fixes and trap a key erorr for missing metadata

* rename observer methods, log orphaned watch stoppage

* Change events batcher to aggregate on receive events and deduplicate on send.

* fix logging and counting for creating comics

* count comics updated and more log comics per second

* we're really in alpha right now

* fix lint script

* centralize LOG_EVERY constant

* remove cruft

* simplify comic unique constraint

* lint migrations

* fix notify snackbar width

* unique_together for comic model. oops

* settings for max_db_ops

* use MAX_DB_OPS to batch tasks

* much more logging. also a failsafe for not creating pre-existing comics

* use local time for logging

* use local midnight for cron

* document max_db_ops

* fix a big bug with copy vs deepcopy

* truncate cover create times in logs

* let the event batcher time out 60s

* Comment out extra creation checks, i think it was from the bad batcher copy bug

* better logging for query batches

* task logging for entering updater

* remove cruft

* fix Vacuum logging. vacuum before update.

* checkpoint after vacuum

* Squashed commit of the following:

commit 3575d05
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:37:32 2021 -0800

    logging

commit 307b903
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:36:26 2021 -0800

    patch for old schema

commit 990ce96
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:31:34 2021 -0800

    fix relation __in

commit 839e571
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:27 2021 -0800

    use through model to fix m2m relationships

commit 218281c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 17:29:06 2021 -0800

    use updated_at to mark damaged comics

commit 0642028
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 16:11:20 2021 -0800

    integrity fixer

commit 6dfb3a3
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:55:40 2021 -0800

    lint

commit 213e65c
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 15:39:23 2021 -0800

    lint

* fix poll all libraries appearing for non admins

* simplify group validation and change warnings to verbose

* unsupported archive type now a simple warning

* nearing release bump news

* Squashed commit of the following:

commit e03a5e484c9ea2fc3f7fda8f3b3c97f979560198
Author: AJ Slater <aj@slater.net>
Date:   Sun Nov 21 19:28:12 2021 -0800

    database backup. remove vacuum admin flag. combine version and last_version.

* bump news

* use impish and lint

* lint for ci

* new fix for folders integrity check before migrations

* remove cruft from Dockerfile

* fix integrity schema crash on no stat

* remove cruft

* v0.7.0rc1

* fix userbookmark integrity check. v0.7.0rc2

* lint

* add mock comics script

* many logging cleanups

* make run script use default dev env vars.

* move eventsd instance into the librarian properly, cleanup librarian thread startup & shutdown

* use stat instead of updated_at to trigger intetgrity based updates.

* update npm & bump version to 0.7.0rc3

* Squashed commit of the following:

commit d0be5019b365356dcf0d960e7072f91e89351848
Author: AJ Slater <aj@slater.net>
Date:   Sat Nov 27 16:03:30 2021 -0800

    humanize and fix some log messages

* null-ls-root files

* fix logging for webpack serializers loader

* remove cruft, comics read only in docker-compose.yaml

* Squashed commit of the following:

commit 56a045784444caf508436b349bcef3c162591918
Author: AJ Slater <aj@slater.net>
Date:   Sat Dec 4 16:41:06 2021 -0800

    be more careful about polling suspicious looking directories

* fix maintenance running multiple times

* clean up 404 and 403 browser routing

* fix missing max_page metadata, broke reader pretty bad.

* More precise reader page errors.

* Squashed commit of the following:

Don't continually import failed importes unless they change

commit 7d233b63b83e20535112065df7af8d2ec7d353e2
Merge: 21be357 e00576d
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 18:05:19 2021 -0800

    Merge branch 'develop' into failed_import_watched_path

commit 21be35736bb9b6743595d2d7b3ba98aef0e2fb3a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:57:33 2021 -0800

    remove multiple inheritance from models

commit 4f854d406c427d5149d7b01053865303bc543808
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 17:37:28 2021 -0800

    stats on failed imports

* consolidate reader exceptions and handle more of them gracefully

* Squashed commit of the following:

commit 2ca92de91eada640e195a85d1c1821db15504ee1
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 5 19:43:25 2021 -0800

    one big migration

* codespell

* cleanup datatabse after library delete

* fix bad name causing stack busting recursion

* fix browser empty if you start with a reader url

* version bump to rc6

* lint

* fix codespell in lint script

* use naturaldelta from humanize

* poetry & npm update

* version bump 0.7.0rc7

* removed cruft

* reorganize asgi.py

* lint

* fix timezones and logging

* verson bump

* lint

* Squashed commit of the following:

commit 1cb9e0506a9d59a237d544f917e0fdc989548e15
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:57 2021 -0800

    fix notifier shutdhown

commit ab7a11de4439c83f02e4e82b118b929c45a2f945
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 13:08:33 2021 -0800

    remove uneccissary sleep from janitor

commit 54582d5ba044e651ed14a93347c6a8fb230463ea
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 12:54:13 2021 -0800

    Make maintenence more regular. move covers and janitor into modules.

* lint

* version bump 0.7.0rc9

* Squashed commit of the following:

commit f363f1af9c5ae1f3742304474b15e192a01fe3b0
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:44:45 2021 -0800

    fixed dbdatabase snapshot to not use st_dev

commit 9bc616a874a7e6fa6982c44c294b29617a83bb31
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:14:04 2021 -0800

    update poetry and npm

commit 77619a3ebd7508103e4005575127729c2f24f2cb
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:13:43 2021 -0800

    add environment variables.

commit 23e43bdacc4634fb40cf55a0455d90bb097bfbcc
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:53 2021 -0800

    use UTC as default timezone

commit 37b4a48e41f08f9fdf1e12009d455049ee2a8f51
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 6 21:04:28 2021 -0800

    use docker codex instead of docker-codex

* bump news

* fix snackbox width

* better logging for huge creates

* remove cruft

* better emitter logging

* fix humanize logging. add humanize to vacuum results

* let run script have a default loglevel i can override

* lint

* make integrity batch queries to work with very large dbs

* Squashed commit of the following:

commit 67c0e450f72437d8676b9fef85dd6221b3cfb2c4
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 18:47:08 2021 -0800

    Change comic.title to comic.name

* Squashed commit of the following:

commit 6a806d74e8c8f2cd8200d4de9c37240cdb1cb4aa
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:19:16 2021 -0800

    remove x_page_count

commit f6db89949f4602edb8a178413a090cac5f9565e5
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 20:05:13 2021 -0800

    remove x_cover_path

commit 65d1bc563850ea3e6e1e1ca6b10f3d3e5ee2575c
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:53:31 2021 -0800

    remove x_issue and x_path hacks

commit 32ca1f9066913dc56dd0eed58a1b99a688e8a013
Author: AJ Slater <aj@slater.net>
Date:   Tue Dec 7 19:45:47 2021 -0800

    move header name construction to the frontend

* remove cruft comment

* remove comment cruft

* don't annotate children count for comics

* aw nuts we do need child_count everywhere

* Squashed commit of the following:

commit f2715111b8d9042c82f9a18a18755b9bb86a0e9f
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:11:37 2021 -0800

    consolidate migrations

commit e6635d8ccb17125bbbe1b83ebce0eba5a599a196
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 17:09:38 2021 -0800

    clean up metadata.py

commit 41cd086275083a4bdb1269d1dee1c6a61fa952a9
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:23 2021 -0800

    hide null comboboxen and autocomplete boxes

commit 2d62b7d548e4fd3506c7769271a36af9982928ba
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 16:33:01 2021 -0800

    fix recurision in metadata.updateProgress() and lint

commit 71b3edfb0b3907c6fe1551afabd955d54b970194
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:46:02 2021 -0800

    browser fixes for folders

commit fdc1e59f690f6474451b1facc4c5cc183344963b
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 15:45:06 2021 -0800

    fix path in folder

commit 6d7f026056eb7068d132c5e8ec27afa1de77032e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 14:30:18 2021 -0800

    new metadata cleaner and faster. no myself. needs frontend cleanup and consolidation of migration

commit ceefecb9dcc7edf75f983f01ffa6d634e19e1f9a
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 16:21:16 2021 -0800

    remove myself

commit 4b92c2ac4a27d50eb4259812e4256cbf84318cd6
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 8 14:54:27 2021 -0800

    remove dependance on myself

* bump news

* consolidate aggregation code for browser and metadata

* django caching. per user caching for anything bookmark related

* add a sleep to the cron so it doesn't run twice

* reformat updater task log

* Squashed commit of the following:

commit dd810e5754cd43c8a378a3061b4429e1fb14d9fb
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:35:21 2021 -0800

    show % read in number form

commit d8ceca84f3730a59b805a76d11d59803fe19c134
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 21:07:58 2021 -0800

    add pks to m2ms fixes the current frontend

commit d801f17da7b543bd2e6e73f85ce9dc00baecbb06
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 20:45:11 2021 -0800

    lint

commit 0c631becd78480a463a6383ed50b8b1a9961202e
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:55:34 2021 -0800

    lint

commit 603b74c063d620c7f767a24fdee7aa6b8edd18a1
Author: AJ Slater <aj@slater.net>
Date:   Fri Dec 10 19:36:58 2021 -0800

    seems to work without extra aggregates now that metadata is done with joins

* fix folder view misaligned union fields.

* fix integrity running before db migrations have applied

* folder parents in the title

* clean up folder path title creation

* python 3.9 minimum, update poetry

* remove cruft comments

* use python 3.8 features

* Squashed commit of the following:

commit f34368b64740ecaf3ac858a6640e63bf427543e6
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:21:21 2021 -0800

    update volume & series counts on import

commit 4e3cfc8ab4fb7f757979a3621367e1c11fd0673a
Author: AJ Slater <aj@slater.net>
Date:   Sun Dec 12 12:05:57 2021 -0800

    add PYTHONDEVMODE for run.sh

* fix unionfix fields on metadata and browse

* remove print

* make comic model go through same metadata code path as groups to fix metadata.

* us walrus operator

* pathlib 3.8 changes

* add walrus operators and use removesuffix

* remove cruft comment

* simplify metadata count code

* compact create & update group code

* compact update & create group code

* comments

* replace deprecated LOG.warn with LOG.warning

* Add SPEED comment tag.

* fix metadata fks for group displays

* fix metadata display of some raw values

* lint

* Squashed commit of the following:
Django v4.0

commit bfd17f69e044382217e3c0db7ff3e1f9385f5cab
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:32 2021 -0800

    lint

commit dd5eaadccb18e634b8217c8ca3292b1f3318447b
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 13:31:26 2021 -0800

    update npm

commit 8284d816f9015c465668ce1cd00cb9aed3cc7849
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:31:14 2021 -0800

    use QuerySet.bulk_update() return count value

commit f47df48d763d118a7decd301685abdbd57bbeda6
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:14 2021 -0800

    django 4.0

commit 2c6d864e70597f0727982f2dd3900043c391ff4e
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:05:08 2021 -0800

    remove deprecated setting for django 4

commit 35701206816c30e738f0aa58e5ef7114680fe041
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:04:44 2021 -0800

    move notify cache decorator into urls. fixed django 4

commit 0b8227f38f368d08afe0c0b5a6ad8fa979df2224
Author: AJ Slater <aj@slater.net>
Date:   Mon Dec 13 12:03:21 2021 -0800

    lint

* bump version

* update the admin docs

* fix mark read bug

* bump rc version

* fix progress annotation

* bump rc version

* move common fields to serializer mixin

* bump version

* lint

* fix reverse order_by bug

* fix frontend toggle reverse sort

* minor positioning changes to frontend

* change SCAN veribiage to Update everywhere

* bump rc version

* fix logic bug with folders metadata view. Make is_admin,group,model,is_model_comic all instance variables for metadata

* update poetry, npm, lint ignore rules, 0.7.0rc16

* fix bug where class lists were altered

* lint

* ready to roll v0.7.0

* fixes for circleci

* another fix for circleci docker machine

* newer image bases. bump version to 0.7.0 release for real

* try to extend timeout for circleci

* reduce wait time to something slightly more reasonable

* fix for integrity crash v0.7.1

* fix integrity bug

* Squashed commit of the following:

commit f1334d552a021d03a8fc5ea89c31cac805711299
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:30:47 2021 -0800

    script rename

commit 53bc44f30bc134f267a2d153ac87688377ced25f
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 10:00:48 2021 -0800

    picopt

commit 958f51cde02fd32542ca5983982f6f3664aacba3
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:50:34 2021 -0800

    lint

commit b7b20fb084f61c26b3ecd6c8ce3d94778e2f0658
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:49:33 2021 -0800

    don't need to ignore md5 lockfile anymore

commit 89a36563763eead6284027084c45629699734077
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:46 2021 -0800

    for test script us amd64 because that's a my mac

commit a7b724865b23eaf507baf252c2d3fa132134b5a8
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 00:45:24 2021 -0800

    remove development ! from script

commit a57c754d4c0d8a5ddba31ed902ce04d2fae1b6b1
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 19:09:27 2021 -0800

    only use hadolint on mac

commit 079a2adfeda475ec924c44dcdcdbfc073c806170
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:37:17 2021 -0800

    dont store md5 in a file

commit 55b7a92516bccd50547da6d8fb267d7670c3967e
Author: AJ Slater <aj@slater.net>
Date:   Wed Dec 15 18:34:36 2021 -0800

    can kind of cache wheels on docker hub now. needds more testing

* Squashed commit of the following:

commit 9cda3e199256ff9d91d823141f88e1e80cb8cc07
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:41 2021 -0800

    lint

commit e2111c593f032de0d5af9e3774c8864fa0729ecc
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 19:56:37 2021 -0800

    poetry is now in codex-wheel-builder

commit badf327668d1c2b2f2c309e949c540bfecea19a0
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:49:26 2021 -0800

    rename docker scripts

commit 1b6867e63e450302e7f22025cd5b7a7d51aa042c
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:57 2021 -0800

    use buildx bake for codex

commit c6c1e8878dc97a7057c7414325d0c93fad1aa9e5
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 17:41:47 2021 -0800

    ignore more paths

commit 7c22f745623416b9f26be0c277975ad300e42e8a
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 14:05:44 2021 -0800

    build scripts

* Squashed commit of the following:

commit b47ef0b4d47156adffc78797ddc89e63feb6d123
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:38:23 2021 -0800

    more indexes for comic fields

commit 5e1b6e409f4cffee61841725706386cba4f26f1d
Author: AJ Slater <aj@slater.net>
Date:   Thu Dec 16 20:25:33 2021 -0800

    fix latestversion update. remove parent_folder override for comic

* trap illegal folder error corectly

* update poetry & npm

* update cryptography package

* v0.7.3 and lint

* fix codex-wheels tags and hopefully docker-compose.yaml

* remove unused platform nodes from docker-compose

* fix codex-wheels build

* fix names of circleci jobs

* update npm

* fix tagging on build scripts

* Fix last filter, group, sort not loading properly for some new views

* codespell skip

* big integrity cleanup and simplification. use through model more.

* bump to 0.7.4

* new eslint-promise

* eslint 8

* update prettierignore

* fix livereload systemcheck

* add bandit and use pytest for linting because its faster

* drop manual dep advancement in pyproject.toml

* used piped req as wheels hash

* v0.7.5

* use stdin to avoid a docker warning

* move system check after collectstatic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant