@@ -1,3 +1,4 @@
|
||||
const kPersonParamID = 'person_id';
|
||||
const kPersonWidgetKey = 'person_widget_key';
|
||||
const kClusterParamId = 'cluster_id';
|
||||
const kFileID = 'file_id';
|
||||
|
||||
@@ -1004,6 +1004,7 @@ class SearchService {
|
||||
p.data.name,
|
||||
files,
|
||||
params: {
|
||||
kPersonWidgetKey: p.data.avatarFaceID ?? p.hashCode.toString(),
|
||||
kPersonParamID: personID,
|
||||
kFileID: files.first.uploadedFileID,
|
||||
},
|
||||
@@ -1018,6 +1019,8 @@ class SearchService {
|
||||
p.data.name,
|
||||
files,
|
||||
params: {
|
||||
kPersonWidgetKey:
|
||||
p.data.avatarFaceID ?? p.hashCode.toString(),
|
||||
kPersonParamID: personID,
|
||||
kFileID: files.first.uploadedFileID,
|
||||
},
|
||||
|
||||
@@ -400,7 +400,8 @@ class UserService {
|
||||
Widget page;
|
||||
final String passkeySessionID = response.data["passkeySessionID"];
|
||||
String twoFASessionID = response.data["twoFactorSessionID"];
|
||||
if (twoFASessionID.isEmpty) {
|
||||
if (twoFASessionID.isEmpty &&
|
||||
response.data["twoFactorSessionIDV2"] != null) {
|
||||
twoFASessionID = response.data["twoFactorSessionIDV2"];
|
||||
}
|
||||
if (passkeySessionID.isNotEmpty) {
|
||||
@@ -719,7 +720,8 @@ class UserService {
|
||||
if (response.statusCode == 200) {
|
||||
Widget page;
|
||||
String twoFASessionID = response.data["twoFactorSessionID"];
|
||||
if (twoFASessionID.isEmpty) {
|
||||
if (twoFASessionID.isEmpty &&
|
||||
response.data["twoFactorSessionIDV2"] != null) {
|
||||
twoFASessionID = response.data["twoFactorSessionIDV2"];
|
||||
}
|
||||
final String passkeySessionID = response.data["passkeySessionID"];
|
||||
|
||||
@@ -121,6 +121,9 @@ class _SaveOrEditPersonState extends State<SaveOrEditPerson> {
|
||||
),
|
||||
child: snapshot.hasData
|
||||
? PersonFaceWidget(
|
||||
key: ValueKey(
|
||||
person?.data.avatarFaceID ??
|
||||
"",),
|
||||
personFile,
|
||||
clusterID: personClusterID,
|
||||
personId: person!.remoteID,
|
||||
@@ -158,9 +161,18 @@ class _SaveOrEditPersonState extends State<SaveOrEditPerson> {
|
||||
person!,
|
||||
);
|
||||
if (result != null) {
|
||||
_logger
|
||||
.info('Person avatar updated');
|
||||
setState(() {
|
||||
person = result;
|
||||
});
|
||||
showToast(
|
||||
context,
|
||||
"Person avatar updated ${person!.data.avatarFaceID ?? 'empty'}",
|
||||
);
|
||||
Bus.instance.fire(
|
||||
PeopleChangedEvent(),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
|
||||
@@ -334,10 +334,14 @@ class FaceSearchResult extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final params = (searchResult as GenericSearchResult).params;
|
||||
return PersonFaceWidget(
|
||||
searchResult.previewThumbnail()!,
|
||||
personId: (searchResult as GenericSearchResult).params[kPersonParamID],
|
||||
clusterID: (searchResult as GenericSearchResult).params[kClusterParamId],
|
||||
personId: params[kPersonParamID],
|
||||
clusterID: params[kClusterParamId],
|
||||
key: params.containsKey(kPersonWidgetKey)
|
||||
? ValueKey(params[kPersonWidgetKey])
|
||||
: null,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ description: ente photos application
|
||||
# Read more about iOS versioning at
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
|
||||
version: 0.9.63+963
|
||||
version: 0.9.64+964
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
||||
Reference in New Issue
Block a user