@@ -1109,37 +1109,44 @@ internal static async Task<List<SignalConversation>> InsertOrUpdateGroups(IList<
1109
1109
{
1110
1110
foreach ( var ( group , members ) in groups )
1111
1111
{
1112
- var dbGroup = ctx . Groups
1112
+ try
1113
+ {
1114
+ var dbGroup = ctx . Groups
1113
1115
. Where ( g => g . ThreadId == group . ThreadId )
1114
1116
. Include ( g => g . GroupMemberships )
1115
1117
. Include ( g => g . LastMessage )
1116
1118
. ThenInclude ( m => m . Content )
1117
1119
. SingleOrDefault ( ) ;
1118
- if ( dbGroup != null )
1119
- {
1120
- dbGroup . GroupMemberships . Clear ( ) ;
1121
- dbGroup . ThreadDisplayName = group . ThreadDisplayName ;
1122
- dbGroup . CanReceive = group . CanReceive ;
1123
- dbGroup . ExpiresInSeconds = group . ExpiresInSeconds ;
1124
- }
1125
- else
1126
- {
1127
- dbGroup = group ;
1128
- ctx . Groups . Add ( dbGroup ) ;
1129
- }
1130
- foreach ( var member in members )
1131
- {
1132
- ( var contact , var notify ) = GetOrCreateContact ( ctx , member , 0 ) ;
1133
- dbGroup . GroupMemberships . Add ( new GroupMembership ( )
1120
+ if ( dbGroup != null )
1134
1121
{
1135
- Contact = contact ,
1136
- Group = dbGroup
1137
- } ) ;
1138
- if ( notify )
1122
+ dbGroup . GroupMemberships . Clear ( ) ;
1123
+ dbGroup . ThreadDisplayName = group . ThreadDisplayName ;
1124
+ dbGroup . CanReceive = group . CanReceive ;
1125
+ dbGroup . ExpiresInSeconds = group . ExpiresInSeconds ;
1126
+ }
1127
+ else
1128
+ {
1129
+ dbGroup = group ;
1130
+ ctx . Groups . Add ( dbGroup ) ;
1131
+ }
1132
+ foreach ( var member in members )
1139
1133
{
1140
- newContacts . Add ( contact ) ;
1134
+ ( var contact , var notify ) = GetOrCreateContact ( ctx , member , 0 ) ;
1135
+ dbGroup . GroupMemberships . Add ( new GroupMembership ( )
1136
+ {
1137
+ Contact = contact ,
1138
+ Group = dbGroup
1139
+ } ) ;
1140
+ if ( notify )
1141
+ {
1142
+ newContacts . Add ( contact ) ;
1143
+ }
1141
1144
}
1142
1145
}
1146
+ catch ( Exception e )
1147
+ {
1148
+ Logger . LogError ( "InsertOrUpdateGroups failed: {0}\n {1}" , e . Message , e . StackTrace ) ;
1149
+ }
1143
1150
}
1144
1151
ctx . SaveChanges ( ) ;
1145
1152
}
0 commit comments