Leo Vasanko
a88a22571a
Remove CISTA_PIL and Pillow preview mode
2026-04-25 02:06:40 +00:00
Leo Vasanko
c51701c252
Improve preview worker error propagation and logging
2026-04-25 01:51:49 +00:00
Leo Vasanko
88a032acfe
Preview: add pdf+pyvips encode path and simplify timings
2026-04-25 00:20:19 +00:00
Leo Vasanko
bbb73be07e
Preview: simplify pyvips timing to single processing ms + req total.
2026-04-25 00:06:35 +00:00
Leo Vasanko
fc2f357470
Preview: persistent worker pool, fast AVIF encode, access-log timing
...
- Add preview_worker.py: long-lived subprocess; JSONL request / framed binary
response protocol (BLAKE3 checksum + LE uint32 sizes + msgspec JSON + payload)
- Add _PreviewWorkerPool: asyncio queue-based pool; kill+replace workers on timeout,
checksum error, or protocol error; PREVIEW_TIMEOUT=3s, PREVIEW_WORKERS=cpu-scaled
- Use pyvips effort=0,strip=True for fast AVIF thumbnails; CISTA_PIL=1 env forces Pillow
- Report load/process/save ms in PreviewResponse; inject into access log via req.ctx._log_extra
- Wire start/shutdown_preview_workers into Sanic lifecycle hooks (app.py)
- Call configure_main_logging() after Sanic() to install emoji formatter
- Silence worker stderr (DEVNULL)
2026-04-24 23:53:23 +00:00
Leo Vasanko
522dd49f3f
Avoid useless check.
2026-04-24 00:04:58 +00:00
Leo Vasanko
7b3252c588
Handle missing preview files with silent 404
2026-04-23 19:02:54 +00:00
Leo Vasanko
1795506090
Faster image previews by pyvips.
2026-04-23 17:19:24 +00:00
Leo Vasanko
e490cbe0fe
Set avif=1 flag for SVT-AV1 when encoding a single image, for increased efficiency and less memory usage.
2026-04-23 16:57:27 +00:00
Leo Vasanko
204a308396
Pass the new allocated field through search filtering. Fixes issue where 0 allocated was reported in search results.
2026-02-04 23:55:05 +00:00
Leo Vasanko
82062d1d7a
Cache previews in server RAM for much faster access (they are about 70kB each).
2026-02-04 20:56:16 +00:00
Leo Vasanko
5590a756ca
Better error logging on preview generation errors.
2026-01-31 22:00:26 +00:00
Leo Vasanko
9c173ff0bf
Finalize Paskia integration and built-in authentication.
2026-01-31 00:48:02 +00:00
Leo Vasanko
14f2177514
Consistent dialog styling widgets and using Paskia's shared backdrop. Internal password auth mimics Paskia. API paths changed (/auth goes to internal or paskia depending on config). All API calls and previews get access checks.
2026-01-30 18:28:26 +00:00
Leo Vasanko
984e17c037
Fix video preview images that were displayed sideways for portrait video. The least bad approach loses HDR but shows in correct orientation. For 0 and 180 degrees we preserve HDR too.
2026-01-22 02:20:39 +00:00
Leo Vasanko
28ccfffc95
Cleaner handling when preview generation fails. Using original file as fallback.
2026-01-21 23:29:51 +00:00
Leo Vasanko
26addb2f7b
Image previews improved, all EXIF Orientations handled.
2025-08-17 07:00:52 -06:00
LeoVasanko
073f1a8707
Maintenance update ( #7 )
...
- Use modern tooling uv and bun
- Various changes to work with latest PyAV and PIL that have changed their API
- Improved image, video and document previews (uses AVIF, renders AVIF/HEIC/videos in HDR, faster processing)
- Fix a server hang in some cases where a folder was moved or renamed
- Log exceptions instead of only returning 500 response to client
- Log timing of preview generation functions
- Default to quality 50 in previews (previously 40)
2025-08-15 18:03:04 +01:00
Leo Vasanko
0cf9c254e5
Various build fixes, cleanup and details ( #6 )
...
- Major memory usage reduction in video previews
- Finally builds properly on Windows too
Reviewed-on: #6
2023-11-21 15:32:49 +00:00
Leo Vasanko
434e55f303
Video preview posters
2023-11-18 17:50:27 -08:00
Leo Vasanko
be9772c90e
Minor changes
2023-11-18 16:03:23 -08:00
Leo Vasanko
115f3e20d0
Added PDF previews. Preview quality configurable. Preview browser caching and cache busting.
2023-11-18 15:16:24 -08:00
Leo Vasanko
62388eb555
Fix preview images that need rotation
2023-11-18 12:04:35 -08:00
Leo Vasanko
696e3ab568
Implement media preview thumbnails for Gallery
2023-11-18 11:38:25 -08:00