Commit Graph
158 Commits
Author SHA1 Message Date
Gitea Actions d786d56368 Update manifest.json for latest build (d9a38bb) 2026-07-30 17:03:45 +00:00
dtourolleandClaude Opus 5 d9a38bb7fb JR-021, JR-022, JR-023: File Transformation is a hard dependency
🏗️ Build Plugin / build (push) Successful in 59s
Latest Release / latest-release (push) Successful in 30s
🧪 Test Plugin / test (push) Successful in 22s
Deletes the on-disk index.html injection rather than leaving it switched off.
Plugin.cs had already stopped calling it, but an unreachable write path with a
live signature is the one a later refactor re-enables by accident, and it was
still the behaviour the README and the release changelog advertised.

Patching index.html on disk is destructive in ways a plugin cannot clean up
after: the patch outlives an uninstall, a web-client upgrade discards it
silently, and it races any other plugin touching the same file. It is also a
second code path, and the one nobody runs is the one that rots.

WebClientPatchService is now removal-only. The strip is factored out as
RemoveInjection so it is testable without a filesystem. Removal is the one
write JR-021 permits -- an earlier JRay did patch the file, and those users
must not be left with a stale injection pointing at endpoints that have since
changed. It keys on JRay's own marker, so it touches nothing another plugin
added.

JR-021 is a requirement to *not do* something, which no unit test can
demonstrate, so scripts/checks/no-index-injection.sh verifies it by absence.
The check was confirmed to fail on a reintroduced Apply() and on reintroduced
ReplaceLast injection -- a check that has only ever passed is not evidence.

Jellyfin has no plugin dependency mechanism, so nothing installs File
Transformation for the user and a log warning alone is one nobody reads.
GET /Plugins/JRay/Status/Dependencies reports whether the dependency is
satisfied, and the configuration page renders it with the repository URL and
what to do with it. Absent the plugin only the overlay is disabled; every
other feature works.

JR-022 and JR-023 stay In Progress rather than Done: neither has a test that
executes, and this repo has no test project yet.

TRACES: JR-021, JR-022, JR-023 | PR-004

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 18:58:12 +02:00
dtourolleandClaude Opus 5 3b24fe1b3c Requirements register, spec rewrite, and TRACES tags
jRay had no requirement IDs, so nothing in this repo could be traced to and
the CI gate had no denominator to read. The other two components had already
moved to registers; this brings the plugin level with them.

Adds docs/requirements.md with 46 permanent JR-nnn IDs, each carrying a parent
requirement, priority, status and verification tier, plus a per-requirement
verification plan. JR is flat rather than split by theme: the plugin is one
deployable with one audience, and JRay-public-server already ships UR/DR, so a
second repo using those prefixes would make UR-007 ambiguous across registers.

Rewrites SPEC.md as requirements prose with Current:/Gap: on every one. It had
drifted into a format-plus-API reference that documented schema_version 1 while
owning a format whose v2 shape was specified only in the other two repos, said
nothing about SR-002's scene-scoped semantics, and carried the manifest
exchange as a "planned" aside while its configuration classes were already
implemented. Plugin-side exchange obligations move here from the server's
spec, where they were an ownership inversion.

Adds JR-038..041 for PR-005, which had no software row in any repo -- it was
held structurally by SR-004 and GR-005 both being prohibitions, and a goal
preserved only by prohibitions is the kind that erodes unnoticed. jRay is the
component that actually opens a socket.

Tags 18 units with the requirements they satisfy. Tags name what the code
satisfies, so FileTransformationRegistration is not tagged JR-021: that
requirement is a prohibition and was still violated elsewhere when this was
written.

Vendors jray-project as a submodule for the system spec and shared gate.

TRACES: JR-001, JR-004, JR-005, JR-007, JR-008, JR-009, JR-010, JR-011
TRACES: JR-012, JR-013, JR-014, JR-015, JR-016, JR-017, JR-018, JR-019
TRACES: JR-020, JR-024, JR-025, JR-036, JR-038

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-30 18:57:48 +02:00
Gitea Actions 32f976e79f Update manifest.json for version 0.0.4 2026-07-04 19:47:05 +00:00
Gitea Actions 8e1679faed Update manifest.json for latest build (13471e2) 2026-07-04 19:44:35 +00:00
dtourolle 13471e21fb fix bug that causesd stale media (not on disk) to be suggested to workers
🏗️ Build Plugin / build (push) Successful in 20s
Latest Release / latest-release (push) Successful in 24s
🧪 Test Plugin / test (push) Successful in 19s
🚀 Release Plugin / build-and-release (push) Successful in 20s
v0.0.4
2026-07-04 21:42:43 +02:00
Gitea Actions 2ffbd2f50e Update manifest.json for version 0.0.3 2026-07-04 19:11:39 +00:00
Gitea Actions edb93e1028 Update manifest.json for latest build (f6762fc) 2026-07-04 19:10:48 +00:00
dtourolle f6762fcf29 feat: prioritise and blacklist media and overview in setting page of progress in adding info
🏗️ Build Plugin / build (push) Successful in 1m16s
Latest Release / latest-release (push) Successful in 27s
🧪 Test Plugin / test (push) Successful in 20s
🚀 Release Plugin / build-and-release (push) Successful in 24s
v0.0.3
2026-07-04 21:08:59 +02:00
dtourolle bb02c0f9b9 Enlarge actor overlay images and replace broken link with in-player popup
Clicking an actor card no longer navigates the SPA away from the player
(which lost playback position and often failed for person items). It now
opens a closeable in-player detail pop-up with a larger portrait and full
overview, dismissible via the close button, Back/Escape, the backdrop, or
by pressing play. On-screen card portraits enlarged from 80px to 120px.
2026-07-04 21:06:02 +02:00
dtourolle f11e5508ad update readme and spec for current release 2026-06-28 12:16:07 +02:00
Gitea Actions f5826084e0 Update manifest.json for version 0.0.2 2026-06-12 18:30:36 +00:00
Gitea Actions bea4d931c6 Update manifest.json for latest build (49c7077)
🚀 Release Plugin / build-and-release (push) Successful in 37s
v0.0.2
2026-06-12 18:26:36 +00:00
dtourolle 49c7077e23 bump server version
🏗️ Build Plugin / build (push) Successful in 33s
Latest Release / latest-release (push) Successful in 26s
🧪 Test Plugin / test (push) Successful in 18s
2026-06-12 20:25:32 +02:00
Gitea Actions ff339b681b Update manifest.json for latest build (0e6b03b) 2026-06-12 18:17:26 +00:00
dtourolle 0e6b03be15 fancier overlay
🏗️ Build Plugin / build (push) Successful in 21s
Latest Release / latest-release (push) Successful in 23s
🧪 Test Plugin / test (push) Successful in 18s
2026-06-12 20:16:39 +02:00
Gitea Actions 772babe9bc Update manifest.json for version 0.0.1 2026-06-12 18:11:18 +00:00
Gitea Actions f8365a5b58 Update manifest.json for latest build (4b3b64b) 2026-06-12 18:10:35 +00:00
dtourolle 4b3b64bd7e json copying
🏗️ Build Plugin / build (push) Successful in 22s
Latest Release / latest-release (push) Successful in 28s
🧪 Test Plugin / test (push) Successful in 17s
🚀 Release Plugin / build-and-release (push) Successful in 27s
debugging overlay
v0.0.1
2026-06-12 20:09:36 +02:00
Gitea Actions abad55788d Update manifest.json for version 0.0.0 2026-06-12 17:05:10 +00:00
Gitea Actions dea172d990 Update manifest.json for latest build (51a7365) 2026-06-12 17:04:27 +00:00
dtourolle 51a7365815 update spec
🏗️ Build Plugin / build (push) Successful in 22s
Latest Release / latest-release (push) Successful in 22s
🧪 Test Plugin / test (push) Successful in 18s
🚀 Release Plugin / build-and-release (push) Successful in 25s
v0.0.0
2026-06-12 19:03:39 +02:00
dtourolle f1cffa7dfa Added work remaining url for remote extraction client 2026-06-12 19:03:31 +02:00
Gitea Actions 4c637de442 Update manifest.json for latest build (a38122e) 2026-06-12 16:53:59 +00:00
dtourolle a38122e993 first commit
🏗️ Build Plugin / build (push) Successful in 1m13s
🧪 Test Plugin / test (push) Successful in 20s
Latest Release / latest-release (push) Successful in 25s
2026-06-12 18:16:47 +02:00
T-GanderandGitHub 7a9dbdafcc Update README for .NET SDK version and setup instructions (#85) 2025-11-23 11:26:03 -07:00
T-GanderandGitHub 6277846394 Fixed plugin template to build and copy correctly, allowing settings button to show and the plugin to register. (#84) 2025-11-23 06:19:48 -07:00
Bond-009andGitHub d544b71939 Merge pull request #79 from jakobkukla/patch-1
Fix vscode build task for NET 8
2025-03-11 09:33:59 +01:00
Jakob KuklaandGitHub 12988e127f Fix vscode build task for .NET 8 2025-03-04 00:55:32 +01:00
Anthony LavadoandGitHub e9312af2c2 Merge pull request #72 from jellyfin/renovate/jellyfin.controller-10.x 2024-10-05 11:42:18 -04:00
renovate[bot]andGitHub 4291891dfd Update dependency Jellyfin.Controller to 10.9.11 2024-10-05 15:20:24 +00:00
Anthony LavadoandGitHub e9c9f334cd Merge pull request #74 from Shadowghost/upgrade-template 2024-10-05 11:20:08 -04:00
Shadowghost 3afa1fc407 Upgrade template to 10.9.x and .NET 8 2024-10-05 17:06:23 +02:00
Anthony LavadoandGitHub 2c1143b49f Merge pull request #65 from mrnoname1000/master 2024-10-05 11:01:52 -04:00
Anthony LavadoandGitHub 74da0d2568 Merge pull request #54 from carif/linux 2024-10-05 11:01:16 -04:00
ErikandGitHub 2ddd08221d Updated to specify that you need to place the plugin DLL into a subfolder (#71) 2024-05-19 08:08:00 -06:00
Bond-009andGitHub 5f4229e0fd Merge pull request #66 from ReenigneArcher/patch-1
chore(deps): bump Jellyfin.Controller and Jellyfin.Model to 10.8.13
2024-01-12 22:38:00 +01:00
ReenigneArcherandGitHub 4c4b1e5a71 chore(deps): bump Jellyfin.Controller and Jellyfin.Model to 10.8.13 2023-12-12 23:14:20 -05:00
mrnoname1000andGitHub 7fe332f29c README.md: Fix sh UUID generator
And make call to head POSIX-compliant
2023-10-19 23:35:44 +00:00
Bond-009andGitHub 9052fe20be Merge pull request #64 from jellyfin/renovate/stylecop.analyzers-1.x
chore(deps): update dependency stylecop.analyzers to v1.2.0-beta.507
2023-08-16 18:50:53 +02:00
renovate[bot]andGitHub 3c3776cc60 chore(deps): update dependency stylecop.analyzers to v1.2.0-beta.507 2023-07-03 05:49:33 +00:00
Johannes KauffmannandGitHub 0cb471baa2 Fix typo in interface name (#61) 2023-06-30 18:23:54 -06:00
Anthony LavadoandGitHub b282d676f4 Merge pull request #60 from zjeffer/patch-1
(chore: README.md) change codeblock language to `jsonc`
2023-05-05 21:32:28 -04:00
Tuur VanhoutteandGitHub 6495c17c7f (chore: README.md) change codeblock language to jsonc
The markdown codeblocks in the README were using `json`, which has no support for comments, making them highlighted in red. `jsonc` does have support, correctly rendering the codeblocks.
2023-04-30 23:47:45 +02:00
ViperiniusandGitHub 89500d8f8e Fix typo in class name for input label (#59) 2023-02-19 15:37:37 -07:00
Cody RobiberoandGitHub d3a60b5f71 Merge pull request #43 from SenorSmartyPants/FixSave
Don't navigate to another page, display saved settings instead
2022-08-13 14:45:52 -06:00
Patrick Farwick 4de36a8abc Add required extensions to Visual Studio Code 2022-07-07 16:48:24 +02:00
Patrick Farwick 66bac259a8 Add linux support for vscode dev-setup
The ${env:XDG_DATA_HOME} variable is not used, as this variable resolves
to the current working directory within Visual Studio Code's development
container. By manually specifying the file path, it is possible to use
Visual Studio Code's development container.

The "mkdir" command uses the "-p" flag. This flag creates the parent
directories, as well. Should they already exists, the command moves
down to the next folder to create without throwing an error.

The "-r" parameter of the "cp" is required to recursively copy all
files and directories within the "publish" directory.
2022-07-07 16:47:17 +02:00
Joshua M. BonifaceandGitHub c71657dfce Merge pull request #53 from oddstr13/pr-10.8-1
Target Jellyfin 10.8
2022-06-24 18:12:06 -04:00
Odd Stråbø ccc02d3ce0 Target Jellyfin 10.8 2022-06-24 16:49:01 +02:00