-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A lot of improvements, fixes and polishing #3
Open
firetech
wants to merge
41
commits into
ragadeeshu:master
Choose a base branch
from
firetech:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains 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
Avoids clogging the file system long time when the system is restarted.
Also, clean up CSS somewhat.
Instead of going silent.
Remove all uploaded files on SIGINT/SIGTERM, and actually exit, without requiring a second signal. Also: * Restructure main program flow slightly (to enable the above). * Add "c" as new console command, for clearing the queue.
File uploads will get a semi-random ID attached to them, with subsequent files referencing that ID as "parent", when adding files to the juggler, and the parent ID isn't in the list yet, the file will wait for the parent to be added first, for up to 30 seconds. If the 30 seconds pass, the file will not be added.
At least Firefox identifies .ogg as video/ogg, even if it's only audio.
Tornado isn't thread safe, and pushing messages from any thread causes a lot of error messages in the log, especially when stopping the server.
Specifically handle issues where the browser fails to include any data in the drag, but also modernizes the drag and drop code.
Changes song identifier to a UUID, and reduces the amount of data sent to the client. Also queued links are downloaded through the new /download endpoint, making it possible to avoid double-queueing by accidentally dragging the download links.
Actually matching what the backend allows you to do. The backend will tell you what it thinks your IP is on connection.
* Port number (default 80) * Bind IP (default any) * Option to use X-Forwarded-For header instead of actual client IP. (usable if running reverse proxied to get around permission issues). Also some minor restructuring to handle startup errors (unable to bind to the HTTP server port, specifically) without starting the player, and remove implicit sudo from startup.sh.
Now uses the path instead of a query param to supply the id, and includes the file extension in the id to improve compatibility with wget and similar tools.
* Between [X] and song link. * Between nick and IP.
Could get stuck in some situations.
Mainly intended for mobile browsers. Refactors upload handling to handle this cleaner.
It seems the URLs extracted by yt-dlp for at least Soundcloud links are time-limited, so extracting them when adding and not using them until possibly much later doesn't work. To solve this, fetch the URL from yt-dlp just before playing instead.
Was generating (unused) random numbers a bit too often.
Send them when it's up again.
Makes it possible to load changes to index.html without restarting backend. Leaving it enabled causes unnecessary load, though.
Move start and stop code to functions outside "__main__" block.
Same issue as in 7a6920c, where it wasn't properly solved.
* No reason to create Media objects when MediaPlayer.set_mrl works just as well. * Prefix all internal attributes with _ (or just make them local variables in some cases). * Move static media MRLs to class constants.
If pychromecast is installed (handled cleanly if not installed), two new options are available: * -C/--chromecast-list for listing available Chromecasts (and -groups). * -c/--chromecast for selecting a Chromecast (or -group) to cast to. With -c, VLC's Chromecast support is used for the actual casting.
Was a known issue, just didn't matter until now.
* Switch to PUT requests, which is more appropriate for the format. * Use @stream_request_body to read and write uploaded file in chunks, reducing memory usage for large files. * Increase max file size to 1GiB, but also don't allow files to fill more than half of remaining free space in temporary storage.
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.
alert()
.video/ogg
) and move type checks to backend.