Added Dynamic API loader framework for Emby/Jellyfin switching, Emby API is still WIP, DO NOT USE as per #133
Reworked ome pages for correct url mapping of emby external links
Added IS_JELLYFIN flag to config endpoint to indicate if server is displaying Emby or Jellyfin Data
Fix for #218 Require Login set to false still displays Login Page until reload
New feat: Grouped Recently added Episodes under Seasons and Episode count on Home page. Toggle to revert back to ugrouped display will be added later
Added middleware to infer param types in API to simplify value checks, eg bool or numeric parameters
added basic constrains to api endpoint
added translations
added purge option for Entire archived library or just archived items inside library
Fixed some pages that where throwing virtualDom errors
added filter to show archived, not archived and all items under library items
fixed no title error for tab views by giving them titles and hiding it with css
Added Sync feature to only sync Recently Added Items that don't exist in the database (this will not update existing data), default interval now set to 15 Minutes
Renamed existing sync to Full sync (should function exactly the same), default interval now set to 1 day
Reworked handling of items no longer on jellyfin. Items are no longer deleted but are now marked as archived so that we can still view their items when looking at Playback Activity.
Added options to purge Archived data. This will either purge just the item (including seasons and episodes if its a show) or the item plus all related watch activity
QoL changes:
- Show/Movie title will take you to the show/movie in Jellystat
- Episode title will take you to the episode in Jellystat
Aesthetic changes:
- Small margin added between user pic and username on session card
Reworked Sync Process as old process only fetched once and only added items that did not exist. Now data is refreshed accordingly (Does not apply to item information for now)
Changed Log format to specify number of items updated/inserted (Does not apply to item information for now)
Added censor toggle to password fields
Added Change Password settings
Added toggle to make login optional after first time setup
Added Error boundaries to components that rely on raw Jellyfin Data (Should help with UI errors)
Tweaked Device icon identification process to cater for ios.svg-->apple.svg + opera.svg
Changed proxy process to throw error 500 when response from urls are not of expected type
New:
Added automated tasks for Sync and Backups - Backups run every 24hrs, Sync runs every 10 minutes
Added switcher to switch between 12hr/24hr time formats
Added sorting to Activity Tables
Added Version Checking and indicators
Added logging on Tasks + Log Page
Added Recently Added view to Home page
Added background images to item banners
Added Proxy for Device Images in session card
Changed Navbar to be a side bar
Fixes:
Fixed Jellyfin API returning Empty folder as library item
CSS File to add breakpoints to bootstrap-width
Other:
Various CSS changes
Temporarily removed Websockets due to Proxy Errors
Changed Activity View Playback conversion function to more accurately display Playback Duration
Backend changes to sum Playback Durations to show more accurate information in thee collapsed summarized view
Added SSL proxying on the server side so that HTTP content can be served with HTTPS content
Changed css colors from hardcoded values to use variables
Changes to websockets to be able to work with SSL/Proxies
WIP support of 12/24Hr time format in activities tables (Not working yet)
WIP added version checker to be able to check for available updates from GitHub (Not working yet)
added button to upload backups to jellystat
Added Jellystat Logo to favicon + navbar
Removed unused imports and functions in the project
Removed unnecessary console.log files
Backend and frontend changes to have an activity view per user/ item or library
Switched over to MUI for the tables as the library provides alot of solutions such as pagination or sorting built in
Reworked info components to allow for Activity-Table component to be reusable and remove redundant components
Create backup feature to store data as a json file
Modified Terminal to be more dynamic in the backend to be used by multiple modules, messages are now stored and send from server side instead of in the session.
Added username to last watched items in library activity
fixed navbar home url
Reverted stats to ut nor rely on jf_all_playback_activity as it has not been implemented yet
Added drill down views for individual items
Created view to see basic metadata for libraries
Created Table to store item metadata such as file size and codec support
Scrape and display File and library sizes
Removed a redundant view(TBH there's still alot left)
Amended some UI elements
Started work on backup code WIP (Does not work)
Changed out Nivo to recharts for stat graphs to remove <0 behaviour of charts
Navbar partially completed, may tweak
StatCards on home page has been somewhat unified, will need to figure out how to use boot strap to make it look like the cards on main branch
Bootstrap applied to settings page(still not finalized on a design)
Basic user page completed
UI color scheme and css changes
Now stores and uses blurred image hashes for loading item images
Broke auto init DB somewhere along the lines