Commit Graph

308 Commits (3eadde0b23dbd6a8b569d1993c9f57e3e883993d)

Author SHA1 Message Date
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
Tomáš Mládek b9ea04109e
add explicit autocheckpoint, change db option traces! to debugs! 2022-03-14 14:02:03 +01:00
Tomáš Mládek 376d929232
return attribute labels in /all/attributes endpoint 2022-03-02 22:39:05 +01:00
Tomáš Mládek ef3a130855
refactor Jobs and their handling, really fix infinitely hanging jobs 2022-03-02 22:27:51 +01:00
Tomáš Mládek 1c316427ab
extract all metadata on vault rescan 2022-03-02 22:27:07 +01:00
Tomáš Mládek 1aa779e816
also add attribute labels on id3 extraction 2022-03-02 22:24:17 +01:00
Tomáš Mládek 4f36bff549
id3 improvements - extract year/bpm as numbers; fix id3 extract job name; exit early if file isn't audio
also add EntryValue::guess_from
2022-03-02 08:13:35 +01:00
Tomáš Mládek 82c7bfcb64
run (all) extractors for manually added blobs and addresses 2022-02-28 22:43:23 +01:00