mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
chore: failed to fetch version error message
This commit is contained in:
parent
9f928af0d7
commit
261f6578d3
4 changed files with 30 additions and 11 deletions
|
|
@ -701,7 +701,6 @@
|
||||||
"comments_and_likes": "Comments & likes",
|
"comments_and_likes": "Comments & likes",
|
||||||
"comments_are_disabled": "Comments are disabled",
|
"comments_are_disabled": "Comments are disabled",
|
||||||
"common_create_new_album": "Create new album",
|
"common_create_new_album": "Create new album",
|
||||||
"common_server_error": "Please check your network connection, make sure the server is reachable and app/server versions are compatible.",
|
|
||||||
"completed": "Completed",
|
"completed": "Completed",
|
||||||
"confirm": "Confirm",
|
"confirm": "Confirm",
|
||||||
"confirm_admin_password": "Confirm Admin Password",
|
"confirm_admin_password": "Confirm Admin Password",
|
||||||
|
|
@ -1552,6 +1551,7 @@
|
||||||
"profile_drawer_github": "GitHub",
|
"profile_drawer_github": "GitHub",
|
||||||
"profile_drawer_readonly_mode": "Read-only mode enabled. Long-press the user avatar icon to exit.",
|
"profile_drawer_readonly_mode": "Read-only mode enabled. Long-press the user avatar icon to exit.",
|
||||||
"profile_drawer_server_out_of_date": "A server update is available.",
|
"profile_drawer_server_out_of_date": "A server update is available.",
|
||||||
|
"profile_drawer_unable_to_check_version": "Unable to check app or server version",
|
||||||
"profile_image_of_user": "Profile image of {user}",
|
"profile_image_of_user": "Profile image of {user}",
|
||||||
"profile_picture_set": "Profile picture set.",
|
"profile_picture_set": "Profile picture set.",
|
||||||
"public_album": "Public album",
|
"public_album": "Public album",
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ class ServerInfo {
|
||||||
final bool isServerOutOfDate;
|
final bool isServerOutOfDate;
|
||||||
final bool isNewReleaseAvailable;
|
final bool isNewReleaseAvailable;
|
||||||
final String versionMismatchErrorMessage;
|
final String versionMismatchErrorMessage;
|
||||||
|
final bool errorGettingVersions;
|
||||||
|
|
||||||
const ServerInfo({
|
const ServerInfo({
|
||||||
required this.serverVersion,
|
required this.serverVersion,
|
||||||
|
|
@ -24,6 +25,7 @@ class ServerInfo {
|
||||||
required this.isServerOutOfDate,
|
required this.isServerOutOfDate,
|
||||||
required this.isNewReleaseAvailable,
|
required this.isNewReleaseAvailable,
|
||||||
required this.versionMismatchErrorMessage,
|
required this.versionMismatchErrorMessage,
|
||||||
|
required this.errorGettingVersions,
|
||||||
});
|
});
|
||||||
|
|
||||||
ServerInfo copyWith({
|
ServerInfo copyWith({
|
||||||
|
|
@ -36,6 +38,7 @@ class ServerInfo {
|
||||||
bool? isServerOutOfDate,
|
bool? isServerOutOfDate,
|
||||||
bool? isNewReleaseAvailable,
|
bool? isNewReleaseAvailable,
|
||||||
String? versionMismatchErrorMessage,
|
String? versionMismatchErrorMessage,
|
||||||
|
bool? errorGettingVersions,
|
||||||
}) {
|
}) {
|
||||||
return ServerInfo(
|
return ServerInfo(
|
||||||
serverVersion: serverVersion ?? this.serverVersion,
|
serverVersion: serverVersion ?? this.serverVersion,
|
||||||
|
|
@ -47,12 +50,13 @@ class ServerInfo {
|
||||||
isServerOutOfDate: isServerOutOfDate ?? this.isServerOutOfDate,
|
isServerOutOfDate: isServerOutOfDate ?? this.isServerOutOfDate,
|
||||||
isNewReleaseAvailable: isNewReleaseAvailable ?? this.isNewReleaseAvailable,
|
isNewReleaseAvailable: isNewReleaseAvailable ?? this.isNewReleaseAvailable,
|
||||||
versionMismatchErrorMessage: versionMismatchErrorMessage ?? this.versionMismatchErrorMessage,
|
versionMismatchErrorMessage: versionMismatchErrorMessage ?? this.versionMismatchErrorMessage,
|
||||||
|
errorGettingVersions: errorGettingVersions ?? this.errorGettingVersions,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'ServerInfo(serverVersion: $serverVersion, latestVersion: $latestVersion, serverFeatures: $serverFeatures, serverConfig: $serverConfig, serverDiskInfo: $serverDiskInfo, isClientOutOfDate: $isClientOutOfDate, isServerOutOfDate: $isServerOutOfDate, isNewReleaseAvailable: $isNewReleaseAvailable, versionMismatchErrorMessage: $versionMismatchErrorMessage)';
|
return 'ServerInfo(serverVersion: $serverVersion, latestVersion: $latestVersion, serverFeatures: $serverFeatures, serverConfig: $serverConfig, serverDiskInfo: $serverDiskInfo, isClientOutOfDate: $isClientOutOfDate, isServerOutOfDate: $isServerOutOfDate, isNewReleaseAvailable: $isNewReleaseAvailable, versionMismatchErrorMessage: $versionMismatchErrorMessage, errorGettingVersions: $errorGettingVersions)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -68,7 +72,8 @@ class ServerInfo {
|
||||||
other.isClientOutOfDate == isClientOutOfDate &&
|
other.isClientOutOfDate == isClientOutOfDate &&
|
||||||
other.isServerOutOfDate == isServerOutOfDate &&
|
other.isServerOutOfDate == isServerOutOfDate &&
|
||||||
other.isNewReleaseAvailable == isNewReleaseAvailable &&
|
other.isNewReleaseAvailable == isNewReleaseAvailable &&
|
||||||
other.versionMismatchErrorMessage == versionMismatchErrorMessage;
|
other.versionMismatchErrorMessage == versionMismatchErrorMessage &&
|
||||||
|
other.errorGettingVersions == errorGettingVersions;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -81,6 +86,7 @@ class ServerInfo {
|
||||||
isClientOutOfDate.hashCode ^
|
isClientOutOfDate.hashCode ^
|
||||||
isServerOutOfDate.hashCode ^
|
isServerOutOfDate.hashCode ^
|
||||||
isNewReleaseAvailable.hashCode ^
|
isNewReleaseAvailable.hashCode ^
|
||||||
versionMismatchErrorMessage.hashCode;
|
versionMismatchErrorMessage.hashCode ^
|
||||||
|
errorGettingVersions.hashCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ class ServerInfoNotifier extends StateNotifier<ServerInfo> {
|
||||||
isServerOutOfDate: false,
|
isServerOutOfDate: false,
|
||||||
isNewReleaseAvailable: false,
|
isNewReleaseAvailable: false,
|
||||||
versionMismatchErrorMessage: "",
|
versionMismatchErrorMessage: "",
|
||||||
|
errorGettingVersions: false,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -46,14 +47,20 @@ class ServerInfoNotifier extends StateNotifier<ServerInfo> {
|
||||||
|
|
||||||
// using isClientOutOfDate since that will show to users reguardless of if they are an admin
|
// using isClientOutOfDate since that will show to users reguardless of if they are an admin
|
||||||
if (serverVersion == null) {
|
if (serverVersion == null) {
|
||||||
state = state.copyWith(isClientOutOfDate: true, versionMismatchErrorMessage: "common_server_error".tr());
|
state = state.copyWith(
|
||||||
|
errorGettingVersions: true,
|
||||||
|
versionMismatchErrorMessage: "profile_drawer_unable_to_check_version".tr(),
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await _checkServerVersionMismatch(serverVersion);
|
await _checkServerVersionMismatch(serverVersion);
|
||||||
} catch (e, stackTrace) {
|
} catch (e, stackTrace) {
|
||||||
_log.severe("Failed to get server version", e, stackTrace);
|
_log.severe("Failed to get server version", e, stackTrace);
|
||||||
state = state.copyWith(isClientOutOfDate: true);
|
state = state.copyWith(
|
||||||
|
errorGettingVersions: true,
|
||||||
|
versionMismatchErrorMessage: "profile_drawer_unable_to_check_version".tr(),
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,9 @@ class AppBarServerInfo extends HookConsumerWidget {
|
||||||
const contentFontSize = 11.0;
|
const contentFontSize = 11.0;
|
||||||
|
|
||||||
final showWarning =
|
final showWarning =
|
||||||
serverInfoState.isClientOutOfDate || ((user?.isAdmin ?? false) && serverInfoState.isServerOutOfDate);
|
serverInfoState.isClientOutOfDate ||
|
||||||
|
serverInfoState.errorGettingVersions ||
|
||||||
|
((user?.isAdmin ?? false) && serverInfoState.isServerOutOfDate);
|
||||||
|
|
||||||
getPackageInfo() async {
|
getPackageInfo() async {
|
||||||
PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
||||||
|
|
@ -81,10 +83,14 @@ class AppBarServerInfo extends HookConsumerWidget {
|
||||||
? MainAxisAlignment.spaceBetween
|
? MainAxisAlignment.spaceBetween
|
||||||
: MainAxisAlignment.center,
|
: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Expanded(
|
||||||
serverInfoState.versionMismatchErrorMessage,
|
child: Text(
|
||||||
textAlign: TextAlign.center,
|
serverInfoState.versionMismatchErrorMessage,
|
||||||
style: const TextStyle(fontSize: 13, fontWeight: FontWeight.w500),
|
textAlign: TextAlign.center,
|
||||||
|
style: const TextStyle(fontSize: 13, fontWeight: FontWeight.w500),
|
||||||
|
maxLines: 3,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
if (serverInfoState.isClientOutOfDate)
|
if (serverInfoState.isClientOutOfDate)
|
||||||
TextButton(
|
TextButton(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue