You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement timeout handling for Slskd, fix blocklist population issues, and resolve Spotify URL encoding
- Added timeout handling for Slskd downloads to ensure proper failure marking when the timeout is exceeded.
- Fixed blocklist population issues to ensure blocked items are correctly identified and managed.
- Resolved Spotify URL encoding problems to prevent double-encoding
.WithMessage("Download path must be a valid directory path.")
27
27
.When(x =>!string.IsNullOrEmpty(x.DownloadPath));
28
+
29
+
// Validate LRCLIBInstance URL
30
+
RuleFor(x =>x.LRCLIBInstance)
31
+
.IsValidUrl()
32
+
.WithMessage("LRCLIB instance URL must be a valid URL.");
33
+
34
+
// Timeout validation (only if it has a value)
35
+
RuleFor(c =>c.Timeout)
36
+
.GreaterThanOrEqualTo(0.1)
37
+
.WithMessage("Timeout must be at least 0.1 hours.")
38
+
.When(c =>c.Timeout.HasValue);
28
39
}
29
40
}
30
41
@@ -47,12 +58,20 @@ public class SlskdProviderSettings : IProviderConfig
47
58
[FieldDefinition(6,Label="LRC Lib Instance",Type=FieldType.Url,HelpText="The URL of a LRC Lib instance to connect to. Default is 'https://lrclib.net'.",Advanced=true)]
[FieldDefinition(7,Label="Timeout",Type=FieldType.Textbox,HelpText="Specify the maximum time to wait for a response from the Slskd instance before timing out. Fractional values are allowed (e.g., 1.5 for 1 hour and 30 minutes). Set leave blank for no timeout.",Unit="hours",Advanced=true,Placeholder="Enter timeout in hours")]
Copy file name to clipboardExpand all lines: Tubifarry/ImportLists/ArrStack/ArrSoundtrackImportSettings.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ public class ArrSoundtrackImportSettings : IImportListSettings
72
72
[FieldDefinition(6,Label="Cache Retention Time",Type=FieldType.Number,HelpText="The number of days to retain cached data.",Advanced=true,Placeholder="7")]
73
73
publicintCacheRetentionDays{get;set;}=7;
74
74
75
-
[FieldDefinition(7,Label="Refresh Interval",Type=FieldType.Textbox,HelpText="The interval in hours to refresh the import list. Fractional values are allowed (e.g., 1.5 for 1 hour and 30 minutes).",Advanced=true,Placeholder="12")]
75
+
[FieldDefinition(7,Label="Refresh Interval",Type=FieldType.Textbox,HelpText="The interval to refresh the import list. Fractional values are allowed (e.g., 1.5 for 1 hour and 30 minutes).",Unit="hours",Advanced=true,Placeholder="12")]
[FieldDefinition(1,Label="Refresh Interval",Type=FieldType.Textbox,HelpText="The interval in hours to refresh the import list. Fractional values are allowed (e.g., 1.5 for 1 hour and 30 minutes).",Advanced=true,Placeholder="12")]
30
+
[FieldDefinition(1,Label="Refresh Interval",Type=FieldType.Textbox,HelpText="The interval to refresh the import list. Fractional values are allowed (e.g., 1.5 for 1 hour and 30 minutes).",Unit="hours",Advanced=true,Placeholder="12")]
31
31
publicdoubleRefreshInterval{get;set;}=12.0;
32
32
33
33
[FieldDefinition(2,Label="Cache Directory",Type=FieldType.Path,HelpText="The directory where cached data will be stored. If left empty, no cache will be used.",Placeholder="/config/spotify-cache")]
0 commit comments