From 1be01a0a720283d9454a3bfe9a5829464c6ceda3 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Tue, 30 Jun 2026 09:24:48 +0800 Subject: [PATCH] [backport] refactor clipboard pasteboard fix (#55) to release/v1.1.5 (#60) * refactor: replace super_clipboard with pasteboard, drop cargokit/Rust super_clipboard pulled in super_native_extensions (a Rust native layer built via cargokit), whose precompiled-binary download from GitHub release assets has been intermittently failing the build ("Connection closed while receiving data"). It was used for exactly one feature - reading a clipboard image into the composer - in a single file; the other 12 imports were dead. - Swap super_clipboard -> pasteboard (platform-channel, no Rust). - Rewrite readClipboardImageAsXFileInternal() on Pasteboard.image (PNG bytes), collapsing three helpers into one. - Remove 12 unused super_clipboard imports. - Regenerated plugin registrants / lockfiles drop super_native_extensions. Removes the Rust toolchain requirement and the flaky download entirely. Text copy/paste already used Flutter's built-in Clipboard and is unaffected. Co-Authored-By: Claude Opus 4.8 (cherry picked from commit 6e31064cd2c07c5b9e1689d0098f295bf7f18589) * ci: keep TestFlight package release-only (cherry picked from commit bd500d66c732b47b9c2eee0a99364dcffaffc120) * ci: refresh release validation for #55 backport --------- Co-authored-by: Haitao Pan Co-authored-by: Claude Opus 4.8 --- .github/workflows/build-and-release.yml | 6 +- ios/Podfile.lock | 18 ++-- .../assistant/assistant_page_components.dart | 1 - .../assistant_page_components_core.dart | 1 - .../assistant_page_composer_bar.dart | 1 - .../assistant_page_composer_clipboard.dart | 82 ++----------------- .../assistant_page_composer_skill_picker.dart | 1 - ...assistant_page_composer_state_helpers.dart | 1 - .../assistant_page_composer_support.dart | 1 - .../assistant/assistant_page_main.dart | 1 - .../assistant_page_message_widgets.dart | 1 - .../assistant_page_state_actions.dart | 1 - .../assistant_page_state_closure.dart | 1 - .../assistant/assistant_page_task_models.dart | 1 - .../assistant_page_tooltip_labels.dart | 1 - linux/flutter/generated_plugin_registrant.cc | 12 +-- linux/flutter/generated_plugins.cmake | 3 +- macos/Flutter/GeneratedPluginRegistrant.swift | 6 +- macos/Podfile.lock | 18 ++-- pubspec.lock | 48 ++--------- pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 9 +- windows/flutter/generated_plugins.cmake | 3 +- 23 files changed, 46 insertions(+), 173 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 1e50984c..d14b4cd8 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -144,7 +144,11 @@ jobs: - platform: macos arch: arm64 package: app-store-pkg - release_only: true + # Quoted so the `matrix.release_only != 'true'` guard compares + # string-to-string. A YAML boolean here coerces to a number in + # GitHub expressions (true -> 1, 'true' -> NaN), making the guard + # always true and building this release-only leg on every PR. + release_only: "true" runs_on: macos-14 artifact_name: build-macos-arm64-pkg artifact_paths: | diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 38ed7aa1..a2292a8c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -9,15 +9,13 @@ PODS: - WebRTC-SDK (= 125.6422.06) - integration_test (0.0.1): - Flutter - - irondash_engine_context (0.0.1): - - Flutter - package_info_plus (0.4.5): - Flutter + - pasteboard (0.0.1): + - Flutter - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - super_native_extensions (0.0.1): - - Flutter - WebRTC-SDK (125.6422.06) DEPENDENCIES: @@ -26,10 +24,9 @@ DEPENDENCIES: - Flutter (from `Flutter`) - flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`) - integration_test (from `.symlinks/plugins/integration_test/ios`) - - irondash_engine_context (from `.symlinks/plugins/irondash_engine_context/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - pasteboard (from `.symlinks/plugins/pasteboard/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - super_native_extensions (from `.symlinks/plugins/super_native_extensions/ios`) SPEC REPOS: trunk: @@ -46,14 +43,12 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/flutter_webrtc/ios" integration_test: :path: ".symlinks/plugins/integration_test/ios" - irondash_engine_context: - :path: ".symlinks/plugins/irondash_engine_context/ios" package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" + pasteboard: + :path: ".symlinks/plugins/pasteboard/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - super_native_extensions: - :path: ".symlinks/plugins/super_native_extensions/ios" SPEC CHECKSUMS: device_info_plus: 21fcca2080fbcd348be798aa36c3e5ed849eefbe @@ -61,10 +56,9 @@ SPEC CHECKSUMS: Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 flutter_webrtc: 57f32415b8744e806f9c2a96ccdb60c6a627ba33 integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e - irondash_engine_context: 8e58ca8e0212ee9d1c7dc6a42121849986c88486 package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 + pasteboard: 3913b69d3f2be214970a8ae94e7e87fe76e47e98 shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb - super_native_extensions: b763c02dc3a8fd078389f410bf15149179020cb4 WebRTC-SDK: 79942c006ea64f6fb48d7da8a4786dfc820bc1db PODFILE CHECKSUM: ca16f6ef66890e172b6528d5f0eb390e0410291e diff --git a/lib/features/assistant/assistant_page_components.dart b/lib/features/assistant/assistant_page_components.dart index 58ac0ec5..f5b70049 100644 --- a/lib/features/assistant/assistant_page_components.dart +++ b/lib/features/assistant/assistant_page_components.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_components_core.dart b/lib/features/assistant/assistant_page_components_core.dart index 77a5f221..391d9e9e 100644 --- a/lib/features/assistant/assistant_page_components_core.dart +++ b/lib/features/assistant/assistant_page_components_core.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_composer_bar.dart b/lib/features/assistant/assistant_page_composer_bar.dart index f0747227..d00c25cc 100644 --- a/lib/features/assistant/assistant_page_composer_bar.dart +++ b/lib/features/assistant/assistant_page_composer_bar.dart @@ -9,7 +9,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_composer_clipboard.dart b/lib/features/assistant/assistant_page_composer_clipboard.dart index 6a58f973..c2b36a7a 100644 --- a/lib/features/assistant/assistant_page_composer_clipboard.dart +++ b/lib/features/assistant/assistant_page_composer_clipboard.dart @@ -10,7 +10,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; +import 'package:pasteboard/pasteboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; @@ -82,88 +82,24 @@ class AssistantPasteIntent extends Intent { } Future readClipboardImageAsXFileInternal() async { - final clipboard = SystemClipboard.instance; - if (clipboard == null) { + // pasteboard normalizes clipboard images to PNG bytes across platforms. + Uint8List? bytes; + try { + bytes = await Pasteboard.image; + } catch (error, stackTrace) { + debugPrint('Error reading clipboard image: $error\n$stackTrace'); return null; } - final reader = await clipboard.read(); - return await readClipboardImageForFormatInternal( - reader, - format: Formats.png, - extension: 'png', - mimeType: 'image/png', - ) ?? - await readClipboardImageForFormatInternal( - reader, - format: Formats.jpeg, - extension: 'jpg', - mimeType: 'image/jpeg', - ) ?? - await readClipboardImageForFormatInternal( - reader, - format: Formats.gif, - extension: 'gif', - mimeType: 'image/gif', - ) ?? - await readClipboardImageForFormatInternal( - reader, - format: Formats.webp, - extension: 'webp', - mimeType: 'image/webp', - ); -} - -Future readClipboardImageForFormatInternal( - ClipboardReader reader, { - required FileFormat format, - required String extension, - required String mimeType, -}) async { - if (!reader.canProvide(format)) { - return null; - } - final bytes = await readClipboardFileBytesInternal(reader, format); if (bytes == null || bytes.isEmpty) { return null; } final temporaryDirectory = await resolveClipboardAttachmentTempDirectoryInternal(); final fileName = - 'clipboard-image-${DateTime.now().microsecondsSinceEpoch}.$extension'; + 'clipboard-image-${DateTime.now().microsecondsSinceEpoch}.png'; final file = File('${temporaryDirectory.path}/$fileName'); await file.writeAsBytes(bytes, flush: true); - return XFile(file.path, mimeType: mimeType, name: fileName); -} - -Future readClipboardFileBytesInternal( - ClipboardReader reader, - FileFormat format, -) { - final completer = Completer(); - final progress = reader.getFile( - format, - (file) async { - try { - final bytes = await file.readAll(); - if (!completer.isCompleted) { - completer.complete(bytes); - } - } catch (error, stackTrace) { - if (!completer.isCompleted) { - completer.completeError(error, stackTrace); - } - } - }, - onError: (error) { - if (!completer.isCompleted) { - completer.completeError(error); - } - }, - ); - if (progress == null) { - return Future.value(null); - } - return completer.future; + return XFile(file.path, mimeType: 'image/png', name: fileName); } Future resolveClipboardAttachmentTempDirectoryInternal() async { diff --git a/lib/features/assistant/assistant_page_composer_skill_picker.dart b/lib/features/assistant/assistant_page_composer_skill_picker.dart index 765879ec..67da6b8d 100644 --- a/lib/features/assistant/assistant_page_composer_skill_picker.dart +++ b/lib/features/assistant/assistant_page_composer_skill_picker.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_composer_state_helpers.dart b/lib/features/assistant/assistant_page_composer_state_helpers.dart index ca9f507a..f0bc953d 100644 --- a/lib/features/assistant/assistant_page_composer_state_helpers.dart +++ b/lib/features/assistant/assistant_page_composer_state_helpers.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_composer_support.dart b/lib/features/assistant/assistant_page_composer_support.dart index c7049483..6eb6505b 100644 --- a/lib/features/assistant/assistant_page_composer_support.dart +++ b/lib/features/assistant/assistant_page_composer_support.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_main.dart b/lib/features/assistant/assistant_page_main.dart index 87319300..24682329 100644 --- a/lib/features/assistant/assistant_page_main.dart +++ b/lib/features/assistant/assistant_page_main.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_message_widgets.dart b/lib/features/assistant/assistant_page_message_widgets.dart index 5b9c2811..94b9807a 100644 --- a/lib/features/assistant/assistant_page_message_widgets.dart +++ b/lib/features/assistant/assistant_page_message_widgets.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_state_actions.dart b/lib/features/assistant/assistant_page_state_actions.dart index 73574a66..c57610e7 100644 --- a/lib/features/assistant/assistant_page_state_actions.dart +++ b/lib/features/assistant/assistant_page_state_actions.dart @@ -8,7 +8,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_controller_desktop_thread_binding.dart'; import '../../app/app_metadata.dart'; diff --git a/lib/features/assistant/assistant_page_state_closure.dart b/lib/features/assistant/assistant_page_state_closure.dart index fa3c7e9a..5a068de9 100644 --- a/lib/features/assistant/assistant_page_state_closure.dart +++ b/lib/features/assistant/assistant_page_state_closure.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_task_models.dart b/lib/features/assistant/assistant_page_task_models.dart index f3982dba..bc44849b 100644 --- a/lib/features/assistant/assistant_page_task_models.dart +++ b/lib/features/assistant/assistant_page_task_models.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/lib/features/assistant/assistant_page_tooltip_labels.dart b/lib/features/assistant/assistant_page_tooltip_labels.dart index c4332ec9..aabee6ed 100644 --- a/lib/features/assistant/assistant_page_tooltip_labels.dart +++ b/lib/features/assistant/assistant_page_tooltip_labels.dart @@ -10,7 +10,6 @@ import 'package:flutter/services.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:markdown/markdown.dart' as md; import 'package:path_provider/path_provider.dart'; -import 'package:super_clipboard/super_clipboard.dart'; import '../../app/app_controller.dart'; import '../../app/app_metadata.dart'; import '../../app/ui_feature_manifest.dart'; diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index c4e8c71b..a68038c5 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -8,8 +8,7 @@ #include #include -#include -#include +#include void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = @@ -18,10 +17,7 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) flutter_webrtc_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterWebRTCPlugin"); flutter_web_r_t_c_plugin_register_with_registrar(flutter_webrtc_registrar); - g_autoptr(FlPluginRegistrar) irondash_engine_context_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "IrondashEngineContextPlugin"); - irondash_engine_context_plugin_register_with_registrar(irondash_engine_context_registrar); - g_autoptr(FlPluginRegistrar) super_native_extensions_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "SuperNativeExtensionsPlugin"); - super_native_extensions_plugin_register_with_registrar(super_native_extensions_registrar); + g_autoptr(FlPluginRegistrar) pasteboard_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "PasteboardPlugin"); + pasteboard_plugin_register_with_registrar(pasteboard_registrar); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 072a5478..ef8a54c4 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -5,8 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux flutter_webrtc - irondash_engine_context - super_native_extensions + pasteboard ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 7052f39a..f7b13c24 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,17 +8,15 @@ import Foundation import device_info_plus import file_selector_macos import flutter_webrtc -import irondash_engine_context import package_info_plus +import pasteboard import shared_preferences_foundation -import super_native_extensions func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin")) - IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) + PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) - SuperNativeExtensionsPlugin.register(with: registry.registrar(forPlugin: "SuperNativeExtensionsPlugin")) } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 3ed091b0..9c2af100 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -7,15 +7,13 @@ PODS: - FlutterMacOS - WebRTC-SDK (= 125.6422.06) - FlutterMacOS (1.0.0) - - irondash_engine_context (0.0.1): - - FlutterMacOS - package_info_plus (0.0.1): - FlutterMacOS + - pasteboard (0.0.1): + - FlutterMacOS - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - super_native_extensions (0.0.1): - - FlutterMacOS - WebRTC-SDK (125.6422.06) DEPENDENCIES: @@ -23,10 +21,9 @@ DEPENDENCIES: - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) - flutter_webrtc (from `Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - - irondash_engine_context (from `Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos`) - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) + - pasteboard (from `Flutter/ephemeral/.symlinks/plugins/pasteboard/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - - super_native_extensions (from `Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos`) SPEC REPOS: trunk: @@ -41,24 +38,21 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/flutter_webrtc/macos FlutterMacOS: :path: Flutter/ephemeral - irondash_engine_context: - :path: Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos package_info_plus: :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos + pasteboard: + :path: Flutter/ephemeral/.symlinks/plugins/pasteboard/macos shared_preferences_foundation: :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin - super_native_extensions: - :path: Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos SPEC CHECKSUMS: device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76 file_selector_macos: 9e9e068e90ebee155097d00e89ae91edb2374db7 flutter_webrtc: 377dbcebdde6fed0fc40de87bcaaa2bffcec9a88 FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 - irondash_engine_context: 893c7d96d20ce361d7e996f39d360c4c2f9869ba package_info_plus: f0052d280d17aa382b932f399edf32507174e870 + pasteboard: b594eaf838d930b276d7a35a44a32b4f489170cb shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb - super_native_extensions: c2795d6d9aedf4a79fae25cb6160b71b50549189 WebRTC-SDK: 79942c006ea64f6fb48d7da8a4786dfc820bc1db PODFILE CHECKSUM: 7804cba3ecbc9953edc70dee53b2ce2b4aeaa013 diff --git a/pubspec.lock b/pubspec.lock index 1ab528ba..6cba6835 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -348,22 +348,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.20.2" - irondash_engine_context: - dependency: transitive - description: - name: irondash_engine_context - sha256: "2bb0bc13dfda9f5aaef8dde06ecc5feb1379f5bb387d59716d799554f3f305d7" - url: "https://pub.dev" - source: hosted - version: "0.5.5" - irondash_message_channel: - dependency: transitive - description: - name: irondash_message_channel - sha256: b4101669776509c76133b8917ab8cfc704d3ad92a8c450b92934dd8884a2f060 - url: "https://pub.dev" - source: hosted - version: "0.7.0" js: dependency: transitive description: @@ -476,6 +460,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.2.1" + pasteboard: + dependency: "direct main" + description: + name: pasteboard + sha256: fedbe8da188d2f713aa8b01260737342e6e1087534a3ab26e1a719f8d3e8f32f + url: "https://pub.dev" + source: hosted + version: "0.5.0" path: dependency: transitive description: @@ -540,14 +532,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.0" - pixel_snap: - dependency: transitive - description: - name: pixel_snap - sha256: "677410ea37b07cd37ecb6d5e6c0d8d7615a7cf3bd92ba406fd1ac57e937d1fb0" - url: "https://pub.dev" - source: hosted - version: "0.1.5" platform: dependency: transitive description: @@ -689,22 +673,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.1" - super_clipboard: - dependency: "direct main" - description: - name: super_clipboard - sha256: e73f3bb7e66cc9260efa1dc507f979138e7e106c3521e2dda2d0311f6d728a16 - url: "https://pub.dev" - source: hosted - version: "0.9.1" - super_native_extensions: - dependency: transitive - description: - name: super_native_extensions - sha256: b9611dcb68f1047d6f3ef11af25e4e68a21b1a705bbcc3eb8cb4e9f5c3148569 - url: "https://pub.dev" - source: hosted - version: "0.9.1" sync_http: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 159f2f03..7f4c5d7a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,7 +27,7 @@ dependencies: package_info_plus: ^8.3.1 path_provider: ^2.1.5 shared_preferences: ^2.5.3 - super_clipboard: ^0.9.0 + pasteboard: ^0.5.0 web_socket_channel: ^3.0.3 flutter_webrtc: ^0.12.3 yaml: ^3.1.3 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index c37a235c..4521d4a1 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -8,16 +8,13 @@ #include #include -#include -#include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); FlutterWebRTCPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterWebRTCPlugin")); - IrondashEngineContextPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("IrondashEngineContextPluginCApi")); - SuperNativeExtensionsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("SuperNativeExtensionsPluginCApi")); + PasteboardPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PasteboardPlugin")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index bbf48b19..0637ced4 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -5,8 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_windows flutter_webrtc - irondash_engine_context - super_native_extensions + pasteboard ) list(APPEND FLUTTER_FFI_PLUGIN_LIST