Commit Graph
29 Commits
Author SHA1 Message Date
Leo Vasanko 80453e98ab 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
Leo Vasanko add9d7ac82 New inotify watcher with efficient algorithms. 2026-01-31 23:46:43 +00:00
Leo Vasanko 7e4b56d9ae Performance profile file change watching. 2026-01-31 22:53:17 +00:00
Leo Vasanko 3d6cf2443c 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
Leo Vasanko 33db2c01b4 Cleaner server shutdowns:
- Remove a workaround for Sanic server not always terminating cleanly
- Terminate worker threads before server stop
- Silent closing of watching WebSocket attempted to open while shutting down
2025-08-17 08:15:01 -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 b2a24fca57 Fixed renames and breadcrumbs for gallery. 2023-11-20 13:47:41 -08:00
Leo Vasanko a49dd2f111 Further bugfixes. Increase full update interval to 5 minutes. 2023-11-20 19:22:49 +00:00
Leo Vasanko dbb06e111c Rewritten inotify watching and faster full tree traversal (also for polling worker). Bugs in inotify watcher fixed. 2023-11-20 18:49:24 +00:00
Leo Vasanko 667e31aa08 Fix regression: inotify watching was broken. 2023-11-20 13:58:20 +00:00
Leo Vasanko 11887edde3 Skip any symlinks while scanning. Stats on how long a scan took. 2023-11-17 17:49:35 -08:00
Leo Vasanko 5285cb2fb5 Watching cleanup 2023-11-16 09:17:50 -08:00
Leo Vasanko b6b387d09b Code cleanup and bugfixes:
- Resolve threading deadlock when multiple watch request arrived at the same moment.
- Implement more graceful server exit.
- Reduce excessive logging.
- Fix unix socket clearing; until Sanic starts accepting Path for unix socket name.
2023-11-16 07:09:57 -08:00
Leo Vasanko 3e50149d4d Add more quit points for watching thread. 2023-11-13 16:28:53 -08:00
Leo Vasanko 7077b21159 Add frontend build to Python packaging. Remove dead code, cleanup. 2023-11-13 16:19:33 -08:00
Leo Vasanko 9854dd01cc More efficient flat file list format and various UX improvements (#3)
This is a major upgrade with assorted things included.

- Navigation flows improved, search appears in URL history, cleared when navigating to another folder
- More efficient file list format for faster loads
- Efficient updates, never re-send full root another time (except at connection)
- Large number of watching and filelist updates (inotify issues remain)
- File size coloring
- Fixed ZIP generation random glitches (thread race condition)
- Code refactoring, cleanup, typing fixes
- More tests

Reviewed-on: #3
2023-11-12 23:20:40 +00:00
Leo Vasanko e26cb8f70a Linting, removed extra line from pyproject.toml. 2023-11-08 13:08:46 -08:00
Leo Vasanko 876d76bc1f Frontend created and rewritten a few times, with some backend fixes (#1)
The software is fully operational.

Reviewed-on: #1
2023-11-08 20:38:40 +00:00
Leo Vasanko 4a53d0b8e2 Formatting and fix Internal Server Error on upload 2023-10-26 18:59:19 +03:00
Leo Vasanko 4a13f642b2 Watcher cleanup. Restart server on config changes and if frontend is modified. 2023-10-24 00:57:50 +03:00
Leo Vasanko 5d3f419508 /api/watch also continuously reports disk usage 2023-10-23 05:24:54 +03:00
Leo Vasanko 4852212347 Cleanup, bugfixes. Added access control on files and API. 2023-10-23 04:51:39 +03:00
Leo Vasanko e68a05e663 Refactoring and cleanup 2023-10-21 19:17:09 +03:00
Leo Vasanko 9939cb33fa Watcher rewritten with inotify module, bugs fixed. 2023-10-19 23:52:37 +03:00
Leo Vasanko 228b75a20d Watching cleanup, debugging a problem case. 2023-10-19 20:54:33 +03:00
Leo Vasanko 05c6f03d20 Refactor with its own entry point and startup script cista, instead of running via sanic. Config file handling and Droppy updates. HTTP redirection/acme server added. 2023-10-19 02:06:14 +03:00
Leo Vasanko 429a7dfb16 Implemented login page and new jwt-based sessions. Watching cleanup. 2023-10-18 01:06:27 +03:00
Leo Vasanko bd680e3668 Major upgrades, much code and docs rewritten. 2023-10-17 21:33:31 +03:00
Leo Vasanko f697d96c89 Restructuring as a Python package. 2023-10-15 02:42:16 +03:00