diff --git a/.fvmrc b/.fvmrc
new file mode 100644
index 000000000..c300356c3
--- /dev/null
+++ b/.fvmrc
@@ -0,0 +1,3 @@
+{
+ "flutter": "stable"
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 630d1f08d..be935c75c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,6 @@ widgets/calendar/android/local.properties
.vscode/settings.json
.idea/
/build
+
+# FVM Version Cache
+.fvm/
\ No newline at end of file
diff --git a/commet/ios/Flutter/AppFrameworkInfo.plist b/commet/ios/Flutter/AppFrameworkInfo.plist
index 9625e105d..391a902b2 100644
--- a/commet/ios/Flutter/AppFrameworkInfo.plist
+++ b/commet/ios/Flutter/AppFrameworkInfo.plist
@@ -20,7 +20,5 @@
????
CFBundleVersion
1.0
- MinimumOSVersion
- 11.0
diff --git a/commet/ios/Flutter/Debug.xcconfig b/commet/ios/Flutter/Debug.xcconfig
index 592ceee85..ec97fc6f3 100644
--- a/commet/ios/Flutter/Debug.xcconfig
+++ b/commet/ios/Flutter/Debug.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
diff --git a/commet/ios/Flutter/Release.xcconfig b/commet/ios/Flutter/Release.xcconfig
index 592ceee85..c4855bfe2 100644
--- a/commet/ios/Flutter/Release.xcconfig
+++ b/commet/ios/Flutter/Release.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
diff --git a/commet/ios/Podfile b/commet/ios/Podfile
new file mode 100644
index 000000000..b932c8af2
--- /dev/null
+++ b/commet/ios/Podfile
@@ -0,0 +1,43 @@
+# Uncomment this line to define a global platform for your project
+# platform :ios, '13.0'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+# target 'RunnerTests' do
+# inherit! :search_paths
+# end
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_ios_build_settings(target)
+ end
+end
diff --git a/commet/ios/Podfile.lock b/commet/ios/Podfile.lock
new file mode 100644
index 000000000..cb0d19b8f
--- /dev/null
+++ b/commet/ios/Podfile.lock
@@ -0,0 +1,79 @@
+PODS:
+ - Flutter (1.0.0)
+ - flutter_background_service_ios (0.0.3):
+ - Flutter
+ - flutter_vodozemac (0.0.1):
+ - Flutter
+ - flutter_web_auth_2 (3.0.0):
+ - Flutter
+ - flutter_webrtc (1.2.0):
+ - Flutter
+ - WebRTC-SDK (= 137.7151.04)
+ - livekit_client (2.5.4):
+ - Flutter
+ - flutter_webrtc
+ - WebRTC-SDK (= 137.7151.04)
+ - media_kit_libs_ios_video (1.0.4):
+ - Flutter
+ - media_kit_video (0.0.1):
+ - Flutter
+ - pasteboard (0.0.1):
+ - Flutter
+ - permission_handler_apple (9.3.0):
+ - Flutter
+ - WebRTC-SDK (137.7151.04)
+
+DEPENDENCIES:
+ - Flutter (from `Flutter`)
+ - flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
+ - flutter_vodozemac (from `.symlinks/plugins/flutter_vodozemac/ios`)
+ - flutter_web_auth_2 (from `.symlinks/plugins/flutter_web_auth_2/ios`)
+ - flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
+ - livekit_client (from `.symlinks/plugins/livekit_client/ios`)
+ - media_kit_libs_ios_video (from `.symlinks/plugins/media_kit_libs_ios_video/ios`)
+ - media_kit_video (from `.symlinks/plugins/media_kit_video/ios`)
+ - pasteboard (from `.symlinks/plugins/pasteboard/ios`)
+ - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
+
+SPEC REPOS:
+ trunk:
+ - WebRTC-SDK
+
+EXTERNAL SOURCES:
+ Flutter:
+ :path: Flutter
+ flutter_background_service_ios:
+ :path: ".symlinks/plugins/flutter_background_service_ios/ios"
+ flutter_vodozemac:
+ :path: ".symlinks/plugins/flutter_vodozemac/ios"
+ flutter_web_auth_2:
+ :path: ".symlinks/plugins/flutter_web_auth_2/ios"
+ flutter_webrtc:
+ :path: ".symlinks/plugins/flutter_webrtc/ios"
+ livekit_client:
+ :path: ".symlinks/plugins/livekit_client/ios"
+ media_kit_libs_ios_video:
+ :path: ".symlinks/plugins/media_kit_libs_ios_video/ios"
+ media_kit_video:
+ :path: ".symlinks/plugins/media_kit_video/ios"
+ pasteboard:
+ :path: ".symlinks/plugins/pasteboard/ios"
+ permission_handler_apple:
+ :path: ".symlinks/plugins/permission_handler_apple/ios"
+
+SPEC CHECKSUMS:
+ Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467
+ flutter_background_service_ios: 00d31bdff7b4bfe06d32375df358abe0329cf87e
+ flutter_vodozemac: 46015daf07988356d46784d05ab0c7afca00ff36
+ flutter_web_auth_2: 5c8d9dcd7848b5a9efb086d24e7a9adcae979c80
+ flutter_webrtc: c3e21fc0dcd9d8eb246ae4d5256fcbeb2f5ecd22
+ livekit_client: 53ca658779b78710fb458cccee28b53a13356c15
+ media_kit_libs_ios_video: 5a18affdb97d1f5d466dc79988b13eff6c5e2854
+ media_kit_video: 1746e198cb697d1ffb734b1d05ec429d1fcd1474
+ pasteboard: 49088aeb6119d51f976a421db60d8e1ab079b63c
+ permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
+ WebRTC-SDK: 40d4f5ba05cadff14e4db5614aec402a633f007e
+
+PODFILE CHECKSUM: 1525c406cbf4e90b17f607c9022520b5bfbe3a9c
+
+COCOAPODS: 1.16.2
diff --git a/commet/ios/Runner.xcodeproj/project.pbxproj b/commet/ios/Runner.xcodeproj/project.pbxproj
index c6503b75e..03d6da430 100644
--- a/commet/ios/Runner.xcodeproj/project.pbxproj
+++ b/commet/ios/Runner.xcodeproj/project.pbxproj
@@ -10,9 +10,11 @@
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
+ 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+ 9FD9B755332D899E9B99A227 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4806BBB65304F6C94AF29B85 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -32,8 +34,11 @@
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
+ 4806BBB65304F6C94AF29B85 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7229749E50BE1C812949A053 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
@@ -42,6 +47,8 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ A9373D11845F9964BF869CBD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
+ BA3DD46C2A00DE743440A93A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -49,15 +56,36 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
+ 9FD9B755332D899E9B99A227 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
+ 6A31258EF7147A528FA4A14D /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ BA3DD46C2A00DE743440A93A /* Pods-Runner.debug.xcconfig */,
+ A9373D11845F9964BF869CBD /* Pods-Runner.release.xcconfig */,
+ 7229749E50BE1C812949A053 /* Pods-Runner.profile.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+ 7BC932C3DB835F6A5ACC83E2 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 4806BBB65304F6C94AF29B85 /* Pods_Runner.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
+ 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
@@ -72,6 +100,8 @@
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
+ 6A31258EF7147A528FA4A14D /* Pods */,
+ 7BC932C3DB835F6A5ACC83E2 /* Frameworks */,
);
sourceTree = "";
};
@@ -105,18 +135,24 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
+ D2D7D42C0FDD39125C09B787 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ B6E93D1531283D60137E90B9 /* [CP] Embed Pods Frameworks */,
+ 50CFAA61055D8F74316E6848 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
+ packageProductDependencies = (
+ 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
+ );
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
@@ -127,7 +163,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1300;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -145,6 +181,9 @@
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
+ packageReferences = (
+ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */,
+ );
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
@@ -176,6 +215,7 @@
files = (
);
inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -184,6 +224,23 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
+ 50CFAA61055D8F74316E6848 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -199,6 +256,45 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
+ B6E93D1531283D60137E90B9 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ D2D7D42C0FDD39125C09B787 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -274,7 +370,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -290,8 +386,20 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ ENABLE_APP_SANDBOX = YES;
ENABLE_BITCODE = NO;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_PHOTO_LIBRARY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ ENABLE_USER_SELECTED_FILES = readonly;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -351,7 +459,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -400,7 +508,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -418,8 +526,20 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ ENABLE_APP_SANDBOX = YES;
ENABLE_BITCODE = NO;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_PHOTO_LIBRARY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ ENABLE_USER_SELECTED_FILES = readonly;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -440,8 +560,20 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+ ENABLE_APP_SANDBOX = YES;
ENABLE_BITCODE = NO;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_PHOTO_LIBRARY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
+ ENABLE_USER_SELECTED_FILES = readonly;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
+ IPHONEOS_DEPLOYMENT_TARGET = 15.6;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -478,6 +610,20 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
+
+/* Begin XCLocalSwiftPackageReference section */
+ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = {
+ isa = XCLocalSwiftPackageReference;
+ relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
+ };
+/* End XCLocalSwiftPackageReference section */
+
+/* Begin XCSwiftPackageProductDependency section */
+ 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
+ isa = XCSwiftPackageProductDependency;
+ productName = FlutterGeneratedPluginSwiftPackage;
+ };
+/* End XCSwiftPackageProductDependency section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}
diff --git a/commet/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/commet/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..92798d0f7
--- /dev/null
+++ b/commet/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,67 @@
+{
+ "pins" : [
+ {
+ "identity" : "csqlite",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/simolus3/CSQLite.git",
+ "state" : {
+ "revision" : "ae972b235e8b3c5af6d8f4e5bf18c800bdddb27e"
+ }
+ },
+ {
+ "identity" : "dkcamera",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKCamera",
+ "state" : {
+ "branch" : "master",
+ "revision" : "5c691d11014b910aff69f960475d70e65d9dcc96"
+ }
+ },
+ {
+ "identity" : "dkimagepickercontroller",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKImagePickerController",
+ "state" : {
+ "branch" : "4.3.9",
+ "revision" : "0bdfeacefa308545adde07bef86e349186335915"
+ }
+ },
+ {
+ "identity" : "dkphotogallery",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKPhotoGallery",
+ "state" : {
+ "branch" : "master",
+ "revision" : "311c1bc7a94f1538f82773a79c84374b12a2ef3d"
+ }
+ },
+ {
+ "identity" : "sdwebimage",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/SDWebImage/SDWebImage",
+ "state" : {
+ "revision" : "2de3a496eaf6df9a1312862adcfd54acd73c39c0",
+ "version" : "5.21.7"
+ }
+ },
+ {
+ "identity" : "swiftygif",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/kirualex/SwiftyGif.git",
+ "state" : {
+ "revision" : "4430cbc148baa3907651d40562d96325426f409a",
+ "version" : "5.4.5"
+ }
+ },
+ {
+ "identity" : "tocropviewcontroller",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/TimOliver/TOCropViewController",
+ "state" : {
+ "revision" : "d4a6d8100f4b886fdbc8ae399bf144ff3e9afb7e",
+ "version" : "2.8.0"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/commet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/commet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index c87d15a33..5db441f58 100644
--- a/commet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/commet/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,10 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/commet/ios/Runner.xcworkspace/contents.xcworkspacedata b/commet/ios/Runner.xcworkspace/contents.xcworkspacedata
index 1d526a16e..21a3cc14c 100644
--- a/commet/ios/Runner.xcworkspace/contents.xcworkspacedata
+++ b/commet/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -4,4 +4,7 @@
+
+
diff --git a/commet/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved b/commet/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..92798d0f7
--- /dev/null
+++ b/commet/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,67 @@
+{
+ "pins" : [
+ {
+ "identity" : "csqlite",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/simolus3/CSQLite.git",
+ "state" : {
+ "revision" : "ae972b235e8b3c5af6d8f4e5bf18c800bdddb27e"
+ }
+ },
+ {
+ "identity" : "dkcamera",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKCamera",
+ "state" : {
+ "branch" : "master",
+ "revision" : "5c691d11014b910aff69f960475d70e65d9dcc96"
+ }
+ },
+ {
+ "identity" : "dkimagepickercontroller",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKImagePickerController",
+ "state" : {
+ "branch" : "4.3.9",
+ "revision" : "0bdfeacefa308545adde07bef86e349186335915"
+ }
+ },
+ {
+ "identity" : "dkphotogallery",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/zhangao0086/DKPhotoGallery",
+ "state" : {
+ "branch" : "master",
+ "revision" : "311c1bc7a94f1538f82773a79c84374b12a2ef3d"
+ }
+ },
+ {
+ "identity" : "sdwebimage",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/SDWebImage/SDWebImage",
+ "state" : {
+ "revision" : "2de3a496eaf6df9a1312862adcfd54acd73c39c0",
+ "version" : "5.21.7"
+ }
+ },
+ {
+ "identity" : "swiftygif",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/kirualex/SwiftyGif.git",
+ "state" : {
+ "revision" : "4430cbc148baa3907651d40562d96325426f409a",
+ "version" : "5.4.5"
+ }
+ },
+ {
+ "identity" : "tocropviewcontroller",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/TimOliver/TOCropViewController",
+ "state" : {
+ "revision" : "d4a6d8100f4b886fdbc8ae399bf144ff3e9afb7e",
+ "version" : "2.8.0"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/commet/ios/Runner/AppDelegate.swift b/commet/ios/Runner/AppDelegate.swift
index 70693e4a8..c30b367ec 100644
--- a/commet/ios/Runner/AppDelegate.swift
+++ b/commet/ios/Runner/AppDelegate.swift
@@ -1,13 +1,16 @@
-import UIKit
import Flutter
+import UIKit
-@UIApplicationMain
-@objc class AppDelegate: FlutterAppDelegate {
+@main
+@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
- GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
+
+ func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
+ GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
+ }
}
diff --git a/commet/ios/Runner/Info.plist b/commet/ios/Runner/Info.plist
index 0fb038ed1..838d82011 100644
--- a/commet/ios/Runner/Info.plist
+++ b/commet/ios/Runner/Info.plist
@@ -2,6 +2,8 @@
+ CADisableMinimumFrameDurationOnPhone
+
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
@@ -24,6 +26,37 @@
$(FLUTTER_BUILD_NUMBER)
LSRequiresIPhoneOS
+ NSAppleMusicUsageDescription
+ Commet uses media library access to allow you to send files to other users via matrix chat
+ NSCameraUsageDescription
+ Commet needs camera access for video calls.
+ NSMicrophoneUsageDescription
+ Commet needs microphone access for voice calls.
+ NSVoIPUsageDescription
+ Commet uses VoIP to allow you to recieve calls from other users in the background
+ UIApplicationSceneManifest
+
+ UIApplicationSupportsMultipleScenes
+
+ UISceneConfigurations
+
+ UIWindowSceneSessionRoleApplication
+
+
+ UISceneClassName
+ UIWindowScene
+ UISceneConfigurationName
+ flutter
+ UISceneDelegateClassName
+ FlutterSceneDelegate
+ UISceneStoryboardFile
+ Main
+
+
+
+
+ UIApplicationSupportsIndirectInputEvents
+
UILaunchStoryboardName
LaunchScreen
UIMainStoryboardFile
@@ -43,9 +76,5 @@
UIViewControllerBasedStatusBarAppearance
- CADisableMinimumFrameDurationOnPhone
-
- UIApplicationSupportsIndirectInputEvents
-
diff --git a/commet/lib/client/matrix/matrix_client.dart b/commet/lib/client/matrix/matrix_client.dart
index 4fddec62f..86a9060b1 100644
--- a/commet/lib/client/matrix/matrix_client.dart
+++ b/commet/lib/client/matrix/matrix_client.dart
@@ -212,7 +212,7 @@ class MatrixClient extends Client {
static Future _checkSystem(ClientManager clientManager) async {
try {
- await vod.init(wasmPath: './assets/assets/vodozemac/');
+ await vodozemac.init(wasmPath: './assets/assets/vodozemac/');
if (!vod.isInitialized()) {
throw Exception("Vodozemac failed to initialize!");
}
diff --git a/commet/lib/main.dart b/commet/lib/main.dart
index 61c109c76..e6e984c55 100644
--- a/commet/lib/main.dart
+++ b/commet/lib/main.dart
@@ -217,6 +217,32 @@ Future initNecessary() async {
NeedsPostLoginInit.doPostLoginInit();
}
+/// Wrapping the initialization functions in closures prevents an exception
+/// "Null check operator used on a null value". Despite the try/catch,
+/// the error does not actually occur inside of the closure now.
+/// This has the added benefit of providing a stacktrace if there is an
+/// error.
+Future _loadLocalization(Locale locale) async {
+ // Wrap the localization initialization functions with a try/catch
+ // and if there is an exception print the error and stack trace.
+ Future _load(dynamic Function() loadFunction) async {
+ try {
+ await loadFunction();
+ } catch (e, st) {
+ Log.e("Error loading localization: $e\n$st");
+ }
+ }
+
+ return await Future.wait([
+ _load(() async => UnicodeEmojis.load()),
+ if (!preferences.debugTranslations.value)
+ _load(() async => initializeMessages(locale.languageCode)),
+ if (preferences.debugTranslations.value)
+ _load(() async => initializeMessagesDebug()),
+ _load(() async => initializeDateFormatting(locale.languageCode)),
+ ]);
+}
+
/// Initializes everything that is needed to run in GUI mode
Future initGuiRequirements() async {
isHeadless = false;
@@ -224,15 +250,7 @@ Future initGuiRequirements() async {
MediaKit.ensureInitialized();
var locale = PlatformDispatcher.instance.locale;
-
- Future.wait([
- UnicodeEmojis.load(),
- if (!preferences.debugTranslations.value)
- initializeMessages(locale.languageCode),
- if (preferences.debugTranslations.value) initializeMessagesDebug(),
- initializeDateFormatting(locale.languageCode),
- ]);
-
+ await _loadLocalization(locale);
tiamat.getAppScale = () {
return preferences.appScale.value;
};
diff --git a/commet/macos/Flutter/Flutter-Debug.xcconfig b/commet/macos/Flutter/Flutter-Debug.xcconfig
index c2efd0b60..4b81f9b2d 100644
--- a/commet/macos/Flutter/Flutter-Debug.xcconfig
+++ b/commet/macos/Flutter/Flutter-Debug.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
diff --git a/commet/macos/Flutter/Flutter-Release.xcconfig b/commet/macos/Flutter/Flutter-Release.xcconfig
index c2efd0b60..5caa9d157 100644
--- a/commet/macos/Flutter/Flutter-Release.xcconfig
+++ b/commet/macos/Flutter/Flutter-Release.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
diff --git a/commet/macos/Flutter/GeneratedPluginRegistrant.swift b/commet/macos/Flutter/GeneratedPluginRegistrant.swift
index 5d921fd69..d1e050abf 100644
--- a/commet/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/commet/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -22,6 +22,7 @@ import media_kit_libs_macos_video
import media_kit_video
import package_info_plus
import pasteboard
+import path_provider_foundation
import screen_retriever_macos
import shared_preferences_foundation
import sqflite_darwin
@@ -49,6 +50,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
MediaKitVideoPlugin.register(with: registry.registrar(forPlugin: "MediaKitVideoPlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin"))
+ PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
diff --git a/commet/macos/Podfile b/commet/macos/Podfile
new file mode 100644
index 000000000..f6b415887
--- /dev/null
+++ b/commet/macos/Podfile
@@ -0,0 +1,42 @@
+platform :osx, '10.15'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_macos_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+
+ flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
+# target 'RunnerTests' do
+# inherit! :search_paths
+# end
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_macos_build_settings(target)
+ end
+end
diff --git a/commet/macos/Podfile.lock b/commet/macos/Podfile.lock
new file mode 100644
index 000000000..aabdda33a
--- /dev/null
+++ b/commet/macos/Podfile.lock
@@ -0,0 +1,107 @@
+PODS:
+ - desktop_drop (0.0.1):
+ - FlutterMacOS
+ - desktop_webview_window (0.0.1):
+ - FlutterMacOS
+ - dynamic_color (0.0.2):
+ - FlutterMacOS
+ - flutter_vodozemac (0.0.1):
+ - FlutterMacOS
+ - flutter_web_auth_2 (3.0.0):
+ - FlutterMacOS
+ - flutter_webrtc (1.2.0):
+ - FlutterMacOS
+ - WebRTC-SDK (= 137.7151.04)
+ - FlutterMacOS (1.0.0)
+ - HotKey (0.2.1)
+ - hotkey_manager_macos (0.0.1):
+ - FlutterMacOS
+ - HotKey
+ - livekit_client (2.5.4):
+ - flutter_webrtc
+ - FlutterMacOS
+ - WebRTC-SDK (= 137.7151.04)
+ - media_kit_libs_macos_video (1.0.4):
+ - FlutterMacOS
+ - media_kit_video (0.0.1):
+ - FlutterMacOS
+ - pasteboard (0.0.1):
+ - FlutterMacOS
+ - screen_retriever_macos (0.0.1):
+ - FlutterMacOS
+ - WebRTC-SDK (137.7151.04)
+ - window_to_front (0.0.1):
+ - FlutterMacOS
+
+DEPENDENCIES:
+ - desktop_drop (from `Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos`)
+ - desktop_webview_window (from `Flutter/ephemeral/.symlinks/plugins/desktop_webview_window/macos`)
+ - dynamic_color (from `Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos`)
+ - flutter_vodozemac (from `Flutter/ephemeral/.symlinks/plugins/flutter_vodozemac/macos`)
+ - flutter_web_auth_2 (from `Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos`)
+ - flutter_webrtc (from `Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos`)
+ - FlutterMacOS (from `Flutter/ephemeral`)
+ - hotkey_manager_macos (from `Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos`)
+ - livekit_client (from `Flutter/ephemeral/.symlinks/plugins/livekit_client/macos`)
+ - media_kit_libs_macos_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos`)
+ - media_kit_video (from `Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos`)
+ - pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`)
+ - screen_retriever_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos`)
+ - window_to_front (from `Flutter/ephemeral/.symlinks/plugins/window_to_front/macos`)
+
+SPEC REPOS:
+ trunk:
+ - HotKey
+ - WebRTC-SDK
+
+EXTERNAL SOURCES:
+ desktop_drop:
+ :path: Flutter/ephemeral/.symlinks/plugins/desktop_drop/macos
+ desktop_webview_window:
+ :path: Flutter/ephemeral/.symlinks/plugins/desktop_webview_window/macos
+ dynamic_color:
+ :path: Flutter/ephemeral/.symlinks/plugins/dynamic_color/macos
+ flutter_vodozemac:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_vodozemac/macos
+ flutter_web_auth_2:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_web_auth_2/macos
+ flutter_webrtc:
+ :path: Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos
+ FlutterMacOS:
+ :path: Flutter/ephemeral
+ hotkey_manager_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos
+ livekit_client:
+ :path: Flutter/ephemeral/.symlinks/plugins/livekit_client/macos
+ media_kit_libs_macos_video:
+ :path: Flutter/ephemeral/.symlinks/plugins/media_kit_libs_macos_video/macos
+ media_kit_video:
+ :path: Flutter/ephemeral/.symlinks/plugins/media_kit_video/macos
+ pasteboard:
+ :path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos
+ screen_retriever_macos:
+ :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos
+ window_to_front:
+ :path: Flutter/ephemeral/.symlinks/plugins/window_to_front/macos
+
+SPEC CHECKSUMS:
+ desktop_drop: e0b672a7d84c0a6cbc378595e82cdb15f2970a43
+ desktop_webview_window: 7e37af677d6d19294cb433d9b1d878ef78dffa4d
+ dynamic_color: b820c000cc68df65e7ba7ff177cb98404ce56651
+ flutter_vodozemac: fd2ea9cb3e2a37beaac883a369811fbfe042fc53
+ flutter_web_auth_2: 62b08da29f15a20fa63f144234622a1488d45b65
+ flutter_webrtc: 718eae22a371cd94e5d56aa4f301443ebc5bb737
+ FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
+ HotKey: 400beb7caa29054ea8d864c96f5ba7e5b4852277
+ hotkey_manager_macos: a4317849af96d2430fa89944d3c58977ca089fbe
+ livekit_client: 3df5a1787d64010ca56c4002959d9e47c03ba3fb
+ media_kit_libs_macos_video: 85a23e549b5f480e72cae3e5634b5514bc692f65
+ media_kit_video: fa6564e3799a0a28bff39442334817088b7ca758
+ pasteboard: 278d8100149f940fb795d6b3a74f0720c890ecb7
+ screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f
+ WebRTC-SDK: 40d4f5ba05cadff14e4db5614aec402a633f007e
+ window_to_front: 9e76fd432e36700a197dac86a0011e49c89abe0a
+
+PODFILE CHECKSUM: d96aa491aabb492ee9ce1c52e0b87f221a55f270
+
+COCOAPODS: 1.16.2
diff --git a/commet/macos/Runner.xcodeproj/project.pbxproj b/commet/macos/Runner.xcodeproj/project.pbxproj
index 83c675b80..32dc15c15 100644
--- a/commet/macos/Runner.xcodeproj/project.pbxproj
+++ b/commet/macos/Runner.xcodeproj/project.pbxproj
@@ -26,6 +26,8 @@
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
+ 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
+ 8ABF8385180779EBF3EC9964 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5599B5066EDB612845A0CF /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -38,23 +40,10 @@
};
/* End PBXContainerItemProxy section */
-/* Begin PBXCopyFilesBuildPhase section */
- 33CC110E2044A8840003C045 /* Bundle Framework */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = "";
- dstSubfolderSpec = 10;
- files = (
- );
- name = "Bundle Framework";
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXCopyFilesBuildPhase section */
-
/* Begin PBXFileReference section */
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; };
- 33CC10ED2044A3C60003C045 /* commet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "commet.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 33CC10ED2044A3C60003C045 /* commet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = commet.app; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; };
@@ -66,8 +55,14 @@
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; };
+ 4586DC622F6318DD0099275E /* flutter_vodozemac.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_vodozemac.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5D5599B5066EDB612845A0CF /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 71A4B9209BBE670369BA5AE1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
+ 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; };
+ 9DEA1E775F3FB7646D2EB1A5 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
+ E97CFB3913FED7A81D2CF6C3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -75,6 +70,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */,
+ 8ABF8385180779EBF3EC9964 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -99,6 +96,7 @@
33CEB47122A05771004F2AC0 /* Flutter */,
33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */,
+ 8A17C73643CBDB6AB2FF49F1 /* Pods */,
);
sourceTree = "";
};
@@ -124,6 +122,7 @@
33CEB47122A05771004F2AC0 /* Flutter */ = {
isa = PBXGroup;
children = (
+ 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */,
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */,
33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */,
33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */,
@@ -145,9 +144,21 @@
path = Runner;
sourceTree = "";
};
+ 8A17C73643CBDB6AB2FF49F1 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 9DEA1E775F3FB7646D2EB1A5 /* Pods-Runner.debug.xcconfig */,
+ 71A4B9209BBE670369BA5AE1 /* Pods-Runner.release.xcconfig */,
+ E97CFB3913FED7A81D2CF6C3 /* Pods-Runner.profile.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 4586DC622F6318DD0099275E /* flutter_vodozemac.framework */,
+ 5D5599B5066EDB612845A0CF /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "";
@@ -159,11 +170,12 @@
isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
+ 8B3D312A1FD6C2375818E1B0 /* [CP] Check Pods Manifest.lock */,
33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */,
- 33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */,
+ 7FDB72E8B0A85FE806F040BC /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -171,6 +183,9 @@
33CC11202044C79F0003C045 /* PBXTargetDependency */,
);
name = Runner;
+ packageProductDependencies = (
+ 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */,
+ );
productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* commet.app */;
productType = "com.apple.product-type.application";
@@ -182,7 +197,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0920;
- LastUpgradeCheck = 1300;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
33CC10EC2044A3C60003C045 = {
@@ -210,6 +225,9 @@
Base,
);
mainGroup = 33CC10E42044A3C60003C045;
+ packageReferences = (
+ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */,
+ );
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
projectDirPath = "";
projectRoot = "";
@@ -271,6 +289,45 @@
shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
};
+ 7FDB72E8B0A85FE806F040BC /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 8B3D312A1FD6C2375818E1B0 /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -345,7 +402,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
+ MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -362,7 +419,24 @@
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
+ ENABLE_APP_SANDBOX = YES;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_MOVIES_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_MUSIC_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
+ ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
+ ENABLE_RESOURCE_ACCESS_LOCATION = NO;
+ ENABLE_RESOURCE_ACCESS_PRINTING = NO;
+ ENABLE_RESOURCE_ACCESS_USB = NO;
+ ENABLE_USER_SELECTED_FILES = readwrite;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
@@ -424,7 +498,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
+ MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
@@ -471,7 +545,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.14;
+ MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -488,7 +562,24 @@
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
+ ENABLE_APP_SANDBOX = YES;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_MOVIES_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_MUSIC_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
+ ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
+ ENABLE_RESOURCE_ACCESS_LOCATION = NO;
+ ENABLE_RESOURCE_ACCESS_PRINTING = NO;
+ ENABLE_RESOURCE_ACCESS_USB = NO;
+ ENABLE_USER_SELECTED_FILES = readwrite;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
@@ -508,7 +599,24 @@
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
+ ENABLE_APP_SANDBOX = YES;
+ ENABLE_FILE_ACCESS_DOWNLOADS_FOLDER = readwrite;
+ ENABLE_FILE_ACCESS_MOVIES_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_MUSIC_FOLDER = readonly;
+ ENABLE_FILE_ACCESS_PICTURE_FOLDER = readonly;
+ ENABLE_INCOMING_NETWORK_CONNECTIONS = YES;
+ ENABLE_OUTGOING_NETWORK_CONNECTIONS = YES;
+ ENABLE_RESOURCE_ACCESS_AUDIO_INPUT = YES;
+ ENABLE_RESOURCE_ACCESS_BLUETOOTH = NO;
+ ENABLE_RESOURCE_ACCESS_CALENDARS = NO;
+ ENABLE_RESOURCE_ACCESS_CAMERA = YES;
+ ENABLE_RESOURCE_ACCESS_CONTACTS = NO;
+ ENABLE_RESOURCE_ACCESS_LOCATION = NO;
+ ENABLE_RESOURCE_ACCESS_PRINTING = NO;
+ ENABLE_RESOURCE_ACCESS_USB = NO;
+ ENABLE_USER_SELECTED_FILES = readwrite;
INFOPLIST_FILE = Runner/Info.plist;
+ INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
@@ -568,6 +676,20 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
+
+/* Begin XCLocalSwiftPackageReference section */
+ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = {
+ isa = XCLocalSwiftPackageReference;
+ relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage;
+ };
+/* End XCLocalSwiftPackageReference section */
+
+/* Begin XCSwiftPackageProductDependency section */
+ 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
+ isa = XCSwiftPackageProductDependency;
+ productName = FlutterGeneratedPluginSwiftPackage;
+ };
+/* End XCSwiftPackageProductDependency section */
};
rootObject = 33CC10E52044A3C60003C045 /* Project object */;
}
diff --git a/commet/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/commet/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..98c67e4a9
--- /dev/null
+++ b/commet/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,13 @@
+{
+ "pins" : [
+ {
+ "identity" : "csqlite",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/simolus3/CSQLite.git",
+ "state" : {
+ "revision" : "ae972b235e8b3c5af6d8f4e5bf18c800bdddb27e"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/commet/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/commet/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index b0f960503..7429e7695 100644
--- a/commet/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/commet/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,10 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/commet/macos/Runner.xcworkspace/contents.xcworkspacedata b/commet/macos/Runner.xcworkspace/contents.xcworkspacedata
index 1d526a16e..21a3cc14c 100644
--- a/commet/macos/Runner.xcworkspace/contents.xcworkspacedata
+++ b/commet/macos/Runner.xcworkspace/contents.xcworkspacedata
@@ -4,4 +4,7 @@
+
+
diff --git a/commet/macos/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved b/commet/macos/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
new file mode 100644
index 000000000..98c67e4a9
--- /dev/null
+++ b/commet/macos/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -0,0 +1,13 @@
+{
+ "pins" : [
+ {
+ "identity" : "csqlite",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/simolus3/CSQLite.git",
+ "state" : {
+ "revision" : "ae972b235e8b3c5af6d8f4e5bf18c800bdddb27e"
+ }
+ }
+ ],
+ "version" : 2
+}
diff --git a/commet/macos/Runner/AppDelegate.swift b/commet/macos/Runner/AppDelegate.swift
index d53ef6437..b3c176141 100644
--- a/commet/macos/Runner/AppDelegate.swift
+++ b/commet/macos/Runner/AppDelegate.swift
@@ -1,9 +1,13 @@
import Cocoa
import FlutterMacOS
-@NSApplicationMain
+@main
class AppDelegate: FlutterAppDelegate {
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
+
+ override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
+ return true
+ }
}
diff --git a/commet/macos/Runner/DebugProfile.entitlements b/commet/macos/Runner/DebugProfile.entitlements
index dddb8a30c..2b80609e5 100644
--- a/commet/macos/Runner/DebugProfile.entitlements
+++ b/commet/macos/Runner/DebugProfile.entitlements
@@ -6,6 +6,12 @@
com.apple.security.cs.allow-jit
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
+ com.apple.security.network.client
+
com.apple.security.network.server
diff --git a/commet/macos/Runner/Info.plist b/commet/macos/Runner/Info.plist
index 4789daa6a..0a9824586 100644
--- a/commet/macos/Runner/Info.plist
+++ b/commet/macos/Runner/Info.plist
@@ -22,11 +22,25 @@
$(FLUTTER_BUILD_NUMBER)
LSMinimumSystemVersion
$(MACOSX_DEPLOYMENT_TARGET)
+ NSCameraUsageDescription
+ Commet needs camera access for video calls.
+ NSDownloadsFolderUsageDescription
+ Commet will let you save files sent via matrix chat to your Downloads folder
NSHumanReadableCopyright
$(PRODUCT_COPYRIGHT)
+ NSLocalNetworkUsageDescription
+ Local Network access allows Commet to connect to Voice and Video calls
NSMainNibFile
MainMenu
+ NSMicrophoneUsageDescription
+ Commet needs microphone access for voice calls.
+ NSPhotoLibraryUsageDescription
+ Commet uses the Photo Library to allow you to send images via matrix chats
NSPrincipalClass
NSApplication
+ NSScreenCaptureDescription
+ Commet needs screen recording permission to share your screen during calls.
+ NSSystemAudioUsageDescription
+ Commet needs system audio access to capture audio.
diff --git a/commet/macos/Runner/Release.entitlements b/commet/macos/Runner/Release.entitlements
index 852fa1a47..bc5964851 100644
--- a/commet/macos/Runner/Release.entitlements
+++ b/commet/macos/Runner/Release.entitlements
@@ -4,5 +4,11 @@
com.apple.security.app-sandbox
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
+ com.apple.security.network.client
+
diff --git a/commet/pubspec.yaml b/commet/pubspec.yaml
index bba9030ee..f99801f85 100644
--- a/commet/pubspec.yaml
+++ b/commet/pubspec.yaml
@@ -146,6 +146,19 @@ dependency_overrides:
url: https://github.com/commetchat/mixin-flutter-plugins.git
ref: webview-patch
path: ./packages/desktop_webview_window
+ ## The media_kit macos and ios video libraries have an issue
+ ## in the published version. see: https://github.com/media-kit/media-kit/issues/709
+ ## this probably should be forked to prevent unstable updates.
+ media_kit_libs_macos_video:
+ git:
+ url: https://github.com/media-kit/media-kit
+ ref: main
+ path: libs/macos/media_kit_libs_macos_video
+ media_kit_libs_ios_video:
+ git:
+ url: https://github.com/media-kit/media-kit
+ ref: main
+ path: libs/ios/media_kit_libs_ios_video
dev_dependencies:
drift_dev: ^2.28.0
diff --git a/pubspec.lock b/pubspec.lock
index fea9afeb9..bfa6d809d 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -218,14 +218,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.2"
- code_assets:
- dependency: transitive
- description:
- name: code_assets
- sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687"
- url: "https://pub.dev"
- source: hosted
- version: "1.0.0"
code_builder:
dependency: transitive
description:
@@ -822,14 +814,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.1.1"
- hooks:
- dependency: transitive
- description:
- name: hooks
- sha256: "7a08a0d684cb3b8fb604b78455d5d352f502b68079f7b80b831c62220ab0a4f6"
- url: "https://pub.dev"
- source: hosted
- version: "1.0.1"
hotkey_manager:
dependency: transitive
description:
@@ -1192,10 +1176,10 @@ packages:
dependency: transitive
description:
name: matcher
- sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
+ sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
url: "https://pub.dev"
source: hosted
- version: "0.12.18"
+ version: "0.12.19"
material_color_utilities:
dependency: transitive
description:
@@ -1239,12 +1223,13 @@ packages:
source: hosted
version: "1.3.8"
media_kit_libs_ios_video:
- dependency: transitive
+ dependency: "direct overridden"
description:
- name: media_kit_libs_ios_video
- sha256: b5382994eb37a4564c368386c154ad70ba0cc78dacdd3fb0cd9f30db6d837991
- url: "https://pub.dev"
- source: hosted
+ path: "libs/ios/media_kit_libs_ios_video"
+ ref: main
+ resolved-ref: "7102e7da96f39c718487a8f7a59b6a034aae7f45"
+ url: "https://github.com/media-kit/media-kit"
+ source: git
version: "1.1.4"
media_kit_libs_linux:
dependency: transitive
@@ -1255,12 +1240,13 @@ packages:
source: hosted
version: "1.2.1"
media_kit_libs_macos_video:
- dependency: transitive
+ dependency: "direct overridden"
description:
- name: media_kit_libs_macos_video
- sha256: f26aa1452b665df288e360393758f84b911f70ffb3878032e1aabba23aa1032d
- url: "https://pub.dev"
- source: hosted
+ path: "libs/macos/media_kit_libs_macos_video"
+ ref: main
+ resolved-ref: "7102e7da96f39c718487a8f7a59b6a034aae7f45"
+ url: "https://github.com/media-kit/media-kit"
+ source: git
version: "1.1.4"
media_kit_libs_video:
dependency: transitive
@@ -1318,14 +1304,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.16.13"
- native_toolchain_c:
- dependency: transitive
- description:
- name: native_toolchain_c
- sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac"
- url: "https://pub.dev"
- source: hosted
- version: "0.17.4"
nested:
dependency: transitive
description:
@@ -1350,14 +1328,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.2"
- objective_c:
- dependency: transitive
- description:
- name: objective_c
- sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52"
- url: "https://pub.dev"
- source: hosted
- version: "9.3.0"
package_config:
dependency: transitive
description:
@@ -1426,10 +1396,10 @@ packages:
dependency: transitive
description:
name: path_provider_foundation
- sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
+ sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4"
url: "https://pub.dev"
source: hosted
- version: "2.6.0"
+ version: "2.5.1"
path_provider_linux:
dependency: transitive
description:
@@ -2010,26 +1980,26 @@ packages:
dependency: transitive
description:
name: test
- sha256: "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a"
+ sha256: "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7"
url: "https://pub.dev"
source: hosted
- version: "1.29.0"
+ version: "1.30.0"
test_api:
dependency: transitive
description:
name: test_api
- sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
+ sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a"
url: "https://pub.dev"
source: hosted
- version: "0.7.9"
+ version: "0.7.10"
test_core:
dependency: transitive
description:
name: test_core
- sha256: "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943"
+ sha256: "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51"
url: "https://pub.dev"
source: hosted
- version: "0.6.15"
+ version: "0.6.16"
timezone:
dependency: transitive
description:
@@ -2423,5 +2393,5 @@ packages:
source: hosted
version: "2.1.0"
sdks:
- dart: ">=3.10.3 <4.0.0"
- flutter: ">=3.38.4"
+ dart: ">=3.10.0 <4.0.0"
+ flutter: ">=3.38.0"
diff --git a/tiamat/lib/config/style/theme_common.dart b/tiamat/lib/config/style/theme_common.dart
index 3166ee7b3..440a03d9e 100644
--- a/tiamat/lib/config/style/theme_common.dart
+++ b/tiamat/lib/config/style/theme_common.dart
@@ -3,6 +3,9 @@ import 'dart:io' show Platform;
class ThemeCommon {
static List? fontFamilyFallback() {
+ if (!kIsWeb && (Platform.isMacOS || Platform.isIOS)) {
+ return ["Apple Color Emoji"];
+ }
const fonts = ["EmojiFont"];
return fonts;
}
diff --git a/tiamat/macos/Flutter/Flutter-Debug.xcconfig b/tiamat/macos/Flutter/Flutter-Debug.xcconfig
index c2efd0b60..4b81f9b2d 100644
--- a/tiamat/macos/Flutter/Flutter-Debug.xcconfig
+++ b/tiamat/macos/Flutter/Flutter-Debug.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
diff --git a/tiamat/macos/Flutter/Flutter-Release.xcconfig b/tiamat/macos/Flutter/Flutter-Release.xcconfig
index c2efd0b60..5caa9d157 100644
--- a/tiamat/macos/Flutter/Flutter-Release.xcconfig
+++ b/tiamat/macos/Flutter/Flutter-Release.xcconfig
@@ -1 +1,2 @@
+#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
diff --git a/tiamat/macos/Podfile b/tiamat/macos/Podfile
new file mode 100644
index 000000000..ff5ddb3b8
--- /dev/null
+++ b/tiamat/macos/Podfile
@@ -0,0 +1,42 @@
+platform :osx, '10.15'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_macos_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+
+ flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
+ target 'RunnerTests' do
+ inherit! :search_paths
+ end
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_macos_build_settings(target)
+ end
+end