Skip to content

Commit f5a6e7e

Browse files
committed
Remove clean urls mutex and add correct version to new settings field
1 parent 857379b commit f5a6e7e

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

src/utils.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use std::env;
2323
use std::io::{Read, Write};
2424
use std::str::FromStr;
2525
use std::string::ToString;
26-
use std::sync::{LazyLock, Mutex};
26+
use std::sync::{Arc, LazyLock};
2727
use time::{macros::format_description, Duration, OffsetDateTime};
2828
use url::Url;
2929

@@ -622,7 +622,7 @@ pub struct Params {
622622
}
623623

624624
#[derive(Default, Serialize, Deserialize, Debug, PartialEq, Eq)]
625-
#[revisioned(revision = 1)]
625+
#[revisioned(revision = 2)]
626626
pub struct Preferences {
627627
#[revision(start = 1)]
628628
#[serde(skip_serializing, skip_deserializing)]
@@ -671,7 +671,7 @@ pub struct Preferences {
671671
pub hide_score: String,
672672
#[revision(start = 1)]
673673
pub remove_default_feeds: String,
674-
#[revision(start = 1)]
674+
#[revision(start = 2)]
675675
pub clean_urls: String,
676676
}
677677

@@ -1080,7 +1080,7 @@ pub fn format_url(url: &str) -> String {
10801080
}
10811081

10821082
// Remove tracking query params
1083-
static URL_CLEANER: LazyLock<Mutex<UrlCleaner>> = LazyLock::new(|| Mutex::new(UrlCleaner::from_embedded_rules().expect("Failed to initialize UrlCleaner")));
1083+
static URL_CLEANER: LazyLock<Arc<UrlCleaner>> = LazyLock::new(|| Arc::new(UrlCleaner::from_embedded_rules().expect("Failed to initialize UrlCleaner")));
10841084

10851085
pub fn clean_url(url: String) -> String {
10861086
let is_external_url = match Url::parse(url.as_str()) {
@@ -1089,8 +1089,10 @@ pub fn clean_url(url: String) -> String {
10891089
};
10901090
let mut cleaned_url = url.clone();
10911091
if is_external_url {
1092-
let cleaner = URL_CLEANER.lock().unwrap();
1093-
cleaned_url = cleaner.clear_single_url_str(cleaned_url.as_str()).expect("Unable to clean the URL.").as_ref().to_owned();
1092+
cleaned_url = match URL_CLEANER.clear_single_url_str(cleaned_url.as_str()) {
1093+
Ok(cleaned_result) => cleaned_result.as_ref().to_owned(),
1094+
_ => cleaned_url,
1095+
}
10941096
}
10951097
cleaned_url
10961098
}
@@ -1675,9 +1677,9 @@ fn test_default_prefs_serialization_loop_bincode() {
16751677
}
16761678

16771679
static KNOWN_GOOD_CONFIGS: &[&str] = &[
1678-
"ਧӐΥºÃΦĴгౡୡϤҚԷŽဎՐΧΣೡຽဒ೨ʛĽତ๘Ӓǹভµɾ൦ॴцৱ௬చΣҭжҭȱȾཊజĊȔ௸७ƘȂј۰ȥėǨԯၻíႽਈႴ۹ଆ",
1679-
"ਧҫടºÃǒɣυໃਣөŕǁజ८ௐɪDžઘႴ౨ඛႻຫǪၼդɍ৪Êѕ୶ʭѹŪҚຊೱѰງიŠСঌາඌĨğਜડ࿅ଠಲೱҋŇƞਭăʁझшȖǾཔ௧ந۞ສÚ",
1680-
"ਧҫടºÃǒɿဧϯljഔค๖۞ԆНȦ൨ĭ྅ҤƍตཧႯƅशञঊମਇȕමзқଽijჰଐՋບӎՓஶཕ૭ଛกήऋĜɀಱӔԩझԩîဓŒԬũլಙટщೞຝ৪༎",
1680+
"ఴӅβØØҞÉဏႢձĬ༧ȒʯऌԔӵ୮༏",
1681+
"ਧՊΥÀÃǎƱГ۸ඣമĖฤ႙ʟาúໜϾௐɥঀĜໃહཞઠѫҲɂఙ࿔DzઉƲӟӻĻฅΜδ໖ԜǗဖငƦơ৶Ą௩ԹʛใЛʃශаΏ",
1682+
"ਧԩΥÀÃΊ౭൩ඔႠϼҭöҪƸռઇԾॐნɔາǒՍҰच௨ಖມŃЉŐདƦ๙ϩএఠȝഽйʮჯඒϰळՋ௮ສ৵ऎΦѧਹಧଟƙŃ३î༦ŌပղयƟแҜ།",
16811683
];
16821684

16831685
#[test]

0 commit comments

Comments
 (0)