Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

All videos within a folder get the same metadata #47

Closed
GiovanH opened this issue Apr 30, 2022 · 51 comments
Closed

All videos within a folder get the same metadata #47

GiovanH opened this issue Apr 30, 2022 · 51 comments

Comments

@GiovanH
Copy link

GiovanH commented Apr 30, 2022

I have youtube videos arranged by channel, with the IDs in square brackets and accompanying info.json files:

image

But when jellyfin runs, the youtube provider gives every video in the folder the same metadata, even though the info.json files are correct:

image

I haven't been able to find much in the way of logs to debug this, so any pointers would be greatly appreciated.

@ankenyr
Copy link
Owner

ankenyr commented Apr 30, 2022 via email

@GiovanH
Copy link
Author

GiovanH commented Apr 30, 2022

This is on version 1.0.3.5 on Jellyfin 10.8

@ankenyr
Copy link
Owner

ankenyr commented Apr 30, 2022 via email

@GiovanH
Copy link
Author

GiovanH commented May 1, 2022

To be clear, this isn't limited to petscop; that was just the example I was using. This is a global problem.

@HStep20
Copy link

HStep20 commented May 2, 2022

I'd like to echo the same problem. Every one of my videos is named as instructed, but they all have the same metadata - minus the thumbnail.

Jellyfin Version: 10.8.0

Plugin Version: 1.0.3.5

@GiovanH
Copy link
Author

GiovanH commented May 3, 2022

Also, the log output on the console reads

[05:44:08] [INF] [26] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:08] [INF] [26] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:11] [INF] [23] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:11] [INF] [23] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:12] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:12] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:13] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:13] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:14] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:14] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:15] [INF] [25] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:15] [INF] [25] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}
[05:44:17] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: Youtube ID not found in filename of title: {info.Name}
[05:44:17] [INF] [30] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeDL.YTDLImageProvider: Youtube ID not found in filename of title: {item.Name}

I think this is just bad code here

_logger.LogInformation("Youtube ID not found in filename of title: {item.Name}", item.Name);

I don't have a .NET environment or I'd get in there myself, but I don't think this debug logging ever worked

@NonImportantPerson
Copy link

NonImportantPerson commented May 5, 2022

I have the same problem each one of the videos in the same folder all have the same metadata.

Plugin version: 1.0.3.5
Jellyfin version: 10.8.0

@ankenyr
Copy link
Owner

ankenyr commented May 8, 2022

Just uploaded a new version, I believe there are still some bugs that need to be worked out but the duplicate episodes thing should be resolved.

@HStep20
Copy link

HStep20 commented May 8, 2022

If it's not 1.0.3.6, the build from 3 days ago, I'll check it out once I see it install and confirm.
I tested with 1.0.3.6 when I saw it pop up Friday, but didn't have any luck fixing things with a full refresh.

Im getting Status: Not Supported by the plugin now. 1.0.3.6, JF version 10.8.0

@GiovanH
Copy link
Author

GiovanH commented May 9, 2022

That seems to have broken the plugin entirely.

[02:42:54] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Failed to load assembly /config/plugins/YoutubeMetadata_1.0.3.6/Jellyfin.Plugin.YoutubeMetadata.dll. This error occurs when a plugin references an incompatible version of one of the shared libraries. Disabling plugin.
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Method 'ExecuteAsync' in type 'Jellyfin.Plugin.YoutubeMetadata.EpisodeIndexer' from assembly 'Jellyfin.Plugin.YoutubeMetadata, Version=1.0.3.6, Culture=neutral, PublicKeyToken=null' does not have an implementation.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.Assembly.GetTypes()
   at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()
System.TypeLoadException: Method 'ExecuteAsync' in type 'Jellyfin.Plugin.YoutubeMetadata.EpisodeIndexer' from assembly 'Jellyfin.Plugin.YoutubeMetadata, Version=1.0.3.6, Culture=neutral, PublicKeyToken=null' does not have an implementation.

@ankenyr
Copy link
Owner

ankenyr commented May 9, 2022 via email

@GiovanH
Copy link
Author

GiovanH commented May 9, 2022

I attached the exact log above. It fails to load on program start.

@ankenyr
Copy link
Owner

ankenyr commented May 9, 2022

Ok but I still need to understand what version you are running down to specific builds. I was targeting the latest alpha (5) for building against. Searching the issues on Jellyfin it seems like maybe you are running unstable? jellyfin/jellyfin#7351
If you are running unstable then you should expect that things will break.

@GiovanH
Copy link
Author

GiovanH commented May 9, 2022

So what specific version/tag of jellyfin does this target? I don't see anything in the readme requirements

@GiovanH
Copy link
Author

GiovanH commented May 18, 2022

?

@GiovanH GiovanH closed this as completed May 18, 2022
@GiovanH GiovanH reopened this May 18, 2022
@ilkersigirci
Copy link

I also have this issue with jellyfin 10.8.0 and plugin version 1.0.3.7

@GiovanH
Copy link
Author

GiovanH commented Jun 13, 2022

Jellyfin.Plugin.YoutubeMetadata.Providers.YTDLEpisodeProvider: YTDL GetMetadata: Youtube ID not found in filename of title: {info.Name} issue persists.

@nothing2obvi
Copy link

I also have this issue with jellyfin 10.8.0 and plugin version 1.0.3.7

Same

@iamdangry
Copy link

iamdangry commented Jun 15, 2022

Also experiencing the issue with Jellyfin 10.8.0 and plugin 1.0.3.7

Have noticed the YT MetaData field is empty within Jellyfin. Manually adding the YT video ID and refreshing the metadata resolves the issue. Obviously not a solution, but possibly the source of the problem that the plugin isn't either adding or extracting the YT ID correctly.

[Edit]
Further to the above. Simply hitting "Replace Metadata" (without manually adding the ID) on a video fixes that particular videos metadata up. Hitting "Replace Metadata" on a channel or library level resets all the metadata

@ankenyr
Copy link
Owner

ankenyr commented Jun 15, 2022 via email

@HStep20
Copy link

HStep20 commented Jun 15, 2022

Did a completely fresh install for you, and still seeing the same problem. yt-dlp is installed in the container, and it is grabbing stuff like channel logos correctly, but episode names are still borked.

File path looks like: "Brandon_Sanderson\2020_Creative_Writing_Lectures[PLSH_xM-KC3Zv-79sVZTTj-YA6IAqh8qeQ]\Brandon Sanderson - 20200122 - Lecture #1 Introduction — Brandon Sanderson on Writing Science Fiction and Fantasy [-6HOdHEeosc].mkv/.info.json/.nfo/.jpg"

Similar structure for all of my sources. Weird thing is that some of them view each file as a different version of one episode, where others show each individual episode with the right thumbnail, but wrong title/info.

@ankenyr ankenyr mentioned this issue Jun 15, 2022
@ankenyr
Copy link
Owner

ankenyr commented Jun 16, 2022

This might require a different issue but @HStep20, why is your directory structure like that? For myself I use https://github.com/TheFrenchGhosty/TheFrenchGhostys-Ultimate-YouTube-DL-Scripts-Collection as my basis and it ends up with an output like ChannelName/Year/Username - Upload Date - Title/Username - Upload Date - Title [ID].ext

Are you expecting playlists to be generated for you via my plugin, or another?

Do others here have vastly different directory trees than what I have described above?

@ankenyr
Copy link
Owner

ankenyr commented Jun 16, 2022

Also for each person, what tools besides yt-dlp are you using? TubeArchivist? Something else?

@GiovanH
Copy link
Author

GiovanH commented Jun 16, 2022

Seems to be working better now, I'll keep poking at it

@iamdangry
Copy link

yt-dlp only

Filetree was ChannelName/Title_[ID].ext or ChannelName/Season [int]/Title_[ID].ext

Placing each video into its own folder like ChannelName/Title/Title_[ID].ext or ChannelName/Season [int]/Title/Title_[ID].ext resolves the issue

@GiovanH
Copy link
Author

GiovanH commented Jun 16, 2022

A lot of the metadata is right now, but the season and episode numbers are locked at 1, so petscop is still all screwed up since it's sorting by title lexographically.

@iamdangry
Copy link

Sorted two channels worth of videos using the new directory structure above
Ran a metadata refresh to ensure it was functioning correctly and noticed the other channels are now recieving the correct metadata without being sorted into a new directory structure. So not all videos are dependant on the correct folder structure

@ankenyr
Copy link
Owner

ankenyr commented Jun 16, 2022

but unsorted ones magically started working? Did all videos get resolved or just some?

@iamdangry
Copy link

but unsorted ones magically started working? Did all videos get resolved or just some?

Correct. All videos within my YT library, whether sorted or unsorted, now have the correct metadata (except for the episode number issue mentioned by GiovanH). Will try to recreate the issue using the videos I've sorted and post any log entries

@iamdangry
Copy link

iamdangry commented Jun 16, 2022

So I've been fiddling for a few hours with a new library.

Directory structure is important and the issue appears if I have more than 2 videos NOT contained in their own subfolders.

What produced the issue:

More than 2 videos NOT in their own subfolders and running "Refresh Metadata". Running "Replace Metadata" resolved the incorrect metadata until the next "Refresh Metadata" was ran.
The below folder structure did not create the metadata issue when using "Refresh Metadata":

ChannelA/Title1 [ID].ext
ChannelA/Title2 [ID].ext

OR

ChannelA/Title1 [ID].ext
ChannelB/Title1 [ID].ext

But when I added a third video, the metadata issue returned when using "Refresh Metadata":

ChannelA/Title1 [ID].ext
ChannelA/Title2 [ID].ext
ChannelA/Title3 [ID].ext

OR

ChannelA/Title1 [ID].ext
ChannelA/Title2 [ID].ext
ChannelB/Title1 [ID].ext

What resolved the issue:

All videos being in their own subfolder - didn't matter if I ran "refresh metadata" or "replace metadata", videos recieved correct metadata

My folder structure now:
ChannelName/Title/Title [ID].ext or if I'm grouping by seasons ChannelName/Season [int]/Title/Title [ID].ext

What I hadn't picked up on earlier is the issue going away when running "Replace" instead of "Refresh" when there was more than 2 videos not in their own subfolder. Hence the odd magical fix.

Episode numbers are still all showing as 1. Did have one refresh where that resolved itself, but forgot to note it down. Will keep hunting on that one

@GiovanH
Copy link
Author

GiovanH commented Jun 16, 2022

I just came back to my library (which had retrieved correct metadata) and found that it rescanned overnight and replaced that good metadata with bad metadata (all the same). My folder structure is {channel}/{date} {title} [{id}]

@HStep20
Copy link

HStep20 commented Jun 17, 2022

This might require a different issue but @HStep20, why is your directory structure like that? For myself I use https://github.com/TheFrenchGhosty/TheFrenchGhostys-Ultimate-YouTube-DL-Scripts-Collection as my basis and it ends up with an output like ChannelName/Year/Username - Upload Date - Title/Username - Upload Date - Title [ID].ext

Are you expecting playlists to be generated for you via my plugin, or another?

Nope, not expecting playlists. Just using it to help with identification. Im using TubeSync, which lets you define patterns for naming of downloads since the TubeArchivist naming system doesnt work with this plugin.

For all of my series, the naming scheme is set up to look like: "{Channel_Name}/{Playlist_Title}[Playlist_Key]/{Channel_Name} - {yyyymmdd} - {title_full} [{key}].{ext}"

@GiovanH
Copy link
Author

GiovanH commented Jun 20, 2022

@ankenyr Please take a look at @iamdangry 's comment; it looks like this is a bug related to folder structure, so knowing that may make it easier to fix. Actually keeping each video in its own folder doesn't work, because it gives every video its own season.

@ankenyr
Copy link
Owner

ankenyr commented Jun 20, 2022

So far I have not been able to replicate this on Windows where I do my general development. I may have replicated this on Linux in docker but the server is frozen and I need to hit the hay. Will check it tomorrow. For anyone having this issue, is anyone on Windows by any chance?

@BlueRocketMouse
Copy link

I'm on Windows and can confirm that the issue exists there too. iamdangry's fix of putting every video in its own subfolder worked for me, aside from the aforementioned issue of episodes sorting alphabetically by title instead of chronologically by date. My folder prior to giving every video its own folder was: Channel [ID]/Videos/Upload Date - Title [ID].ext

Windows 10 Pro, Jellyfin 10.8.0, plugin version 1.0.3.7

@iamdangry
Copy link

iamdangry commented Jun 21, 2022

My main Jellyfin server is Ubuntu 20.04.4

I've just spun up a Windows 10 Pro box (20H2) and can confirm this issue exists on Windows and goes away using the folder structure I wrote above. Working on updating it to the latest version of Win10 to see if the problem still exists

[Edit]
Updated to 21H1 - problem still exists

@ankenyr
Copy link
Owner

ankenyr commented Jun 21, 2022

Ok I think I replicated it but I am seeing something slightly different. I think this may have to do with the sorting as mentioned by @BlueRocketMouse.
image

image

I am unsure how to sort by other means as mentioned. I will take a look and see what is causing this but I suspect that the answer here may be that a "season folder" of some sort is required.

@GiovanH
Copy link
Author

GiovanH commented Jun 23, 2022

My output looks even worse than yours.
Here is my petscop directory tree:

> tree petscop
petscop
├── 20170312 [6e6RK8o1fcs] Petscop.en.vtt
├── 20170312 [6e6RK8o1fcs] Petscop.info.json
├── 20170312 [6e6RK8o1fcs] Petscop.mkv
├── 20170312 [6e6RK8o1fcs] Petscop.nfo
├── 20170401 [teJDdkWHAdw] Petscop 2.en.vtt
├── 20170401 [teJDdkWHAdw] Petscop 2.info.json
├── 20170401 [teJDdkWHAdw] Petscop 2.mkv
├── 20170401 [teJDdkWHAdw] Petscop 2.nfo
├── 20170402 [FqyhmoMdeC8] Petscop 3.en.vtt
├── 20170402 [FqyhmoMdeC8] Petscop 3.info.json
├── 20170402 [FqyhmoMdeC8] Petscop 3.mkv
├── 20170402 [FqyhmoMdeC8] Petscop 3.nfo
├── 20170531 [RAM0bcJnijg] Petscop 10.en.vtt
├── 20170531 [RAM0bcJnijg] Petscop 10.info.json
├── 20170531 [RAM0bcJnijg] Petscop 10.mkv
├── 20170531 [RAM0bcJnijg] Petscop 10.nfo
├── 20171225 [nXHUw2nw6aA] Petscop 11.en.vtt
├── 20171225 [nXHUw2nw6aA] Petscop 11.info.json
├── 20171225 [nXHUw2nw6aA] Petscop 11.mkv
├── 20171225 [nXHUw2nw6aA] Petscop 11.nfo
├── 20180104 [y82EsETuMbM] Petscop 12.en.vtt
├── 20180104 [y82EsETuMbM] Petscop 12.info.json
├── 20180104 [y82EsETuMbM] Petscop 12.mkv
├── 20180104 [y82EsETuMbM] Petscop 12.nfo
├── 20191128 [JB82_-Ngucc] Petscop Soundtrack.en.vtt
├── 20191128 [JB82_-Ngucc] Petscop Soundtrack.info.json
├── 20191128 [JB82_-Ngucc] Petscop Soundtrack.mkv
├── 20191128 [JB82_-Ngucc] Petscop Soundtrack.nfo
├── archive.txt
├── backdrop.jpg
├── folder.jpg
├── metadata
│   ├── 20170312 [6e6RK8o1fcs] Petscop.webp
│   ├── 20170401 [teJDdkWHAdw] Petscop 2.webp
│   ├── 20170402 [FqyhmoMdeC8] Petscop 3.webp
│   ├── 20170407 [IwaRKux9eR8] Petscop 4.webp
│   ├── 20170411 [hta3dc5qDNw] Petscop 5.webp
│   ├── 20170420 [c_zCl8GV_dE] Petscop 6.webp
│   ├── 20170429 [sTDv4sgwios] Petscop 7.webp
│   ├── 20170509 [XPDbQMGFUL8] Petscop 8.webp
│   ├── 20170524 [nogEDJu2Z4c] Petscop 9.webp
│   ├── 20170531 [RAM0bcJnijg] Petscop 10.webp
│   ├── 20171225 [nXHUw2nw6aA] Petscop 11.webp
│   ├── 20180104 [y82EsETuMbM] Petscop 12.webp
│   ├── 20180311 [2ZqR5StCDt0] Petscop 13.webp
│   ├── 20180717 [OPzYMFdyKQQ] Petscop 14.jpg
│   ├── 20180718 [PiH04RGXYKo] Petscop 15.webp
│   ├── 20181031 [BmTyTN-J6ZU] Petscop 16.webp
│   ├── 20190420 [Ew4HcmqPWhw] Petscop 17.webp
│   ├── 20190421 [5pq0NeOMEGw] Petscop 21.webp
│   ├── 20190421 [bwjvp_HJ62c] Petscop 19.webp
│   ├── 20190421 [gRpCY8fr070] Petscop 20.jpg
│   ├── 20190421 [Zp-AIcnBSXg] Petscop 18.webp
│   ├── 20190901 [2KsWlk79rng] Petscop 24.webp
│   ├── 20190901 [iJtIcSyqYa4] Petscop 22.webp
│   ├── 20190901 [P-nUhmeo87I] Petscop 23.webp
│   └── 20191128 [JB82_-Ngucc] Petscop Soundtrack.webp
├── Thumbs.db
└── tvshow.nfo

And here is the display:
image
image

@ankenyr
Copy link
Owner

ankenyr commented Jun 23, 2022

Ok I may have found it, for others who are experiencing this, can you confirm if the info.json files have empty strings for the video description?
image

Modifying this with a simple string gets that episode to update to that string, removing it returns it to the first episode description.

@iamdangry
Copy link

Nope, mine all have a value in description

@ankenyr
Copy link
Owner

ankenyr commented Jun 23, 2022

can you give me the tree structure and images similar to GiovanH above?

@iamdangry
Copy link

I'm using a new structure as I've documented further up in this thread so it works for now. I've listed both my work structure and non-working structure

What works:

Note: The season folder only exists to prevent a new season being created for each video. It has no impact on the issue

All Gas No Brakes
└──Season 1
    ├── AlienCon
    │   ├── AlienCon_[bI6SPBFCqcQ].info.json
    │   ├── AlienCon_[bI6SPBFCqcQ].jpg
    │   └── AlienCon_[bI6SPBFCqcQ].mp4
    ├── A Night In Las Vegas
    │   ├── A Night in Las Vegas_[ToaSW0bjMT4].info.json
    │   ├── A Night in Las Vegas_[ToaSW0bjMT4].jpg
    │   └── A Night in Las Vegas_[ToaSW0bjMT4].mp4
    ├── AVN Expo
    │   ├── AVN Expo_[QjidbxN6geg].info.json
    │   ├── AVN Expo_[QjidbxN6geg].jpg
    │   └── AVN Expo_[QjidbxN6geg].mp4
    ├── Bigfoot Hunting
    │   ├── Bigfoot Hunting_[wsXhk1xmYAI].info.json
    │   ├── Bigfoot Hunting_[wsXhk1xmYAI].jpg
    │   └── Bigfoot Hunting_[wsXhk1xmYAI].mp4

image

What doesn't work:

All Gas No Brakes
    └── Season 1
        ├── AlienCon_[bI6SPBFCqcQ].info.json
        ├── AlienCon_[bI6SPBFCqcQ].jpg
        ├── AlienCon_[bI6SPBFCqcQ].mp4
        ├── A Night in Las Vegas_[ToaSW0bjMT4].info.json
        ├── A Night in Las Vegas_[ToaSW0bjMT4].jpg
        ├── A Night in Las Vegas_[ToaSW0bjMT4].mp4
        ├── AVN Expo_[QjidbxN6geg].info.json
        ├── AVN Expo_[QjidbxN6geg].jpg
        ├── AVN Expo_[QjidbxN6geg].mp4
        ├── Bigfoot Hunting_[wsXhk1xmYAI].info.json
        ├── Bigfoot Hunting_[wsXhk1xmYAI].jpg
        └── Bigfoot Hunting_[wsXhk1xmYAI].mp4

image

@ankenyr
Copy link
Owner

ankenyr commented Jun 24, 2022

@iamdangry When I first put the files in place and scan I see what you are seeing but after the first run of the plugin they are fixed.

@ankenyr
Copy link
Owner

ankenyr commented Jun 24, 2022

Surprise I see this issue was filed a a couple weeks ago, it popped up in discussion in the dev channel.
jellyfin/jellyfin#7855

In all honesty this is all looking to be issues internal to jellyfin itself. When looking at the petscop media my plugin does return a empty string. I was suspecting it may have not actually added anything for Overview which could have caused a problem.
image

This all feels to me like internal issues to Jellyfin itself sadly which is not something I can fix. I am sorry. I will try to investigate a bit more and make an issue on the jellyfin repo.

@GiovanH
Copy link
Author

GiovanH commented Jun 24, 2022

I have never seen the "version" case you're describing. That seems unrelated to the issue I reported here.

Videos need to pull their metadata from the appropriately named .info.json file without requiring a folder for each individual video. That's a plugin issue.

@ankenyr
Copy link
Owner

ankenyr commented Jun 24, 2022

Kept debugging, seems it is on me. I stepped through the yt-dl plugin until it exited into the metadata service file. I followed it down and noticed a line.
var localItem = await provider.GetMetadata(itemInfo, options.DirectoryService, cancellationToken).ConfigureAwait(false);
where I finally saw it grab the wrong information.
Stepping into that surprisingly it went into my local provider. There I see this line.
https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/blob/master/Jellyfin.Plugin.YoutubeMetadata/Providers/LocalMetadata/AbstractYoutubeLocalProvider.cs#L83

Specifically the issue is info.ContainingFolderPath

Running a refresh and the youtube metadata task to renumber the episodes it now looks right to me.

image

@ankenyr
Copy link
Owner

ankenyr commented Jun 24, 2022

93f4b27 should fix this.
I have some spare time tomorrow and would like to tackle #40 before pushing out a new version.

@ankenyr
Copy link
Owner

ankenyr commented Jul 2, 2022

This has been released in the latest as #40 will take a bit more work than I thought.

@ankenyr ankenyr closed this as completed Jul 2, 2022
@NonImportantPerson
Copy link

NonImportantPerson commented Oct 11, 2022 via email

@ankenyr
Copy link
Owner

ankenyr commented Oct 11, 2022 via email

@ankenyr
Copy link
Owner

ankenyr commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants