Skip to content

Commit

Permalink
v0.9.18 (490)
Browse files Browse the repository at this point in the history
  • Loading branch information
tbaigner committed Mar 14, 2022
1 parent 79e9c87 commit 519d33d
Show file tree
Hide file tree
Showing 531 changed files with 13,026 additions and 10,202 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.en.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## [0.9.18 (490)] - 2022-01-28

- Great improvements made to secure calls ! Including better quality in poor network conditions and reduced connecting time. Please note that your contact must also use the latest version of Olvid.
- A user notification is shown when a contact reacts to one of your messages.
- Adds supports for HEIC photos.
- The onboarding is now compatible with all majors MDM vendors.
- Updating the design of the group creation screens.
- Fixes issues concerning reactions and ephemeral messages.
- It is now easier to remove a reaction to a message.
- While recording a voice message, receiving a call cancels the recording and immediately attach it to the discussion draft.

## [0.9.17 (484)] - 2022-01-10

- Fixes a potential timing attack on the implementation of scalar multiplication on EC (many thanks to Ryad Benadjila for pointing it out to us!)
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.fr.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## [0.9.18 (490)] - 2022-01-28

- Nouvelles améliorations pour les appels sécurisés ! Cela inclut une meilleure qualité lorsque les conditions réseau sont mauvaises. Les connexions sont aussi beaucoup plus rapides. Notez que votre contact doit utiliser la dernière version d'Olvid.
- Une notification utilisateur est affichée quand un contact réagit à l'un de vos messages.
- Ajoute le support pour le format de photos HEIC.
- Le processus d'onboarding est maintenant compatible avec la plupart des MDM.
- Mise à jour du design des écrans de création de groupes de discussion.
- Corrige des problèmes relatifs aux réactions sur des messages éphémères.
- Il est maintenant beaucoup plus facile de supprimer l'une de ses réactions à un message.
- Si l'on reçoit un appel alors qu'on est en train d'enregistrer un message vocal, l'enregistrement s'arrête et est sauvé en pièce jointe du brouillon.

## [0.9.17 (484)] - 2022-01-10

- Corrige une potentielle « timing attack » cryptographique concernant la multiplication scalaire sur les courbes elliptiques (mille merci à Ryad Benadjila de nous l'avoir remontée !).
Expand Down
1 change: 0 additions & 1 deletion CoreDataStack/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ disabled_rules:
- unused_enumerated
- is_disjoint
- for_where
- reduce_boolean
- force_cast
- force_try
- weak_delegate
Expand Down
8 changes: 4 additions & 4 deletions CoreDataStack/CoreDataStack.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -294,7 +294,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
Expand All @@ -320,7 +320,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = CoreDataStack/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -349,7 +349,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = CoreDataStack/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down
7 changes: 1 addition & 6 deletions CoreDataStack/CoreDataStack/CoreDataStack.swift
Original file line number Diff line number Diff line change
Expand Up @@ -67,17 +67,12 @@ final public class CoreDataStack<PersistentContainerType: NSPersistentContainer>

public var viewContext: NSManagedObjectContext {
let viewContext = persistentContainer.viewContext
if #available(iOS 13.0, *) {
automaticallyMergesChangesFromParentWithAnimation()
} else {
viewContext.automaticallyMergesChangesFromParent = true
}
automaticallyMergesChangesFromParentWithAnimation()
viewContext.transactionAuthor = transactionAuthor
return viewContext
}


@available(iOS 13.0, *)
private func automaticallyMergesChangesFromParentWithAnimation() {
guard !automaticallyMergesChangesFromParentWithAnimationWasCalled else { return }
defer { automaticallyMergesChangesFromParentWithAnimationWasCalled = true }
Expand Down
51 changes: 38 additions & 13 deletions CoreDataStack/CoreDataStack/DataMigrationManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,42 @@ open class DataMigrationManager<PersistentContainerType: NSPersistentContainer>

}


private func cleanOldTemporaryMigrationFiles() {
os_log("Deleting old temporary migration files...", log: log, type: .info)
let uuidPattern = "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
let uuidLength = 36
let uuidRegex: NSRegularExpression
do {
uuidRegex = try NSRegularExpression(pattern: uuidPattern, options: .caseInsensitive)
} catch {
os_log("Could not construct expression for detecting UUID: %{public}@", log: log, type: .fault, error.localizedDescription)
return
}
let directory = PersistentContainerType.defaultDirectoryURL()
do {
let directoryContents = try FileManager.default.contentsOfDirectory(at: directory, includingPropertiesForKeys: [.isRegularFileKey])
let oldTemporaryFiles = directoryContents.filter({ uuidRegex.firstMatch(in: $0.lastPathComponent, options: .anchored, range: NSRange(location: 0, length: min($0.lastPathComponent.count, uuidLength))) != nil })
var numberOfDeletedFiles = 0
for oldTemporaryFile in oldTemporaryFiles {
do {
try FileManager.default.removeItem(at: oldTemporaryFile)
} catch {
os_log("Could not clean old temporary database file: %{public}@", log: log, type: .fault, error.localizedDescription)
assertionFailure()
continue
}
numberOfDeletedFiles += 1
}
os_log("Number of deleted old temporary migration files: %{public}d", log: log, type: .info, numberOfDeletedFiles)
} catch {
os_log("Could not clean old temporary migration files: %{public}@", log: log, type: .fault, error.localizedDescription)
assertionFailure()
return
}
}


public func initializeCoreDataStack() throws {

os_log("Initializing Core Data Stack %{public}@", log: log, type: .info, storeName)
Expand All @@ -77,6 +113,7 @@ open class DataMigrationManager<PersistentContainerType: NSPersistentContainer>
try performMigration()
} else {
migrationRunningLog.addEvent(message: "No migration needed")
cleanOldTemporaryMigrationFiles()
}
} catch {
migrationRunningLog.addEvent(message: "The migration failed: \(error.localizedDescription). Domain: \((error as NSError).domain)")
Expand Down Expand Up @@ -150,15 +187,7 @@ open class DataMigrationManager<PersistentContainerType: NSPersistentContainer>

public func getAllManagedObjectModels() throws -> [NSManagedObjectModel] {
let urls = try getURLsOfAllManagedObjectModelVersions()
// Hack required for the 18th version of the database
let filteredURLs: [URL]
if #available(iOS 13, *) {
filteredURLs = urls
} else {
filteredURLs = urls.filter({$0.lastPathComponent != "ObvMessenger 18.mom"})
}
// End Hack
let models = filteredURLs.compactMap { NSManagedObjectModel(contentsOf: $0) }
let models = urls.compactMap { NSManagedObjectModel(contentsOf: $0) }
return models
}

Expand Down Expand Up @@ -386,10 +415,6 @@ open class DataMigrationManager<PersistentContainerType: NSPersistentContainer>
}


open func performPostMigrationWork(forSourceModel sourceModel: NSManagedObjectModel, destinationModel: NSManagedObjectModel) throws {
fatalError("Must be overwritten by subclass")
}

}


Expand Down
1 change: 0 additions & 1 deletion Engine/BigInt/BigInt/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ disabled_rules:
- unused_enumerated
- is_disjoint
- for_where
- reduce_boolean
- force_cast
- force_try
- weak_delegate
Expand Down
4 changes: 2 additions & 2 deletions Engine/BigInt/BigInt/BigInt.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = BigInt/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
Expand Down Expand Up @@ -444,7 +444,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = BigInt/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
Expand Down
2 changes: 1 addition & 1 deletion Engine/BigInt/make_static_gmp_lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
GMP_VERSION="6.1.2"
PLATFORMPATH="/Applications/Xcode.app/Contents/Developer/Platforms"
TOOLSPATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
export IPHONEOS_DEPLOYMENT_TARGET="11" # can be set to 10.3 with Xcode 8.3.3
export IPHONEOS_DEPLOYMENT_TARGET="13" # can be set to 10.3 with Xcode 8.3.3
pwd=`pwd`

findLatestSDKVersion()
Expand Down
1 change: 0 additions & 1 deletion Engine/JWS/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ disabled_rules:
- unused_enumerated
- is_disjoint
- for_where
- reduce_boolean
- force_cast
- force_try
- weak_delegate
Expand Down
8 changes: 4 additions & 4 deletions Engine/JWS/JWS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -271,7 +271,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
Expand All @@ -296,7 +296,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = JWS/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -324,7 +324,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = JWS/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down
1 change: 0 additions & 1 deletion Engine/ObvBackupManager/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ disabled_rules:
- unused_enumerated
- is_disjoint
- for_where
- reduce_boolean
- force_cast
- force_try
- weak_delegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -333,6 +334,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
Expand All @@ -357,7 +359,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = ObvBackupManager/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -385,7 +387,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = ObvBackupManager/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down
1 change: 0 additions & 1 deletion Engine/ObvChannelManager/.swiftlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ disabled_rules:
- unused_enumerated
- is_disjoint
- for_where
- reduce_boolean
- force_cast
- force_try
- weak_delegate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -533,6 +534,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
Expand All @@ -555,7 +557,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = ObvChannelManager/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.olvid.ObvChannelManager;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
Expand All @@ -579,7 +581,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = ObvChannelManager/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = io.olvid.ObvChannelManager;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 519d33d

Please sign in to comment.