diff --git a/LibSession-Util b/LibSession-Util
index 3eb9eb792..20d7275ba 160000
--- a/LibSession-Util
+++ b/LibSession-Util
@@ -1 +1 @@
-Subproject commit 3eb9eb79235d8454aa6fc56278230a1fa26c9fb7
+Subproject commit 20d7275ba52b044cf144da71cf6141c3987680dc
diff --git a/Session.xcodeproj/project.pbxproj b/Session.xcodeproj/project.pbxproj
index f48d47123..5dacdb83c 100644
--- a/Session.xcodeproj/project.pbxproj
+++ b/Session.xcodeproj/project.pbxproj
@@ -832,7 +832,7 @@
 		FD99D0872D0FA731005D2E15 /* ThreadSafe.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD99D0862D0FA72E005D2E15 /* ThreadSafe.swift */; };
 		FD99D0902D10E71B005D2E15 /* NSCache+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD99D08F2D10E718005D2E15 /* NSCache+Utilities.swift */; };
 		FD99D0922D10F5EE005D2E15 /* ThreadSafeSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD99D0912D10F5EB005D2E15 /* ThreadSafeSpec.swift */; };
-		FD9AECA52AAA9609009B3406 /* NotificationError.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9AECA42AAA9609009B3406 /* NotificationError.swift */; };
+		FD9AECA52AAA9609009B3406 /* NotificationResolution.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9AECA42AAA9609009B3406 /* NotificationResolution.swift */; };
 		FD9BDE002A5D22B7005F1EBC /* libSessionUtil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD9BDDF82A5D2294005F1EBC /* libSessionUtil.a */; };
 		FD9BDE012A5D24EA005F1EBC /* SessionUIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C331FF1B2558F9D300070591 /* SessionUIKit.framework */; };
 		FD9DD2712A72516D00ECB68E /* TestExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9DD2702A72516D00ECB68E /* TestExtensions.swift */; };
@@ -2016,7 +2016,7 @@
 		FD99D0862D0FA72E005D2E15 /* ThreadSafe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadSafe.swift; sourceTree = "<group>"; };
 		FD99D08F2D10E718005D2E15 /* NSCache+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSCache+Utilities.swift"; sourceTree = "<group>"; };
 		FD99D0912D10F5EB005D2E15 /* ThreadSafeSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadSafeSpec.swift; sourceTree = "<group>"; };
-		FD9AECA42AAA9609009B3406 /* NotificationError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationError.swift; sourceTree = "<group>"; };
+		FD9AECA42AAA9609009B3406 /* NotificationResolution.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationResolution.swift; sourceTree = "<group>"; };
 		FD9BDDF82A5D2294005F1EBC /* libSessionUtil.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSessionUtil.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		FD9DD2702A72516D00ECB68E /* TestExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestExtensions.swift; sourceTree = "<group>"; };
 		FDAA16752AC28A3B00DDBF77 /* UserDefaultsType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsType.swift; sourceTree = "<group>"; };
@@ -2646,7 +2646,7 @@
 			isa = PBXGroup;
 			children = (
 				C31C219B255BC92200EC2D66 /* Meta */,
-				FD9AECA42AAA9609009B3406 /* NotificationError.swift */,
+				FD9AECA42AAA9609009B3406 /* NotificationResolution.swift */,
 				7BDCFC07242186E700641C39 /* NotificationServiceExtensionContext.swift */,
 				7BC01A3D241F40AB00BC7C55 /* NotificationServiceExtension.swift */,
 				7B1D74A927BCC16E0030B423 /* NSENotificationPresenter.swift */,
@@ -5751,7 +5751,7 @@
 				7BDCFC08242186E700641C39 /* NotificationServiceExtensionContext.swift in Sources */,
 				7BC01A3E241F40AB00BC7C55 /* NotificationServiceExtension.swift in Sources */,
 				7B1D74AA27BCC16E0030B423 /* NSENotificationPresenter.swift in Sources */,
-				FD9AECA52AAA9609009B3406 /* NotificationError.swift in Sources */,
+				FD9AECA52AAA9609009B3406 /* NotificationResolution.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -8054,6 +8054,7 @@
 				CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				CURRENT_PROJECT_VERSION = 557;
 				DEVELOPMENT_TEAM = SUQ8J2PCT7;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -8120,6 +8121,7 @@
 				CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				CURRENT_PROJECT_VERSION = 557;
 				DEVELOPMENT_TEAM = SUQ8J2PCT7;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
diff --git a/Session/Meta/Translations/Localizable.xcstrings b/Session/Meta/Translations/Localizable.xcstrings
index 07f57475b..fedf0e63a 100644
--- a/Session/Meta/Translations/Localizable.xcstrings
+++ b/Session/Meta/Translations/Localizable.xcstrings
@@ -122050,6 +122050,17 @@
         }
       }
     },
+    "creatingCall" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Creating Call"
+          }
+        }
+      }
+    },
     "cut" : {
       "extractionState" : "manual",
       "localizations" : {
@@ -128074,7 +128085,7 @@
         "ku-TR" : {
           "stringUnit" : {
             "state" : "translated",
-            "value" : "Tenê tiya din ji bo peyamên şaneke edə par kendiakirinani wallah"
+            "value" : "Tenê ji bo Behskirinan Agahdar Bike"
           }
         },
         "lg" : {
@@ -140539,7 +140550,7 @@
         "ku-TR" : {
           "stringUnit" : {
             "state" : "translated",
-            "value" : "Peymaneyan di ser hemû amêrakên min de jê bibe"
+            "value" : "Li ser temamê cîhazên min jê bibe"
           }
         },
         "lg" : {
@@ -143815,6 +143826,34 @@
             }
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "%#@arg1@"
+          },
+          "substitutions" : {
+            "arg1" : {
+              "argNum" : 1,
+              "formatSpecifier" : "lld",
+              "variations" : {
+                "plural" : {
+                  "one" : {
+                    "stringUnit" : {
+                      "state" : "translated",
+                      "value" : "Bu ileti tüm cihazlarınızdan silinemez"
+                    }
+                  },
+                  "other" : {
+                    "stringUnit" : {
+                      "state" : "translated",
+                      "value" : "Seçtiğiniz bazı iletiler tüm cihazlarınızdan silinemez"
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -166161,6 +166200,12 @@
             "value" : "Wyświetlana nazwa użytkownika jest widoczna dla użytkowników, grup i społeczności, z którymi użytkownik wchodzi w interakcje."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Görünen Adınız, etkileşimde bulunduğunuz kullanıcılar, gruplar ve topluluklar tarafından görülebilir."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -194732,6 +194777,12 @@
             "state" : "translated",
             "value" : "Invite not sent"
           }
+        },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Davet gönderilemedi"
+          }
         }
       }
     },
@@ -194762,6 +194813,12 @@
             "value" : "<b>{name}</b> zaprosił Cię do ponownego dołączenia do <b>{group_name}</b>, gdzie jesteś administratorem."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "<b>{name}</b> sizi yönetici olduğunuz <b>{group_name}</b> grubuna yeniden katılmaya davet etti."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -194797,6 +194854,12 @@
             "value" : "Zostałeś zaproszony do ponownego dołączenia do <b>{group_name}</b>, gdzie jesteś administratorem."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Yönetici olduğunuz <b>{group_name}</b> grubuna yeniden katılmaya davet edildiniz."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -195659,6 +195722,12 @@
             "state" : "translated",
             "value" : "Invite status unknown"
           }
+        },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Davet durumu bilinmiyor"
+          }
         }
       }
     },
@@ -198060,6 +198129,12 @@
             "value" : "<b>Zostałeś zaproszony</b> do dołączenia do grupy. Udostępniono historię czatu."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Gruba katılmaya <b>davet edildiniz</b>. Sohbet geçmişi paylaşıldı."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -209129,6 +209204,12 @@
             "value" : "Nazwa grupy jest widoczna dla wszystkich jej członków."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Grup adı tüm grup üyelerine görünür."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -214508,6 +214589,12 @@
             "value" : "Zostałeś usunięty z grupy."
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Gruptan çıkarıldınız."
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -221501,6 +221588,17 @@
         }
       }
     },
+    "handlingConnectionCandidates" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Handling Connection Candidates"
+          }
+        }
+      }
+    },
     "helpFAQ" : {
       "extractionState" : "manual",
       "localizations" : {
@@ -280278,6 +280376,12 @@
             "value" : "Wprowadź krótszy pseudonim"
           }
         },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Lütfen daha kısa bir takma ad girin"
+          }
+        },
         "vi" : {
           "stringUnit" : {
             "state" : "translated",
@@ -345508,6 +345612,39 @@
         }
       }
     },
+    "receivedAnswer" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Received Answer"
+          }
+        }
+      }
+    },
+    "receivingCallOffer" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Receiving Call Offer"
+          }
+        }
+      }
+    },
+    "receivingPreOffer" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Receiving Pre Offer"
+          }
+        }
+      }
+    },
     "recommended" : {
       "extractionState" : "manual",
       "localizations" : {
@@ -354617,6 +354754,12 @@
             "state" : "translated",
             "value" : "Recreate Group"
           }
+        },
+        "tr" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Grubu Yeniden Oluştur"
+          }
         }
       }
     },
@@ -364440,7 +364583,7 @@
         "ku-TR" : {
           "stringUnit" : {
             "state" : "translated",
-            "value" : "Li söylek bigerrin"
+            "value" : "Li sohbetekê bigere"
           }
         },
         "lg" : {
@@ -370543,6 +370686,28 @@
         }
       }
     },
+    "sendingCallOffer" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Sending Call Offer"
+          }
+        }
+      }
+    },
+    "sendingConnectionCandidates" : {
+      "extractionState" : "manual",
+      "localizations" : {
+        "en" : {
+          "stringUnit" : {
+            "state" : "translated",
+            "value" : "Sending Connection Candidates"
+          }
+        }
+      }
+    },
     "sent" : {
       "extractionState" : "manual",
       "localizations" : {
diff --git a/SessionNotificationServiceExtension/NotificationError.swift b/SessionNotificationServiceExtension/NotificationResolution.swift
similarity index 100%
rename from SessionNotificationServiceExtension/NotificationError.swift
rename to SessionNotificationServiceExtension/NotificationResolution.swift
diff --git a/SessionUtilitiesKit/General/Feature.swift b/SessionUtilitiesKit/General/Feature.swift
index ce80acc77..02ed03420 100644
--- a/SessionUtilitiesKit/General/Feature.swift
+++ b/SessionUtilitiesKit/General/Feature.swift
@@ -5,8 +5,8 @@
 import Foundation
 
 public final class Features {
-    public static let createUpdatedGroupFromDate: Date = Date.distantFuture
-    public static let legacyGroupDepricationDate: Date = Date.distantFuture
+    public static let createUpdatedGroupFromDate: Date = Date(timeIntervalSince1970: 1742421600)
+    public static let legacyGroupDepricationDate: Date = Date(timeIntervalSince1970: 1743631200)
     public static let legacyGroupDepricationUrl: String = "https://getsession.org/groups"
 }
 
@@ -25,8 +25,7 @@ public extension FeatureStorage {
     )
     
     static let debugDisappearingMessageDurations: FeatureConfig<Bool> = Dependencies.create(
-        identifier: "debugDisappearingMessageDurations",
-        defaultOption: true    // TODO: [GROUPS REBUILD] This should default to false
+        identifier: "debugDisappearingMessageDurations"
     )
     
     static let updatedDisappearingMessages: FeatureConfig<Bool> = Dependencies.create(
@@ -43,7 +42,6 @@ public extension FeatureStorage {
     
     static let updatedGroups: FeatureConfig<Bool> = Dependencies.create(
         identifier: "updatedGroups",
-        defaultOption: true,
         automaticChangeBehaviour: Feature<Bool>.ChangeBehaviour(
             value: true,
             condition: .after(timestamp: Features.createUpdatedGroupFromDate.timeIntervalSince1970)