Commit Graph

115 Commits

Author SHA1 Message Date
Thegan Govender
f5eb983ab1 Dependency+Logging cleanup
Fixed dependency errors
Removed leftover logging commands from testing
Updated screenshots
2023-07-01 23:33:28 +02:00
Thegan Govender
2e91d00211 Update backup.js
Fix for broken backups due to path changes
2023-07-01 23:03:19 +02:00
Thegan Govender
e7912397d2 Code clean-up + API Keys
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
2023-07-01 22:52:19 +02:00
Thegan Govender
44643274c3 Typo fix
Changed Prefered to Preferred
2023-07-01 02:16:51 +02:00
Thegan Govender
ecee47d4d0 Preferred admin user+ Client Memory Improvements
Added option select a specific admin user as your preferred admin. This determines the userid to use when certain api calls require you to specify a user

Added settings column to the global config options. This is a json object which allows for dynamic settings without altering the table structure

Fixed dependency array on setting views to reduce ram usage on client side

Slight UI fixes
2023-07-01 02:13:35 +02:00
Thegan Govender
890d7d84a8 Update sync.js 2023-06-25 20:59:18 +02:00
Thegan Govender
d6124df020 Backend fixes
Fixed sync bug due to undefined variable
Username update fix. Existing users where not being updated
Added code to update username on activity table when compared to users table

Fixed alert message on backup/restore page

updated debugger to pull data using new changes

cleaned up backup.js
2023-06-25 20:56:13 +02:00
Thegan Govender
1fc57445cd backend changes to improve sync
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)
2023-06-24 23:56:58 +02:00
Thegan Govender
364aa2ac09 Tasks + UI improvements
Changed Tasks to run based on last successful execution time in the logs table vs an interval counter that counts from startup. This prevents an issue where if a server is restarted before the interval time, the task timer essentially resets.

Fixed User Image in session card

Disabled websocket proxy
2023-06-19 19:52:29 +02:00
Thegan Govender
b7e815a56b Update stream_info.js 2023-06-18 22:27:22 +02:00
Thegan Govender
6620b85e22 Update 038_jf_playback_activity_add_stream_data_columns.js 2023-06-18 22:21:49 +02:00
Thegan Govender
ce94b46307 1.0.4.10 Bug Fixes
These fixes are just restores as files got reverted due to incorrect merging from old branch which reverted changes
2023-06-18 22:18:23 +02:00
Thegan Govender
b40398c989 Merge branch 'unstable' of https://github.com/CyferShepard/Jellystat into unstable 2023-06-18 21:35:50 +02:00
Thegan Govender
550e1d3f7c v1.0.4.10 Beta 2023-06-18 21:02:18 +02:00
Thegan Govender
08bc49889c Merge pull request #55 from CyferShepard/main
update unstable from main
2023-06-18 19:32:32 +02:00
Thegan Govender
0dcdeb2371 General UI Fixes
Added Mixed Library Types to Stat cards
Fixed icons to show for relevant library types in different views
Fixed library view to show a fallback image when image fails to load

Added basic sort order to Media Items in library. Sorted by Name As. Will work on a sort order selector in next update alongside other planned features
2023-06-08 09:11:18 +02:00
Thegan Govender
ac70d7fac0 Update package.json
Version Bump
2023-06-07 11:09:37 +02:00
Thegan Govender
2e2bab9b73 Fix for library sync
Made changes to sync process
Data calls are now paginated at 200 items per call
Recursive search added to account for items within subfolders

Reduced API calls by recursive calls on entire library vs per library/show/season
2023-06-07 11:00:04 +02:00
Thegan Govender
569d1a1061 Fix Type Label + Exclude playlists
Excludes Library Type Playlists
Caters for other library labels IE Music/Mixed
2023-06-05 19:05:11 +02:00
Thegan Govender
d2a553b106 Update data-debugger.js 2023-06-05 10:04:46 +02:00
Thegan Govender
dd1634a8fe More Granular debugging data
Breaks down debugger data further plus added a raw data extract
2023-06-05 09:58:22 +02:00
Thegan Govender
d8b4360b3d Added Data Debugger
This is to assist in the ongoing sync issues by allowing you to export any missing data for inspection
2023-06-04 13:29:22 +02:00
Thegan Govender
37bbfef0ba Fix for sync issues
Change to Included mixed libraries broke sync as Jellyfin does not populate a CollectionType for this library type breaking the no-null constraint. A default value of 'mixed' will be passed instead of a null.

Modified js_library_stats_overview to account for empty libraries

Modified Libraries view to cater for the above changes + added error boundaries
2023-06-03 01:40:29 +02:00
Thegan Govender
1d4f08ecf6 Security Patch
This addresses issue #44 and #42
2023-06-01 19:05:12 +02:00
Thegan Govender
4b34a3769d Merge pull request #43 from vincentscode/fix-41
Resolve #41 while still filtering out Collections
2023-06-01 16:35:04 +02:00
Vincent Schmandt
df64580445 feat: Implement requested changes 2023-06-01 16:19:51 +02:00
Vincent Schmandt
f75b5de82b Resolve #41 while still filtering out Collections 2023-06-01 14:25:59 +02:00
Thegan Govender
d9d5cad5d4 Rework Setup Process + Remove API Key Call
Reworked setup process to better detect which state of setup Jellystat is in

Removed jellyfin-api class as that now exists in the backend

Removed API_KEY from the getConfig API endpoint as a security measure
2023-05-31 20:25:28 +02:00
Thegan Govender
9bede22543 Frontend Fix for Blurhash eror
Null values in Image hashes causes ui to crash. This fix caters for that
2023-05-31 15:25:44 +02:00
Thegan Govender
48db471c43 Update jf_library_items.js 2023-05-31 14:26:24 +02:00
Thegan Govender
f57ca9dede model fixes
Should resolve sync issues
2023-05-31 12:09:22 +02:00
Thegan Govender
85aa202f2d Slightly more detailed error handling for debugging
Minor attempts to fix some issues, most of this change is to add a deeper level of debugging
2023-05-31 07:17:52 +02:00
Thegan Govender
8c1a56837b Sessions bug fix+cleanup
small changes, minor version bump
2023-05-30 09:01:56 +02:00
Thegan Govender
beda4f01ae Updated Sync Process + Bug Fixes
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
2023-05-29 09:13:26 +02:00
Thegan Govender
31917368ee Session Card Changes + Backup Err Handling
Added more error handling to prevent nodejs crash
css cleanup
added more information regarding transcoding and bitrate to session cards
Merged Log reference variables into a single object
2023-05-27 17:19:46 +02:00
Thegan Govender
a5f50cb160 Update sync.js 2023-05-26 19:28:12 +02:00
Thegan Govender
a092fea097 Update stats.js 2023-05-26 19:24:11 +02:00
Thegan Govender
74c424adc7 Added Proper HTTP stats to stats/api endpoint
Set HTTP status to 503 for error responses
2023-05-26 19:18:20 +02:00
Thegan Govender
f03450347d Data.filter is not a function fix
fixes Data.filter is not a function errors as error responses where not correctly annotated with the proper http response codes. this resulted in the api call passing as status 200 and attempting to filter the error response message as a data array
2023-05-26 18:51:43 +02:00
Thegan Govender
6493720062 Update sync.js
missed one
2023-05-26 18:21:28 +02:00
Thegan Govender
f24aedc402 Bug Fixes with Logs+proxy
Fix to address UI crash on Home and Log Page
This was due to a bad log message being rendered in a way that caused react to treat it as an object
Added Failsafes for backup and restores with logging
Added function to clean up season/episode and item information for items no longer in the DB
Added Days to Watchtime format in library view

Reduced console logging in Activity Monitor to reduce clutter

Remove Log on hashed password
2023-05-26 18:18:38 +02:00
Thegan Govender
2000a6c1de Error Handling in sync class
added try catches on sync class
2023-05-25 16:50:57 +02:00
Thegan Govender
b967c4151f Error message fixes
Quick fixes for error messages that failed to show in development
2023-05-25 07:34:48 +02:00
Thegan Govender
3a04661915 Automated Tasks + Logging +misc
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
2023-05-25 07:21:24 +02:00
Thegan Govender
f37f763f50 Removed helmet
Removed helmet due to obsolete dependencies and undesirable behaviour
2023-05-09 10:30:32 +02:00
Thegan Govender
4391c2ede8 Fix for Proxy with SSL support
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)
2023-05-09 09:53:39 +02:00
Thegan Govender
d37ebb160e Merge pull request #25 from lluni/fix-typo
Fix typo in librarySync.js
2023-05-07 21:56:56 +02:00
lluni
a2c571f734 Fix typo in librarySync.js 2023-05-07 19:46:13 +02:00
Thegan Govender
3e0bc347ae added button to upload backups to jellystat + icons
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
2023-05-01 12:59:29 +02:00
Thegan Govender
0f7a38faa6 Update README.md 2023-04-29 22:34:36 +02:00