Commit Graph

442 Commits

Author SHA1 Message Date
gnattu 1739962f52 Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-20 20:42:43 +08:00
gnattu 7f0f93eb4a Update Jellyfin.Server.Implementations/Devices/DeviceManager.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-07-20 20:42:31 +08:00
gnattu 7f12677dc3 Directly add new device to cache
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 4f2b1736ab Add user not found message
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu c05049e54e Filter full device list only once
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu dd5f6406a2 Use FirstAsync for device creation
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 79c0a7d7f0 Don't cache user in DeviceManager, query from user cache instead
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 3c6485f0a1 Get device id from input
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 8a8b2c4380 Explicitly declare type of devices
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 7403428864 Always enumerate to get count
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 235da65a75 Use concrete ConcurrentDictionary Type
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu d235378133 Query User on device creation
Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
gnattu 5a62c7a146 Implement Device Cache to replace EFCoreSecondLevelCacheInterceptor
The EFCoreSecondLevelCacheInterceptor will place a huge lock even for reading. Implement a ConcurrentDictionary cache to replace it.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-07-20 20:19:31 +08:00
Joshua M. Boniface 95c7d997c1 Merge pull request #11823 from gnattu/env-disable-second-level-cache
Add Env Var to disable second level cache
2024-06-01 18:32:54 -04:00
gnattu b9c0fc69e8 Add Env Var to disable second level cache
This is an attempt to track down possible causes of remaining database lockups. Add an environment variable to disable the second-level cache entirely to see if it works better on systems that still experience lockups.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-25 01:12:00 +08:00
gnattu fa2bff30f6 Explicitly use decimal
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-05-22 21:17:00 +08:00
gnattu 447f73caf4 Fix bitrate calculation accuracy
Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:41:54 +08:00
gnattu 86129589ef Override too small trickplay image interval
Some users may set this value too low, causing the trickplay generation to fail. Reset this interval to the minimum valid value of 1 second when the user-configured value is too small to prevent generation failures.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-22 13:35:28 +08:00
Niels van Velzen f8b67ec44c Merge pull request #11670 from jellyfin/attempt-restore-user-cache
Restore caching for UserManager
2024-05-16 19:05:00 +02:00
Bond-009 c1615419b9 Don't generate TrickPlay images for files that don't exist (#11653) 2024-05-15 17:26:42 -06:00
Cody Robibero a5d60c4521 Allow empty user id when getting device list (#11633) 2024-05-15 07:06:29 -06:00
gnattu 0756174b13 Restore caching for UserManager.cs
It seems like the EFCore's second level cache does not really work, and we are having very heavy database query here.

Signed-off-by: gnattu <gnattuoc@me.com>
2024-05-15 12:43:46 +08:00
gnattu 6f78ac2ff3 Use more accurate rounding in GetFixedOutputSize (#11435)
* Use more accurate rounding in GetFixedOutputSize

Signed-off-by: gnattu <gnattuoc@me.com>

* Force trickplay thumbnails to have even width

Signed-off-by: gnattu <gnattuoc@me.com>

* Use Convert.ToInt32

Signed-off-by: gnattu <gnattuoc@me.com>

* Force video size as thumbnail size if the trickplay width setting is larger

This will fix an issue when the trickplay setting contains a very huge width, but the video has a lower resolution than that setting. Our scaling filter logic will not do any upscale, and we have to force to use the video width

Signed-off-by: gnattu <gnattuoc@me.com>

---------

Signed-off-by: gnattu <gnattuoc@me.com>
2024-04-30 13:41:46 +02:00
renovate[bot] 9a4db80085 chore(deps): update dependency efcoresecondlevelcacheinterceptor to v4.4.1 (#11306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-04-14 08:18:09 -06:00
gnattu be21d51742 fix: move trickplay specific option into TrickplayOptions (#11229) 2024-03-28 09:26:01 -06:00
Cody Robibero 0bc41c015f Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Nick ac906a04e2 Fix tiles playlist not using relative paths 2024-02-12 09:30:47 -08:00
Patrick Barron d986a824cd Use IHostedService for device access management 2024-02-07 10:52:36 -05:00
Mark Cilia Vincenti f26fc7dfb2 Merge changes 2024-02-03 08:45:14 +01:00
Cody Robibero e7b8d45bbb Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Mark Cilia Vincenti e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Patrick Barron 04dddd3a7b Remove UserManager Cache (#10781)
* Remove redundant user cache

* Use DI for IPasswordResetProvider and IAuthenticationProvider
2024-01-06 13:43:48 -07:00
Niels van Velzen 55916a09eb Remove some unused client capabilities and sync code (#10812) 2024-01-06 13:33:48 -07:00
Bond-009 21374775e5 Merge pull request #10422 from scampower3/api-update
Update /Device endpoint to return CustomName
2023-12-18 21:06:30 +01:00
Patrick Barron ad58d1f77c Use ExecuteDelete for removing API keys 2023-11-22 09:40:49 -05:00
Patrick Barron c9c133bc43 Use ExecuteDelete for cleaning activity logs 2023-11-22 09:35:35 -05:00
Patrick Barron 6b940e141e Remove unnecessary AsQueryable() 2023-11-22 09:34:14 -05:00
Bond_009 635d67d458 Revert "Use System.Net.IPNetwork"
This reverts commit 117d05d288da1d412159a29c0cb8d5c8259e48ae.
2023-11-14 21:16:33 +01:00
Bond_009 b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Bond_009 eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
Cody Robibero 892973a9e3 Merge branch 'master' into media-type 2023-11-09 22:03:55 -07:00
Bond_009 a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Claus Vium db4605609c Merge pull request #10410 from Ch1nkara/add-users-permission-to-edit-subtitles
add EnableSubtitleManagement permission
2023-10-27 09:44:52 +02:00
cvium 1009836a79 add IAsyncDisposable to DisplayPreferencesManager
Properly dispose dbcontext
Add IDisposableAnalyzer to Jellyfin.Server.Implementations
2023-10-22 22:28:45 +02:00
Nick cd662506a1 Merge branch 'master' into trickplay 2023-10-18 19:27:05 -07:00
chinkara 9f259aa404 add EnableSubtitleManagement permission 2023-10-18 18:31:31 +02:00
LJQ 98bc2fea8b Removed dupe ToDeviceInfo 2023-10-18 01:40:36 +08:00
LJQ 2f9b44fcd0 Switch to LINQ and updated /Device/Info endpoint to return in accordance to the updated API doc 2023-10-18 00:41:33 +08:00
Bond-009 84bbf757fa Merge pull request #10366 from goremykin/fix-resharper-warnings 2023-10-17 14:31:35 +02:00
LJQ 259fe4522c Update /Device endpoint to return CustomName 2023-10-17 17:25:41 +08:00