Commit graph

258 commits

Author SHA1 Message Date
Mark Monteiro f91f2ef328 Merge remote-tracking branch 'upstream/master' into register-services-correctly 2020-04-05 10:07:17 -04:00
Bond-009 29539174a3
Merge pull request #2636 from mark-monteiro/development-https
Use ASP.NET Core HTTPS Development Certificate
2020-04-05 15:09:27 +02:00
Mark Monteiro aee6a1b476 Remove unnecessary async and parameter from ApplicationHost initialization method 2020-04-04 20:40:50 -04:00
Mark Monteiro 5d648bf54f Register and construct ILocalizationManager correctly 2020-04-04 20:21:48 -04:00
Mark Monteiro 07cebbeae2 Register and construct IImageProcessor, SqliteItemRepository and IImageEncoder correctly 2020-04-04 17:12:24 -04:00
Mark Monteiro 0ce82ab332 Remove unnecessary fields in ApplicationHost 2020-04-04 15:05:50 -04:00
Mark Monteiro ca71ac72ab Replace EnableHttps and SupportsHttps with ListenWithHttps and CanConnectWithHttps 2020-04-02 17:45:04 -04:00
Vasily 89448ac055
Merge pull request #2634 from mark-monteiro/enable-http2
Enable HTTP/2 support
2020-04-02 13:54:05 +03:00
Mark Monteiro 0e57348cf4 Merge remote-tracking branch 'upstream/master' into development-https 2020-04-01 23:21:30 +02:00
Bond-009 f31efce52d
Merge branch 'master' into usings 2020-04-01 22:42:43 +02:00
Mark Monteiro ca85bef7c5 Move check for web client directory to application startup in Program.cs 2020-03-25 18:52:14 +01:00
Bond-009 eb09d47ed2
Update Jellyfin.Server/Program.cs
Co-Authored-By: Mark Monteiro <marknr.monteiro@protonmail.com>
2020-03-24 17:43:11 +01:00
Bond_009 e9d1eabd53 Remove unused usings 2020-03-24 16:12:06 +01:00
Mark Monteiro 54cbf9c4dc Bind HTTPS ports when running with development environment flag 2020-03-21 21:31:22 +01:00
Mark Monteiro 1fb939b9b2 Enable HTTP/2 support 2020-03-21 20:21:07 +01:00
Mark Monteiro aa546dd36a Rename command line option to --nowebclient and config setting to HostWebClient 2020-03-21 18:25:09 +01:00
Mark Monteiro 05ab61200a Do not call UseContentRoot() on the web host builder
This call has nothing to do with static web content and should not have ever been called with the web content path: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?view=aspnetcore-3.1&tabs=windows#content-root
Since this call is removed, the ContentRoot property is also removed from ApplicationHost as it is no longer needed.
Finally, move validation of the static content path to the DashboardService where it is actually used.
2020-03-15 17:42:57 +01:00
Mark Monteiro 2a01537371 Merge command line options into framework configuration 2020-03-15 15:34:09 +01:00
Mark Monteiro 6fbdf0d6a2 Construct ApplicationHost with DI framework instead of manually 2020-03-15 15:28:29 +01:00
Mark Monteiro 6a6293afc7 Make startup config nullable when configuring app configuration 2020-03-15 13:15:47 +01:00
Mark Monteiro 420e3619fb Use startup configuration to set the default redirect path 2020-03-15 13:01:05 +01:00
Mark Monteiro 4102e3afd0 Rename IsNoWebContent to NoWebContent 2020-03-15 13:00:14 +01:00
Mark Monteiro 99bf6edba2 Merge remote-tracking branch 'upstream/master' into support-running-without-web-content 2020-03-11 23:04:47 +01:00
Mark Monteiro 29bad073eb Use config setting to decide if web content should be hosted
Also fail server startup if web content is expected but missing
2020-03-11 22:54:54 +01:00
Mark Monteiro 6131599e88 Merge branch 'master' into support-injecting-iconfiguration 2020-03-10 22:45:17 +01:00
Mark Monteiro 8dbb1c9257 Use logging.json instead of logging.user.json for override settings 2020-03-08 15:46:13 +01:00
Mark Monteiro 6660006f01 Load user logging config file into application configuration 2020-03-06 19:28:36 +01:00
Mark Monteiro f2fdf50b3b Create separate constants for the two logging file names 2020-03-06 19:07:34 +01:00
Vasily ecaa7f8014 Improve migration logic 2020-03-05 20:09:33 +03:00
Vasily 9eef0e8ca0 Implement EnableThrottling migration for pre-10.5.0 to 10.5.0 or newer 2020-03-05 17:41:32 +03:00
Mark Monteiro 76957213e6 Merge remote-tracking branch 'upstream/master' into support-injecting-iconfiguration 2020-03-03 22:27:49 +01:00
Mark Monteiro c376f4ca51 Register Serilog logging services correctly 2020-03-03 00:35:41 +01:00
Mark Monteiro 48f8118072 Do not save a reference to the startup config in ApplicationHost 2020-02-28 23:28:15 +01:00
Mark Monteiro a4e5a5ab31 Register configuration correctly with application using 'ConfigureAppConfiguration()' in WebHostBuilder
Without this, the correct instance of IConfiguration is not injected into services that rely on it
2020-02-28 23:18:22 +01:00
Mark Monteiro 3043b7323b Use constants for settings keys 2020-02-28 17:57:38 +01:00
Mark Monteiro d95ccbacac Use IsHostingContent instead of explicitly checking ContentRoot 2020-02-26 16:11:09 +01:00
Mark Monteiro 192ec57b60 Remove log message executed before logger is initialized 2020-02-25 17:22:21 +01:00
Mark Monteiro f3be93a4de Use the swagger API page as the default redirect path if not hosting the jellyfin-web content 2020-02-25 17:02:51 +01:00
Mark Monteiro 26af5ea45a Do not set a static content root if the jellyfin-web directory does not exist or is empty 2020-02-25 16:51:36 +01:00
Bond-009 a2490a7ae5
Merge branch 'master' into images 2020-02-12 17:41:46 +01:00
Bond_009 87d2479b78 Fix warnings 2020-01-31 22:26:53 +01:00
Bond-009 71bdcd7307 Fix spacing logs 2020-01-27 17:24:29 +01:00
Bond_009 ddf9b38799 Simplify image processing by removing image enhancers 2020-01-21 20:26:30 +01:00
Bond-009 96c9af5904 Add brackets around thread id 2020-01-16 13:20:01 +01:00
Bond-009 65fe243afb Add thread ID and source to logging 2020-01-13 19:44:17 +01:00
Bond_009 0bf8bfbb0c Merge branch 'master' into mediaencoding 2019-12-10 23:00:59 +01:00
Vasily 5263aaa026
Merge pull request #1503 from cvium/webapi_v2
Move StartupWizard to ASP.NET Web Api
2019-11-27 11:50:06 +03:00
Vasily c45d54efb2
Merge pull request #1942 from Bond-009/nullable
Enable nullable reference types for Jellyfin.Server
2019-11-27 11:48:41 +03:00
Bond_009 cc5acf37f7 Make probesize and analyzeduration configurable and simplify circular
dependencies

Makes the probesize and analyzeduration configurable with env args.
(`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
2019-11-25 12:07:59 +01:00
Claus Vium 27e3cf1558 Move appbuilder and service collection to Jellyfin.Server 2019-11-24 15:27:58 +01:00
Bond_009 526776372e Validate https certificates 2019-11-22 16:23:42 +01:00
Bond-009 1258a3766f
Update Jellyfin.Server/Program.cs
Co-Authored-By: dkanada <dkanada@users.noreply.github.com>
2019-10-29 17:49:41 +01:00
Bond_009 2702dca8b6 Enable nullable reference types for Jellyfin.Server 2019-10-26 23:58:23 +02:00
Claus Vium c3eac58dda Reload logging.json on changes 2019-10-23 19:52:12 +02:00
Bond_009 1745f0181c Log startup time 2019-09-29 00:29:28 +02:00
Bond_009 4f63bfd616 Don't log revision number 2019-09-27 23:58:04 +02:00
Erwin de Haan 0ca0d9d01e Remove submodule and add clone and build to CI 2019-09-24 16:22:26 +02:00
Bond-009 2919cf28ea Update deps (#1735) 2019-09-11 13:31:35 -04:00
Bond_009 99aea27723 Fix possible hidden exceptions
If an error occurred while starting the server which in turn caused an
exception in the dispose method of the apphost, the first exception
wouldn't get logged.
2019-08-18 20:01:08 +02:00
Bond_009 cb492fe3c7 Improve clickable link 2019-08-11 15:17:39 +02:00
Bond_009 003238ef5e Update deps + document startup project
* Fixed the release build
* Documented all public/internal members of Jellyfin.Server
* Enable TreatWarningsAsErrors for debug builds for Jellyfin.Server

This will ensure that any new public/internal members of Jellyfin.Server
are documented
2019-08-11 15:11:53 +02:00
Bond_009 2a58c643d2 Fix more warnings 2019-08-09 23:16:24 +02:00
Bond_009 ddd1a282ea Remove IpAddressInfo and IpEndPointInfo classes 2019-07-25 00:15:06 +02:00
Bond_009 c7d12cc481 Fix merge errors 2019-07-07 00:43:43 +02:00
Bond-009 82f041d050
Merge branch 'master' into release-10.3.z 2019-07-06 23:08:52 +02:00
Bond_009 d405a400aa Fixes issues with HttpClientManager 2019-07-06 20:04:42 +02:00
Bond_009 2e4c0fee77 Add removed line 2019-06-28 12:16:51 +02:00
Bond-009 e88ebd748d Final fixes 2019-06-28 12:14:27 +02:00
Bond-009 b6954f3bfd More 2019-06-28 12:14:27 +02:00
Bond_009 aa30227545 Improve main code flow
Improved the way how some parts of the code depend on eachother
Fixed some style issues
2019-06-09 23:51:52 +02:00
Anthony Lavado aee3360841
Merge pull request #1366 from Bond-009/warn3
Fix more warnings
2019-06-05 01:17:21 -04:00
Bond-009 ce1fa42f9d
Merge branch 'master' into tasks 2019-06-01 17:06:01 +02:00
Bond-009 a6f9ceedd8 Fix more warnings 2019-06-01 11:31:27 +02:00
Bond-009 a332092769 Reduce complexity http routes 2019-03-26 19:20:40 +01:00
Bond-009 b44a70ff36 Simplify/remove/clean code
* Remove useless runtime check (we only support one)
* Remove unused args
* Remove a global constant

And ofc fix some warnings ;)
2019-03-25 22:25:32 +01:00
Bond_009 2696ac5eac Lower the amount of running tasks 2019-03-25 21:33:48 +01:00
Vasily 297f25cfc2
Merge pull request #1059 from Bond-009/os
Remove EnvironmentInfo
2019-03-13 00:01:00 +03:00
Joshua M. Boniface 6751560228
Merge pull request #1092 from joshuaboniface/configurable-webdir
Add configurable webdir option
2019-03-12 12:51:11 -04:00
Joshua Boniface 3c4043199a Implement review feedback 2019-03-12 09:18:45 -04:00
Joshua Boniface 037cf9e1ee Move CreateDirectory for dataDir to try block 2019-03-10 18:30:10 -04:00
Joshua Boniface 5268553e7f Have datadir envvar match the others 2019-03-10 18:24:11 -04:00
Joshua Boniface 132ce3ece1 Add further resources to complete WebPath 2019-03-10 17:04:18 -04:00
Joshua Boniface 93d15cd969 Add configuration flag for Web directory 2019-03-10 16:17:48 -04:00
Bond-009 decaffed86 Remove EnvironmentInfo
This moved the last bit of usefulness of EnvironmentInfo into a static
class.
2019-03-07 22:41:41 +01:00
Bond-009 cedf50eeec Fix the 2 new warnings 2019-03-07 21:29:17 +01:00
Claus Vium 1cc433eabc Start the webhost before RunStartupTasks and fix ContentEncoding 2019-03-03 13:54:14 +01:00
Claus Vium 852460b991 kestrel init 2019-02-26 22:11:21 +01:00
Vasily 50ce7572b4
Merge pull request #851 from Bond-009/appdata
Simplify code to get data dir
2019-02-20 14:31:01 +03:00
Bond-009 51ba28bd65 Remove useless check 2019-02-18 17:37:10 +01:00
Bond_009 a94aeb5c87 Simplify code to get data dir 2019-02-18 17:35:09 +01:00
William Taylor c607c95e64 Removed async from non-async method 2019-02-17 14:33:20 +00:00
William Taylor 18ae107ce4 Removed unnecessary configuration options and reduced primitive dependencies 2019-02-17 14:09:52 +00:00
William Taylor 0d5fbcb031 Removed primitives from services in Program.cs
This will make it easier to move dependency registration
to a system without having to new up all the services first.
Moved the primitives to an IConfiguration which is much easier to inject.
2019-02-17 14:08:52 +00:00
Bond-009 be77e14db9 Warnings for docs 2019-02-16 00:43:56 +01:00
Bond-009 3df8cda110 ConfigureAwait 2019-02-16 00:43:56 +01:00
Vasily 7cc69f30c4
Merge pull request #801 from Bond-009/di
Move to Microsoft.Extensions.DependencyInjection
2019-02-15 21:21:58 +03:00
ploughpuff a2dd2ddd55 Rewrite rules for determining app paths and use XDG_CONFIG_HOME for configDir (#781)
Re-write rules for determining dataDir, configDir and logDir.  Generally, arguments from command line take precedence, then JELLYFIN env vars, before using XDG names.

Co-Authored-By: ploughpuff <33969763+ploughpuff@users.noreply.github.com>
2019-02-13 16:35:14 +01:00
Bond_009 81a8ebde22 Move to Microsoft.Extensions.DependencyInjection
This PR replaces SimpleInjector with
Microsoft.Extensions.DependencyInjection.
2019-02-12 20:52:23 +01:00
Joshua M. Boniface c4f51e16a5
Merge pull request #736 from Bond-009/startasync
Start startup tasks async
2019-02-03 22:23:54 -05:00
Joshua M. Boniface 56dcc45dc0
Merge pull request #732 from Bond-009/locale
Reworked LocalizationManager to load data async
2019-02-03 22:08:20 -05:00
Andrew Rabert 42d5a48491
Merge pull request #788 from Bond-009/warnings
Fix more warnings
2019-02-02 14:21:03 -05:00
Bond_009 5ac6d0ae59 Fix more warnings 2019-02-01 21:56:50 +01:00
Bond_009 660f6174b3 Rebase on master 2019-02-01 18:17:43 +01:00
Bond_009 8af1e93cd4 Make cache dir configurable 2019-02-01 18:13:18 +01:00
PloughPuff b5e8cce4cf Improved help text and output errors to stderr
Addressed review comments from JustAMan.
2019-01-31 18:56:34 +01:00
PloughPuff e18b89ca27 Move Options to Jellyfin.Server and create interface file
Changes following review comments.
2019-01-31 18:56:34 +01:00
PloughPuff ebd2a30087 Accept single-hyphen usage and rename -programdatadir to -datadir
For backwards compatibility, modify the args[] strings to replace single-hyphens with double-hyphens before parsing.

Also rename -programdatadir to -datadir.
2019-01-31 18:56:34 +01:00
PloughPuff fd361421b1 Use CommandLineParser package for handling CLI args 2019-01-31 18:56:34 +01:00
Bond-009 2a1f6361a5
Merge branch 'master' into locale 2019-01-31 18:44:36 +01:00
Bond_009 85a58fd655 Start startup tasks async 2019-01-27 15:40:37 +01:00
Bond_009 51edd5d067 Reworked LocalizationManager to load data async 2019-01-27 10:36:05 +01:00
Bond_009 ce11869a1a Move Skia back into it's own project 2019-01-26 20:43:13 +01:00
Andrew Rabert b673054c8d
Merge pull request #711 from Bond-009/sysevent
Remove remnants of system events
2019-01-26 14:13:25 -05:00
Erwin de Haan d1a0497f55 Revert "Merge pull request #452 from Bond-009/activitydb"
This reverts commit 48ad18d12b, reversing
changes made to fe197415ca.
2019-01-25 23:32:06 +01:00
Bond_009 fd7f420af2 Remove remnants of system events 2019-01-25 22:41:43 +01:00
Andrew Rabert 48ad18d12b Merge pull request #452 from Bond-009/activitydb
Use EF Core for Activity database
2019-01-24 23:02:20 -05:00
Bond_009 8191efb90c Fix some analyzer warnings
Some changes:
* Don't omit braces
* Fix culture sensitive string compare
* Define accessibility functions

I restricted myself to these 5 files, for now :p
2019-01-24 20:14:19 +01:00
Bond_009 905a253ff5 Suffix async methods with Async 2019-01-23 19:09:34 +01:00
Bond_009 8d9428ebdc Ensure DB exists 2019-01-23 18:34:34 +01:00
Andrew Rabert 7327bb91a3 Fix func name 2019-01-20 20:48:24 -05:00
Andrew Rabert c7f648f86a Merge branch 'dev' into imagesize 2019-01-20 20:45:06 -05:00
William Taylor 190bc46c1b Removed unused parameters from Program.getImageEncoder 2019-01-20 21:54:07 +00:00
William Taylor 65cd3ed597 Replaced injections of ILogger with ILoggerFactory
This makes resolving dependencies from the container much easier as
you cannot resolve with primitives parameters in a way that is any
more readable.

The aim of this commit is to change as little as possible with the end
result, loggers that were newed up for the parent object were given the same
name. Objects that used the base or app loggers, were given a new logger with
an appropriate name.

Also removed some unused dependencies.
2019-01-20 21:05:12 +00:00
Bond_009 7e4cc9f513 Touchup 2019-01-20 14:39:05 +01:00
Bond_009 ca910325f3 Remove unneeded fields 2019-01-20 14:25:13 +01:00
Bond_009 8fc8fc0622 Cleanup ImageProcessor 2019-01-20 14:18:37 +01:00
Andrew Rabert 875392c77f Combine Emby.Drawing and Emby.Drawing.Skia 2019-01-19 22:38:41 -05:00
Erwin de Haan 1e94023927 Merge branch 'dev' into reformat 2019-01-19 14:45:02 +01:00
PloughPuff 582226c133 Cause exception if empty string used for config or log folders 2019-01-18 18:11:42 +00:00
PloughPuff 529d804414 Modify to use correct logic before creating directory
Address review comments.
2019-01-18 17:22:14 +00:00
Erwin de Haan d116efe1f7 Merge branch 'dev' into reformat 2019-01-18 17:04:01 +01:00
PloughPuff 04d03c5cf9 Ensure all folders are created before running app 2019-01-18 10:10:45 +00:00
Erwin de Haan 65bd052f3e ReSharper conform to 'var' settings 2019-01-13 21:37:13 +01:00
Erwin de Haan 51ed47f4c4 EditorConfig reformat: Emby.XmlTv, Jellyfin.Server. MediaBrowser.Api, MediaBrowser.Common 2019-01-13 20:30:41 +01:00
Erwin de Haan f0acc0446c Visual Studio Reformat: Jellyfin.Server 2019-01-13 20:24:27 +01:00
Bond_009 50c127fd9a Add proper exit codes 2019-01-13 01:05:25 +01:00
Bond_009 bf4de012da Catch exception instead of masking it 2019-01-13 00:55:37 +01:00
Bond_009 debb8e56fd Handle Ctrl+C and Ctrl+Break 2019-01-13 00:49:11 +01:00
Bond_009 0abdfbb526 Shutdown gracefully when recieving a termination signal 2019-01-12 23:31:45 +01:00
Joshua M. Boniface 423ad4a20b Merge pull request #450 from Bond-009/config
BaseApplicationPaths set up default config and log dir paths
2019-01-06 15:26:01 -05:00
Bond_009 5623d4b632 BaseApplicationPaths set up default config and log dir paths 2019-01-06 13:53:35 +01:00
Bond_009 c07d5a6963 Remove unused PowerManagement
It isn't up to the application to prevent the system from going to sleep
2019-01-06 12:55:48 +01:00
Joshua M. Boniface a74996f06b Merge pull request #438 from Bond-009/logasync
Improve logging performance
2019-01-05 23:39:02 -05:00
Bond_009 7af3754a11 Improve logging performance
Perform logging to file on a background thread.
This means logging won't be bottlenecked by IO.
2019-01-05 23:08:22 +01:00
Bond_009 f6d50c411f Add env vars JELLYFIN_CONFIG_DIR and JELLYFIN_DATA_PATH 2019-01-05 21:16:47 +01:00
Bond_009 23267bb08f Use -logdir if env var isn't set 2019-01-05 21:11:55 +01:00
Bond_009 2850ff7b8a Make config path configurable 2019-01-05 20:06:22 +01:00
Erwin de Haan 22adb838e6 Removed last using. 2019-01-03 21:35:08 +01:00
Erwin de Haan d15af6eb35 Removed all old and unused ImageEncoders.
Remove solution platform cruft.
2019-01-03 21:29:48 +01:00
Bond_009 40563dc6cc Remove GitHub updater and don't trow exception in release 2019-01-02 17:09:40 +01:00