* Cleaning up scary code - checkpoint 1
* Massive server cleanup + optimizations - Part 1
* Bump mikro-orm versions
* Pilot using tagged types (type branding) on FillerShow.uuid for
(maybe) better type checking
* Start hacking away at the 'helperFuncs' file inherited from DTV
* Optimizations in getCurrentProgramAndTimeElapsed to reuse the
precalculated 'startTimeOffsets' from the channel lineup
* More type checks
* Untangling some of the crazier types I added earlier on to make
sense of the original code
* General cleanup + best practices
* Move util.ts to util/index.ts
* No longer using req.hijack() to send raw video stream to frontend -
this cleaned up a lot of code
* Introduce VideoStream + ConcatStream classes which hold functionality
related to streaming that used to be in the monolithic video.ts
* Simplify ChannelCache and break dependence on Plex IDs. This now
caches using our internal DB IDs
Left TODO:
* Completely remove helperFuncs.ts and put the functions in a more
appropriate place
* Subdirectories for Plex files
* Subdirectories for 'Player' classes
* Subdirectories for 'ffmpeg' classes
* Persist channel cache to disk periodically so that server restarts
preserve that information about streaming
* Update lockfile
* Fix build
* Checkpoint - new entities, migration, + fixer so we can get started quickly
* Checkpoint - hooking up relationship saving on the program update path
* Checkpoint
* Another checkpoint - now relations are upserted alongside new episodes
* Augment APIs to return new season/show/artist/album metadata
* Cleanup API and standardize on new converter
* Make fixer queries better so we aren't constantly running
* Checkpoint - dynamic channels
* Yet another checkpoint
* Bump versions - makes a ton of stuff work magically; needed a patch for ts-essentials because of https://github.com/ts-essentials/ts-essentials/issues/381
* Checkpointing
* Checkpoint
* This is a nightmare
* Checkpointing.... getting closer
* First cut - packaging the server in a docker container
* Remove busted bundles
* Minify build
* Some common commands for building - we're going to look into proper monorepo solutions soon
* Remove dependency on serve-static
* Add web serving, full-stack docker target, and Nvidia container support
* Remove test action graph for now
Changes:
* Starting to centralize on Zod schemas in a shared types package -
frontend/backend sharing tyhpes
* Skeletons of some pages. Creating some boilerplate for resuable
react-query hooks
* Frontend touch-ups