task manager implementation to start/stop tasks WIP
implemented socket client for internal communication between threads - needs more testing as connection string is hardcoded
added loopback in ws server to pass through toast ws messages from threads - needs more testing
fixed potential bug during config fetch function when syncing
changed frontend activity elements to use server-side paging
Bug in MaterialReactTable causing page index to reset was found aswell as a bug that prevents expanding subrows when using manual pagination. Solution is WIP
Added a busy loader to activity tables
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
Changed Dockerfile as previos file was failing to build consistently
removed some unused packages
added compression to json payloads
changed vite ports to 3000 to not break existing builds
backend and frontend both use port 3000 now
Added JS_USER and JS_PASSWORD to env variables so that these credentials can be used to access jellystat incase of forgotten credentials
Added swagger implementation + swag doc auto-generator
Reworked Tasks and logging to prevent overlapping tasks from executing. This is done by reworking the logging process so that the task state is stored and accurately tracked allowing us to check for currently running tasks.
Backup and sync tasks also reworked to reduce code redundancy and allow for better error handling
Websockets finally fixed and implementation has begun
Added Toast notifications
Started on the process of importing plugin data from JF Reporting Plugin
Data is stored in a separate table and will be used in a new view to allow for this data to work in conjunction with the data captured by JFStat. These new views will be finalized and released in the next push.
Reworked watchdog function to use a unique uuid instead of the session id as it is not unique and seems to be causing issues regardless of no pk constraints
Also decided to use moments to get accurate timezone data
Changed item info to sync only items without item info. This is temporary to reduce the load of subsequent syncs until we can optimize this function
Minor changes to front end ui linkages and added open on jellyfin link on item details page
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
Created users info page when viewing user data on user tab
Added DB Procs to retrieve data for those components
Added db auto initialize to the backend in preparation for docker images, this needs work as it still crashes if it cant connect to the db
1) Created components for statistic reporting.
2) Database changes and PROC/Function creations. Still need to make MOST VIEWED LIBRARIES/CLIENTS/ MOST ACTIVE USERS dynamically load with date range (Function Creation on DB side)