diff --git a/auth/lib/main.dart b/auth/lib/main.dart index 9fa2841ff0..4493874b9b 100644 --- a/auth/lib/main.dart +++ b/auth/lib/main.dart @@ -66,8 +66,6 @@ Future initSystemTray() async { void main() async { WidgetsFlutterBinding.ensureInitialized(); - initSystemTray().ignore(); - if (PlatformUtil.isDesktop()) { await windowManager.ensureInitialized(); await WindowListenerService.instance.init(); @@ -77,8 +75,10 @@ void main() async { await windowManager.waitUntilReadyToShow(windowOptions, () async { await windowManager.show(); await windowManager.focus(); + initSystemTray().ignore(); }); } + await _runInForeground(); await _setupPrivacyScreen(); if (Platform.isAndroid) { diff --git a/auth/linux/CMakeLists.txt b/auth/linux/CMakeLists.txt index ca3bd0a60e..2c0f9c6882 100644 --- a/auth/linux/CMakeLists.txt +++ b/auth/linux/CMakeLists.txt @@ -34,7 +34,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) "Debug" "Profile" "Release") endif() -# Compilation ui.settings that should be applied to most targets. +# Compilation settings that should be applied to most targets. # # Be cautious about adding new options here, as plugins use this function by # default. In most cases, you should add new options to specific targets instead @@ -66,8 +66,8 @@ add_executable(${BINARY_NAME} "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" ) -# Apply the standard set of build ui.settings. This can be removed for applications -# that need different build ui.settings. +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. apply_standard_settings(${BINARY_NAME}) # Add dependency libraries. Add any application-specific dependencies here. @@ -86,6 +86,7 @@ set_target_properties(${BINARY_NAME} RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" ) + # Generated plugin build rules, which manage building the plugins and adding # them to the application. include(flutter/generated_plugins.cmake) @@ -122,6 +123,12 @@ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) COMPONENT Runtime) endforeach(bundled_library) +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/linux/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + # Fully re-copy the assets directory on each build to avoid having stale files # from a previous install. set(FLUTTER_ASSET_DIR_NAME "flutter_assets") diff --git a/auth/linux/my_application.cc b/auth/linux/my_application.cc index 8a553fec35..c2a17c32cf 100644 --- a/auth/linux/my_application.cc +++ b/auth/linux/my_application.cc @@ -63,7 +63,7 @@ static void my_application_activate(GApplication *application) } gtk_window_set_default_size(window, 1280, 720); - gtk_widget_realize(GTK_WIDGET(window)); + gtk_widget_show(GTK_WIDGET(window)); g_autoptr(FlDartProject) project = fl_dart_project_new(); fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); @@ -73,6 +73,7 @@ static void my_application_activate(GApplication *application) gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + gtk_widget_hide(GTK_WIDGET(window)); gtk_widget_grab_focus(GTK_WIDGET(view)); } @@ -98,6 +99,26 @@ static gboolean my_application_local_command_line(GApplication *application, gch return FALSE; } +// Implements GApplication::startup. +static void my_application_startup(GApplication *application) +{ + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application startup. + + G_APPLICATION_CLASS(my_application_parent_class)->startup(application); +} + +// Implements GApplication::shutdown. +static void my_application_shutdown(GApplication *application) +{ + // MyApplication* self = MY_APPLICATION(object); + + // Perform any actions required at application shutdown. + + G_APPLICATION_CLASS(my_application_parent_class)->shutdown(application); +} + // Implements GObject::dispose. static void my_application_dispose(GObject *object) { @@ -110,6 +131,8 @@ static void my_application_class_init(MyApplicationClass *klass) { G_APPLICATION_CLASS(klass)->activate = my_application_activate; G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_APPLICATION_CLASS(klass)->startup = my_application_startup; + G_APPLICATION_CLASS(klass)->shutdown = my_application_shutdown; G_OBJECT_CLASS(klass)->dispose = my_application_dispose; } diff --git a/auth/pubspec.lock b/auth/pubspec.lock index b3a643b0be..d49014e282 100644 --- a/auth/pubspec.lock +++ b/auth/pubspec.lock @@ -293,9 +293,9 @@ packages: dependency: "direct main" description: path: "packages/desktop_webview_window" - ref: fix-webkit-version - resolved-ref: fe2223e4edfecdbb3a97bb9e3ced73db4ae9d979 - url: "https://github.com/ente-io/flutter-desktopwebview-fork" + ref: main + resolved-ref: "726d8281a244d56ab36e843f0427c48de6d9cc56" + url: "https://github.com/MixinNetwork/flutter-plugins" source: git version: "0.2.4" device_info_plus: @@ -602,11 +602,11 @@ packages: dependency: "direct overridden" description: path: flutter_secure_storage_linux - ref: patch-1 - resolved-ref: da8ab43bc51c8c3249a261c33b27aa6f018f819b - url: "https://github.com/prateekmedia/flutter_secure_storage.git" + ref: develop + resolved-ref: cb30953edc029dc4059b72700270b4cd3a3afade + url: "https://github.com/mogol/flutter_secure_storage.git" source: git - version: "1.2.0" + version: "1.2.1" flutter_secure_storage_macos: dependency: transitive description: @@ -813,10 +813,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -853,26 +853,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: "direct dev" description: @@ -957,10 +957,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mime: dependency: transitive description: @@ -1523,10 +1523,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" timezone: dependency: transitive description: @@ -1683,10 +1683,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" watcher: dependency: transitive description: @@ -1731,10 +1731,10 @@ packages: dependency: "direct main" description: name: window_manager - sha256: b3c895bdf936c77b83c5254bec2e6b3f066710c1f89c38b20b8acc382b525494 + sha256: "8699323b30da4cdbe2aa2e7c9de567a6abd8a97d9a5c850a3c86dcd0b34bbfbf" url: "https://pub.dev" source: hosted - version: "0.3.8" + version: "0.3.9" xdg_directories: dependency: transitive description: diff --git a/auth/pubspec.yaml b/auth/pubspec.yaml index b7a0e75c86..c69c79a06c 100644 --- a/auth/pubspec.yaml +++ b/auth/pubspec.yaml @@ -1,6 +1,6 @@ name: ente_auth description: ente two-factor authenticator -version: 3.0.8+308 +version: 3.0.9+309 publish_to: none environment: @@ -20,8 +20,8 @@ dependencies: convert: ^3.1.1 desktop_webview_window: git: - url: https://github.com/ente-io/flutter-desktopwebview-fork - ref: fix-webkit-version + url: https://github.com/MixinNetwork/flutter-plugins + ref: main path: packages/desktop_webview_window device_info_plus: ^9.1.1 dio: ^5.4.0 @@ -64,7 +64,7 @@ dependencies: google_nav_bar: ^5.0.5 #supported gradient_borders: ^1.0.0 http: ^1.1.0 - intl: ^0.18.0 + intl: ^0.19.0 json_annotation: ^4.5.0 local_auth: ^2.2.0 local_auth_android: ^1.0.37 @@ -102,13 +102,13 @@ dependencies: url_launcher: ^6.1.5 uuid: ^4.2.2 win32: ^5.1.1 - window_manager: ^0.3.8 + window_manager: ^0.3.9 dependency_overrides: flutter_secure_storage_linux: git: - url: https://github.com/prateekmedia/flutter_secure_storage.git - ref: patch-1 + url: https://github.com/mogol/flutter_secure_storage.git + ref: develop path: flutter_secure_storage_linux dev_dependencies: build_runner: ^2.1.11