Added Genres to items table
enhanced db-helper to add group by
fixed bug in fb-helper where null rows triggered a not count prop error
fixed issue where no plays on user screen attempted to open the item page
updated translations for genres
+ Remove sidebar link to activity timeline
+ use jf_libraries.CollectionType as MediaType instead of calculating it
+ reduce minimum playback duration to 30 seconds
added latest activity view to assist in grouping
added triggers as the view is a material view and will need to be updated when changes are made to activity table
created new view to include episode and library metadata to reduce join operations needed in query
Now displays Recently added to Jellystat via sync and does not only rely on an active connection to Jellyfin
It will still show items from jellyfin that have been recently added that are have the DateCreate that is Greater than the Last Date Created item in the list
Added Size Indicator UI to Library and More Items Section
Added Episode count to Season View
Added Traversal to Library Items
Added Size view for Seasons and Shows
Fixed Fetch Item Button for missing content
Fix for playback tracking as i forgot to filter for activity per user, old implementation found the latest record for the item regardless of user and updated that
This rework looks for existing playback records based on the following criteria:
activity matching `NowPlayingItemId` within the last 1 hour with Playback progress <=80%
if theres a matching record:
update the PlaybackDuration to be existing PlaybackDuration + new PlaybackDuration progress
Update ActivityDateInserted to current time
Related issues: #56#116
Forgot to add archived items exclusion when tallying stats
This feature has been extended to seasons and seasons/episodes as some episodes may be archived but not the entire show
added archiving flag to libraries. If a library is deleted or excluded the entire library and its contents are archived when the sync process is run
Added archive toggle in libraries to show/hide archived libraries
Still need to add functionality to bulk purge archived data for a library or for selected items in the library.
cleaned up duplicate statement in migration 46
uncommented backwards navigation code when purge completes
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
Added support for the Playback Reporting Plugin.
This will only import data from this table that is older then the first record captured by Jellystat to prevent duplication.
This means that it will not import any data going forward. its only meant to import old data to have parity with your old watch logs.
Due to the limited set of information logged by the plugin, you may notice some information that's missing when compared to data logged by Jellystat.
Other changes:
ServerId column added as the foundation for future updates that may or may not include multiple server support. This addition is the most crucial and is why it was added now and not held for future change sets.
Cleaned up redundant code and moved around classes to be better grouped eg routes folder
Moved endpoints to other route files to better represent their actions
Removed redundant endpoints
Renamed endpoints to be more meaningful
Added API Key authorisations to utilize the API outside of Jellystat UI (Still need to document Endpoints)
Added new column to app_config to store api keys
New API Section under settings
Updated backups route name
Reworked library view script,this reduces page load time by 90%
catered for new episodes in recently added feed.
Underlying work done for toggle to untrack certain libraries
General ui fixes
Backup files now limited to latest 5 files
Updated compose to have a limit on log files and sizes (Thanks @Hutch79)
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
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