feat: Show active streams in the sidebar#356
Open
scottrobertson wants to merge 4 commits intonzbdav-dev:mainfrom
Open
feat: Show active streams in the sidebar#356scottrobertson wants to merge 4 commits intonzbdav-dev:mainfrom
scottrobertson wants to merge 4 commits intonzbdav-dev:mainfrom
Conversation
Contributor
|
I haven't looked at the code yet, but some nitpicks. At the first glance it looks okay for LLM code.
How about not deduplicating, as this is a important information. Maybe something opens multiple streams of the same file, which can be a performance issue. Maybe it's just me, but I would love to monitor the download (from Usenet) and upload speed (over DAV to clients). |
Shows which files are currently being streamed in real time via WebSocket. Each entry displays the file name, a progress bar, downloaded/total size, and percentage. Multiple HTTP requests for the same file (range requests, seeking) are deduplicated using the DavItem ID with reference counting.
d30f14a to
016759c
Compare
Author
|
I think showing the upload/download speeds would be fun, but that info is not available right now and I don't think it should be added in this initial PR. We could add it in the future maybe? I removed the deduplication, as that makes total sense. |
WebDAV clients like Emby use range requests, closing and reopening connections as they buffer. Each new request registered as a fresh stream, resetting progress to 0%. The total file size was also misleading since only a range is being served, not the full file. Replaced the progress bar with bytes transferred and speed (bytes/sec), which is always meaningful regardless of how the client fetches data.
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Shows which files are currently being streamed in real time via WebSocket. Each entry displays the file name, and the speed of the current stream.
"Active Streams" felt right, but maybe it's wrong? It will disappear once it's fully downloaded, so it may be a bit confusing as the client (emby etc) may still be playing, but it's not showing in nzbdav.
I don't use Plex, so i cannot test if it works via that route. I assume it's very similar though?
This is written mostly by Claude Code. Forgive any issues, as i don't know C# at all.