diff --git a/lib/bootstrapper.dart b/lib/bootstrapper.dart index 53e0675..e2ec24b 100644 --- a/lib/bootstrapper.dart +++ b/lib/bootstrapper.dart @@ -60,12 +60,19 @@ class _BootstrapperShellState extends State { 'https://git.solsynth.dev/api/v1/repos/hydrogen/solian/tags?page=1&limit=1', ); final remoteVersionString = - (resp.body as List).firstOrNull?['name'] ?? '0.0.0'; - final remoteVersion = Version.parse(remoteVersionString ?? '0.0.0'); + (resp.body as List).firstOrNull?['name'] ?? '0.0.0+0'; + final remoteVersion = + Version.parse(remoteVersionString.split('+').first); final localVersion = Version.parse(localVersionString.split('+').first); + final remoteBuildNumber = + int.tryParse(remoteVersionString.split('+').last) ?? 0; + final localBuildNumber = + int.tryParse(localVersionString.split('+').last) ?? 0; final strictUpdate = prefs.getBool('check_update_strictly') ?? false; if (remoteVersion > localVersion || + (remoteVersion == localVersion && + remoteBuildNumber > localBuildNumber) || (remoteVersionString != localVersionString && strictUpdate)) { setState(() { _isErrored = true; diff --git a/pubspec.yaml b/pubspec.yaml index d25522b..e5bef8c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: solian description: "The Solar Network App" publish_to: "none" -version: 1.2.2+2 +version: 1.2.2+3 environment: sdk: ">=3.3.4 <4.0.0"