Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76a2560cdb | ||
|
|
378677acda |
@@ -4,8 +4,8 @@
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>Jellyfin.Plugin.RedditComments</RootNamespace>
|
||||
<AssemblyName>Jellyfin.Plugin.RedditComments</AssemblyName>
|
||||
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
||||
<FileVersion>1.0.0.0</FileVersion>
|
||||
<AssemblyVersion>1.0.1.0</AssemblyVersion>
|
||||
<FileVersion>1.0.1.0</FileVersion>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>disable</ImplicitUsings>
|
||||
|
||||
@@ -16,14 +16,20 @@ public class PluginServiceRegistrator : IPluginServiceRegistrator
|
||||
/// <inheritdoc />
|
||||
public void RegisterServices(IServiceCollection serviceCollection, IServerApplicationHost applicationHost)
|
||||
{
|
||||
var dbPath = Path.Combine(
|
||||
applicationHost.Resolve<IApplicationPaths>().PluginConfigurationsPath,
|
||||
"RedditComments",
|
||||
"reddit-comments.db");
|
||||
|
||||
serviceCollection.AddSingleton<RateLimiter>();
|
||||
serviceCollection.AddSingleton(sp => new RedditClient(sp.GetRequiredService<ILogger<RedditClient>>(), sp.GetRequiredService<RateLimiter>()));
|
||||
serviceCollection.AddSingleton(sp => new CommentCache(dbPath, sp.GetRequiredService<ILogger<CommentCache>>()));
|
||||
|
||||
// The path is resolved inside the factory (not eagerly here) because the host's service
|
||||
// provider does not exist yet while RegisterServices is running.
|
||||
serviceCollection.AddSingleton(sp =>
|
||||
{
|
||||
var dbPath = Path.Combine(
|
||||
sp.GetRequiredService<IApplicationPaths>().PluginConfigurationsPath,
|
||||
"RedditComments",
|
||||
"reddit-comments.db");
|
||||
return new CommentCache(dbPath, sp.GetRequiredService<ILogger<CommentCache>>());
|
||||
});
|
||||
|
||||
serviceCollection.AddSingleton(sp => new RedditCommentsService(
|
||||
sp.GetRequiredService<ILogger<RedditCommentsService>>(),
|
||||
sp.GetRequiredService<RedditClient>(),
|
||||
|
||||
@@ -33,7 +33,7 @@ primarily for anime, where almost every episode has a thread on r/anime.
|
||||
|
||||
### Option A — manual install
|
||||
|
||||
1. Download/copy `dist/Jellyfin.Plugin.RedditComments_1.0.0.0.zip`.
|
||||
1. Download/copy `dist/Jellyfin.Plugin.RedditComments_1.0.1.0.zip`.
|
||||
2. Create a folder `RedditComments` inside your Jellyfin plugins directory:
|
||||
- Linux (native): `/var/lib/jellyfin/plugins/RedditComments`
|
||||
- Docker: `<your config volume>/plugins/RedditComments`
|
||||
@@ -43,10 +43,10 @@ primarily for anime, where almost every episode has a thread on r/anime.
|
||||
|
||||
### Option B — plugin repository
|
||||
|
||||
1. Host `dist/Jellyfin.Plugin.RedditComments_1.0.0.0.zip` somewhere reachable by your server
|
||||
1. Host `dist/Jellyfin.Plugin.RedditComments_1.0.1.0.zip` somewhere reachable by your server
|
||||
(e.g. a GitHub release asset).
|
||||
2. Edit `manifest.json`: set `sourceUrl` to the zip URL and update `checksum` with the zip's MD5
|
||||
(`md5sum Jellyfin.Plugin.RedditComments_1.0.0.0.zip`).
|
||||
(`md5sum Jellyfin.Plugin.RedditComments_1.0.1.0.zip`).
|
||||
3. Host `manifest.json` next to the zip.
|
||||
4. In Jellyfin: **Dashboard → Plugins → Repositories → +**, paste the manifest URL, then install
|
||||
"Reddit Comments" from the catalog and restart.
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
"category": "General",
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.0.0.0",
|
||||
"changelog": "- Initial release\n- Player OSD button + comments sidebar\n- Reddit thread search across configurable subreddits\n- SQLite caching with separate TTLs for found/not-found results\n- Sliding-window rate limiter (default 60 requests/minute, max 100)\n- Lazy loading: Reddit is only contacted on button click",
|
||||
"version": "1.0.1.0",
|
||||
"changelog": "- Fix plugin being disabled at startup (eager DI resolve in service registration)\n- Ship as a single DLL using the server's own SQLite assemblies\n- Player OSD button + comments sidebar\n- Reddit thread search across configurable subreddits\n- SQLite caching with separate TTLs for found/not-found results\n- Sliding-window rate limiter (default 60 requests/minute, max 100)\n- Lazy loading: Reddit is only contacted on button click",
|
||||
"targetAbi": "10.11.0.0",
|
||||
"sourceUrl": "https://git.gabjimmy.com/Gabe/Jellyfin-Comments/releases/download/FixedV1/Jellyfin.Plugin.RedditComments_1.0.0.0.zip",
|
||||
"checksum": "83c0fe073263c25c119ef3421fe9dbfb",
|
||||
"timestamp": "2026-07-16T00:00:00Z"
|
||||
"sourceUrl": "https://git.gabjimmy.com/Gabe/Jellyfin-Comments/releases/download/1.0.1.0/Jellyfin.Plugin.RedditComments_1.0.1.0.zip",
|
||||
"checksum": "4261e0c68ce67eab4a41e9a2a042750e",
|
||||
"timestamp": "2026-07-16T14:30:00Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user