Commit Graph

9733 Commits

Author SHA1 Message Date
Qstick 2b79fe833b Use Contains(char) instead of Contains(string) for performance 2023-03-15 19:24:48 -05:00
Qstick 4db10e6283 Prefer AsSpan to Substring to avoid unnecessary allocation 2023-03-15 19:24:48 -05:00
Qstick e8aff90582 Use span-based string.Concat to avoid unnecessary allocation
Calling Substring produces a copy of the extracted substring. By using AsSpan instead of Substring and calling the overload of string.Concat that accepts spans, you can eliminate the unnecessary string allocation.
2023-03-15 19:24:48 -05:00
Qstick af28bbad52 Use Environment.CurrentManagedThreadId for efficiency
System.Environment.CurrentManagedThreadId is a compact and efficient replacement of the Thread.CurrentThread.ManagedThreadId pattern.
2023-03-15 19:24:48 -05:00
Qstick f928ee7cad Use Environment.ProcessPath instead of GetCurrentProcess().MainModule.FileName
GetCurrentProcess().MainModule.FileName is expensive, Environment.ProcessPath added in net6
2023-03-15 19:24:48 -05:00
Qstick 7521579bca Use Apend(char) instead of Apend(string) for performance
When calling StringBuilder.Append with a unit length string, consider using a const char rather than a unit length const string to improve performance.
2023-03-15 19:24:48 -05:00
Qstick e805f61450 Use Length/Count property instead of Count() method to prevent enumerating 2023-03-15 19:24:48 -05:00
Qstick 4fe9daec03 Use Any() in place of Count() to prevent enumerating
This rule flags the Count and LongCount LINQ method calls used to check if the collection has at least one element. These method calls require enumerating the entire collection to compute the count. The same check is faster with the Any method as it avoids enumerating the collection.
2023-03-15 19:24:48 -05:00
Qstick 738dc2c98c Do not use Enumerable methods on indexable collections
This rule flags the Enumerable LINQ method calls on collections of types that have equivalent but more efficient properties to fetch the same data.
2023-03-15 19:24:48 -05:00
Qstick 0ed8ba828d Avoid unnecessary zero-length array allocations 2023-03-15 19:24:48 -05:00
Qstick b2c2c79a96 Don't compare strings to Empty using Equals
Comparing strings using the String.Length property or the String.IsNullOrEmpty method is faster than using Equals. This is because Equals executes significantly more MSIL instructions than either IsNullOrEmpty or the number of instructions executed to retrieve the Length property value and compare it to zero.
2023-03-15 19:24:48 -05:00
Qstick 08ee2f7e32 Remove unnecessary assignments to default type value
The .NET runtime initializes all fields of reference types to their default values before running the constructor. In most cases, explicitly initializing a field to its default value in a constructor is redundant, adding maintenance costs and potentially degrading performance
2023-03-15 19:24:48 -05:00
Qstick 42e45f93ac Use const where appropriate
The value of a const field is computed at compile time and stored in the metadata, which improves run-time performance when it is compared to a static readonly field.
2023-03-15 19:24:48 -05:00
Qstick b4d8f0c311 Enable all analyzers and enforce code style on build 2023-03-15 19:24:48 -05:00
Stevie Robinson 21045127cd
Fixed: Parsing of multi season packs with only space between the season numbers 2023-03-14 00:32:57 -07:00
Mark McDowall d496733b31 Fixed: Don't import Custom Format downgrades
Closes #5475
2023-03-14 00:22:37 -07:00
Mark McDowall b3d1e4f520 Fixed: Multiple Downloaded Episodes Scan commands should not run in parallel 2023-03-13 18:11:17 -07:00
Mark McDowall cd67671bc1 Fixed: Slow loading of files in Manage Episodes modal
Closes #5449
2023-03-13 00:30:28 -07:00
Mark McDowall 1f619e27f1 New: Season interactive search modal size
Closes #5483
2023-03-12 23:58:37 -07:00
Mark McDowall ac806a2933 New: Show downloading status for series progress bar
Closes #5474
2023-03-12 23:51:38 -07:00
Mark McDowall 6d88a98282 New: Plex Watchlist RSS support 2023-03-12 23:51:38 -07:00
Stevie Robinson 4f5a183152
Fixed: Color unaired items in agenda view
Closes #5477
2023-03-10 22:37:02 -08:00
cicomalieran 9800bd6b43
Fixed: Processing very long ETA from Transmission
Closes #5444
2023-03-07 16:46:48 -08:00
Mark McDowall aa938d911b Fixed: Misaligned table border
Closes #5456
2023-03-05 23:41:14 -08:00
Mark McDowall 622e36de96 Fixed: Some posters not showing for new series search results
Closes #5451
2023-03-05 23:41:13 -08:00
Sergey M 255f947860
Fixed: Mapping of parsed titles when one doesn't have an alias
Co-authored-by: Sergey M <msergein>
2023-03-05 17:30:56 -08:00
bakerboy448 92ecb30fab
Fixed: Regression in error message logging
Closes #5461
2023-03-01 18:19:16 -05:00
Qstick 6082253166 New: Additional custom filter predicates for strings 2023-02-23 22:46:15 -06:00
bakerboy448 e968919e63
Fixed: Improve some request failure messaging 2023-02-22 17:36:12 -08:00
Mark McDowall 6ec32eb45d Fixed lint error and background for poster select 2023-02-22 17:17:24 -08:00
Mark McDowall bd3816dac9 Handle null for parent name with clean path is empty 2023-02-20 17:20:07 -08:00
Mark McDowall 95a8f59a32 Fixed: Don't handle images in metadata folder as Roksbox images 2023-02-20 16:42:57 -08:00
Mark McDowall 890f107467 New: Support for .plexmatch series metadata files
Closes #4960
2023-02-20 15:08:26 -08:00
Mark McDowall 6740257135 New: Add Episode Guide option for Kodi MetadataFile
Closes #5415
2023-02-20 12:35:22 -08:00
Mark McDowall bbd9b1657d Fixed: Don't clean Kodi library if video is playing and Always Update is disabled
Closes #5387
2023-02-20 10:48:49 -08:00
Mark McDowall d923d3f106 Fixed: Series table not resizing properly when window size changed 2023-02-20 09:59:49 -08:00
Mark McDowall bf62d4f921 Fixed: Series select not working correctly after stopping/starting or changing sort order 2023-02-20 09:58:11 -08:00
Mark McDowall cf00fecbe4 Fixed: Don't grab propers/repacks when item in queue meets cutoff and propers/repacks are not downloaded automatically
Closes #1208
2023-02-19 00:32:58 -08:00
Qstick 5a22afc42b Fixed broken path tests 2023-02-18 15:37:35 -08:00
Mark McDowall 75378f7bde Fixed: USB drives mounted to folders are treated as different mounts
Closes #4147
2023-02-16 17:05:39 -08:00
Mark McDowall 37c355da51 Improved UI error messages (stack trace and version) 2023-02-16 16:45:09 -08:00
Mark McDowall 57a64b056a New: Increase clickable area of series select in poster/overview 2023-02-13 17:26:32 -08:00
Mark McDowall 279d3a89b6 Fixed loading series list and custom filters
Fixed: Loading series list
Fixed: Adding new custom filter

Closes #5430
2023-02-13 11:27:16 -08:00
tsubus 492c9e22ba Remove unused ReactDOM import
fixes error with mono: "error  'ReactDOM' is defined but never used  no-unused-vars"
2023-02-13 07:30:14 -08:00
Mark McDowall f7ce5c7b11 Fixed: File browser 2023-02-12 23:58:50 -08:00
Mark McDowall 997aabbc3c Improve CF calculation for files without scene name
Fixed: Use original filename instead of complete path when calculating CF for existing file without scene name
Closes #5365
2023-02-12 22:33:45 -08:00
Mark McDowall 2c65e4fa41 Fixed: Prevent getting disk space from returning no information when it partially fails
Closes #5247
2023-02-12 20:55:13 -08:00
Qstick 9c1fd7c73e Bump MonoTorrent to 2.0.7
Pulls in fix for parsing torrents when certain values are an empty string
2023-02-12 21:58:44 -06:00
Mark McDowall ce255b55e6 Add CSS typings 2023-02-12 19:16:07 -08:00
Mark McDowall 6fce6c2bbc Remove Season Pass 2023-02-12 19:16:07 -08:00