Commit Graph
223 Commits
Author SHA1 Message Date
Leo Vasanko 5a3aa58f27 Merge branch 'main' into put-uploads 2026-04-25 02:12:51 +00:00
Leo Vasanko a88a22571a Remove CISTA_PIL and Pillow preview mode 2026-04-25 02:06:40 +00:00
Leo Vasanko d58748439a Adjust emoji log spacing 2026-04-25 02:05:20 +00:00
Leo Vasanko c51701c252 Improve preview worker error propagation and logging 2026-04-25 01:51:49 +00:00
Leo Vasanko 76c928a24c Implement PUT chunk uploads, 16MiB chunk size for faster transfers with resilient retries and smoother progress 2026-04-25 01:08:21 +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 48112dec26 Frontend: don't show img preview for video/audio/doc files
- MediaPreview.vue: only render <img> for non-video, non-audio items
  (video/audio already have their own player containers)
- Document.ts: limit previewurl to previewable files (was checking only .complete)
2026-04-24 23:54:02 +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 e579dbc61f Logging: emoji formatter and access-log extra field 2026-04-24 23:52:34 +00:00
Leo Vasanko 3e337bf1f2 Use client IP (potentially proxied) in logs, handle [ipv6]. 2026-04-24 20:13:11 +00:00
Leo Vasanko 522dd49f3f Avoid useless check. 2026-04-24 00:04:58 +00:00
Leo Vasanko 53b3835ba2 Upload end of file first for large files (for preview to function). 2026-04-24 00:02:17 +00:00
Leo Vasanko bb25d8db74 Avoid showing previews while file upload is in progress or the file is incomplete. This avoids 500 errors on server trying to generate the preview. 2026-04-23 19:34:16 +00:00
Leo Vasanko 7b3252c588 Handle missing preview files with silent 404 2026-04-23 19:02:54 +00:00
Leo Vasanko 4626f1cdff Add cleaner access logging for HTTP requests and WebSockets 2026-04-23 18:06:22 +00:00
Leo Vasanko a2e2cccebe Don't show broken media previews during uploads, instead show a spinner indicating completion. 2026-04-23 17:40:03 +00:00
Leo Vasanko 1795506090 Faster image previews by pyvips. 2026-04-23 17:19:24 +00:00
Leo Vasanko 314422c96c Allow duplicate selected entries of the same name from different paths. 2026-04-23 17:01:03 +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 2c74779102 Consistent forwarding of host/origin/ua over HTTP and WS to Paskia. 2026-02-10 23:56:42 +00:00
Leo Vasanko b65404beba Cleanup 2026-02-10 23:52:07 +00:00
Leo Vasanko 4aef6c73d2 pytest deps, remove unused test group. 2026-02-10 23:46:44 +00:00
Leo Vasanko 67d1fa65fb Cleaner WebSocket/Paskia proxying. 2026-02-10 23:42:13 +00:00
Leo Vasanko 6b009dea40 Attempt to get allocated size on Windows which needs WINAPI. Fallback to file size if not possible. 2026-02-05 20:31:46 +00:00
Leo Vasanko ad224dd97d Fix vite argument passing on deno (fastapi-vue-setup upstream). 2026-02-05 20:13:03 +00:00
Leo Vasanko 7b19739875 Fix --listen docopt parsing (only -l was working). 2026-02-05 20:01:26 +00:00
Leo Vasanko 362a9f47c9 Remove invalid Sanic kwarg when binding to all interfaces (not needed anyway). 2026-02-05 19:56:54 +00:00
Leo Vasanko 7b3a39a58e Better proxy header processing, pass original user-agent without httpx overriding it. 2026-02-05 17:53:52 +00:00
Leo Vasanko 0b08acdcc3 Intl support for search hotkey (where US keyboard has it). 2026-02-05 00:57:42 +00:00
Leo Vasanko 298f389dad Keyboard navigation fixes (still not perfect but better). 2026-02-05 00:54:15 +00:00
Leo Vasanko a163798178 Fix search bar losing focus under specific conditions, mainly that when the search takes more than 50ms, causing results to be emptied, with a file priorly focused, was causing breadcrumbs to get focused. (reactivity is hard) 2026-02-05 00:07:45 +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 ad37a48df9 Brighter low free space colors. 2026-02-04 20:40:59 +00:00
Leo Vasanko 84d80518a6 Auth restricted endpoint is picky about the trailing slash, use it consistently. 2026-02-04 20:35:29 +00:00
Leo Vasanko e520d9361c Auth mode indication on startupbox 2026-02-04 20:24:21 +00:00
Leo Vasanko 5b4be95ace Correctly handle customized server name in admin settings dialog. 2026-02-04 20:15:56 +00:00
Leo Vasanko 69c26ff85b Space usage widget show full name if possible, allow longer names. 2026-02-04 20:12:49 +00:00
Leo Vasanko 84fcf25cc5 Rename HeaderSelected to SelectionToolbar. 2026-02-04 20:01:05 +00:00
Leo Vasanko 09ef869d7e Improved selection toolbar UX. 2026-02-04 19:57:31 +00:00
Leo Vasanko cb9652567b README 2026-02-04 19:23:48 +00:00
Leo Vasanko 4ea1982312 Make devserver script take --listen argument for vite, while forwarding other args correctly to backend 2026-02-04 19:23:34 +00:00
Leo Vasanko 1f757ef335 Consistent header and footer sizing. 2026-02-04 19:19:41 +00:00
Leo Vasanko b3df715e25 Fix free/used disk space handling. Implement file disk usage tracking. Display indicators on FileExplorer for incomplete files (sparse allocation, upload in progress). 2026-02-04 19:15:09 +00:00
Leo Vasanko 0656a027f4 Implement server name config to override the default of using share folder name. 2026-02-04 18:00:21 +00:00
Leo Vasanko aab1c59022 Punch a hole in the pie to make a donut. 2026-02-04 17:27:56 +00:00
Leo Vasanko 395d6c3cce Unused imports 2026-02-04 17:09:14 +00:00
Leo Vasanko c698f74319 Don't allow header scale larger with the window above 1000px, while the rest of the app keeps scaling by root font size. 2026-02-04 17:08:32 +00:00
Leo Vasanko 56aacb8f87 Revisited diskspace widget animations and styling. 2026-02-04 17:01:22 +00:00