Skip to content
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

MongoDB support, concurrent streams, player/backend file handling refactor, and more! #378

Merged
merged 21 commits into from
Jul 21, 2021

Conversation

Tzahi12345
Copy link
Owner

@Tzahi12345 Tzahi12345 commented May 16, 2021

Prologue

Normally I don't like to combine unrelated additions into one PR but the concurrent streaming functionality (see #171) and refactor of the player component go hand in hand. Once that was done, it seemed natural to update file download (to browser)/deletion process to use file UIDs instead of relying on their name (which we confusingly called ID).

Once I made these changes, I couldn't help myself to refactoring all DB calls to be more platform-agnostic. And thus, MongoDB support was born.

I also added some backend unit tests as a sanity check for DB operations and file access on shared videos -- we didn't have any unit tests and so this is much needed. There's still a lot of backend refactoring to do but this is a huge step forward.

New additions


Screenshots:

Database settings

image

Concurrent streams demo

111569899-4393af00-8769-11eb-9cb6-7b230e2c3a86.mp4

@Tzahi12345 Tzahi12345 added is: bug Something isn't working is: enhancement New feature or extension of existing functionality labels May 16, 2021
…nloading functionality to new schema

Migrated modify playlist component to new schema

Moved wait function and playlist generation function(s) to utils
- added tests for zip generation
Removed tomp3 and tomp4 routes, replaced with /downloadFile

Simplified category->playlist conversion

Simplified playlist creation

Simplified file deletion

Playlist duration calculation is now done on the backend (categories uses this now too)

removeIDFromArchive moved from subscriptions->utils

Added plumbing to support type agnostic playlists
Added support for MongoDB

Added tests relating to new DB system

Category rules are now case insensitive

Fixed playlist modification change state
@Tzahi12345 Tzahi12345 mentioned this pull request Jul 18, 2021
Massive insertions to local DB are now split up into 30k chunks
…nsole due to vars being changed after Angular detection

Fixed spooky issue where recent videos' navigateToFile stopped working
@Tzahi12345 Tzahi12345 changed the title Concurrent streams, player/backend file handling refactor, and more! MongoDB support, concurrent streams, player/backend file handling refactor, and more! Jul 21, 2021
@Tzahi12345 Tzahi12345 merged commit 384d365 into master Jul 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: bug Something isn't working is: enhancement New feature or extension of existing functionality
Projects
None yet
1 participant