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/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/Runner/Info.plist b/commet/ios/Runner/Info.plist
index 0fb038ed1..ed702207e 100644
--- a/commet/ios/Runner/Info.plist
+++ b/commet/ios/Runner/Info.plist
@@ -47,5 +47,10 @@
UIApplicationSupportsIndirectInputEvents
+ NSCameraUsageDescription
+ Commet needs camera access for video calls.
+ NSMicrophoneUsageDescription
+ Commet needs microphone access for voice calls.
+
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..c265db8dc 100644
--- a/commet/macos/Runner.xcodeproj/project.pbxproj
+++ b/commet/macos/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 54;
+ objectVersion = 60;
objects = {
/* Begin PBXAggregateTarget section */
@@ -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 "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
+ );
productRefGroup = 33CC10EE2044A3C60003C045 /* Products */;
projectDirPath = "";
projectRoot = "";
@@ -271,6 +289,49 @@
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",
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ outputPaths = (
+ );
+ 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 +406,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;
@@ -424,7 +485,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 +532,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;
@@ -568,6 +629,20 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
+
+/* Begin XCLocalSwiftPackageReference section */
+ 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/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..0b152b521 100644
--- a/commet/macos/Runner/DebugProfile.entitlements
+++ b/commet/macos/Runner/DebugProfile.entitlements
@@ -8,5 +8,11 @@
com.apple.security.network.server
+ com.apple.security.network.client
+
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
diff --git a/commet/macos/Runner/Info.plist b/commet/macos/Runner/Info.plist
index 4789daa6a..86a7dc2b0 100644
--- a/commet/macos/Runner/Info.plist
+++ b/commet/macos/Runner/Info.plist
@@ -28,5 +28,13 @@
MainMenu
NSPrincipalClass
NSApplication
+ NSMicrophoneUsageDescription
+ Commet needs microphone access for voice calls.
+ NSCameraUsageDescription
+ Commet needs camera access for video calls.
+ 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..1e977dfa6 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.network.client
+
+ com.apple.security.device.camera
+
+ com.apple.security.device.microphone
+
diff --git a/commet/pubspec.yaml b/commet/pubspec.yaml
index 96c3b5ae5..868d376d2 100644
--- a/commet/pubspec.yaml
+++ b/commet/pubspec.yaml
@@ -145,6 +145,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 b9a6559bc..f36d7919e 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:
@@ -1184,10 +1168,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:
@@ -1231,12 +1215,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
@@ -1247,12 +1232,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
@@ -1282,10 +1268,10 @@ packages:
dependency: transitive
description:
name: meta
- sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
+ sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
url: "https://pub.dev"
source: hosted
- version: "1.17.0"
+ version: "1.18.0"
mime:
dependency: transitive
description:
@@ -1310,14 +1296,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:
@@ -1342,14 +1320,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:
@@ -1418,10 +1388,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:
@@ -2002,26 +1972,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:
@@ -2415,5 +2385,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/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