LeoVasanko
|
d5ff7757c8
|
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 |
|
LeoVasanko
|
cd604eb10a
|
Logging: emoji formatter and access-log extra field
|
2026-04-24 23:52:34 +00:00 |
|
LeoVasanko
|
abcf5d9940
|
Use client IP (potentially proxied) in logs, handle [ipv6].
|
2026-04-24 20:13:11 +00:00 |
|
LeoVasanko
|
0190bda853
|
Avoid useless check.
|
2026-04-24 00:04:58 +00:00 |
|
LeoVasanko
|
fc48500412
|
Upload end of file first for large files (for preview to function).
|
2026-04-24 00:02:17 +00:00 |
|
LeoVasanko
|
d31ad0b525
|
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 |
|
LeoVasanko
|
da4bba95be
|
Handle missing preview files with silent 404
|
2026-04-23 19:02:54 +00:00 |
|
LeoVasanko
|
e07ab220cb
|
Add cleaner access logging for HTTP requests and WebSockets
|
2026-04-23 18:06:22 +00:00 |
|
LeoVasanko
|
3da2f6e6c3
|
Don't show broken media previews during uploads, instead show a spinner indicating completion.
|
2026-04-23 17:40:03 +00:00 |
|
LeoVasanko
|
ded7ce65bc
|
Faster image previews by pyvips.
|
2026-04-23 17:19:24 +00:00 |
|
LeoVasanko
|
17550be698
|
Allow duplicate selected entries of the same name from different paths.
|
2026-04-23 17:01:03 +00:00 |
|
LeoVasanko
|
0b269aef7f
|
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 |
|
LeoVasanko
|
497de296f2
|
Consistent forwarding of host/origin/ua over HTTP and WS to Paskia.
|
2026-02-10 23:56:42 +00:00 |
|
LeoVasanko
|
134b216f4c
|
Cleanup
|
2026-02-10 23:52:07 +00:00 |
|
LeoVasanko
|
06759b3c12
|
pytest deps, remove unused test group.
|
2026-02-10 23:46:44 +00:00 |
|
LeoVasanko
|
c51552ea29
|
Cleaner WebSocket/Paskia proxying.
|
2026-02-10 23:42:13 +00:00 |
|
LeoVasanko
|
00645fc8ff
|
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 |
|
LeoVasanko
|
760f7bc35d
|
Fix vite argument passing on deno (fastapi-vue-setup upstream).
|
2026-02-05 20:13:03 +00:00 |
|
LeoVasanko
|
8480a73839
|
Fix --listen docopt parsing (only -l was working).
|
2026-02-05 20:01:26 +00:00 |
|
LeoVasanko
|
302ed684e7
|
Remove invalid Sanic kwarg when binding to all interfaces (not needed anyway).
|
2026-02-05 19:56:54 +00:00 |
|
LeoVasanko
|
af35e0480a
|
Better proxy header processing, pass original user-agent without httpx overriding it.
|
2026-02-05 17:53:52 +00:00 |
|
LeoVasanko
|
5717486197
|
Intl support for search hotkey (where US keyboard has it).
|
2026-02-05 00:57:42 +00:00 |
|
LeoVasanko
|
0061fc54ae
|
Keyboard navigation fixes (still not perfect but better).
|
2026-02-05 00:54:15 +00:00 |
|
LeoVasanko
|
4eefe83072
|
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 |
|
LeoVasanko
|
f578a50007
|
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 |
|
LeoVasanko
|
f40d9c1abd
|
Cache previews in server RAM for much faster access (they are about 70kB each).
|
2026-02-04 20:56:16 +00:00 |
|
LeoVasanko
|
3d8845cf99
|
Brighter low free space colors.
|
2026-02-04 20:40:59 +00:00 |
|
LeoVasanko
|
87e1443e7d
|
Auth restricted endpoint is picky about the trailing slash, use it consistently.
|
2026-02-04 20:35:29 +00:00 |
|
LeoVasanko
|
f45c57e901
|
Auth mode indication on startupbox
|
2026-02-04 20:24:21 +00:00 |
|
LeoVasanko
|
41686d1dd1
|
Correctly handle customized server name in admin settings dialog.
|
2026-02-04 20:15:56 +00:00 |
|
LeoVasanko
|
cc351bb992
|
Space usage widget show full name if possible, allow longer names.
|
2026-02-04 20:12:49 +00:00 |
|
LeoVasanko
|
c3abbe0a3b
|
Rename HeaderSelected to SelectionToolbar.
|
2026-02-04 20:01:05 +00:00 |
|
LeoVasanko
|
127caeedea
|
Improved selection toolbar UX.
|
2026-02-04 19:57:31 +00:00 |
|
LeoVasanko
|
113bc56351
|
README
|
2026-02-04 19:23:48 +00:00 |
|
LeoVasanko
|
c7727c72d9
|
Make devserver script take --listen argument for vite, while forwarding other args correctly to backend
|
2026-02-04 19:23:34 +00:00 |
|
LeoVasanko
|
85b3aa6b81
|
Consistent header and footer sizing.
|
2026-02-04 19:19:41 +00:00 |
|
LeoVasanko
|
62b44ddb43
|
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 18:54:54 +00:00 |
|
LeoVasanko
|
60a53ef3d3
|
Implement server name config to override the default of using share folder name.
|
2026-02-04 18:00:21 +00:00 |
|
LeoVasanko
|
acd38c2235
|
Punch a hole in the pie to make a donut.
|
2026-02-04 17:27:56 +00:00 |
|
LeoVasanko
|
2f38f15afa
|
Unused imports
|
2026-02-04 17:09:14 +00:00 |
|
LeoVasanko
|
0fc28e56bb
|
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 |
|
LeoVasanko
|
22b0e503e0
|
Revisited diskspace widget animations and styling.
|
2026-02-04 17:01:22 +00:00 |
|
LeoVasanko
|
e3a4ecdcc2
|
More consistent and properly scaling header layout and positioning. Search keyboard tooltip hidden for mobile users.
|
2026-02-04 16:13:03 +00:00 |
|
LeoVasanko
|
9f363e3f66
|
New much prettier disk space widget.
|
2026-02-04 15:14:06 +00:00 |
|
LeoVasanko
|
8270dd0cc2
|
Refactor to make full file list completely non-reactive because pinia persistence was causing long delays especially while searching when there were a lot of files. Implement better ghosts that do not alter the file list.
|
2026-02-04 02:03:22 +00:00 |
|
LeoVasanko
|
1af6cd82fe
|
Prebuild lookup structures to reduce UI lag on very large file lists.
|
2026-02-04 00:18:28 +00:00 |
|
LeoVasanko
|
0bc2a12cfa
|
Make devserver script pass extra args to cista CLI.
|
2026-02-04 00:01:02 +00:00 |
|
LeoVasanko
|
9e07a3f40d
|
Require new fastapi-vue for unix socket compatibility.
|
2026-02-01 07:10:21 +00:00 |
|
LeoVasanko
|
2867b1075d
|
Disk space pie chart.
|
2026-02-01 06:59:15 +00:00 |
|
LeoVasanko
|
4fc8e29cc1
|
Implement a larger set of file menu options.
|
2026-02-01 06:33:34 +00:00 |
|
LeoVasanko
|
55f9117b3e
|
Remove refresh wwwroot support and static files serving, only using vite to serve frontend in dev mode (avoid accidentally using stale builds).
|
2026-02-01 06:14:35 +00:00 |
|
LeoVasanko
|
2b6746c55e
|
Change default port to 8989 like Droppy. Using 8999 for backend in dev mode.
|
2026-02-01 06:09:56 +00:00 |
|
LeoVasanko
|
1ed3779933
|
Use fastapi-vue parse_endpoint instead of our own logic.
|
2026-02-01 06:00:30 +00:00 |
|
LeoVasanko
|
a95cf7be94
|
Better UI feedback on search order changes.
|
2026-02-01 05:48:15 +00:00 |
|
LeoVasanko
|
d18501f633
|
Fix a search caching issue.
|
2026-02-01 05:38:48 +00:00 |
|
LeoVasanko
|
ed697db871
|
New header/footer layout and styles. Use cursorTooltip in more places, make it prettier. Fix tooltip still sometimes activating with touch (now only with mouse).
|
2026-02-01 05:19:42 +00:00 |
|
LeoVasanko
|
856e8c4cc8
|
Remove download to folder, just download zip or single file. The folder download is still accessible by Alt+Click on the download button (in the few browsers that support it).
|
2026-02-01 03:47:14 +00:00 |
|
LeoVasanko
|
f8a6eacb06
|
Automatically navigate into newly uploaded folders.
|
2026-02-01 03:27:13 +00:00 |
|
LeoVasanko
|
e9a82e84ad
|
Implement ghost items reflecting pending changes from frontend (e.g. files being uploaded) until the server acknowledges them. This gives immediate UI feedback and is clearer in cases.
|
2026-02-01 03:23:43 +00:00 |
|
LeoVasanko
|
ccd05b53f4
|
Remove dead code.
|
2026-02-01 02:49:50 +00:00 |
|
LeoVasanko
|
032ad13b97
|
Unified watcher that *may* receive events from inotify and other sources. Added change notify messages from control and upload WebSockets. Cleanup debug printouts.
|
2026-02-01 02:44:52 +00:00 |
|
LeoVasanko
|
4eae75c84b
|
New inotify watcher with efficient algorithms.
|
2026-01-31 23:46:43 +00:00 |
|
LeoVasanko
|
252b31a293
|
Performance profile file change watching.
|
2026-01-31 22:53:17 +00:00 |
|
LeoVasanko
|
feff202161
|
Debouncing to avoid UI flicker while typing in search.
|
2026-01-31 22:42:16 +00:00 |
|
LeoVasanko
|
d15bfc86c4
|
Search optimizations and fixes. Prevent re-renders on hash change (redux). Clear previous search results at the start of a new search.
|
2026-01-31 22:37:47 +00:00 |
|
LeoVasanko
|
f94ccc01c6
|
Optimizing the search faster; don't trigger full re render by URL changes.
|
2026-01-31 22:17:05 +00:00 |
|
LeoVasanko
|
bc355d991d
|
Simplified startup box unix socket formatting.
|
2026-01-31 22:09:57 +00:00 |
|
LeoVasanko
|
e7ebad3c36
|
Upgrade to docopt-ng because docopt is no longer maintained.
|
2026-01-31 22:06:03 +00:00 |
|
LeoVasanko
|
036c4342de
|
Better error logging on preview generation errors.
|
2026-01-31 22:00:26 +00:00 |
|
LeoVasanko
|
160f929e0c
|
Basic details in startup box.
|
2026-01-31 21:53:39 +00:00 |
|
LeoVasanko
|
1970d40d8a
|
Implement background worker to make search response faster and avoid hanging the UI when there are a lot of files. Implement better toast messages for transitional events that automatically disappear.
|
2026-01-31 21:02:16 +00:00 |
|
LeoVasanko
|
1a164e0a08
|
Smarter ZIP download naming.
|
2026-01-31 20:59:43 +00:00 |
|
LeoVasanko
|
46d222006a
|
More robust zip download processing; don't let aborted requests hang threads, use a larger threadpool separate of preview generation.
|
2026-01-31 19:43:23 +00:00 |
|
LeoVasanko
|
98949e6b30
|
Update README for Paskia SSO
|
2026-01-31 05:15:52 +00:00 |
|
LeoVasanko
|
8f76d770ee
|
Fixes for public mode authentication flows.
|
2026-01-31 04:48:44 +00:00 |
|
LeoVasanko
|
232fd92b22
|
Finalize Paskia integration and built-in authentication.
|
2026-01-31 00:47:04 +00:00 |
|
LeoVasanko
|
be69164c8f
|
Bundle icons into a single file.
|
2026-01-30 19:12:27 +00:00 |
|
LeoVasanko
|
4f39875786
|
TypeScript check and typing corrections.
|
2026-01-30 19:03:37 +00:00 |
|
LeoVasanko
|
21250a1a2d
|
Upgrade frontend packages, Pinia API changes.
|
2026-01-30 18:53:25 +00:00 |
|
LeoVasanko
|
849b1a6868
|
Update scripts with latest fastapi-vue-setup.
|
2026-01-30 18:40:26 +00:00 |
|
LeoVasanko
|
7be02e951d
|
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:05 +00:00 |
|
LeoVasanko
|
bb38328c24
|
Improved tooltip display behavior; disabled for touch, less eager to activate on mouse, closer to cursor.
|
2026-01-22 18:08:50 +00:00 |
|
LeoVasanko
|
146497d731
|
Fix display of vertical images and videos such they fit in the gallery item.
|
2026-01-22 02:35:24 +00:00 |
|
LeoVasanko
|
442816a0ae
|
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 |
|
LeoVasanko
|
d32afa6016
|
Display play button on video previews to indicate it is a video that can be played.
|
2026-01-22 01:43:50 +00:00 |
|
LeoVasanko
|
fa60c962c4
|
Attempt a better mobile layout, to fix sizing issues with Brave Android.
|
2026-01-22 00:57:30 +00:00 |
|
LeoVasanko
|
e55e11b399
|
Fix flickering tooltip when hovering modified in FileExplorer. Use the new, improved tooltip also in gallery to show full name, modified and size of an item.
|
2026-01-22 00:49:50 +00:00 |
|
LeoVasanko
|
b6c21152e7
|
Fix modified tooltip (exact timestamp) flickering on/off because of timestamp updates every second. Made the tooltip follow mouse cursor.
|
2026-01-22 00:39:26 +00:00 |
|
LeoVasanko
|
f354fc5c71
|
Less aggressive automatic gallery mode switching, only when folder changes. Fixes issues with focus being lost from search.
|
2026-01-22 00:32:18 +00:00 |
|
LeoVasanko
|
5bda809921
|
Cleaner folder headers in gallery mode search results. Multi folder results are always grouped by folder (FileExplorer and Gallery), but still otherwise respecting the chosen sort order. Overall this produces a much cleaner layout.
|
2026-01-22 00:23:23 +00:00 |
|
LeoVasanko
|
2cc92cd786
|
Deprecation, remove unused import.
|
2026-01-22 00:16:59 +00:00 |
|
LeoVasanko
|
ba6380e71e
|
Add a script to run devserver. Migrate to build and JS utils provided by fastapi-vue. Frontend directory renamed to frontend-build. Update Sanic, deprecations.
|
2026-01-21 23:32:04 +00:00 |
|
LeoVasanko
|
0d853032bf
|
Cleaner handling when preview generation fails. Using original file as fallback.
|
2026-01-21 23:29:51 +00:00 |
|
LeoVasanko
|
1cb512e65d
|
Remove overly eager Gallery automode. No longer switches to gallery when merely changing sort column.
|
2025-10-01 07:23:24 +00:00 |
|
LeoVasanko
|
972aaee9fe
|
Improved reliability of direct to folder downloads.
|
2025-10-01 06:49:50 +00:00 |
|
LeoVasanko
|
055eaa8a21
|
Fix admin UI password reset and user deletion functions.
|
2025-10-01 06:31:20 +00:00 |
|
LeoVasanko
|
05fb81c36d
|
Implement web-based user management / admin setup. (#8)
Implement Admin Settings dialog for user management and toggling the public server flag, not needing CLI for maintenance anymore.
|
2025-09-30 23:10:33 +00:00 |
|
LeoVasanko
|
6639174e8f
|
Fix Vue TypeScript module declarations for build
|
2025-10-01 05:32:14 +00:00 |
|
LeoVasanko
|
5e2e71eafb
|
Clean up the remaining uses of print()
|
2025-08-18 22:49:40 +00:00 |
|
LeoVasanko
|
7e4c5bc911
|
Use zstd rather than brotli for static file compression.
|
2025-08-18 04:51:46 +00:00 |
|