Commit graph

165 commits

Author SHA1 Message Date
crobibero 53d8023def Update all on-disk plugins 2020-09-30 17:37:30 -06:00
Bond-009 cbf9be9416
Merge pull request #3577 from crobibero/package-install-repo
Specify plugin repo on plugin installation
2020-09-29 18:24:11 +02:00
Matt Montgomery 53d5f64e03 Fix SA1513, SA1514, SA1507, and SA1508 2020-09-28 15:04:31 -05:00
crobibero b7022e8dc1 Merge remote-tracking branch 'upstream/master' into package-install-repo 2020-09-26 16:57:53 -06:00
Joshua M. Boniface bc5404cd6f
Merge pull request #3401 from BaronGreenback/Plugins
Fix for windows plug-in upgrades issue: #1623
2020-09-16 17:22:58 -04:00
BaronGreenback ddfb13f945
Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:50:37 +01:00
BaronGreenback f4eb34a966
Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-09-08 17:50:19 +01:00
Anthony Lavado cc6b03296a
Merge pull request #3899 from crobibero/plugin-install
Install specific plugin version if requested
2020-09-07 19:39:55 -04:00
Patrick Barron 8a15ad160b Fix plugin events not being called and clean up InstallationManager.cs 2020-09-05 18:58:16 -04:00
BaronGreenback 8439860b2a
Merge branch 'master' into Plugins 2020-09-05 20:49:04 +01:00
crobibero 533b981668 migrate to IHttpClientFactory in InstallationManager 2020-08-31 11:30:05 -06:00
crobibero 5e6cdc8842 Install specific plugin version if requested 2020-08-14 08:54:21 -06:00
crobibero 2b5d515de7 specify plugin repo on install 2020-07-17 09:08:29 -06:00
crobibero f40bcff113 Catch HttpRequestException when requesting plugins 2020-07-16 08:28:31 -06:00
dkanada 4e08876028
Merge pull request #3418 from Bond-009/minor3
Minor changes
2020-06-23 16:56:44 +09:00
Bond-009 3d42f37538 Minor changes 2020-06-22 15:35:53 +02:00
Bond-009 464066f362
Merge pull request #3411 from neilsb/system-plugin-removal
Prevent system plugins from being uninstalled
2020-06-22 15:23:35 +02:00
BaronGreenback a25a233b75 Using Version class. 2020-06-22 11:57:46 +01:00
Neil Burrows a20fd34161
Update Emby.Server.Implementations/Updates/InstallationManager.cs
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
2020-06-22 11:04:20 +01:00
Neil Burrows c20400fa40 Prevent system plugins from being uninstalled 2020-06-22 10:13:28 +01:00
BaronGreenback 99410f3c97 fixes 2020-06-21 16:15:55 +01:00
BaronGreenback a041fe8a2d Add versioning to plugin folders 2020-06-21 13:29:35 +01:00
dkanada f5d82441a4
Merge branch 'master' into custom-repos 2020-06-17 02:09:32 +09:00
dkanada 91f60c2139 add missing line from using block 2020-06-07 21:23:11 +09:00
dkanada 7161a30af7
improve error handling when a single repository has issues
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-07 02:08:05 +09:00
dkanada 8ac2f1bb8b simplify the custom repository feature for now 2020-06-06 22:02:30 +09:00
crobibero 44957c5a9a Use typed logger where possible 2020-06-05 18:15:56 -06:00
dkanada b7f4b8e2b5 initial implementation for custom plugin repositories 2020-06-04 23:57:57 +09:00
dkanada fe16c3fad4
Merge branch 'master' into install-plugin 2020-06-04 03:20:48 +09:00
dkanada 7176a9a30a
fix build issues
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-04 03:18:55 +09:00
Vasily 40502a33e0
Merge pull request #3203 from Bond-009/warn18
Enable TreatWarningsAsErrors for Jellyfin.Server.Implementations in Release mode
2020-06-03 12:27:59 +03:00
dkanada 6a7cb21b7e
apply code suggestions
Co-authored-by: Vasily <JustAMan@users.noreply.github.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2020-06-03 15:24:17 +09:00
Bond_009 4748105dce Enable TreatWarningsAsErrors for Jellyfin.Server.Implementations in Release mode 2020-05-29 11:28:19 +02:00
Bond_009 7439e095e2 Merge branch 'master' into nullable3 2020-05-27 20:49:18 +02:00
dkanada 6d3e5d8662 update error log for plugin download 2020-05-24 15:53:17 +09:00
dkanada 7972daaba4 fix a few issues with the plugin manifest 2020-05-24 15:40:27 +09:00
Bond_009 fc049caba2 Merge branch 'master' into nullable3 2020-04-15 11:09:14 +02:00
dkanada bd55bdb4e3 merge branch master into plugin 2020-04-11 20:10:16 +09:00
dkanada abb7ed9c35 rename target abi property 2020-04-11 19:54:33 +09:00
dkanada 78abbcc251 standardize plugin version and guid properties 2020-04-11 19:52:40 +09:00
dkanada 8e9aeb84b1 remove release channel from plugin classes 2020-04-11 19:33:36 +09:00
Vasily 53db9567d3
Merge pull request #2769 from mark-monteiro/configurable-repo-url
Make Plugin Repo URL Configurable
2020-04-10 12:52:46 +03:00
Mark Monteiro 8e3b09a996 Do not use IAsyncEnumerable unnecessarily 2020-04-06 22:04:24 -04:00
Mark Monteiro ed88430429 Log error messages when the manifest URL is not valid 2020-04-05 14:34:41 -04:00
Mark Monteiro 15dd46c25a Add '--plugin-manifest-url' command line option and 'InstallationManager:PluginManifestUrl' config option 2020-04-05 13:46:36 -04:00
Bond_009 30ce346f34 Enable nullabe reference types for MediaBrowser.Model 2020-04-05 18:10:56 +02:00
dkanada 974a04c129 update plugin classes for nightly builds 2020-02-26 01:58:39 +09:00
Bond_009 5a8e972952 Enable TreatWarningsAsErrors for some projects
Analyzers are only run in debug build, so setting TreatWarningsAsErrors
for release build will catch the compiler warnings until we resolve all
analyzer warnings.
2019-12-13 20:11:37 +01:00
Bond_009 ec70f3ac75 Fix plugin installation and correct api behaviour
The `/Packages/{Name}` endpoint would return a package that had either
the corrent name or the correct guid. In reality it shoud check if both
are correct.
2019-12-06 22:06:16 +01:00
Bond_009 6a6bfa6da9 Fix possible nullref when updating packages 2019-11-24 17:23:36 +01:00
Bond-009 126165080b Doc improvements 2019-11-07 10:55:02 +01:00
Bond-009 983d38a43b Merge branch 'master' into installationmanager 2019-11-07 10:50:55 +01:00
dkanada 3bfb36a67d
Merge pull request #1915 from Bond-009/hex
Rewrite hex encoder/decoder
2019-11-02 04:03:36 +09:00
Bond_009 81c135c5bb Fix PR issues 2019-11-01 17:57:19 +01:00
Bond_009 d529f81cd9 Improve IInstallationManager interface 2019-11-01 17:57:19 +01:00
Bond_009 5e0858d13f Fix xml docs 2019-11-01 17:55:44 +01:00
Bond_009 3f7836d9eb Update deps and add MultiThreading analyzer 2019-11-01 17:55:44 +01:00
Bond_009 a245f5a0d4 Rewrite hex encoder/decoder 2019-11-01 17:52:29 +01:00
Bond_009 06d420f743 Fix plugin installation 2019-09-28 21:06:58 +02:00
Bond-009 6f17a0b7af Remove legacy auth code (#1677)
* Remove legacy auth code

* Adds tests so we don't break PasswordHash (again)
* Clean up interfaces
* Remove duplicate code

* Use auto properties

* static using

* Don't use 'this'

* Fix build
2019-09-17 12:07:15 -04:00
Bond_009 7243689215 Minor improvements 2019-08-11 15:57:36 +02:00
Bond_009 5eaf5465a5 Check checksum for plugin downloads
* Compare the MD5 checksum when downloading plugins
* Reduced log spam due to http requests
* Removed 'GetTempFileResponse' function from HttpClientManager
* Fixed caching for HttpClientManager
2019-08-11 15:54:58 +02:00
Bond_009 ecb8d8991b Fix whitespace 2019-06-28 12:22:33 +02:00
Bond_009 65a0ca2f32 Improvements to InstallationManager 2019-06-14 18:38:14 +02:00
Joshua Boniface 754e76a61b Add TODO to remove string target 2019-04-04 02:34:23 -04:00
Joshua Boniface 09505e0988 Apply review feedback
Remove a few superfluous/testing log statements, and print the
deletion debug messages when it occurs rather than earlier. Use
a nicer name for the isDirectory variable.
2019-04-04 01:54:31 -04:00
Joshua Boniface 05a4161fd3 Correct the installation and removal of plugins
Upgrading plugins was broken for various reasons. There are four
fixes and a minor one:

1. Use a directory name based only on the `Name` of the plugin, not
   the source filename, which contains the version. Avoids strange
   duplication of the plugin.
2. Use the new directory name for the deletes if it's present, so
   that installation and removal happen at that directory level
   and we don't leave empty folders laying around. Ensures we
   properly remove additional resources in plugins too, not just
   the main `.dll` file.
3. Ignore the incoming `target` when installing, and always set
   it ourself to the proper directory, which would matter when
   reinstalling.
4. Deletes an existing target directory before installing if it
   exists. Note that not calling any of the plugin removal code
   is intentional; I suspect that would delete configurations
   unexpectedly when upgrading which would be annoying. This way,
   it just replaces the files and then reloads.
5. (Minor) Added some actual debug messages around the plugin
   download section so failures can be more accurately seen.
2019-04-03 20:05:14 -04: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
Claus Vium 406fb045c2 Change logging to match the action 2019-02-11 18:54:10 +01:00
Claus Vium 32992b6143 Add extra linebreak 2019-02-11 18:53:35 +01:00
Claus Vium da169dddb5 Remove DLL support and require all packages/plugins to be zip archives 2019-02-11 18:52:09 +01:00
Joshua Boniface 2f4a00d322 Add support for ZIP plugin archives
Most code from @cvium. Also removes the lazy and ill-conceived GUID-
based checksumming, which just died with ZIP archives.
2019-02-10 17:29:55 -05:00
Bond-009 cb1ff69585
Fix build error 2019-02-03 21:57:49 +01:00
dkanada 7e3c45c917 fix build errors and update plugin manifest location 2019-02-03 19:40:55 +09:00
Bond_009 5ac6d0ae59 Fix more warnings 2019-02-01 21:56:50 +01:00
Erwin de Haan b9a111432a Unwrapped all /(Write|Read)All(Text|Bytes)/ functions. 2019-01-28 22:10:50 +01:00
Erwin de Haan a430568082 Unwrapped OpenRead and CopyFile 2019-01-28 22:09:58 +01:00
Erwin de Haan d7c6d16250 Unwrapped CreateDirectory and DeleteDirectory 2019-01-28 22:09:56 +01:00
Erwin de Haan 3a831994f6 Unwrapped GetDirectoryName and DirectorySeperatorChar 2019-01-28 22:06:34 +01: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
Erwin de Haan 49b61f238e Merge branch 'dev' into reformat
# Conflicts:
#	Emby.Server.Implementations/ApplicationHost.cs
#	Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
#	Emby.Server.Implementations/LiveTv/LiveTvManager.cs
#	Emby.Server.Implementations/Security/MBLicenseFile.cs
#	Emby.Server.Implementations/Security/PluginSecurityManager.cs
#	Emby.Server.Implementations/Security/RegRecord.cs
#	MediaBrowser.Api/PluginService.cs
#	MediaBrowser.Api/System/SystemService.cs
#	MediaBrowser.Common/Security/IRequiresRegistration.cs
#	MediaBrowser.Common/Security/ISecurityManager.cs
#	MediaBrowser.Common/Security/PaymentRequiredException.cs
#	MediaBrowser.Model/Entities/MBRegistrationRecord.cs
#	MediaBrowser.Model/Entities/PluginSecurityInfo.cs
#	deployment/win-generic/build-jellyfin.ps1
2019-01-15 17:34:39 +01:00
cvium e5ffa45dbe more descriptive TODO 2019-01-15 16:48:21 +01:00
Claus Vium eca3c099d9 removed a bunch of validation, security, registration, premiere, whatever bs 2019-01-15 16:48:21 +01:00
Erwin de Haan e867446437 ReSharper format: conform inline 'out' parameters. 2019-01-13 21:46:33 +01:00
Erwin de Haan 65bd052f3e ReSharper conform to 'var' settings 2019-01-13 21:37:13 +01:00
Erwin de Haan d655283ef0 Visual Studio Reformat: Emby.Server.Implementations Part U-U & Root 2019-01-13 20:23:38 +01:00
Erwin de Haan e2751d42e8 Merge branch 'dev' into code-cleanup 2019-01-11 12:50:36 +01:00
Erwin de Haan ec1f5dc317 Mayor code cleanup
Add Argument*Exceptions now use proper nameof operators.

Added exception messages to quite a few Argument*Exceptions.

Fixed rethorwing to be proper syntax.

Added a ton of null checkes. (This is only a start, there are about 500 places that need proper null handling)

Added some TODOs to log certain exceptions.

Fix sln again.

Fixed all AssemblyInfo's and added proper copyright (where I could find them)

We live in *current year*.

Fixed the use of braces.

Fixed a ton of properties, and made a fair amount of functions static that should be and can be static.

Made more Methods that should be static static.

You can now use static to find bad functions!

Removed unused variable. And added one more proper XML comment.
2019-01-10 20:38:53 +01:00
hawken bd169e4fd4 remove trailing whitespace 2019-01-07 23:27:46 +00:00
Bond_009 a997bb609f Remove unnecessary using statements 2019-01-05 01:49:52 +03:00
Bond_009 391b48614d Remove FireEventIfNotNull
It's a pretty useless "helper" class
2019-01-05 01:49:52 +03:00
Bond_009 a1b96a3135 Clean up HttpClientManager, LiveTvManager and InstallationManager 2019-01-03 18:24:26 +01:00
Bond_009 ea4c914123 Fix exception logging 2018-12-30 22:44:39 +01:00
Bond_009 0f8b3c6347 Use Microsoft.Extensions.Logging abstraction 2018-12-30 22:44:38 +01:00
Vasily 86f6b817fc Replaced mb3admin.com phoning home with a stub mb3admin.local 2018-10-22 02:16:58 +03:00
stefan 48facb797e Update to 3.5.2 and .net core 2.1 2018-09-12 19:26:21 +02:00
Luke Pulverenti 060215143f improve httpclient resource disposal 2017-10-20 12:16:56 -04:00
Luke Pulverenti 983b51e083 reduce socket activity 2017-10-04 14:51:26 -04:00
Luke Pulverenti 49b799adbe 3.2.30.8 2017-09-05 15:49:02 -04:00
Luke Pulverenti e441e2f53d update active recordings 2017-08-24 15:52:19 -04:00