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