fix: issue 292 New version alert was not displayed due to a semver regex issue. (#300)

This commit is contained in:
Christian Visintin
2024-10-14 10:43:47 +02:00
committed by GitHub
parent 7eb913ec7b
commit c05ef32270
4 changed files with 11 additions and 2 deletions

View File

@@ -85,6 +85,7 @@ impl Update {
/// In case received version is newer than current one, version as Some is returned; otherwise None
fn check_version(r: Release) -> Option<Release> {
debug!("got version from GitHub: {}", r.version);
match parse_semver(r.version.as_str()) {
Some(new_version) => {
// Check if version is different

View File

@@ -25,7 +25,11 @@ pub fn init(level: LogLevel) -> Result<(), String> {
let file = open_file(log_file_path.as_path(), true, true, false)
.map_err(|e| format!("Failed to open file {}: {}", log_file_path.display(), e))?;
// Prepare log config
let config = ConfigBuilder::new().set_time_format_rfc3339().build();
let config = ConfigBuilder::new()
.set_time_format_rfc3339()
.add_filter_allow_str("termscp")
.add_filter_allow_str("remotefs")
.build();
// Make logger
WriteLogger::init(level, config, file).map_err(|e| format!("Failed to initialize logger: {e}"))
}

View File

@@ -102,7 +102,7 @@ static REMOTE_SMB_OPT_REGEX: Lazy<Regex> =
* - group 1: Version
* E.g. termscp-0.3.2 => 0.3.2; v0.4.0 => 0.4.0
*/
static SEMVER_REGEX: Lazy<Regex> = lazy_regex!(r".*(:?[0-9]\.[0-9]\.[0-9])");
static SEMVER_REGEX: Lazy<Regex> = lazy_regex!(r"v?((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*))");
/**
* Regex matches:
@@ -835,6 +835,8 @@ mod tests {
assert_eq!(parse_semver("v0.4.1").unwrap(), String::from("0.4.1"),);
assert_eq!(parse_semver("1.0.0").unwrap(), String::from("1.0.0"),);
assert!(parse_semver("v1.1").is_none());
assert_eq!(parse_semver("10.15.10"), Some("10.15.10".to_string()));
}
#[test]