fix: user profile images not working in beta timeline (#20203)

* fix user icons in album view

* revert updateUsersV1 change

* fix: UserDto merge issues

* fix: update user entity

* revert what I thought were merge issues

turns out drift cant figure out when it needs to gen a file...

* fix removed line

* handle defaults for older servers

* feat: checkpoint migrations

* fix: use parenthesis instead of brackets

* Update 1753800911775-ProfileImageCheckpointRemoval.ts

* fix: sync stream updateUsersV1
This commit is contained in:
Brandon Wees 2025-07-30 11:09:28 -05:00 committed by GitHub
parent da5deffd03
commit 097e132fba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 7069 additions and 282 deletions

View file

@ -16,8 +16,10 @@ class SyncUserV1 {
required this.avatarColor,
required this.deletedAt,
required this.email,
required this.hasProfileImage,
required this.id,
required this.name,
required this.profileChangedAt,
});
UserAvatarColor? avatarColor;
@ -26,17 +28,23 @@ class SyncUserV1 {
String email;
bool hasProfileImage;
String id;
String name;
DateTime profileChangedAt;
@override
bool operator ==(Object other) => identical(this, other) || other is SyncUserV1 &&
other.avatarColor == avatarColor &&
other.deletedAt == deletedAt &&
other.email == email &&
other.hasProfileImage == hasProfileImage &&
other.id == id &&
other.name == name;
other.name == name &&
other.profileChangedAt == profileChangedAt;
@override
int get hashCode =>
@ -44,11 +52,13 @@ class SyncUserV1 {
(avatarColor == null ? 0 : avatarColor!.hashCode) +
(deletedAt == null ? 0 : deletedAt!.hashCode) +
(email.hashCode) +
(hasProfileImage.hashCode) +
(id.hashCode) +
(name.hashCode);
(name.hashCode) +
(profileChangedAt.hashCode);
@override
String toString() => 'SyncUserV1[avatarColor=$avatarColor, deletedAt=$deletedAt, email=$email, id=$id, name=$name]';
String toString() => 'SyncUserV1[avatarColor=$avatarColor, deletedAt=$deletedAt, email=$email, hasProfileImage=$hasProfileImage, id=$id, name=$name, profileChangedAt=$profileChangedAt]';
Map<String, dynamic> toJson() {
final json = <String, dynamic>{};
@ -63,8 +73,10 @@ class SyncUserV1 {
// json[r'deletedAt'] = null;
}
json[r'email'] = this.email;
json[r'hasProfileImage'] = this.hasProfileImage;
json[r'id'] = this.id;
json[r'name'] = this.name;
json[r'profileChangedAt'] = this.profileChangedAt.toUtc().toIso8601String();
return json;
}
@ -80,8 +92,10 @@ class SyncUserV1 {
avatarColor: UserAvatarColor.fromJson(json[r'avatarColor']),
deletedAt: mapDateTime(json, r'deletedAt', r''),
email: mapValueOfType<String>(json, r'email')!,
hasProfileImage: mapValueOfType<bool>(json, r'hasProfileImage')!,
id: mapValueOfType<String>(json, r'id')!,
name: mapValueOfType<String>(json, r'name')!,
profileChangedAt: mapDateTime(json, r'profileChangedAt', r'')!,
);
}
return null;
@ -132,8 +146,10 @@ class SyncUserV1 {
'avatarColor',
'deletedAt',
'email',
'hasProfileImage',
'id',
'name',
'profileChangedAt',
};
}