Commit Graph

315 Commits (5a6390e8f37a28c655cc628f0fefaf4e49140478)

Author SHA1 Message Date
Tomáš Mládek 5a6390e8f3 chore: fix typo 2022-09-19 22:58:07 +02:00
Tomáš Mládek 2756d7993b perf: add checks to avoid duplicate metadata extraction 2022-09-19 22:58:02 +02:00
Tomáš Mládek 9ea1eea3ea feat: if `audiowaveform` is present, generate & cache peaks on backend
requires https://github.com/bbc/audiowaveform/ to be installed and on $PATH
2022-09-19 22:27:34 +02:00
Tomáš Mládek b31ca05fdf fix: image thumbnails of audio (size query arg collision) 2022-09-19 22:27:34 +02:00
Tomáš Mládek f1315ae7c4 chore: add logging 2022-09-19 22:27:34 +02:00
Tomáš Mládek ac0b4d4a9d fix: don't run an initial full-hash update every start 2022-09-19 22:21:01 +02:00
Tomáš Mládek f584aec97c fix: create store dir if not exists 2022-09-18 15:27:37 +02:00
Tomáš Mládek 8e3ea0f574 feat: add options to previews
video: position
image: size, quality
audio: size, color

TODO: make options an actual struct to be Deserialized?
2022-09-18 13:23:40 +02:00
Tomáš Mládek b04a00c660 fix: previews are cached re: mimetype as well 2022-09-18 13:21:55 +02:00
Tomáš Mládek 0bb4639859 fix: limit previews to NUM_CPU/2 at a time, avoid brown lock-ups 2022-09-16 17:18:15 +02:00
Tomáš Mládek d671640c04 chore: fix vault/db path semantics, previews in db path, `--clean` param 2022-09-16 16:49:25 +02:00
Tomáš Mládek 5704be7975 fix: restore store stats functionality somewhat 2022-09-16 16:26:58 +02:00
Tomáš Mládek 7ce7615b3a perf: SQLite NORMAL mode on fs vault connections 2022-09-16 15:34:22 +02:00
Tomáš Mládek fc27936acc perf: remove `valid` index on files 2022-09-16 15:34:07 +02:00
Tomáš Mládek b7d2cbb816 Merge branch 'feat/vaults' into develop 2022-09-15 20:55:30 +02:00
Tomáš Mládek 7f519d9de8 perf: implement speed-ups for vault db
have a pool; WAL journal mode; PRAGMA SYNCHRONOUS
2022-09-15 20:27:06 +02:00
Tomáš Mládek 0b0c6f2ec3 fix: reenable initial quick vault scan 2022-09-15 20:22:06 +02:00
Tomáš Mládek e17431bb3f fix: reenable locks 2022-09-15 19:25:08 +02:00
Tomáš Mládek 5152675bad refactor: use trait objects instead of FsStore directly
also fix most clippy hints
2022-09-15 19:25:08 +02:00
Tomáš Mládek 4a988acdad chore: no default debug output in tests 2022-09-15 19:24:19 +02:00
Tomáš Mládek 7c9d0717c2 feat!: multiple vaults
incomplete, but passes tests
2022-09-15 19:24:19 +02:00
Tomáš Mládek ebd11657ac feat!: switch from k12 to sha256, use proper multihash /base impl 2022-09-13 16:44:18 +02:00
Tomáš Mládek 327b87a18a perf: correct `ffmpeg` params for efficient video previews
-ss before -i ("When used as an output option (before an output url), decodes but discards input until the timestamps reach position. ")
discard all non-keyframes
turn off accurate seek
2022-09-11 20:33:41 +02:00
Tomáš Mládek f98f3b2fdb perf: lower seek time for thumbnails 2022-09-11 16:18:08 +02:00
Tomáš Mládek 160cf59d4a perf: first check for files in /raw/ 2022-09-11 13:03:07 +02:00
Tomáš Mládek 5f9eb24c76 chore: allow CORS from localhost 2022-09-08 21:41:18 +02:00
Tomáš Mládek e0a9ee1c96 fix: limit thumbnail generation to 1 thread per image 2022-09-07 22:28:14 +02:00
Tomáš Mládek 91596b284d fix: only get() connection in UpEndConnection when necessary
makes the interface actually respond during rescans, helps improve throughput in general
2022-09-05 21:51:44 +02:00
Tomáš Mládek bc77c993a9 hotfix: disable transactions for now 2022-08-07 14:16:07 +02:00
Tomáš Mládek 600918a27e chore: log failed path updates immediately 2022-08-07 12:35:49 +02:00
Tomáš Mládek 3f6d239686 chore: switch from log to tracing 2022-08-07 12:13:12 +02:00
Tomáš Mládek 41d0e55ca7 fix: add global locks to db, fix sqlite errors (?) 2022-07-31 22:53:24 +02:00
Tomáš Mládek 38e6d6b6df chore: add logging to fs tests 2022-07-31 22:53:18 +02:00
Tomáš Mládek afbd3b97ef fix: update project url, fix tests
:)
2022-07-31 22:53:12 +02:00
Tomáš Mládek 6fdc3e2f48
add `join` queries to the language (fixes #3) 2022-04-16 00:55:09 +02:00
Tomáš Mládek 459eede174
...
reformat
2022-04-15 22:43:40 +02:00
Tomáš Mládek eec4f96293
reorganize query code in preparation for lang upgrade 2022-04-15 20:35:26 +02:00
Tomáš Mládek 3b82b0ee69
remove play button overlay on video thumbnails 2022-04-09 21:37:10 +02:00
Tomáš Mládek ab345bf50b
replace `???` with actual errors 2022-04-02 22:12:51 +02:00
Tomáš Mládek 1a05157a9d
fix and/or expressions generating incorrect sql 2022-03-30 12:29:52 +02:00
Tomáš Mládek 8c60a617a2
query lang - addresses are denoted by @, values need not match db deserialization format
e.g.` (matches @address ? ?)`, and `(matches ? ? "foo")` instead of "Sfoo"
2022-03-30 12:29:52 +02:00
Tomáš Mládek fd72034571
code cosmetics, lints
useless format! in tests
use raw strings where appropriate
2022-03-30 12:29:51 +02:00
Tomáš Mládek 39272a5cb0
add (failing) query lang tests 2022-03-30 12:29:28 +02:00
Tomáš Mládek 78b6bac7aa
rudimentary test for db queries 2022-03-28 17:34:11 +02:00
Tomáš Mládek 5bb36e9ec6 rudimentary optional authentication for mutating operations 2022-03-24 11:12:59 +01:00
Tomáš Mládek 9ee905b3a8 ignore "Undefined" EXIF values during extraction 2022-03-23 12:43:02 +01:00
Tomáš Mládek 0213b3c9c1 limit video thumbnails to max 300s into a video file
(didn't realize the majority of the time is spent seeking!)
2022-03-21 00:04:48 +01:00
Tomáš Mládek 5051ac25c6 decode valueless entires as NaN
since NaN == NULL in SQLite, apparently
2022-03-20 23:44:10 +01:00
Tomáš Mládek 1b823bcce4
respect exif image orientation in previews 2022-03-16 11:30:06 +01:00
Tomáš Mládek c9a79492de
first iteration of EXIF data extraction 2022-03-15 17:20:50 +01:00