Commit Graph

343 Commits (195ce6e4c0c562b11e064c1a2a1a8ba2bc800995)

Author SHA1 Message Date
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
Tomáš Mládek 506727356c
add ID3 metadata extractor 2022-02-28 22:34:38 +01:00
Tomáš Mládek 920e67a283
add an "is_needed" check for extractors; add tests for web extractor 2022-02-28 22:34:38 +01:00
Tomáš Mládek 27cc6eb31c
refactor - remove unnecessary async fns, add helper fn for running blocking tasks in background
also impl Error for JobInProgressError
2022-02-28 22:34:31 +01:00
Tomáš Mládek ce50f5ad80
implement Drop for Job - prevent jobs from hanging in progress forever 2022-02-28 17:00:27 +01:00
Tomáš Mládek d03998915c
add web::block to all db actions in route handlers 2022-02-27 15:03:15 +01:00
Tomáš Mládek 0e1b1765ae
skip over paths which failed to canonicalize 2022-02-23 15:56:22 +01:00
Tomáš Mládek 9541c397e3 better handling of invalid paths in store view 2022-02-21 22:25:48 +01:00
Tomáš Mládek 583fea153c add store info display // all blob listing 2022-02-21 22:01:31 +01:00
Tomáš Mládek 4e54c19ee5
disallow empty attributes in entries 2022-02-19 17:30:55 +01:00
Tomáš Mládek 5a393b4ec0
jobs can also have indeterminate progress 2022-02-19 16:31:51 +01:00
Tomáš Mládek dc808aab22
explicit NULL entryvalue 2022-02-19 14:59:21 +01:00
Tomáš Mládek 6820e9a174
create extractor trait 2022-02-15 13:32:46 +01:00
Tomáš Mládek add8371776
send cache-control (immutable, 31) for /raw/{hash} 2022-02-15 01:21:04 +01:00
Tomáš Mládek 0ef7ea5b3a
also impl From<f64> and From<Address> 2022-02-13 12:56:29 +01:00
Tomáš Mládek b417dad0ec
impl From<AsRef<str>> for EntryValue, replace where appropriate 2022-02-13 12:56:29 +01:00
Tomáš Mládek e81d520993
fix empty string value handling 2022-02-13 12:56:29 +01:00
Tomáš Mládek 75f9282ea2
don't label newly created uuids 2022-02-12 22:22:08 +01:00
Tomáš Mládek a74e86e70d
allow uuid generation by server 2022-02-12 21:48:29 +01:00
Tomáš Mládek ebf48c0e5f
allow inserting multiple entries (in transaction) in /api/obj 2022-02-12 14:55:54 +01:00
Tomáš Mládek 038e4fd7d2
move InEntry/InAddress to routes 2022-02-12 14:51:28 +01:00
Tomáš Mládek 471c60c19e
fix entry PUTting 2022-02-12 13:56:41 +01:00
Tomáš Mládek 689350aed5
only return in progress jobs by default on /api/jobs 2022-02-10 15:20:15 +01:00
Tomáš Mládek 7c38406b16
thumbnail creation as jobs 2022-02-10 15:11:38 +01:00
Tomáš Mládek 0dd5616e9c
allow overriding mime for thumbs 2022-02-10 14:58:00 +01:00
Tomáš Mládek 423e039d0a
forgotten debug prints 2022-02-10 11:39:04 +01:00
Tomáš Mládek 674663028d
add metadata to urls on insert 2022-02-10 11:38:45 +01:00
Tomáš Mládek bbc871ccf6
typeless jobs 2022-02-10 10:47:10 +01:00
Tomáš Mládek 5ad64a6591
make a PUT to /api/obj also insert bare addresses and prepare metadata; bunch of tidying up
/api/obj returns [entry_addr, entity_addr]
ADDED_ATTR is a const
impl TryInto<Address > for InAddress
2022-02-09 20:37:20 +01:00
Tomáš Mládek b5a90ce57c
support denoting entry entities in decomposed format (adding URLs) 2022-02-07 21:59:30 +01:00
Tomáš Mládek 686020e579
include decoded address in /api/obj 2022-02-07 20:54:14 +01:00
Tomáš Mládek 25bc14e3b4
allow searching in entities (URLs, attrs) 2022-02-07 18:33:57 +01:00
Tomáš Mládek 0f2fa6836f
refactor TryFrom<Entry, ImmutableEntry> 2022-02-07 18:27:02 +01:00
Tomáš Mládek 2c36373d85
fix redirect to "/" in /api/thumb 2022-02-07 10:25:38 +01:00
Tomáš Mládek 34e737d457
"application/x-riff" == WAV audio 2022-02-07 00:01:38 +01:00
Tomáš Mládek a83149e746
switch from GET /api/obj?query endpoint to POST /api/query endpoint
also switch from useSWR shim taking `() => SWRKey` as param
2022-02-06 22:25:33 +01:00
Tomáš Mládek 6b9e534270
ALIAS points to LBL, not directly to value (!) 2022-02-06 12:54:51 +01:00
Tomáš Mládek 2f664ce820
clear lexpr options just to be safe (no keywords) 2022-02-04 23:01:44 +01:00
Tomáš Mládek 172404a2d9
logging, formatting in previews/mod.rs 2022-02-04 20:34:25 +01:00
Tomáš Mládek 8d51529f38
retireve_file takes reference 2022-02-04 20:33:07 +01:00
Tomáš Mládek 2337cd54c1
only run full rescan on new db, not init scan 2022-02-04 20:32:10 +01:00
Tomáš Mládek f8a0410282
hide desktop features when desktop is disabled 2022-02-04 12:11:00 +01:00
Tomáš Mládek b215cf8e0d
cosmetics 2022-02-04 12:11:00 +01:00
Tomáš Mládek 20a6fa0de7
add audio waveform thumbnails 2022-02-03 18:40:19 +01:00
Tomáš Mládek 7540b31ab8
add play button to video thumbnails 2022-02-03 18:13:09 +01:00
Tomáš Mládek b80d547689
static dirs are handled for both debug and release 2022-02-03 17:48:24 +01:00
Tomáš Mládek 97198848c4
enable mkv previews 2022-02-03 16:54:39 +01:00
Tomáš Mládek 6b70d706fa
change video preview format to webp 2022-02-03 16:54:39 +01:00
Tomáš Mládek faed70fe03
content disposition tweaks (attachment by default, ui target=_blank) 2022-02-03 16:54:37 +01:00
Tomáš Mládek 2173ca5b51
add a --clean param 2022-02-03 16:54:36 +01:00
Tomáš Mládek dc72b0a34c
only insert ADDED on first add 2022-02-03 10:12:26 +01:00
Tomáš Mládek 3cd3df27c0
"ADDED" entry for files 2022-02-03 09:54:51 +01:00
Tomáš Mládek a5912ae3d2
move preview generation off the route thread 2022-02-03 00:11:35 +01:00
Tomáš Mládek f20928ddfe
rustfmt 2022-02-02 17:13:23 +01:00
Tomáš Mládek 6aa804584d
add (some) lang tests, implement "in" logic 2022-02-02 17:13:11 +01:00
Tomáš Mládek cb22756a47
separate endpoint for attr overwrites, implement AttributeUpdate 2022-02-02 00:45:05 +01:00
Tomáš Mládek 9c940e7c23 add explicit quick_check/disable_synchronous flags, ?full param to rescan endpoint 2022-01-31 17:26:31 +01:00
Tomáš Mládek 466f870d6f add Meta queries, check db version on start 2022-01-31 15:57:35 +01:00
Tomáš Mládek 768a608b02 add "built" crate 2022-01-31 15:19:48 +01:00
Tomáš Mládek 34847f3321
fix search ("contains" query, UpObject params bug) 2022-01-30 16:20:02 +01:00
Tomáš Mládek fa5626af4f
allow only one job of a type to be in progress at once 2022-01-30 16:00:29 +01:00
Tomáš Mládek 3a64adc935
containers -> groups 2022-01-28 23:32:13 +01:00
Tomáš Mládek 8c8d58847a
separate value_string and value_number columns
to be able to utilize SQL queries better for ranges, comparisons, etc.
2022-01-28 18:17:14 +01:00
Tomáš Mládek 8b9947c2e4
fix no-default-features build 2022-01-28 14:21:07 +01:00
Tomáš Mládek ddfe103e7a
add LBLs to base types 2022-01-27 17:42:59 +01:00
Tomáš Mládek 19b25666c6
show PDFs in BlobPreview, add ?inline query param to /raw/ 2022-01-27 15:55:48 +01:00