jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.27k stars 1.2k forks source link

Error 414 (request-URI Too Tong) when increased the library page size to 250 (8925 characters) #2750

Open alexbcberio opened 3 years ago

alexbcberio commented 3 years ago

When I try to play any song the request fails under a 414 error having the "library page size" setting increased to 250 (defaults to 100).

System (please complete the following information):

To Reproduce

  1. Go to your Display settings
  2. Change the library page size to 250 (I have done some fast checks and seems to work ok with 225)
  3. Save the settings
  4. Try to play any song

Expected behavior

The song should play as it does normally

Server Logs (nginx error.log)

2021/06/17 18:51:48 [error] 2902157#2902157: *1860 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.10, server: domain.tld, request: "GET /socket?api_key=API_KEY&deviceId=DEVICE_ID HTTP/1.1", upstream: "http://[::1]:8096/socket?api_key=API_KEY&deviceId=DEVICE_ID", host: "domain.tld"

Browser Console Logs

Uncaught (in promise) Response {type: "basic", url: "https://domain.tld/Users/c054884f4ae24f…eTotalRecordCount=false&CollapseBoxSetItems=false", redirected: false, status: 414, ok: false, …}

Screenshots

Error reported on the browser console image Error displayed on network tab image

Additional context

The Request URL itself (it has 8925 characters)

https://domain.tld/Users/c054884f4ae24ff6b0f7bb6ceb5cdeb0/Items?Ids=3e37d89b5b0298f8119bb859cfdcf5fd%2C619eb5dc15f3942fdf180d794281dcc8%2Cb30e599e2a54ed953fe45a91fb780238%2Cc7a1ab067a5e510389790e81821492ea%2C3168066cf55fac1dcb5ac1c25e0515d7%2Cd0fd12b12e4328e21ad60f0de797655e%2C29fdab62645a88561d68a97dab0bd86a%2C9f219f961f064427e499746f1b3ff711%2C9f3733024efa6a109d31437e2aea2bc6%2C0d6702b1d7a54146b676fffb9a4d38ac%2C2d94d0ad583dd3512804e1a62be12f33%2Cadcb81e04e0f576f876f0cc926aee85f%2Cfc3ca1d0cf0922e40d2e1d448fb1e518%2Cc2c9e6a324ac53c5a4ba3b65ec5a29bb%2Ccc8509d9709ac13638a5e95ee224dc2f%2Cf86e355d229f606ad04feded0bce8ab0%2Cecb8a557b395c9128f4493611f71f770%2C0385d9424ec729660fa1d5f7c9014002%2C8b0a32801b356054d4ac2cba46a68101%2C24e04e738f02270aa80a1f9ca3cdcc23%2Cd8371342a7a66f56d1b5ebfe1df0dbc2%2C7e25ab5a0897075c621c81bf671bd5d6%2Ccb486bff3ba6436701fcca4321518cb0%2Cbacbb311c066b7d3e420de9bcb0d45c6%2C001d0c602895827afd9fee639360294a%2Cdaee4ab4bde3b50e99838acb4b08c5a6%2C30fa679c49f99365b0f1c29c8423a79f%2C13a423e80f07c4d95818e25a679ea06f%2C230e8272665d8a6e7fd51c65dbe8f93d%2C168b3dc98542a3fc4dfb15212b0af405%2Ccc5807a58c4c2bee14bcaf8bef216aa7%2C308432941928c7e5c3696423914765ae%2C52860f585e200317b308df0ce5a8d18f%2Cd8c797fc3d6d83fecf73f1c62a6a7c07%2C3c1bcdac2e199b3f19171dbc2103f955%2Cc453033376218665ce06b3231cbfb976%2Cc7c93227af67cd4b6b2042f1fe92a9e2%2Cca0e6000024d5928863b91d102acfd3d%2C04ff0b943d2c7f252c5e08f0e0a49aa4%2C8e4ef996f55bb60daf9685c4b9dbfac0%2C31529cfc14620e6cabf02c1dcbf654d1%2C6d15d004f714c621f0f3e8043ebf37a8%2C3f272c154ee29d99adfdc54cfa4d486f%2C9f4a9f13a92ca5e94cd60c90203aa576%2C98c7ddbac084622653388a2aef08fa7b%2C1aa1ad0d1127f89aaa5d39806fa069ff%2Cdffa82bdbb42897bdce1897e9c4393f0%2Cf4e07948d4f77a962ab97aefa5c74bb1%2Caab6564dd5762f139d2132fca0968678%2C7c0e74ffbbac4970aec19c0ef3b494a3%2Cae3dccbcc9f8497fca4fe2021b2c1541%2C617c4be9338f294bfb26032604c2efbe%2C17e1abb289dad6cf74f97146e3cbf990%2C23cdac6b056ce14e5d16d665339a6287%2C736a45c241984a9273f954ef95f8f665%2Cef1716ed07cf1005ef0cd087a68b3d05%2C27a7f9544d1b3d87d8585a0ebd1f1ff4%2Cbe2584e8d196f3a443479fb872795ce4%2C3e2a12633cd76161da5685e986f6bc7f%2C442ce71cc3d228363aec47696c916954%2C61cd079b93252df7e4a99c3d29b7da0c%2C3c21fc64e19f12952f58b0708ae46523%2C07920910ac644c98bd90529191df0bc7%2Ca3aa3ac7aa76a03b7f569b37704f9299%2C60d5cc330f2abb398d2a1c6d7780a90b%2C0ff0cc661f36fe5e93b53e05e7e9e86e%2C45becf62fe86b8ef6db57d09a51f9366%2Ceda8b24c3f62a6dfe1b38dc66aca2347%2Cec4ac3fc02db03c10a24d3f00735aa44%2C25ba88f42932d545059560277a67480d%2C0c1ef41da78922c6ba55c4581cd3cb36%2C4c2edad6d8c401ef2913820fb59a8457%2C4adfa12d10067518cadf63dea4a8ac31%2C932f1f0a0dab3abc21a6b2c6ccf7bbec%2Ceb5238a9c1eb43d026c58e34fe1c112b%2C4ac553e574ee0986ca29509ccb4bd068%2C37793392129a71ab417d9499f63eba7e%2C1549cb672d40017822295f7307bdd27a%2C021dc14932d6dffe46d807dcd3258d9d%2Cd5d0f5b7b9e9e6906a039549532db84d%2Caf08bfb20fd6536d75a4787da60453b3%2Cd2471a797b1cd080353d5be35209b9c6%2C424be0011686f970a68a092b41ff9774%2C87ea980b50c86f36986382bf04ad84bf%2C128e3481d05feaa86ef1525410e55689%2C5446d93f2915c15bd834409d1ba8e232%2Ce0e5bb3244bd1c9881e06d1a09b7f07c%2C7a4a8322185bfd4c506fe372faa5e3fa%2C4efce09fa2e6713b648d8b47a7f13285%2Cc883e7bfdc33763343beaf94da64cd26%2Cc9eb0f4c0e847344b09766342f358830%2C9d0c7ddde60ce24012f1acf2e2b460de%2C8c0ad8eb50d6891b6b1e1ed7c8e764c7%2Cecabd665ba689ed080789d59bd6715a4%2Cdfdbcafd026f7141c1f6b8962f4e42a3%2C4df930be26bb5e852abf206e46d3b4fb%2Cccbfd4d164cd33de1c6f59932d9d15a1%2Ce41b0521a0d4545eb3c165b52a8f5595%2C6816bd2d58b7899e06298e669ce6984b%2Ca671db3ffb522b1778b55db4bd6a8811%2Ce87563193c28fa7d526d9f38c7958b49%2Cfe31029687c0010aa8e435c29c51ba97%2C5983324bc34cc7f981f7fc83c9e07ed6%2C15c99e1fb5651fcd5876d2428e08b126%2C7df8c9dec41fa9c0acc89e9867ac77fb%2C46536648c9394ac402c82fc1e328b5fb%2C74ac5c80131a34cc25de91b052be33f1%2C7274afc2a94464f9f166713639c81618%2C804bcdc756e300f05ba11bde54d23a02%2Cc291d92ffa4c899e5a87e667ff5ef8e4%2Ca011691b883c2ef734a12b634e9b2a10%2Cf1bffbd240dfa7fb7b7ee352ca3f90cf%2C33a0111245646ad888da4caeb3e09180%2C1f4fcf0ba2974f5a3639e89ba66c50c1%2C46c2519f9e598c16c6106ef012aafba3%2C6b903fb2422bd66d987cff3c1485171f%2C3c7766e86ed9c0284bdba84c262350fe%2C9cd68215934e59df31556f0a4cd16eba%2Cf2a335078b3249a9c7cd17d53305eb5e%2C647be52a867ad8ed31a8547a023ef5bb%2C3d09021ca92d5b9acdd5a02d35e1cfdf%2C00c30f440ceff05610be81ae160fb2c3%2C526a48040867396275939c07b15c35ee%2C5830b66958603b06118438e65a3367d9%2C7c041657b187cc233c37378d6da339a4%2Cd50f76bd5c5723380b3005bdcc138a9c%2C663b32cdd40b511e5a32ea85b9a624ef%2C86f4173581c508979e17e61ecb8f2e3d%2C76cacba98455c4d1cd6e88f39e2a51f5%2C9703f5b5f63926c0fc82221f4b0743e3%2Ca64c3ede4bd9bcb9e0caec745d9b4385%2Cb8af197d3ac685042f4aa036824f3d73%2C9ac7421c47b2dc85807517babc4b062b%2C990a6c433faf95ba6415d6689a171970%2C78b52469bbd4932b303413ebb7af448b%2Ccc77214a9789ab7c3958e93dc7c135ea%2C24c74855ca6991c7129221428da75fe8%2C77aeb55977a008174aab875cbbd1b78a%2C59074f924324898d9053ede14dfe0e14%2C81f43f56c10a5350d0f75e5b93e30007%2Cb75549391c6a18f6a16ace95f66e27ab%2C60e1284f5ed34cb4317effcb720d06de%2C54d47cdffded88546bf19fe691843e68%2C75ce3b0ea9f14e1fb72f30bebb827445%2C1502f3a7e5675f2ee40f7270e603e704%2Cf3915c59aeb13677878bbcda40dcde35%2C850c1dce9c4b37d4978abfc3fca205a7%2C08a8fa69edee6b1ccc0d02cba9dd4323%2C583cb43889437367f7652e4f8f31fe8c%2Cbd6ed17c3e4613ef9be97c7517916bd2%2C59e8732138390d76346247abc8e79538%2C26989dbfe75b645df19ca42e5c83aad1%2C882808c8320df93664367ea5a6fd912c%2C8092d488978f6c1d1dcaba6e21475442%2C00e939a1a092047d4718228d330ecc68%2Cfc60b3e37d9ae48d05927e7cc3221012%2C166bf9fcb9a4626495a03eec90454f79%2Ce3c830340572da56273ae133d28a2611%2C2bc2dc7494356cf327a38a1015b1b7ed%2C8bd5304a394855e6435dcb170e317b43%2C3d25450eafb4d8984bd62506f7e87549%2Cd4fb71d1557cea5775ca5835c3a5be28%2C442785f5bea60aa9fa5674bfc5f187ee%2C173b095f7a13d9310fd10f379000db8d%2C6c7721e23f6e2e8cba9780eb1f0c46f6%2C9e0dafc1e2d49ece109fb787971fce6d%2C732a19cce588f8dcb3c98ed0ae21f5f3%2C20ebe04623109b951508ccded61469a2%2Cd058f641207d419e8d83ddbb28c3c975%2C1da0aa6e599d4907e0033a1882e2871b%2Cce1f451fb7406d0a077a9b66120c3932%2C18dc04226661009b3f4de82aa7b5bd0c%2Cd1e42ef726ab8cae6d490bc430bce084%2C1bcc09bfb5ed893982c7eb681068bd8f%2C4989b0ad24b585a4f10a2c6dff678493%2Cc2277c0325dcdc3f8731cb1c6b9f3fc1%2Cc8d436666f7f4dfb8d4284f4a622756e%2C76ba2de24f18f8048dadc3a3dd1a7351%2Cab6fa8df644fce4c5524eda17506558a%2C8237fe7f240ea35fcdbcc61a679cc585%2C0904673db6d2f80c9bc8b3dd353f0173%2Cd42064eaf70bf644635ae070f9e32707%2C610d0ec2fc7ec2d1d3be8735c5da36f4%2C35756b89143c2cb6179d09123eba0548%2Ca819da17571a2f1c8ce524e66d9df1ce%2C87af19105eae0bb6d7b22f618ee2d948%2C45d2f084594b061b6b1ee9f8e5d37212%2Cdd62f9117ece96330cb01ccec5dc57ea%2C3923352d7b1540b2643caf5a62dc0e2a%2Ca13b89d309572590b96f9afeed1f08cf%2C71b29299bf262040e85c75327ba1b509%2Cf69df6afdcc207379e89aeca094bb06f%2C428e2d8a5291053027a178cd98b8debd%2Cc272bfab69ccbb2397bfb2cec69bc9a2%2C53fd32bfba0aaf28765452a1185e54f5%2C944cf868cf0f3a1f792174f13fb5cd13%2Ce73e3abe308d2e7dfdb517a3df6543bc%2C6ba0ff0f737871972bfc847ee49cd7da%2Cacf847d540d8fa8ef1608a10457029ff%2C2698785700150693eafd98c909abd6eb%2C6460f88f153d529f7102955acad5c24e%2Cd6a681e2e7869b773721cbdf26be313c%2Cfcf42825e95c7d280800bcf4199eb992%2C9e53b96d7eac7d19979c033b76703757%2Cf8001ae5c6e464374afc8a8708888c25%2Cf9f083f11fd5b840fba709d62a0f03ae%2C827b2a72b521de7396f3a38e3033103d%2C4c66ffc7bef16c0b408ed2b4be0f0ad9%2C644b12847108522ee9dbe4bc866a3519%2C7a1425f22b8ad8ed5e1dd3a71be0914d%2C3cf46a7dc98651900c292d7bafc578b2%2C75c06bb616df4875f3427b611c46408c%2C3fb3318e5d8c44e96cab161b89d47a80%2Cd94bc5027ae8632840d4b6310bcaa8b9%2C99ee09e8829971646540fdb3623b2e09%2Cea4483d5eb0bbef3fbfd8f7804bad8af%2C92b9f611d6ed7f48f7f06a7c1bb06633%2C39bc2f581327d346f089e4ea4e78ab15%2C6b87145ab2530dc91c49a69f85b4d998%2C021d17b263d09114e5c88ead5c088f70%2C72a261fee4902bb08d6db05f03c99956%2Ccdbb5bb0b21dc57424969e8b2043f622%2Ccc03d8dd426fadeff4be9226f68b6fce%2C801818b838d8997e8ab2f550f9dcd7c5%2Ca38c1d00faecce9beeb07ea2a704a0b0%2C6e0af12debb0d13093ef9878e5eb7fac%2C51d10684b9453527b78a1b809324146c%2Cec4d87d48410921ffadd0a776446cc39%2C2b0fba4949a70e897cb3936ff3908ae9%2C5c6084078234568bd4c40ea036706d68%2C32b79146905b69ed53b4100a2fabf8e9%2C49727947dc089949c0c294586a83c68a%2Cb6e988af48cadee71350a10f07988a02%2C4566df530fb4bf18e063255bfab067d3%2C75cefe6d5f3a1886046f6c0262ab87db%2Cd0d697d69e89f0481212bb33a88ef1ad%2Cd3dec88d4d9bcb85efabc43189c2d131%2Cb420e0994ac89dc95e8f051ed89bd03d%2Ca10b9d858eefff31569ab40a24889922%2C0a2995781e3a824ebb0c3263161edc69%2Ceeac8d62e895b9c3de743e53523abfa8%2Ceedb05b1f6f95eb3e807b7bb4d9e1946%2Cd360888d345c0f878692591778779ed9%2C7f950ff474b2dac1e57228391152d62c%2Ca2f7ca399d2740fcbdc4de4f2b7c865a%2Cf436715b882d80e3407dea0125cc1e8f%2C4f8be280fd9a2075f97e0d7ee8481668%2C56422f10d03e26e6cf912b2b3a32d220%2C65fc5f730a379121584e4d53390a80a5%2Cfebff6f26dad86b2b6059e515530cf72&Limit=300&Fields=Chapters&ExcludeLocationTypes=Virtual&EnableTotalRecordCount=false&CollapseBoxSetItems=false
stardust66 commented 3 years ago

Not sure about the jellyfin side of things and how long request urls should be, but this might be fixed by increasing the size of the nginx client header buffer. The default is 8k bytes, which makes sense given that the failing request url is a bit above that. https://stackoverflow.com/questions/1067334/how-to-set-the-allowed-url-length-for-a-nginx-request-error-code-414-uri-too

alexbcberio commented 3 years ago

Seems that nginx is not the one who is returning the error, I've increased the buffer size to 256 (large_client_header_buffers 4 256k;), I have set it on the vhost inside the server, and its still returning this same error.

2021/06/19 11:18:31 [error] 3271216#3271216: *60915 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.1.10, server: address.tld, request: "GET /web/index.html HTTP/2.0", upstream: "http://[::1]:8096/web/index.html", host: "address.tld"

I have checked if it still occurs while making a direct connection over the port 8096 and can confirm it.

I tried searching for any meaningful log by the jellyfin process but found nothing. Here are all the logs from the same date range as nginx (I think its safe to ignore the error but I post it just in case).

[2021-06-19 11:21:04.771 +02:00] [INF] WS "192.168.1.10" request
[2021-06-19 11:18:31.515 +02:00] [INF] WS "192.168.1.10" request
[2021-06-19 11:18:31.066 +02:00] [INF] WS "192.168.1.10" closed
[2021-06-19 11:17:24.061 +02:00] [INF] WS "192.168.1.10" request
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at lambda_method945(Closure , Object , Object[] )
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at Emby.Server.Implementations.AppBase.BaseConfigurationManager.<>c__DisplayClass43_0.<GetConfiguration>b__0(String k)
MediaBrowser.Common.Extensions.ResourceNotFoundException: Configuration with key cinemamode not found.
nielsvanvelzen commented 3 years ago

I moved the issue to the web repository since this should be fixed by not adding all id's to the url in the webclient. changes in the reverse proxy are just a workaround.

b4too commented 2 years ago

This error is there as well when launching a song from the album view : _I enter the album, all songs within are displayed _I click on a song : if there are too many songs ( 134 is ok but 236 is not for instance ) then => loading animation loops forever, nothing is loaded (414) _however if I launch the album ( play or shuffle button ) then it is ok, no matter how many songs are present

( on 10.7.7, issue experienced on http, https, local access without reverse-proxy and remote access with reverse-proxy )

( I know that above comment explains this behavior, just wanted to confirm that this bug is still present )

luky92 commented 2 years ago

any update on this since it seems to be an issue if there is to much episodes in series as well

tepiloxtl commented 2 years ago

This seems to be a problem when trying to syncplay a series with too many episodes, even if they play with syncplay disabled

luky92 commented 2 years ago

It is for sure it looks like either body or the url is to long / too big W dniu wt., 3.05.2022 o 20:00 tepiloxtl @.***> napisał(a):

This seems to be a problem when trying to syncplay a series with too many episodes, even if they play with syncplay disabled

— Reply to this email directly, view it on GitHub https://github.com/jellyfin/jellyfin-web/issues/2750#issuecomment-1116388838, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADTM4X2MXXUFLMLVR7RIAK3VIFSUXANCNFSM46644JIQ . You are receiving this because you commented.Message ID: @.***>

garrit-schroeder commented 1 year ago

This issue still persists with version 10.8.5. any updates. Tracks play just fine when playing the hole album. But single tracks fail.

WolfgangDpunkt commented 1 year ago

This issue still persists with version 10.8.5. any updates. Tracks play just fine when playing the hole album. But single tracks fail.

Yes, and soberly considered, the "music section" of Jellyfin is thus unfortunately useless (for me). :-/

garrit-schroeder commented 1 year ago

True and especially for large audiobooks

hervedevos commented 1 year ago

Same problem here

Meanwhile this bug is fixed, is there a way to configure the Kestrel server started by Jellyfin in order to increase this limit ?

The configuration key seems referenced here :https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.server.kestrel.core.kestrelserverlimits.maxrequestlinesize?view=aspnetcore-3.1#Microsoft_AspNetCore_Server_Kestrel_Core_KestrelServerLimits_MaxRequestLineSize

But I don't have any idea about where we should specify this configuration...

adamflorizone commented 1 year ago

This issue still exists "414 URI Too Long" adding to collection.

WahidBawa commented 1 year ago

The issue still exists with too many episodes on 10.8.8.

jltobler commented 1 year ago

The /Users/<id>/Items?Ids=... API call in question for syncplay can be seen being invoked here: https://github.com/jellyfin/jellyfin-web/blob/master/src/plugins/syncPlay/core/Helper.js#L75-L93

The problem is that the server is rejecting API requests with HTTP 414 when the URI is long. One of the ways this issue manifests itself is when a show with many episodes is being queued resulting in many ids getting appended as query parameters pushing the request over the limit.

To remediate this, it seems the ids query parameter needs to be trimmed down to not contain more ids than can be supported. The amount of ids would be determined from the total maximum allowable URI size minus the other required query parameters and data. I'm currently not sure what the maximum is. :thinking:

Since the API client is generated, a potential fix would be to update call sites of apiClient.getItems() to handle trimming down the request. If many call sites should be updated it would be nice to centralize this operation.

thornbill commented 1 year ago

There is a PR related to this open now. https://github.com/jellyfin/jellyfin-web/pull/4221

luky92 commented 1 year ago

@thornbill any ETA on the pr being merged?

thornbill commented 1 year ago

I'll be (mostly) afk for the next week but it's getting close. 🤞

luky92 commented 1 year ago

Any eta on the version this is going to be added to? @thornbill

thornbill commented 1 year ago

It won't be included until 10.9.0. The change is too complicated to backport to a bugfix release for 10.8 imho.