68 Commits

Author SHA1 Message Date
Thegan Govender
d79223bc00 Merge branch 'unstable' into main 2025-10-05 17:09:53 +02:00
Zlendy
f3158258d7 fix: Backup job saves files with a literal "yyyy" instead of the current year (YYYY) 2025-07-04 18:16:46 +02:00
Zlendy
67bdb8dafb refactor: Replace moment with dayjs
https://day.js.org/en/
2025-06-21 00:04:11 +02:00
eeada4fbb2 feat(webhooks): add Discord webhook support and event notifications for playback and media actions 2025-05-26 10:01:30 +02:00
CyferShepard
41e9a6e0cf Fix failed backup bug due to not awaiting log insert #393 2025-05-24 22:14:06 +02:00
Félix MARQUET
280fa89c59 feat(webhooks): add support for playback and media notification events
- Implement event handlers for 'playback_started', 'playback_ended' and 'media_recently_added'
- Add API routes to manage event webhook status
- Create user interface components for easy webhook configuration
- Update webhook manager to properly trigger events
- Add translations for new UI elements
2025-05-23 08:29:08 +00:00
Félix MARQUET
27062b2d14 Merge branch 'CyferShepard:main' into main 2025-05-23 09:34:40 +02:00
CyferShepard
833e8852eb update set config logic to change default prefered admin if a value is set and is not included in the current admins list 2025-05-01 14:35:51 +02:00
Félix MARQUET
193b47c4af Improve error messages and logging in webhook manager and scheduler and fix error when webhook is undefined 2025-04-26 11:44:44 +02:00
56039bd3b9 Add webhook management and scheduling functionality 2025-04-25 10:53:00 +02:00
CyferShepard
b44dc5ff86 Fix onExit callback condition to only trigger on non-zero exit codes 2025-04-14 21:22:57 +02:00
CyferShepard
6e80cee618 Expanded Exclusion list for numeric conversion on db queries 2025-04-08 10:22:08 +02:00
CyferShepard
7348c22ab8 Version Bump 1.1.5
add better logging for child worker threads
add better error handling for updateSingleFieldOnDB function
2025-04-08 09:34:44 +02:00
CyferShepard
1407c3d4c3 Add "NowPlayingItemName" to skippedColumns in query results 2025-04-06 16:12:36 +02:00
CyferShepard
c720e56c08 Add numeric conversion for query results and implement isNumeric helper function 2025-04-06 01:20:49 +02:00
CyferShepard
607b21c542 Added Genre stats to users page #292
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
2025-03-30 17:33:58 +02:00
CyferShepard
17fb7d6813 api fixes for config not loading during sycn on new threads 2025-03-30 13:52:43 +02:00
CyferShepard
08d5a55e7e add 10s delay to first run of full sync
prevent task scheduler from running if config is not completed
2025-03-15 15:00:56 +02:00
CyferShepard
ab3a530088 fix for writing default task intervals to db 2025-03-15 14:47:30 +02:00
CyferShepard
d7953caac3 added missing onexit for different tasks
updated task state to failed when stopped
2025-03-07 23:25:04 +02:00
CyferShepard
ec6a165c6b null config fix for threaded tasks using plugins endpoint 2025-03-07 23:01:49 +02:00
CyferShepard
81fe4997d1 task scheduler rework
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
2025-03-04 22:23:34 +02:00
CyferShepard
4ab5942f50 fix for session endpint function crashing when lost connection 2025-02-26 09:17:50 +02:00
CyferShepard
f9f061057a added fix for sql injection in custom query constructor for history 2025-01-27 19:21:40 +02:00
CyferShepard
76363ea0ba added sorting to history endpoints and changed Activity tables to apply sorting to api calls 2025-01-04 03:50:39 +02:00
CyferShepard
6b1d5932b6 changed grouping to be perfomed on sql to present more accurate data in tables.
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
2025-01-02 20:32:39 +02:00
CyferShepard
9cf93f2862 expanded api querying of history to add a search field 2025-01-02 01:44:21 +02:00
CyferShepard
58804e08d3 optiomisations on history queries 2024-12-27 14:53:14 +02:00
CyferShepard
7eae08c797 added pagination to backend history endpoints
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
2024-12-27 00:23:22 +02:00
CyferShepard
935e9b88b7 #258 exclude archived libraries from stats on Statistics endpoint. When library is untracked, after a full sync, the library is archived 2024-10-20 18:09:25 +02:00
CyferShepard
c31edc045a added ENV overides for JF_HOST and JF_API_KEY 2024-10-07 10:13:44 +02:00
CyferShepard
b455d7614b better error handling in api 2024-09-16 08:51:59 +02:00
CyferShepard
92ba211e8b Fix for #248 to address getUser filter error 2024-09-14 23:29:52 +02:00
CyferShepard
29d6464397 Fix to address #229 Base urls. Alot of hacky code here. hope it doesnt break 2024-09-08 00:31:13 +02:00
CyferShepard
ed917f5be8 Possible Breaking changes, will revert if next image fails to run. Dynamically builds env variables to file to be used by frontend 2024-09-06 22:46:32 +02:00
CyferShepard
cb9417542b Added optiosn to toggle which tables to backup
Fixed logging not displaying in backup task
2024-08-25 00:38:56 +02:00
CyferShepard
6f25aea78a Fix fetch for missing item taking too long. This was due to jellyfin returning all library items when a specific id is not found in a specified library. Limit param added to API clients to tackle this 2024-08-09 01:31:51 +02:00
CyferShepard
6fac8127a0 Sync rework, this overhauls the sync process to process by chuncking and processing data. This fixes an index out of range memory error due to large sets of libraries being fetched and kept in an array for final processing.
Changes made to the api classes to allow for individual calls as they previously looped to fetch each chunck before returning the final large data set.

Also added a fix to prevent a full sync or partial sync from triggering when the other one is already running
2024-07-28 21:04:10 +02:00
CyferShepard
d58807ca39 Fix for sync pulling entities from jellyfin that is not vissible. This was done by enforcing the userId field against the prefered admin
Added sizes to Episodes in library season view
2024-07-16 15:31:09 +02:00
CyferShepard
f70bce6b9a Version Bump 1.1.0 => 1.1.1
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
2024-06-29 22:57:33 +02:00
CyferShepard
13e186ef7b chore: Update logging import paths in backend code
chore: fix swagger doc endpoints
chore: refactored code to respective classes
2024-06-20 14:43:25 +02:00
CyferShepard
c1e73a0370 chore: Filter out sessions with prerolls in JellyfinAPI 2024-06-16 21:02:17 +02:00
CyferShepard
88e89c1bcc consolidated validation and normalisation of of url to setconfig functions 2024-06-13 22:03:26 +02:00
CyferShepard
6e33d179f7 fix to replace is-url-http library due to docker build issues 2024-06-06 12:52:47 +02:00
CyferShepard
d5c6f1b927 chore: Update environment variable name for Postgres database in backend files
Fix: http/https not being appended to jellyfin server url during setup process, this should address issues #175, #163
2024-06-03 08:59:54 +02:00
CyferShepard
c1e9da3b94 Fix to remove trailers from session list #198 2024-05-08 20:58:15 +02:00
CyferShepard
6666bef325 added url to error debug 2024-04-27 15:27:13 +02:00
CyferShepard
b2ba7768c8 auth setup fixes 2024-04-07 15:59:08 +02:00
CyferShepard
f245b86eab added DateCreated field 2024-03-30 13:28:57 +02:00
CyferShepard
11d4e42eec Fixes for issues #171.
it seems jellyfin keeps a count of items that are missing for certain media types. IE you have 5/10 episodes for a season, itl keep the remaining 5 as virtual objects and are marked as missing. These have been filtered out.
Once a resync is completed. they will be marked as archived. A purge of cached items in the library wil delete all archived items
2024-03-27 11:51:44 +02:00