mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-16 22:26:16 -08:00
feat(settings): filter pre-releases and add version compare
Filter out pre-release GitHub releases (beta,, rc, preview, dev, canary, nightly) when resolving the latest app version and validate release names using semver. Sort stable releases by creation date and return the most recent stable release name. Add isVersionOutdated(current, latest) to compare coerced semver versions safely, handling invalid formats with a warning. Move version comparison logic from the settings component to the SettingsService and use the new helper to determine if the installed app is outdated. This prevents false positives from pre-release tags and improves version parsing robustness.
This commit is contained in:
1 parent
c34bdf73e1
commit
80fa80ff09
2 files changed
+73
-10
No files matched your search
@@ -36,7 +36,6 @@ import { DialogService } from 'components';
|
||||
import * as PlaylistActions from 'm3u-state';
|
||||
import { selectIsEpgAvailable } from 'm3u-state';
|
||||
import { take } from 'rxjs';
|
||||
import * as semver from 'semver';
|
||||
import { DataService, EpgService, PlaylistsService } from 'services';
|
||||
import {
|
||||
Language,
|
||||
@@ -242,7 +241,10 @@ export class SettingsComponent implements OnInit {
|
||||
*/
|
||||
isCurrentVersionOutdated(latestVersion: string): boolean {
|
||||
this.version = this.dataService.getAppVersion();
|
||||
return semver.lt(this.version, latestVersion);
|
||||
return this.settingsService.isVersionOutdated(
|
||||
this.version,
|
||||
latestVersion
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user