@torrent-tv/proxy 2.104.2 → 2.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@torrent-tv/proxy",
3
- "version": "2.104.2",
3
+ "version": "2.105.0",
4
4
  "description": "Torrent proxy client that exposes webseed-like HTTP stream endpoint.",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "repository": {
@@ -608,12 +608,30 @@ export function sidecarNaming({ folders, fileName, videoName = "" }) {
608
608
  stripExtension(String(videoName ?? ""))
609
609
  );
610
610
  const language = fromName.language ?? languageFromFolderNames(folders);
611
+ const title = titleOf(fromName.title);
612
+ const team = teamFrom({ folders, fileName, videoName });
611
613
  return {
612
614
  code: language?.code ?? null,
613
615
  name: language?.name ?? null,
614
- releaser: titleOf(fromName.title) ?? releaserFrom({ folders, fileName, videoName }),
616
+ // Keep releaser unchanged: subtitle identity uses this value across episodes.
617
+ releaser: title ?? releaserFrom({ folders, fileName, videoName }),
618
+ team,
619
+ title,
615
620
  isForced: fromName.isForced,
616
621
  isHearingImpaired: fromName.isHearingImpaired,
617
622
  isDefault: fromName.isDefault
618
623
  };
619
624
  }
625
+
626
+ /**
627
+ * A team is only a distinct bracketed name. Generic track titles are not teams.
628
+ * @param {{ folders: string[], fileName: string, videoName?: string }} params
629
+ * @returns {string | null}
630
+ */
631
+ function teamFrom({ folders, fileName, videoName = "" }) {
632
+ const team = releaserFrom({ folders, fileName, videoName });
633
+ if (!team || /^(?:full|signs?|commentary)$/iu.test(team.trim())) {
634
+ return null;
635
+ }
636
+ return team;
637
+ }