From cd08975f85972fd4ae4ed600742d203c7add4a5c Mon Sep 17 00:00:00 2001 From: rgdevment Date: Sun, 13 Sep 2026 16:58:58 -0300 Subject: [PATCH] chore!: drop the Flutter codebase and start the Rust core for 3.0 The 2.x tree (app/, core/, listener/, pubspec, Flutter workflows) moves out of main and stays supported on the v2-stable branch, at c0601ca. What lands instead is the workspace skeleton: cp-core, cp-store, cp-mac-sys and cp-mac, with unsafe forbidden everywhere except the -sys crate, plus the CI guards for conventions, deterministic tests and commit messages. Licensing, CLA and legal documents are untouched. The README stays as it is until the first 3.0 release, with a note about what is coming; its logo moved to resources/ because it used to live inside app/. --- .github/workflows/ci.yml | 295 +- .github/workflows/commits.yml | 24 + .github/workflows/release-mac.yml | 202 -- .github/workflows/release-win.yml | 158 - .github/workflows/release.yml | 558 ---- .github/workflows/rules.yml | 72 + .gitignore | 82 +- Cargo.lock | 457 +++ Cargo.toml | 44 + README.md | 1431 ++++----- analysis_options.yaml | 33 - app/.gitignore | 45 - app/.metadata | 33 - app/analysis_options.yaml | 1 - app/assets/icons/icon_linkunbound.png | Bin 16219 -> 0 bytes app/assets/icons/icon_mac.png | Bin 141598 -> 0 bytes app/assets/icons/icon_mac_tray.png | Bin 1807 -> 0 bytes app/assets/icons/icon_mac_tray@2x.png | Bin 3291 -> 0 bytes app/assets/icons/icon_notification.png | Bin 142498 -> 0 bytes app/assets/icons/icon_tray.ico | Bin 18099 -> 0 bytes app/assets/icons/icon_tray_32.png | Bin 3380 -> 0 bytes app/assets/icons/icon_tray_64.png | Bin 12076 -> 0 bytes app/assets/keys/release_pubkey.txt | 1 - app/distribute_options.yaml | 22 - app/l10n.yaml | 5 - app/lib/helpers/url_helper.dart | 25 - app/lib/l10n/app_en.arb | 675 ---- app/lib/l10n/app_es.arb | 315 -- app/lib/l10n/app_localizations.dart | 1682 ---------- app/lib/l10n/app_localizations_en.dart | 873 ----- app/lib/l10n/app_localizations_es.dart | 882 ------ app/lib/main.dart | 1426 --------- app/lib/screens/blocked_version_screen.dart | 170 - .../screens/desktop_onboarding_screen.dart | 202 -- app/lib/screens/main_screen.dart | 954 ------ app/lib/screens/permission_gate_screen.dart | 260 -- app/lib/screens/settings_screen.dart | 2816 ----------------- app/lib/services/auto_update_service.dart | 45 - app/lib/services/install_channel.dart | 91 - app/lib/services/manifest_signature.dart | 54 - .../services/release_manifest_service.dart | 421 --- app/lib/shell/app_window.dart | 746 ----- app/lib/shell/desktop_notifier.dart | 27 - app/lib/shell/focus_manager.dart | 416 --- app/lib/shell/hotkey_binding.dart | 71 - app/lib/shell/hotkey_handler.dart | 344 -- app/lib/shell/msix_startup_task.dart | 77 - app/lib/shell/single_instance.dart | 525 --- app/lib/shell/startup_helper.dart | 311 -- app/lib/shell/tray_icon.dart | 70 - app/lib/shell/win_known_folders.dart | 85 - app/lib/shell/win_package_context.dart | 93 - app/lib/shell/windows_balloon.dart | 164 - app/lib/shell/windows_hotkey_channel.dart | 138 - app/lib/theme/app_theme_data.dart | 347 -- app/lib/theme/compact_theme.dart | 164 - app/lib/theme/dark_theme.dart | 28 - app/lib/theme/light_theme.dart | 28 - app/lib/theme/theme_provider.dart | 31 - app/lib/widgets/accessibility_dialog.dart | 173 - app/lib/widgets/clipboard_card.dart | 1769 ----------- app/lib/widgets/empty_state.dart | 53 - app/lib/widgets/filter_bar.dart | 247 -- app/lib/widgets/filter_tab_bar.dart | 267 -- app/lib/widgets/label_color_dialog.dart | 304 -- app/lib/widgets/title_bar.dart | 186 -- app/macos/.gitignore | 7 - app/macos/Flutter/Flutter-Debug.xcconfig | 2 - app/macos/Flutter/Flutter-Release.xcconfig | 2 - .../Flutter/GeneratedPluginRegistrant.swift | 24 - app/macos/Podfile | 42 - app/macos/Podfile.lock | 65 - app/macos/Runner.xcodeproj/project.pbxproj | 801 ----- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 99 - .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - app/macos/Runner/AppDelegate.swift | 44 - .../AppIcon.appiconset/Contents.json | 68 - .../AppIcon.appiconset/app_icon_1024.png | Bin 1291616 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 28370 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 1099 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 97499 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 3380 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 351352 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 7914 -> 0 bytes app/macos/Runner/Base.lproj/MainMenu.xib | 343 -- app/macos/Runner/Configs/AppInfo.xcconfig | 14 - app/macos/Runner/Configs/Debug.xcconfig | 2 - app/macos/Runner/Configs/Release.xcconfig | 2 - app/macos/Runner/Configs/Warnings.xcconfig | 13 - app/macos/Runner/DebugProfile.entitlements | 16 - app/macos/Runner/Info.plist | 36 - app/macos/Runner/MainFlutterWindow.swift | 15 - app/macos/Runner/Release.entitlements | 12 - app/macos/RunnerTests/RunnerTests.swift | 12 - app/pubspec.yaml | 54 - app/test/helpers/test_wrapper.dart | 17 - app/test/helpers/url_helper_test.dart | 34 - .../screens/blocked_version_screen_test.dart | 211 -- .../desktop_onboarding_screen_test.dart | 210 -- app/test/screens/main_screen_test.dart | 1922 ----------- .../screens/permission_gate_screen_test.dart | 249 -- app/test/screens/settings_screen_test.dart | 229 -- app/test/services/install_channel_test.dart | 47 - .../services/manifest_signature_test.dart | 55 - .../release_manifest_service_test.dart | 528 ---- app/test/shell/app_window_range_test.dart | 55 - app/test/shell/app_window_test.dart | 167 - app/test/shell/desktop_notifier_test.dart | 26 - app/test/shell/focus_manager_test.dart | 246 -- app/test/shell/hotkey_binding_test.dart | 110 - app/test/shell/msix_startup_task_test.dart | 133 - app/test/shell/single_instance_test.dart | 326 -- app/test/shell/startup_helper_test.dart | 104 - .../shell/startup_helper_windows_test.dart | 218 -- .../shell/windows_hotkey_channel_test.dart | 208 -- app/test/theme/compact_theme_test.dart | 29 - app/test/theme/dark_theme_test.dart | 63 - app/test/theme/light_theme_test.dart | 60 - app/test/theme/theme_provider_test.dart | 186 -- .../widgets/accessibility_dialog_test.dart | 381 --- app/test/widgets/clipboard_card_test.dart | 2175 ------------- app/test/widgets/empty_state_test.dart | 33 - app/test/widgets/filter_bar_test.dart | 264 -- app/test/widgets/filter_tab_bar_test.dart | 228 -- app/test/widgets/label_color_dialog_test.dart | 333 -- app/test/widgets/title_bar_test.dart | 202 -- app/test_output.txt | 32 - app/tool/windows_plain_paste_e2e.ps1 | 459 --- app/tools/generate_release_keys.dart | 42 - app/tools/sign_manifest.dart | 45 - app/windows/.gitignore | 17 - app/windows/CMakeLists.txt | 114 - app/windows/flutter/CMakeLists.txt | 109 - .../flutter/generated_plugin_registrant.cc | 29 - .../flutter/generated_plugin_registrant.h | 15 - app/windows/flutter/generated_plugins.cmake | 30 - app/windows/packaging/exe/make_config.yaml | 12 - app/windows/packaging/exe/setup_template.iss | 43 - app/windows/packaging/msix/make_config.yaml | 12 - app/windows/runner/CMakeLists.txt | 42 - app/windows/runner/Runner.rc | 121 - app/windows/runner/flutter_window.cpp | 412 --- app/windows/runner/flutter_window.h | 45 - app/windows/runner/main.cpp | 82 - app/windows/runner/resource.h | 16 - app/windows/runner/resources/app_icon.ico | Bin 73876 -> 0 bytes app/windows/runner/runner.exe.manifest | 14 - app/windows/runner/startup_task_channel.cpp | 125 - app/windows/runner/startup_task_channel.h | 8 - app/windows/runner/utils.cpp | 65 - app/windows/runner/utils.h | 19 - app/windows/runner/win32_window.cpp | 288 -- app/windows/runner/win32_window.h | 102 - codecov.yml | 31 - core/.gitignore | 31 - core/.metadata | 10 - core/analysis_options.yaml | 1 - core/lib/config/app_config.dart | 601 ---- core/lib/config/storage_config.dart | 96 - core/lib/core.dart | 16 - core/lib/models/.gitkeep | 0 core/lib/models/card_color.dart | 17 - core/lib/models/clipboard_content_type.dart | 50 - core/lib/models/clipboard_item.dart | 133 - core/lib/repository/.gitkeep | 0 .../repository/i_clipboard_repository.dart | 37 - core/lib/repository/sqlite_repository.dart | 588 ---- core/lib/repository/sqlite_repository.g.dart | 1297 -------- core/lib/search/.gitkeep | 0 core/lib/search/search_helper.dart | 138 - core/lib/services/.gitkeep | 0 core/lib/services/app_logger.dart | 108 - core/lib/services/backup_service.dart | 314 -- core/lib/services/cleanup_service.dart | 440 --- core/lib/services/clipboard_service.dart | 566 ---- core/lib/services/crash_logger.dart | 130 - core/lib/services/image_processing_queue.dart | 235 -- core/lib/services/image_processor.dart | 76 - .../services/native_thumbnail_provider.dart | 32 - core/lib/services/support_service.dart | 159 - core/lib/services/text_classifier.dart | 78 - core/lib/services/thumbnail_queue.dart | 213 -- core/lib/services/thumbnail_service.dart | 232 -- core/pubspec.yaml | 28 - core/test/app_config_test.dart | 1151 ------- core/test/app_logger_test.dart | 176 -- .../test/backup_service_integration_test.dart | 258 -- core/test/backup_service_test.dart | 522 --- core/test/card_color_test.dart | 85 - core/test/cleanup_service_misc_test.dart | 214 -- core/test/cleanup_service_orphan_test.dart | 358 --- core/test/cleanup_service_quota_test.dart | 258 -- core/test/cleanup_service_test.dart | 390 --- core/test/clipboard_content_type_test.dart | 73 - core/test/clipboard_item_test.dart | 249 -- .../test/clipboard_service_extended_test.dart | 311 -- .../test/clipboard_service_platform_test.dart | 380 --- .../clipboard_service_reclassify_test.dart | 174 - core/test/clipboard_service_test.dart | 932 ------ core/test/crash_logger_test.dart | 232 -- core/test/image_processing_queue_test.dart | 250 -- core/test/image_processor_test.dart | 258 -- core/test/native_thumbnail_provider_test.dart | 163 - .../repository_search_integration_test.dart | 393 --- core/test/repository_test.dart | 558 ---- core/test/search_helper_test.dart | 41 - .../sqlite_repository_migration_test.dart | 203 -- core/test/storage_config_test.dart | 129 - core/test/support_service_test.dart | 249 -- .../test/text_classifier_edge_cases_test.dart | 285 -- core/test/text_classifier_test.dart | 296 -- core/test/thumbnail_queue_test.dart | 437 --- core/test/thumbnail_service_test.dart | 247 -- crates/cp-core/Cargo.toml | 15 + crates/cp-core/src/lib.rs | 8 + crates/cp-core/src/search.rs | 41 + crates/cp-mac-sys/Cargo.toml | 22 + crates/cp-mac-sys/src/lib.rs | 3 + crates/cp-mac-sys/src/pasteboard.rs | 8 + crates/cp-mac/Cargo.toml | 16 + crates/cp-mac/src/lib.rs | 5 + crates/cp-store/Cargo.toml | 17 + crates/cp-store/src/lib.rs | 1 + deny.toml | 23 + {core/lib/config => fixtures}/.gitkeep | 0 listener/.gitignore | 33 - listener/.metadata | 33 - listener/analysis_options.yaml | 1 - .../lib/base_native_thumbnail_provider.dart | 74 - listener/lib/clipboard_event.dart | 46 - listener/lib/clipboard_listener.dart | 15 - listener/lib/clipboard_writer.dart | 206 -- listener/lib/listener.dart | 5 - .../lib/macos_native_thumbnail_provider.dart | 34 - .../windows_native_thumbnail_provider.dart | 19 - listener/macos/Classes/ListenerPlugin.swift | 729 ----- .../macos/Resources/PrivacyInfo.xcprivacy | 12 - listener/macos/listener.podspec | 31 - listener/pubspec.yaml | 29 - .../test/clipboard_event_platform_test.dart | 262 -- listener/test/clipboard_event_test.dart | 185 -- listener/test/clipboard_writer_test.dart | 605 ---- listener/test/listener_expanded_test.dart | 205 -- listener/test/listener_test.dart | 68 - .../macos_native_thumbnail_provider_test.dart | 134 - ...indows_native_thumbnail_provider_test.dart | 105 - listener/windows/.gitignore | 17 - listener/windows/CMakeLists.txt | 100 - .../include/listener/listener_plugin_c_api.h | 23 - listener/windows/listener_plugin.cpp | 1415 --------- listener/windows/listener_plugin.h | 112 - listener/windows/listener_plugin_c_api.cpp | 12 - .../windows/test/listener_plugin_test.cpp | 27 - pubspec.lock | 1135 ------- pubspec.yaml | 58 - .../copypaste_v2_en_screenshot1_panel.png | Bin 211951 -> 0 bytes ...copypaste_v2_en_screenshot2_categories.png | Bin 151148 -> 0 bytes .../copypaste_v2_en_screenshot3_settings.png | Bin 177001 -> 0 bytes ...ypaste_v2_en_screenshot4_multiplatform.png | Bin 198691 -> 0 bytes resources/copypaste_v2_es_1_panel.png | Bin 211616 -> 0 bytes resources/copypaste_v2_es_2_categorias.png | Bin 103500 -> 0 bytes resources/copypaste_v2_es_3_settings.png | Bin 175393 -> 0 bytes resources/copypaste_v2_es_4_multiplatform.png | Bin 206668 -> 0 bytes .../copypaste_v2_screenshot1_panel-black.png | Bin 207903 -> 0 bytes resources/copypaste_v2_screenshot1_panel.png | Bin 205334 -> 0 bytes .../copypaste_v2_screenshot2_categorias.png | Bin 158596 -> 0 bytes .../copypaste_v2_screenshot3_settings.png | Bin 175754 -> 0 bytes ...copypaste_v2_screenshot4_multiplatform.png | Bin 206259 -> 0 bytes .../icons => resources}/icon_app_256.png | Bin rust-toolchain.toml | 3 + rustfmt.toml | 2 + 273 files changed, 1512 insertions(+), 53375 deletions(-) create mode 100644 .github/workflows/commits.yml delete mode 100644 .github/workflows/release-mac.yml delete mode 100644 .github/workflows/release-win.yml delete mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/rules.yml create mode 100644 Cargo.lock create mode 100644 Cargo.toml delete mode 100644 analysis_options.yaml delete mode 100644 app/.gitignore delete mode 100644 app/.metadata delete mode 100644 app/analysis_options.yaml delete mode 100644 app/assets/icons/icon_linkunbound.png delete mode 100644 app/assets/icons/icon_mac.png delete mode 100644 app/assets/icons/icon_mac_tray.png delete mode 100644 app/assets/icons/icon_mac_tray@2x.png delete mode 100644 app/assets/icons/icon_notification.png delete mode 100644 app/assets/icons/icon_tray.ico delete mode 100644 app/assets/icons/icon_tray_32.png delete mode 100644 app/assets/icons/icon_tray_64.png delete mode 100644 app/assets/keys/release_pubkey.txt delete mode 100644 app/distribute_options.yaml delete mode 100644 app/l10n.yaml delete mode 100644 app/lib/helpers/url_helper.dart delete mode 100644 app/lib/l10n/app_en.arb delete mode 100644 app/lib/l10n/app_es.arb delete mode 100644 app/lib/l10n/app_localizations.dart delete mode 100644 app/lib/l10n/app_localizations_en.dart delete mode 100644 app/lib/l10n/app_localizations_es.dart delete mode 100644 app/lib/main.dart delete mode 100644 app/lib/screens/blocked_version_screen.dart delete mode 100644 app/lib/screens/desktop_onboarding_screen.dart delete mode 100644 app/lib/screens/main_screen.dart delete mode 100644 app/lib/screens/permission_gate_screen.dart delete mode 100644 app/lib/screens/settings_screen.dart delete mode 100644 app/lib/services/auto_update_service.dart delete mode 100644 app/lib/services/install_channel.dart delete mode 100644 app/lib/services/manifest_signature.dart delete mode 100644 app/lib/services/release_manifest_service.dart delete mode 100644 app/lib/shell/app_window.dart delete mode 100644 app/lib/shell/desktop_notifier.dart delete mode 100644 app/lib/shell/focus_manager.dart delete mode 100644 app/lib/shell/hotkey_binding.dart delete mode 100644 app/lib/shell/hotkey_handler.dart delete mode 100644 app/lib/shell/msix_startup_task.dart delete mode 100644 app/lib/shell/single_instance.dart delete mode 100644 app/lib/shell/startup_helper.dart delete mode 100644 app/lib/shell/tray_icon.dart delete mode 100644 app/lib/shell/win_known_folders.dart delete mode 100644 app/lib/shell/win_package_context.dart delete mode 100644 app/lib/shell/windows_balloon.dart delete mode 100644 app/lib/shell/windows_hotkey_channel.dart delete mode 100644 app/lib/theme/app_theme_data.dart delete mode 100644 app/lib/theme/compact_theme.dart delete mode 100644 app/lib/theme/dark_theme.dart delete mode 100644 app/lib/theme/light_theme.dart delete mode 100644 app/lib/theme/theme_provider.dart delete mode 100644 app/lib/widgets/accessibility_dialog.dart delete mode 100644 app/lib/widgets/clipboard_card.dart delete mode 100644 app/lib/widgets/empty_state.dart delete mode 100644 app/lib/widgets/filter_bar.dart delete mode 100644 app/lib/widgets/filter_tab_bar.dart delete mode 100644 app/lib/widgets/label_color_dialog.dart delete mode 100644 app/lib/widgets/title_bar.dart delete mode 100644 app/macos/.gitignore delete mode 100644 app/macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 app/macos/Flutter/Flutter-Release.xcconfig delete mode 100644 app/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 app/macos/Podfile delete mode 100644 app/macos/Podfile.lock delete mode 100644 app/macos/Runner.xcodeproj/project.pbxproj delete mode 100644 app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 app/macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 app/macos/Runner/AppDelegate.swift delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 app/macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 app/macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 app/macos/Runner/Configs/Debug.xcconfig delete mode 100644 app/macos/Runner/Configs/Release.xcconfig delete mode 100644 app/macos/Runner/Configs/Warnings.xcconfig delete mode 100644 app/macos/Runner/DebugProfile.entitlements delete mode 100644 app/macos/Runner/Info.plist delete mode 100644 app/macos/Runner/MainFlutterWindow.swift delete mode 100644 app/macos/Runner/Release.entitlements delete mode 100644 app/macos/RunnerTests/RunnerTests.swift delete mode 100644 app/pubspec.yaml delete mode 100644 app/test/helpers/test_wrapper.dart delete mode 100644 app/test/helpers/url_helper_test.dart delete mode 100644 app/test/screens/blocked_version_screen_test.dart delete mode 100644 app/test/screens/desktop_onboarding_screen_test.dart delete mode 100644 app/test/screens/main_screen_test.dart delete mode 100644 app/test/screens/permission_gate_screen_test.dart delete mode 100644 app/test/screens/settings_screen_test.dart delete mode 100644 app/test/services/install_channel_test.dart delete mode 100644 app/test/services/manifest_signature_test.dart delete mode 100644 app/test/services/release_manifest_service_test.dart delete mode 100644 app/test/shell/app_window_range_test.dart delete mode 100644 app/test/shell/app_window_test.dart delete mode 100644 app/test/shell/desktop_notifier_test.dart delete mode 100644 app/test/shell/focus_manager_test.dart delete mode 100644 app/test/shell/hotkey_binding_test.dart delete mode 100644 app/test/shell/msix_startup_task_test.dart delete mode 100644 app/test/shell/single_instance_test.dart delete mode 100644 app/test/shell/startup_helper_test.dart delete mode 100644 app/test/shell/startup_helper_windows_test.dart delete mode 100644 app/test/shell/windows_hotkey_channel_test.dart delete mode 100644 app/test/theme/compact_theme_test.dart delete mode 100644 app/test/theme/dark_theme_test.dart delete mode 100644 app/test/theme/light_theme_test.dart delete mode 100644 app/test/theme/theme_provider_test.dart delete mode 100644 app/test/widgets/accessibility_dialog_test.dart delete mode 100644 app/test/widgets/clipboard_card_test.dart delete mode 100644 app/test/widgets/empty_state_test.dart delete mode 100644 app/test/widgets/filter_bar_test.dart delete mode 100644 app/test/widgets/filter_tab_bar_test.dart delete mode 100644 app/test/widgets/label_color_dialog_test.dart delete mode 100644 app/test/widgets/title_bar_test.dart delete mode 100644 app/test_output.txt delete mode 100644 app/tool/windows_plain_paste_e2e.ps1 delete mode 100644 app/tools/generate_release_keys.dart delete mode 100644 app/tools/sign_manifest.dart delete mode 100644 app/windows/.gitignore delete mode 100644 app/windows/CMakeLists.txt delete mode 100644 app/windows/flutter/CMakeLists.txt delete mode 100644 app/windows/flutter/generated_plugin_registrant.cc delete mode 100644 app/windows/flutter/generated_plugin_registrant.h delete mode 100644 app/windows/flutter/generated_plugins.cmake delete mode 100644 app/windows/packaging/exe/make_config.yaml delete mode 100644 app/windows/packaging/exe/setup_template.iss delete mode 100644 app/windows/packaging/msix/make_config.yaml delete mode 100644 app/windows/runner/CMakeLists.txt delete mode 100644 app/windows/runner/Runner.rc delete mode 100644 app/windows/runner/flutter_window.cpp delete mode 100644 app/windows/runner/flutter_window.h delete mode 100644 app/windows/runner/main.cpp delete mode 100644 app/windows/runner/resource.h delete mode 100644 app/windows/runner/resources/app_icon.ico delete mode 100644 app/windows/runner/runner.exe.manifest delete mode 100644 app/windows/runner/startup_task_channel.cpp delete mode 100644 app/windows/runner/startup_task_channel.h delete mode 100644 app/windows/runner/utils.cpp delete mode 100644 app/windows/runner/utils.h delete mode 100644 app/windows/runner/win32_window.cpp delete mode 100644 app/windows/runner/win32_window.h delete mode 100644 codecov.yml delete mode 100644 core/.gitignore delete mode 100644 core/.metadata delete mode 100644 core/analysis_options.yaml delete mode 100644 core/lib/config/app_config.dart delete mode 100644 core/lib/config/storage_config.dart delete mode 100644 core/lib/core.dart delete mode 100644 core/lib/models/.gitkeep delete mode 100644 core/lib/models/card_color.dart delete mode 100644 core/lib/models/clipboard_content_type.dart delete mode 100644 core/lib/models/clipboard_item.dart delete mode 100644 core/lib/repository/.gitkeep delete mode 100644 core/lib/repository/i_clipboard_repository.dart delete mode 100644 core/lib/repository/sqlite_repository.dart delete mode 100644 core/lib/repository/sqlite_repository.g.dart delete mode 100644 core/lib/search/.gitkeep delete mode 100644 core/lib/search/search_helper.dart delete mode 100644 core/lib/services/.gitkeep delete mode 100644 core/lib/services/app_logger.dart delete mode 100644 core/lib/services/backup_service.dart delete mode 100644 core/lib/services/cleanup_service.dart delete mode 100644 core/lib/services/clipboard_service.dart delete mode 100644 core/lib/services/crash_logger.dart delete mode 100644 core/lib/services/image_processing_queue.dart delete mode 100644 core/lib/services/image_processor.dart delete mode 100644 core/lib/services/native_thumbnail_provider.dart delete mode 100644 core/lib/services/support_service.dart delete mode 100644 core/lib/services/text_classifier.dart delete mode 100644 core/lib/services/thumbnail_queue.dart delete mode 100644 core/lib/services/thumbnail_service.dart delete mode 100644 core/pubspec.yaml delete mode 100644 core/test/app_config_test.dart delete mode 100644 core/test/app_logger_test.dart delete mode 100644 core/test/backup_service_integration_test.dart delete mode 100644 core/test/backup_service_test.dart delete mode 100644 core/test/card_color_test.dart delete mode 100644 core/test/cleanup_service_misc_test.dart delete mode 100644 core/test/cleanup_service_orphan_test.dart delete mode 100644 core/test/cleanup_service_quota_test.dart delete mode 100644 core/test/cleanup_service_test.dart delete mode 100644 core/test/clipboard_content_type_test.dart delete mode 100644 core/test/clipboard_item_test.dart delete mode 100644 core/test/clipboard_service_extended_test.dart delete mode 100644 core/test/clipboard_service_platform_test.dart delete mode 100644 core/test/clipboard_service_reclassify_test.dart delete mode 100644 core/test/clipboard_service_test.dart delete mode 100644 core/test/crash_logger_test.dart delete mode 100644 core/test/image_processing_queue_test.dart delete mode 100644 core/test/image_processor_test.dart delete mode 100644 core/test/native_thumbnail_provider_test.dart delete mode 100644 core/test/repository_search_integration_test.dart delete mode 100644 core/test/repository_test.dart delete mode 100644 core/test/search_helper_test.dart delete mode 100644 core/test/sqlite_repository_migration_test.dart delete mode 100644 core/test/storage_config_test.dart delete mode 100644 core/test/support_service_test.dart delete mode 100644 core/test/text_classifier_edge_cases_test.dart delete mode 100644 core/test/text_classifier_test.dart delete mode 100644 core/test/thumbnail_queue_test.dart delete mode 100644 core/test/thumbnail_service_test.dart create mode 100644 crates/cp-core/Cargo.toml create mode 100644 crates/cp-core/src/lib.rs create mode 100644 crates/cp-core/src/search.rs create mode 100644 crates/cp-mac-sys/Cargo.toml create mode 100644 crates/cp-mac-sys/src/lib.rs create mode 100644 crates/cp-mac-sys/src/pasteboard.rs create mode 100644 crates/cp-mac/Cargo.toml create mode 100644 crates/cp-mac/src/lib.rs create mode 100644 crates/cp-store/Cargo.toml create mode 100644 crates/cp-store/src/lib.rs create mode 100644 deny.toml rename {core/lib/config => fixtures}/.gitkeep (100%) delete mode 100644 listener/.gitignore delete mode 100644 listener/.metadata delete mode 100644 listener/analysis_options.yaml delete mode 100644 listener/lib/base_native_thumbnail_provider.dart delete mode 100644 listener/lib/clipboard_event.dart delete mode 100644 listener/lib/clipboard_listener.dart delete mode 100644 listener/lib/clipboard_writer.dart delete mode 100644 listener/lib/listener.dart delete mode 100644 listener/lib/macos_native_thumbnail_provider.dart delete mode 100644 listener/lib/windows_native_thumbnail_provider.dart delete mode 100644 listener/macos/Classes/ListenerPlugin.swift delete mode 100644 listener/macos/Resources/PrivacyInfo.xcprivacy delete mode 100644 listener/macos/listener.podspec delete mode 100644 listener/pubspec.yaml delete mode 100644 listener/test/clipboard_event_platform_test.dart delete mode 100644 listener/test/clipboard_event_test.dart delete mode 100644 listener/test/clipboard_writer_test.dart delete mode 100644 listener/test/listener_expanded_test.dart delete mode 100644 listener/test/listener_test.dart delete mode 100644 listener/test/macos_native_thumbnail_provider_test.dart delete mode 100644 listener/test/windows_native_thumbnail_provider_test.dart delete mode 100644 listener/windows/.gitignore delete mode 100644 listener/windows/CMakeLists.txt delete mode 100644 listener/windows/include/listener/listener_plugin_c_api.h delete mode 100644 listener/windows/listener_plugin.cpp delete mode 100644 listener/windows/listener_plugin.h delete mode 100644 listener/windows/listener_plugin_c_api.cpp delete mode 100644 listener/windows/test/listener_plugin_test.cpp delete mode 100644 pubspec.lock delete mode 100644 pubspec.yaml delete mode 100644 resources/copypaste_v2_en_screenshot1_panel.png delete mode 100644 resources/copypaste_v2_en_screenshot2_categories.png delete mode 100644 resources/copypaste_v2_en_screenshot3_settings.png delete mode 100644 resources/copypaste_v2_en_screenshot4_multiplatform.png delete mode 100644 resources/copypaste_v2_es_1_panel.png delete mode 100644 resources/copypaste_v2_es_2_categorias.png delete mode 100644 resources/copypaste_v2_es_3_settings.png delete mode 100644 resources/copypaste_v2_es_4_multiplatform.png delete mode 100644 resources/copypaste_v2_screenshot1_panel-black.png delete mode 100644 resources/copypaste_v2_screenshot1_panel.png delete mode 100644 resources/copypaste_v2_screenshot2_categorias.png delete mode 100644 resources/copypaste_v2_screenshot3_settings.png delete mode 100644 resources/copypaste_v2_screenshot4_multiplatform.png rename {app/assets/icons => resources}/icon_app_256.png (100%) create mode 100644 rust-toolchain.toml create mode 100644 rustfmt.toml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e995de8b..9f7de4e7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,264 +1,31 @@ -name: CI - -on: - push: - branches: [main] - pull_request: - branches: [main] - -concurrency: - group: ci-${{ github.ref }} - cancel-in-progress: true - -permissions: - contents: read - pull-requests: write - -jobs: - markdown: - runs-on: ubuntu-latest - name: Markdown Lint - - steps: - - uses: actions/checkout@v7 - - - name: Lint Markdown files - uses: DavidAnson/markdownlint-cli2-action@v19 - with: - globs: | - *.md - .github/**/*.md - config: ".markdownlint.yaml" - - quality: - runs-on: ubuntu-latest - name: Lint, Format & Test - - steps: - - uses: actions/checkout@v7 - - - uses: ./.github/actions/setup-flutter-workspace - - - name: Check formatting - run: dart format --output=none --set-exit-if-changed . - - - name: Analyze - run: melos run analyze - - - name: Check auto-fixable issues - run: | - OUTPUT=$(dart fix --dry-run . 2>&1) - echo "$OUTPUT" - echo "$OUTPUT" | grep -q "Nothing to fix!" || { echo "::error::Auto-fixable issues found. Run 'dart fix --apply' and commit."; exit 1; } - - - name: Verify generated code (Drift) - run: | - cd core && dart run build_runner build --delete-conflicting-outputs - git diff --exit-code . || { echo "::error::Generated code is out of date. Run 'dart run build_runner build --delete-conflicting-outputs' in core/ and commit."; exit 1; } - - - name: Verify generated localizations - run: | - cd app && flutter gen-l10n - git diff --exit-code lib/l10n/ || { echo "::error::Generated l10n files are out of date. Run 'flutter gen-l10n' in app/ and commit."; exit 1; } - - - name: Check outdated dependencies - run: melos run outdated - continue-on-error: true - - - name: Run tests - run: melos run test:coverage - - - name: Upload coverage artifacts - uses: actions/upload-artifact@v7 - if: always() - with: - name: coverage-reports - path: | - core/coverage/lcov.info - listener/coverage/lcov.info - app/coverage/lcov.info - retention-days: 1 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - if: always() - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info - flags: core,listener,app - fail_ci_if_error: false - - release-readiness: - runs-on: ubuntu-latest - name: Release Readiness - - steps: - - uses: actions/checkout@v7 - - - name: Validate pubspec structure - run: | - errors=0 - for pkg in app core listener; do - if [ ! -f "$pkg/pubspec.yaml" ]; then - echo "::error::Missing $pkg/pubspec.yaml" - errors=$((errors + 1)) - continue - fi - version=$(grep '^version:' "$pkg/pubspec.yaml" | head -1 | awk '{print $2}') - name=$(grep '^name:' "$pkg/pubspec.yaml" | head -1 | awk '{print $2}') - if [ -z "$version" ]; then - echo "::error::Missing version field in $pkg/pubspec.yaml" - errors=$((errors + 1)) - fi - if [ -z "$name" ]; then - echo "::error::Missing name field in $pkg/pubspec.yaml" - errors=$((errors + 1)) - fi - echo "OK $pkg: name=$name version=$version" - done - [ $errors -eq 0 ] || exit 1 - - - name: Validate release workflow references - run: | - errors=0 - for wf in release-win.yml release-mac.yml; do - if [ ! -f ".github/workflows/$wf" ]; then - echo "::error::Missing .github/workflows/$wf (referenced by release.yml)" - errors=$((errors + 1)) - else - echo "OK .github/workflows/$wf" - fi - done - for act in setup-flutter-workspace; do - if [ ! -f ".github/actions/$act/action.yml" ]; then - echo "::error::Missing .github/actions/$act/action.yml (referenced by the build jobs)" - errors=$((errors + 1)) - else - echo "OK .github/actions/$act/action.yml" - fi - done - [ $errors -eq 0 ] || exit 1 - - - name: Validate project structure - run: | - errors=0 - for dir in app/lib app/windows app/macos app/assets listener/windows listener/macos; do - if [ ! -d "$dir" ]; then - echo "::error::Missing required directory: $dir" - errors=$((errors + 1)) - else - echo "OK $dir/" - fi - done - for file in app/l10n.yaml app/pubspec.yaml core/pubspec.yaml listener/pubspec.yaml; do - if [ ! -f "$file" ]; then - echo "::error::Missing required file: $file" - errors=$((errors + 1)) - else - echo "OK $file" - fi - done - [ $errors -eq 0 ] || exit 1 - - - name: Simulate release version extraction - run: | - test_tags=("v2.1.0" "v2.0.0-beta.1" "v3.0.0" "v1.0.0-rc.1") - for tag in "${test_tags[@]}"; do - ref="refs/tags/$tag" - if [[ "$ref" =~ refs/tags/v(.+) ]]; then - VERSION="${BASH_REMATCH[1]}" - if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then - echo "::error::Tag $tag produces invalid version: $VERSION" - exit 1 - fi - echo "OK $tag -> $VERSION" - else - echo "::error::Tag $tag would fail version extraction in release.yml" - exit 1 - fi - done - - build: - needs: quality - runs-on: windows-latest - name: Test & Build (Windows) - - steps: - - uses: actions/checkout@v7 - - - uses: ./.github/actions/setup-flutter-workspace - - - name: Run tests - shell: bash - run: dart pub global run melos:melos run test:coverage - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - if: always() - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info - flags: windows - fail_ci_if_error: false - - - name: Build Windows release - run: cd app; flutter build windows --release - - build-macos: - needs: quality - runs-on: macos-latest - name: Test & Build (macOS) - - steps: - - uses: actions/checkout@v7 - - - uses: ./.github/actions/setup-flutter-workspace - - - name: Run tests - shell: bash - run: dart pub global run melos:melos run test:coverage - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 - if: always() - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info - flags: macos - fail_ci_if_error: false - - - name: Build macOS release - run: cd app && flutter build macos --release - - sonarcloud: - name: SonarCloud - needs: quality - runs-on: ubuntu-latest - if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository - - steps: - - uses: actions/checkout@v7 - with: - fetch-depth: 0 - - - name: Download coverage reports - uses: actions/download-artifact@v7 - with: - name: coverage-reports - path: . - - - name: SonarCloud Scan - uses: SonarSource/sonarqube-scan-action@v5 - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - with: - args: > - -Dsonar.projectKey=${{ vars.SONAR_PROJECT_KEY }} - -Dsonar.organization=${{ vars.SONAR_ORGANIZATION }} - -Dsonar.sources=core/lib,listener/lib,app/lib - -Dsonar.tests=core/test,listener/test,app/test - -Dsonar.dart.lcov.reportPaths=core/coverage/lcov.info,listener/coverage/lcov.info,app/coverage/lcov.info - -Dsonar.exclusions=**/generated/**,**/*.g.dart,**/*.freezed.dart,**/l10n/**,**/core.dart - -Dsonar.coverage.exclusions=**/main.dart,**/shell/**,**/services/auto_update_service.dart,**/windows_clipboard_listener.dart,**/l10n/**,**/*.g.dart,**/*.freezed.dart,**/core.dart,**/screens/settings_screen.dart - -Dsonar.qualitygate.wait=true - -Dsonar.qualitygate.timeout=300 +name: CI + +on: + push: + branches: [main] + pull_request: + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + check: + name: Format, lints and tests + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt, clippy + - uses: Swatinem/rust-cache@v2 + - run: cargo fmt --all -- --check + - run: cargo clippy --workspace --all-targets -- -D warnings + - run: cargo test --workspace + + deny: + name: Dependency audit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: EmbarkStudios/cargo-deny-action@v2 diff --git a/.github/workflows/commits.yml b/.github/workflows/commits.yml new file mode 100644 index 00000000..19780489 --- /dev/null +++ b/.github/workflows/commits.yml @@ -0,0 +1,24 @@ +name: Commits + +on: + pull_request: + +jobs: + conventional: + name: Conventional commits + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Every commit follows the convention + run: | + pattern='^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\([a-z0-9-]+\))?!?: .{1,72}$' + fail=0 + while read -r sha; do + subject=$(git log -1 --format=%s "$sha") + if ! printf '%s' "$subject" | grep -qE "$pattern"; then + echo "no sigue la convencion: $subject"; fail=1 + fi + done < <(git rev-list origin/${{ github.base_ref }}..HEAD) + exit $fail diff --git a/.github/workflows/release-mac.yml b/.github/workflows/release-mac.yml deleted file mode 100644 index ffb0d555..00000000 --- a/.github/workflows/release-mac.yml +++ /dev/null @@ -1,202 +0,0 @@ -name: Release (macOS) - -on: - workflow_call: - inputs: - version: - required: true - type: string - workflow_dispatch: - inputs: - version: - description: "Version to use (e.g. 2.1.0). Defaults to 2.0.0-dev" - required: false - default: "2.0.0-dev" - -permissions: - contents: read - -jobs: - build-macos: - runs-on: macos-15 - timeout-minutes: 45 - name: Build macOS (Universal) - - env: - MACOS_CERTIFICATE_P12: ${{ secrets.MACOS_CERTIFICATE_P12 }} - MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - - steps: - - uses: actions/checkout@v7 - with: - ref: ${{ github.ref_name }} - - - name: Resolve version - id: get_version - env: - VERSION: ${{ inputs.version }} - run: | - set -euo pipefail - BUILD_NAME="${VERSION%-*}" - BUILD_NUMBER=$(echo "$BUILD_NAME" | awk -F. '{printf "%d%03d%03d", $1, $2, $3}') - - echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" - echo "BUILD_NAME=$BUILD_NAME" >> "$GITHUB_OUTPUT" - echo "BUILD_NUMBER=$BUILD_NUMBER" >> "$GITHUB_OUTPUT" - echo "Version: $VERSION Build: $BUILD_NAME ($BUILD_NUMBER)" - - - uses: ./.github/actions/setup-flutter-workspace - with: - version: ${{ steps.get_version.outputs.VERSION }} - - - name: Import signing certificate - if: env.MACOS_CERTIFICATE_P12 != '' - run: | - KEYCHAIN_PATH="$RUNNER_TEMP/build.keychain-db" - KEYCHAIN_PASSWORD="$(openssl rand -base64 32)" - - security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH" - security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - CERT_PATH="$RUNNER_TEMP/certificate.p12" - echo "$MACOS_CERTIFICATE_P12" | base64 --decode > "$CERT_PATH" - - security import "$CERT_PATH" \ - -k "$KEYCHAIN_PATH" \ - -P "$MACOS_CERTIFICATE_PASSWORD" \ - -T /usr/bin/codesign \ - -T /usr/bin/security - - security list-keychains -d user -s "$KEYCHAIN_PATH" login.keychain-db - security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH" - - rm -f "$CERT_PATH" - echo "KEYCHAIN_PATH=$KEYCHAIN_PATH" >> "$GITHUB_ENV" - echo "Certificate imported successfully" - - - name: Refresh CocoaPods lock - run: | - rm -f app/macos/Podfile.lock - cd app/macos && pod install --repo-update - - - name: Build macOS release (universal) - run: | - cd app - flutter build macos --release \ - --build-name="${{ steps.get_version.outputs.BUILD_NAME }}" \ - --build-number="${{ steps.get_version.outputs.BUILD_NUMBER }}" \ - --dart-define="APP_VERSION=${{ steps.get_version.outputs.VERSION }}" - - - name: Verify universal binary - run: | - APP="app/build/macos/Build/Products/Release/CopyPaste.app" - ARCHS=$(lipo -archs "$APP/Contents/MacOS/CopyPaste") - echo "Architectures: $ARCHS" - if [[ "$ARCHS" != *"x86_64"* ]] || [[ "$ARCHS" != *"arm64"* ]]; then - echo "::error::Expected universal binary (x86_64 + arm64), got: $ARCHS" - exit 1 - fi - echo "Universal binary verified (x86_64 + arm64)" - - - name: Sign application - if: env.MACOS_CERTIFICATE_P12 != '' - run: | - APP_PATH="app/build/macos/Build/Products/Release/CopyPaste.app" - - SIGN_IDENTITY=$(security find-identity -v -p codesigning "$KEYCHAIN_PATH" | grep "Developer ID Application" | head -1 | awk '{print $2}') - echo "Signing with identity: $SIGN_IDENTITY" - - codesign --deep --force --options runtime \ - --entitlements "app/macos/Runner/Release.entitlements" \ - --sign "$SIGN_IDENTITY" \ - "$APP_PATH" - - echo "Verifying signature..." - codesign --verify --deep --strict "$APP_PATH" - echo "Signature verified" - - - name: Ad-hoc sign (unsigned build) - if: env.MACOS_CERTIFICATE_P12 == '' - run: | - APP_PATH="app/build/macos/Build/Products/Release/CopyPaste.app" - codesign --deep --force --sign - "$APP_PATH" - echo "Ad-hoc signed (unsigned build)" - - - name: Install create-dmg - run: brew install create-dmg - - - name: Create DMG - run: | - VERSION="${{ steps.get_version.outputs.VERSION }}" - APP_PATH="app/build/macos/Build/Products/Release/CopyPaste.app" - DMG_NAME="CopyPaste_${VERSION}_universal.dmg" - - mkdir -p app/dist - - create-dmg \ - --volname "CopyPaste" \ - --volicon "app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png" \ - --window-pos 200 120 \ - --window-size 660 400 \ - --icon-size 80 \ - --icon "CopyPaste.app" 180 190 \ - --app-drop-link 480 190 \ - --hide-extension "CopyPaste.app" \ - --no-internet-enable \ - "app/dist/$DMG_NAME" \ - "$APP_PATH" \ - || true - - if [[ ! -f "app/dist/$DMG_NAME" ]]; then - echo "::error::DMG was not created" - exit 1 - fi - - echo "DMG created: $DMG_NAME ($(du -h "app/dist/$DMG_NAME" | cut -f1))" - - - name: Sign DMG - if: env.MACOS_CERTIFICATE_P12 != '' - run: | - DMG_PATH="app/dist/CopyPaste_${{ steps.get_version.outputs.VERSION }}_universal.dmg" - - SIGN_IDENTITY=$(security find-identity -v -p codesigning "$KEYCHAIN_PATH" | grep "Developer ID Application" | head -1 | awk '{print $2}') - echo "Signing DMG with identity: $SIGN_IDENTITY" - - codesign --force --sign "$SIGN_IDENTITY" "$DMG_PATH" - codesign --verify "$DMG_PATH" - echo "DMG signed" - - - name: Notarize DMG - if: env.APPLE_ID != '' && env.MACOS_CERTIFICATE_P12 != '' - run: | - DMG_PATH="app/dist/CopyPaste_${{ steps.get_version.outputs.VERSION }}_universal.dmg" - - echo "Submitting for notarization..." - xcrun notarytool submit "$DMG_PATH" \ - --apple-id "$APPLE_ID" \ - --password "$APPLE_APP_PASSWORD" \ - --team-id "$APPLE_TEAM_ID" \ - --wait \ - --timeout 600 - - echo "Stapling notarization ticket..." - xcrun stapler staple "$DMG_PATH" - - echo "Verifying notarization..." - spctl --assess --type open --context context:primary-signature "$DMG_PATH" - echo "Notarization complete" - - - name: Cleanup keychain - if: always() && env.KEYCHAIN_PATH != '' - run: security delete-keychain "$KEYCHAIN_PATH" || true - - - name: Upload artifact - uses: actions/upload-artifact@v7 - with: - name: release-macos - path: app/dist/*.dmg - retention-days: 5 diff --git a/.github/workflows/release-win.yml b/.github/workflows/release-win.yml deleted file mode 100644 index 55824d29..00000000 --- a/.github/workflows/release-win.yml +++ /dev/null @@ -1,158 +0,0 @@ -name: Release (Windows) - -on: - workflow_call: - inputs: - version: - required: true - type: string - workflow_dispatch: - inputs: - version: - description: "Version to use (e.g. 2.1.0). Defaults to 2.0.0-dev" - required: false - default: "2.0.0-dev" - -permissions: - contents: read - -jobs: - release-windows: - runs-on: windows-latest - timeout-minutes: 30 - name: Build Windows - - env: - PFX_BASE64: ${{ secrets.PFX_BASE64 }} - PFX_PASSWORD: ${{ secrets.PFX_PASSWORD }} - - steps: - - uses: actions/checkout@v7 - with: - ref: ${{ github.ref_name }} - - - name: Resolve version - id: get_version - shell: bash - env: - VERSION: ${{ inputs.version }} - run: | - set -euo pipefail - IS_PRERELEASE="false" - if [[ "$VERSION" == *-* ]]; then - IS_PRERELEASE="true" - fi - echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" - echo "IS_PRERELEASE=$IS_PRERELEASE" >> "$GITHUB_OUTPUT" - echo "Version: $VERSION PreRelease: $IS_PRERELEASE" - - - uses: ./.github/actions/setup-flutter-workspace - with: - version: ${{ steps.get_version.outputs.VERSION }} - - - name: Install Fastforge - run: dart pub global activate fastforge - - - name: Install Inno Setup - run: choco install innosetup --no-progress - - - name: Build standalone (exe installer) - shell: pwsh - run: | - Push-Location app - fastforge package ` - --platform windows ` - --targets exe ` - --build-dart-define "STORE_BUILD=false" ` - --build-dart-define "APP_VERSION=${{ steps.get_version.outputs.VERSION }}" - Pop-Location - - - name: Decode signing certificate - if: env.PFX_BASE64 != '' - shell: pwsh - run: | - $bytes = [Convert]::FromBase64String($env:PFX_BASE64) - Set-Content -Path signingCert.pfx -Value $bytes -AsByteStream - - - name: Sign standalone installer - if: env.PFX_BASE64 != '' - shell: pwsh - run: | - $pfxPath = Join-Path $PWD 'signingCert.pfx' - $signtool = Get-ChildItem -Path "C:\Program Files (x86)\Windows Kits\10\bin" ` - -Recurse -Filter "signtool.exe" | - Where-Object { $_.FullName -like "*x64*" } | - Sort-Object FullName -Descending | - Select-Object -First 1 - if (-not $signtool) { Write-Error "Signtool not found"; exit 1 } - - $distDir = "app/dist" - Get-ChildItem -Path $distDir -Include *.exe -Recurse | ForEach-Object { - & $signtool.FullName sign /f $pfxPath /p $env:PFX_PASSWORD ` - /tr http://timestamp.digicert.com /td sha256 /fd sha256 $_.FullName - } - - - name: Rename standalone installer - shell: pwsh - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - $distDir = "app/dist" - $setup = Get-ChildItem -Path $distDir -Recurse -Filter "*-setup.exe" | Select-Object -First 1 - if (-not $setup) { - Write-Host "::error::No installer matching *-setup.exe under $distDir" - Get-ChildItem -Path $distDir -Recurse -File | ForEach-Object { Write-Host $_.FullName } - exit 1 - } - $newName = "CopyPaste_${version}_x64_Setup.exe" - Move-Item -Path $setup.FullName -Destination (Join-Path $setup.DirectoryName $newName) - Write-Host "Renamed to: $newName" - - - name: Build store MSIX - if: steps.get_version.outputs.IS_PRERELEASE != 'true' - shell: pwsh - run: | - Push-Location app - fastforge package ` - --platform windows ` - --targets msix ` - --build-dart-define "STORE_BUILD=true" ` - --build-dart-define "APP_VERSION=${{ steps.get_version.outputs.VERSION }}" - Pop-Location - - - name: Move and rename store MSIX - if: steps.get_version.outputs.IS_PRERELEASE != 'true' - shell: pwsh - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - $distDir = "app/dist" - - # store: true generates .msixupload, not .msix - $extensions = @("*.msixupload", "*.msixbundle", "*.msix") - $searchDirs = @("app/dist", "app/build") - $found = $null - foreach ($ext in $extensions) { - $found = $searchDirs | ForEach-Object { - if (Test-Path $_) { Get-ChildItem -Path $_ -Recurse -Filter $ext } - } | Select-Object -First 1 - if ($found) { break } - } - - if (-not $found) { - Write-Host "::error::No MSIX package found under app/dist or app/build" - @("app/dist", "app/build") | ForEach-Object { - if (Test-Path $_) { Get-ChildItem -Path $_ -Recurse -File | ForEach-Object { Write-Host $_.FullName } } - } - exit 1 - } - - $newName = "CopyPaste_${version}_x64_store$($found.Extension)" - New-Item -ItemType Directory -Path $distDir -Force | Out-Null - Move-Item -Path $found.FullName -Destination (Join-Path $distDir $newName) - Write-Host "Moved $($found.Name) to: $newName" - - - name: Upload artifacts - uses: actions/upload-artifact@v7 - with: - name: release-windows - path: app/dist/ - retention-days: 5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 437d4cdc..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,558 +0,0 @@ -name: Release - -on: - push: - tags: - - "v*" - workflow_dispatch: - inputs: - version: - description: "Version to use (e.g. 2.1.0). Defaults to 2.0.0-dev" - required: false - default: "2.0.0-dev" - -permissions: - contents: write - -# Releases publish to repositories shared with other projects; never run two at once. -concurrency: - group: release - cancel-in-progress: false - -jobs: - extract-version: - runs-on: ubuntu-latest - name: Extract Version - timeout-minutes: 5 - outputs: - version: ${{ steps.get_version.outputs.VERSION }} - is_prerelease: ${{ steps.get_version.outputs.IS_PRERELEASE }} - is_tag: ${{ steps.get_version.outputs.IS_TAG }} - steps: - - name: Resolve version - id: get_version - env: - DISPATCH_VERSION: ${{ github.event.inputs.version }} - run: | - set -euo pipefail - IS_TAG="false" - if [[ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]]; then - VERSION="$DISPATCH_VERSION" - elif [[ "$GITHUB_REF" =~ refs/tags/v(.+) ]]; then - VERSION="${BASH_REMATCH[1]}" - IS_TAG="true" - else - VERSION="2.0.0" - fi - - if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then - echo "::error::'$VERSION' is not a valid version (expected MAJOR.MINOR.PATCH[-prerelease])" - exit 1 - fi - - IS_PRERELEASE="false" - if [[ "$VERSION" == *-* ]]; then - IS_PRERELEASE="true" - fi - - echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" - echo "IS_PRERELEASE=$IS_PRERELEASE" >> "$GITHUB_OUTPUT" - echo "IS_TAG=$IS_TAG" >> "$GITHUB_OUTPUT" - echo "Resolved version: $VERSION (prerelease=$IS_PRERELEASE, tag=$IS_TAG)" - - # Fails now instead of after 45 minutes of builds, or worse, silently unsigned. - - name: Check publishing credentials - if: steps.get_version.outputs.IS_TAG == 'true' - env: - RELEASE_PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }} - GIST_TOKEN: ${{ secrets.GIST_TOKEN }} - STORE_APP_ID: ${{ vars.STORE_APP_ID }} - PFX_BASE64: ${{ secrets.PFX_BASE64 }} - PFX_PASSWORD: ${{ secrets.PFX_PASSWORD }} - MACOS_CERTIFICATE_P12: ${{ secrets.MACOS_CERTIFICATE_P12 }} - MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - IS_PRERELEASE: ${{ steps.get_version.outputs.IS_PRERELEASE }} - run: | - set -uo pipefail - status=0 - - require() { - if [[ -z "${!1:-}" ]]; then - echo "::error::$1 is not set; $2" - status=1 - else - echo "ok $1" - fi - } - prefer() { - if [[ -z "${!1:-}" ]]; then - echo "::warning::$1 is not set; $2" - else - echo "ok $1" - fi - } - - require RELEASE_PRIVATE_KEY "release-manifest.json cannot be signed" - require GIST_TOKEN "the Homebrew tap and Scoop bucket cannot be updated" - if [[ "$IS_PRERELEASE" != "true" ]]; then - require STORE_APP_ID "the Microsoft Store submission has no product id" - fi - - prefer PFX_BASE64 "the Windows installer will ship unsigned" - prefer PFX_PASSWORD "the Windows installer will ship unsigned" - prefer MACOS_CERTIFICATE_P12 "the macOS build will be ad-hoc signed and not notarized" - prefer MACOS_CERTIFICATE_PASSWORD "the macOS certificate cannot be imported" - prefer APPLE_ID "the DMG will not be notarized" - prefer APPLE_APP_PASSWORD "the DMG will not be notarized" - prefer APPLE_TEAM_ID "the DMG will not be notarized" - - exit $status - - build-windows: - needs: extract-version - uses: ./.github/workflows/release-win.yml - with: - version: ${{ needs.extract-version.outputs.version }} - secrets: inherit - - build-macos: - needs: extract-version - uses: ./.github/workflows/release-mac.yml - with: - version: ${{ needs.extract-version.outputs.version }} - secrets: inherit - - github-release: - runs-on: ubuntu-latest - needs: [extract-version, build-windows, build-macos] - if: needs.extract-version.outputs.is_tag == 'true' - timeout-minutes: 10 - name: Create GitHub Release - - permissions: - contents: write - id-token: write - attestations: write - - steps: - - uses: actions/checkout@v7 - with: - ref: ${{ github.ref_name }} - fetch-depth: 0 - - - name: Extract tag message - id: tag_message - run: | - MSG=$(git tag -l --format='%(contents:body)' "${{ github.ref_name }}" | sed '/-----BEGIN SSH SIGNATURE-----/,$d' | sed -e :a -e '/^\n*$/{$d;N;ba}') - echo "TAG_BODY<> $GITHUB_OUTPUT - echo "$MSG" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Download all artifacts - uses: actions/download-artifact@v7 - with: - path: artifacts - - # attest-build-provenance only fails when *every* pattern comes up - # empty, so a single missing artifact would be signed away in silence. - - name: Verify every release artifact is present - env: - IS_PRERELEASE: ${{ needs.extract-version.outputs.is_prerelease }} - run: | - set -euo pipefail - shopt -s globstar nullglob - patterns=( - 'artifacts/release-windows/**/*_Setup.exe' - 'artifacts/release-macos/*.dmg' - ) - if [[ "$IS_PRERELEASE" != "true" ]]; then - patterns+=( 'artifacts/release-windows/**/*_store.msix*' ) - fi - status=0 - for pattern in "${patterns[@]}"; do - matches=( $pattern ) - if (( ${#matches[@]} == 0 )); then - echo "::error::No artifact matched '${pattern}'" - status=1 - else - printf '%s -> %s\n' "$pattern" "${matches[*]}" - fi - done - exit $status - - - uses: actions/attest-build-provenance@v4 - with: - subject-path: | - artifacts/release-windows/**/*_Setup.exe - artifacts/release-windows/**/*_store.msix* - artifacts/release-macos/*.dmg - - - name: Create GitHub Release - uses: softprops/action-gh-release@v2 - with: - body: ${{ steps.tag_message.outputs.TAG_BODY }} - generate_release_notes: true - prerelease: ${{ needs.extract-version.outputs.is_prerelease == 'true' }} - make_latest: ${{ needs.extract-version.outputs.is_prerelease != 'true' }} - files: | - artifacts/release-windows/**/*_Setup.exe - artifacts/release-windows/**/*_store.msix* - artifacts/release-macos/*.dmg - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - publish-release-manifest: - runs-on: ubuntu-latest - needs: [extract-version, github-release] - if: needs.extract-version.outputs.is_tag == 'true' - timeout-minutes: 5 - name: Sign and publish release-manifest.json - - steps: - - uses: actions/checkout@v7 - with: - ref: ${{ github.ref_name }} - fetch-depth: 0 - - - name: Setup Flutter - uses: subosito/flutter-action@v2 - with: - channel: stable - cache: true - - - name: Resolve dependencies - working-directory: app - run: flutter pub get - - - name: Inject Microsoft Store productId - env: - STORE_APP_ID: ${{ vars.STORE_APP_ID }} - run: | - if [ -z "$STORE_APP_ID" ]; then - echo "vars.STORE_APP_ID is not set" >&2 - exit 1 - fi - sed -i "s|ms-windows-store://pdp/?productid=PLACEHOLDER|ms-windows-store://pdp/?productid=${STORE_APP_ID}|" release-manifest.json - grep -q "productid=${STORE_APP_ID}" release-manifest.json - - - name: Override latest, URLs and standard release notes - run: | - TAG="${GITHUB_REF_NAME}" - VERSION="${TAG#v}" - REPO="${{ github.repository }}" - RELEASE_URL="https://github.com/${REPO}/releases/tag/${TAG}" - - TAG_BODY=$(git tag -l --format='%(contents)' "$TAG" | sed '/-----BEGIN SSH SIGNATURE-----/,$d') - read_trailer() { - printf '%s\n' "$TAG_BODY" \ - | grep -iE "^$1:" \ - | head -n 1 \ - | sed -E "s/^[^:]+:[[:space:]]*//" \ - | tr -d '\r' - } - - SEVERITY_OVERRIDE=$(read_trailer 'Severity') - MIN_SUPPORTED_OVERRIDE=$(read_trailer 'Min-Supported') - BLOCKED_OVERRIDE=$(read_trailer 'Blocked') - - SEVERITY_CURRENT=$(jq -r '.severity // "recommended"' release-manifest.json) - SEVERITY="${SEVERITY_OVERRIDE:-recommended}" - case "$SEVERITY" in - critical|recommended|patch) ;; - *) - echo "::error::Invalid Severity trailer '$SEVERITY' (expected: critical|recommended|patch)" - exit 1 - ;; - esac - echo "Severity: $SEVERITY (override=${SEVERITY_OVERRIDE:-}, previous=${SEVERITY_CURRENT})" - - if [[ "$SEVERITY" == "critical" && -z "$MIN_SUPPORTED_OVERRIDE" ]]; then - echo "::error::A critical release must carry an explicit Min-Supported trailer; the default ($VERSION) locks out every Linux install (<= 2.11.0)." - exit 1 - fi - - MIN_SUPPORTED="${MIN_SUPPORTED_OVERRIDE:-$VERSION}" - echo "minimumSupported: $MIN_SUPPORTED (override=${MIN_SUPPORTED_OVERRIDE:-})" - - if [[ -n "$BLOCKED_OVERRIDE" ]]; then - BLOCKED_JSON=$(printf '%s' "$BLOCKED_OVERRIDE" \ - | tr ',' '\n' \ - | sed -E 's/^[[:space:]]+|[[:space:]]+$//g' \ - | grep -v '^$' \ - | jq -R . | jq -s .) - else - BLOCKED_JSON='[]' - fi - echo "blockedVersions: $BLOCKED_JSON (override=${BLOCKED_OVERRIDE:-})" - - SUMMARY_EN="CopyPaste ${TAG} (${SEVERITY} update). See release notes for details." - SUMMARY_ES="CopyPaste ${TAG} (actualización ${SEVERITY}). Consulta las notas de la versión." - - jq \ - --arg version "$VERSION" \ - --arg url "$RELEASE_URL" \ - --arg severity "$SEVERITY" \ - --arg min_supported "$MIN_SUPPORTED" \ - --argjson blocked "$BLOCKED_JSON" \ - --arg sum_en "$SUMMARY_EN" \ - --arg sum_es "$SUMMARY_ES" \ - '.latest = $version - | .severity = $severity - | .minimumSupported = $min_supported - | .blockedVersions = $blocked - | .releaseNotes.en.summary = $sum_en - | .releaseNotes.en.url = $url - | .releaseNotes.es.summary = $sum_es - | .releaseNotes.es.url = $url' \ - release-manifest.json > release-manifest.tmp.json - mv release-manifest.tmp.json release-manifest.json - - echo "--- Final manifest to publish ---" - cat release-manifest.json - - - name: Sign manifest - working-directory: app - env: - RELEASE_PRIVATE_KEY: ${{ secrets.RELEASE_PRIVATE_KEY }} - run: | - if [ -z "$RELEASE_PRIVATE_KEY" ]; then - echo "RELEASE_PRIVATE_KEY secret is not set" >&2 - exit 1 - fi - printf '%s' "$RELEASE_PRIVATE_KEY" | dart run tools/sign_manifest.dart \ - ../release-manifest.json \ - ../release-manifest.json.sig - - - name: Upload manifest assets to release - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release upload "${{ github.ref_name }}" \ - release-manifest.json \ - release-manifest.json.sig \ - --clobber - - publish-to-store: - runs-on: windows-latest - needs: [extract-version, github-release] - if: needs.extract-version.outputs.is_tag == 'true' && needs.extract-version.outputs.is_prerelease != 'true' - timeout-minutes: 15 - name: Publish to Microsoft Store - - steps: - - name: Install Microsoft Store Developer CLI - uses: microsoft/microsoft-store-apppublisher@v1.3 - with: - version: v0.3.9 - - - name: Download Windows artifacts - uses: actions/download-artifact@v7 - with: - name: release-windows - path: artifacts/windows - - - name: Find MSIX package - id: find_msix - shell: bash - run: | - MSIX=$(find artifacts/windows -name "*.msixupload" | head -1) - [ -z "$MSIX" ] && MSIX=$(find artifacts/windows -name "*.msixbundle" | head -1) - [ -z "$MSIX" ] && MSIX=$(find artifacts/windows -name "*.msix" | head -1) - if [ -z "$MSIX" ]; then - echo "Error: No MSIX package found in release-windows artifact" - find artifacts/windows -type f - exit 1 - fi - echo "MSIX_PATH=$MSIX" >> $GITHUB_OUTPUT - echo "Found: $MSIX" - - - name: Configure Microsoft Store CLI - shell: bash - run: | - msstore reconfigure \ - --tenantId "${{ secrets.STORE_TENANT_ID }}" \ - --sellerId "${{ secrets.STORE_SELLER_ID }}" \ - --clientId "${{ secrets.STORE_CLIENT_ID }}" \ - --clientSecret "${{ secrets.STORE_CLIENT_SECRET }}" - - - name: Publish to Microsoft Store - shell: bash - run: | - msstore publish "${{ steps.find_msix.outputs.MSIX_PATH }}" \ - --appId "${{ vars.STORE_APP_ID }}" - - update-homebrew-cask: - runs-on: ubuntu-latest - needs: [extract-version, github-release] - if: needs.extract-version.outputs.is_tag == 'true' - timeout-minutes: 5 - name: Update Homebrew Tap - - steps: - - name: Update Homebrew Tap - env: - GH_TOKEN: ${{ secrets.GIST_TOKEN }} - run: | - set -euo pipefail - - TAG="${GITHUB_REF_NAME}" - VERSION="${TAG#v}" - - DMG_NAME="CopyPaste_${VERSION}_universal.dmg" - DMG_URL="https://github.com/${{ github.repository }}/releases/download/${TAG}/${DMG_NAME}" - - echo "Downloading DMG to compute SHA256..." - curl -fSL --retry 5 --retry-delay 10 --retry-all-errors \ - -o "/tmp/${DMG_NAME}" "${DMG_URL}" - DMG_SHA256=$(sha256sum "/tmp/${DMG_NAME}" | awk '{print $1}') - rm -f "/tmp/${DMG_NAME}" - - echo "Version: ${VERSION}" - echo "DMG SHA256: ${DMG_SHA256}" - - if [[ "$VERSION" == *-* ]]; then - CASK_FILE="Casks/copypaste-beta.rb" - CASK_NAME="copypaste-beta" - CASK_DESC="Clipboard history manager for macOS (beta)" - else - CASK_FILE="Casks/copypaste.rb" - CASK_NAME="copypaste" - CASK_DESC="Clipboard history manager for macOS" - fi - - git clone "https://x-access-token:${GH_TOKEN}@github.com/rgdevment/homebrew-tap.git" /tmp/homebrew-tap - cd /tmp/homebrew-tap - - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - - mkdir -p Casks - - cat > "${CASK_FILE}" <<- CASK_EOF - cask "${CASK_NAME}" do - version "${VERSION}" - sha256 "${DMG_SHA256}" - - url "${DMG_URL}" - name "CopyPaste" - desc "${CASK_DESC}" - homepage "https://github.com/${{ github.repository }}" - - depends_on macos: :ventura - - app "CopyPaste.app" - - zap trash: [ - "~/Library/Application Support/com.rgdevment.copypaste", - ] - end - CASK_EOF - - git add "${CASK_FILE}" - if git diff --cached --quiet; then - echo "Homebrew Tap already at ${VERSION}, nothing to push" - exit 0 - fi - git commit -m "Update ${CASK_NAME} to ${VERSION}" - - # Shared tap: a concurrent release can land between fetch and push. - for attempt in 1 2 3 4 5; do - if (( attempt > 1 )); then - sleep $(( (attempt - 1) * 5 )) - git fetch origin main - git rebase origin/main - fi - if git push origin HEAD:main; then - echo "Homebrew Tap updated: cask ${CASK_NAME} → ${VERSION}" - exit 0 - fi - echo "Push rejected (attempt ${attempt})" - done - echo "::error::Could not push ${VERSION} to the Homebrew Tap" - exit 1 - - update-scoop-bucket: - runs-on: ubuntu-latest - needs: [extract-version, github-release] - if: needs.extract-version.outputs.is_tag == 'true' - timeout-minutes: 5 - name: Update Scoop Bucket - - steps: - - name: Update Scoop Bucket - env: - GH_TOKEN: ${{ secrets.GIST_TOKEN }} - run: | - set -euo pipefail - - TAG="${GITHUB_REF_NAME}" - VERSION="${TAG#v}" - BASE="https://github.com/${{ github.repository }}/releases/download/${TAG}" - SETUP="CopyPaste_${VERSION}_x64_Setup.exe" - - if [[ "$VERSION" == *-* ]]; then - NAME="copypaste-beta"; SUFFIX=" (beta)" - else - NAME="copypaste"; SUFFIX="" - fi - - curl -fSL --retry 5 --retry-delay 10 --retry-all-errors \ - -o "/tmp/${SETUP}" "${BASE}/${SETUP}" - SHA=$(sha256sum "/tmp/${SETUP}" | awk '{print $1}') - - # Scoop unpacks the installer without ever running its - # uninstaller, so the Run value the app writes would outlive it. - RUN_KEY='HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' - UNINSTALL="Remove-ItemProperty -Path '${RUN_KEY}' -Name 'CopyPaste' -ErrorAction SilentlyContinue" - - git clone "https://x-access-token:${GH_TOKEN}@github.com/rgdevment/scoop-bucket.git" /tmp/bucket - cd /tmp/bucket - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - mkdir -p bucket - - jq -n \ - --arg version "$VERSION" \ - --arg desc "Clipboard history manager${SUFFIX}" \ - --arg home "https://github.com/${{ github.repository }}" \ - --arg url "${BASE}/${SETUP}" \ - --arg hash "$SHA" \ - --arg shortcut "CopyPaste${SUFFIX}" \ - --arg uninstall "$UNINSTALL" \ - '{ - version: $version, - description: $desc, - homepage: $home, - license: "GPL-3.0-only", - architecture: {"64bit": {url: $url, hash: $hash}}, - innosetup: true, - shortcuts: [["CopyPaste.exe", $shortcut]], - pre_uninstall: [$uninstall] - }' > "bucket/${NAME}.json" - - git add "bucket/${NAME}.json" - if git diff --cached --quiet; then - echo "Scoop bucket already at ${VERSION}, nothing to push" - exit 0 - fi - git commit -m "${NAME} ${VERSION}" - - # Three repos share this bucket: a concurrent release can land - # between fetch and push. - for attempt in 1 2 3 4 5; do - if (( attempt > 1 )); then - sleep $(( (attempt - 1) * 5 )) - git fetch origin main - git rebase origin/main - fi - if git push origin HEAD:main; then - echo "Scoop bucket updated: ${NAME} → ${VERSION}" - exit 0 - fi - echo "Push rejected (attempt ${attempt})" - done - echo "::error::Could not push ${NAME} ${VERSION} to the Scoop bucket" - exit 1 diff --git a/.github/workflows/rules.yml b/.github/workflows/rules.yml new file mode 100644 index 00000000..3200c1c2 --- /dev/null +++ b/.github/workflows/rules.yml @@ -0,0 +1,72 @@ +name: Rules + +on: + push: + branches: [main] + pull_request: + +jobs: + conventions: + name: Project conventions + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Unsafe lives only in the -sys crates + run: | + expected="crates/cp-mac-sys crates/cp-win-sys" + found=$(grep -rl 'unsafe_code = "allow"' crates/*/Cargo.toml | xargs -n1 dirname | sort | tr '\n' ' ') + for dir in $found; do + case " $expected " in + *" $dir "*) ;; + *) echo "unsafe declarado fuera de los crates -sys: $dir"; exit 1 ;; + esac + done + + - name: The core produces no terminal output + run: | + if grep -rn 'println!\|eprintln!\|print!' crates/cp-core/src --include='*.rs'; then + echo "cp-core no imprime: usa tracing"; exit 1 + fi + + - name: The core touches neither platform nor interface + run: | + if grep -rn 'use tauri\|use windows\|use objc2' crates/cp-core/src --include='*.rs'; then + echo "cp-core no depende de plataforma ni de interfaz"; exit 1 + fi + + - name: No Spanish identifiers + run: | + if grep -rnE '\b(fecha|limite|prioridad|filtro|tarea|titulo|etiqueta|imagen|archivo) *:' \ + crates/*/src --include='*.rs' | grep -v '"'; then + echo "los identificadores van en ingles"; exit 1 + fi + + - name: No voseo in the Spanish anywhere + run: | + if grep -rniE '\b(vos|tenes|queres|podes|anda|mira|hace|che)\b' \ + crates docs README.md --include='*.rs' --include='*.md' 2>/dev/null; then + echo "espanol neutro, sin voseo"; exit 1 + fi + + - name: No peninsular Spanish in what a person reads + run: | + if grep -rniE '\b(fichero|ficheros|ordenador|pulsa|pulsar|pulsando)\b' \ + crates docs README.md --include='*.rs' --include='*.md' 2>/dev/null; then + echo "espanol neutro: archivo, computador, presiona"; exit 1 + fi + + - name: No prose blocks in the code + run: | + if awk '/^\s*\/\/[^\/]/{n++; if (n>3) {print FILENAME": bloque de prosa"; exit 1}} !/^\s*\/\//{n=0}' \ + $(find crates -name '*.rs'); then :; else exit 1; fi + + deterministic: + name: Tests are deterministic + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - name: Twenty consecutive runs of the core + run: for i in $(seq 1 20); do cargo test -p cp-core --quiet || exit 1; done diff --git a/.gitignore b/.gitignore index 8ff75b7f..ecbd5bb6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,79 +1,3 @@ -# ── Dart / Flutter ── -.dart_tool/ -.packages -build/ -*.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -*.iml - -# Generated files -*.g.dart -*.freezed.dart -*.mocks.dart - -# Coverage -coverage/ -*.lcov - -# Pub (keep workspace root lockfile) -.pub-cache/ -.pub/ -**/pubspec.lock -!/pubspec.lock - -# ── IDE ── -.vs/ -.idea/ -*.code-workspace - -# VS Code (keep shared config) -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -# ── Build outputs ── -dist/ - -# ── Environment ── -.env -.venv/ - -# ── Python ── -__pycache__/ -*.pyc - -# ── OS: macOS ── -.DS_Store -.AppleDouble -.LSOverride -Icon -._* -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -# ── OS: Windows ── -Thumbs.db -ehthumbs.db -ehthumbs_vista.db -*.stackdump -[Dd]esktop.ini -$RECYCLE.BIN/ -*.lnk - -# ── OS: Linux ── -*~ -*.swp -last_cleanup.txt +/target +**/*.rs.bk +.DS_Store diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..37cecba9 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,457 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "arrayvec" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" + +[[package]] +name = "blake3" +version = "1.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9e454fc11f76977dc803893aff6304ed33d6a26efae8696573bea74baa27ae" +dependencies = [ + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "cpufeatures", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "cc" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "cp-core" +version = "3.0.0" +dependencies = [ + "thiserror", + "unicode-normalization", +] + +[[package]] +name = "cp-mac" +version = "3.0.0" +dependencies = [ + "cp-core", + "cp-mac-sys", + "thiserror", +] + +[[package]] +name = "cp-mac-sys" +version = "3.0.0" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-graphics", + "objc2-foundation", +] + +[[package]] +name = "cp-store" +version = "3.0.0" +dependencies = [ + "blake3", + "cp-core", + "rusqlite", + "thiserror", +] + +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags", + "objc2", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "find-msvc-tools" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "foldhash", +] + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libsqlite3-sys" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-text", + "objc2-core-video", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags", + "block2", + "dispatch2", + "libc", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", + "objc2-metal", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-core-video" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-io-surface", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "pkg-config" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rusqlite" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "smallvec" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891" + +[[package]] +name = "syn" +version = "3.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tinyvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cf0ded5c4e56918d8f8a339e1bb67d038d3bc6d144ac407904015ba2e4cde9b" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..1be0c90c --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,44 @@ +[workspace] +resolver = "3" +members = ["crates/*"] + +[workspace.package] +version = "3.0.0" +edition = "2024" +rust-version = "1.98" +license = "GPL-3.0-only" +repository = "https://github.com/rgdevment/CopyPaste" +publish = false + +[workspace.dependencies] +cp-core = { path = "crates/cp-core" } +cp-store = { path = "crates/cp-store" } +cp-mac-sys = { path = "crates/cp-mac-sys" } +cp-mac = { path = "crates/cp-mac" } + +thiserror = "2" +tracing = "0.1" +crossbeam-channel = "0.5" +parking_lot = "0.12" +rusqlite = { version = "0.37", features = ["bundled"] } +blake3 = "1" +xxhash-rust = { version = "0.8", features = ["xxh3"] } +unicode-normalization = "0.1" +image = { version = "0.25", default-features = false, features = ["png"] } + +objc2 = "0.6" +objc2-foundation = "0.3" +objc2-app-kit = "0.3" +objc2-core-graphics = "0.3" +objc2-application-services = "0.3" + +[workspace.lints.rust] +unsafe_code = "forbid" + +[workspace.lints.clippy] +all = { level = "deny", priority = -1 } + +[profile.release] +lto = true +codegen-units = 1 +strip = true diff --git a/README.md b/README.md index d2c5949d..0598469d 100644 --- a/README.md +++ b/README.md @@ -1,248 +1,251 @@ -
- CopyPaste — Free Open Source Clipboard Manager for Windows and macOS - -

CopyPaste — Free Open Source Clipboard Manager

-

A local-first clipboard history and copy paste tool for Windows and macOS.
No ads. No telemetry. No accounts. Just a fast, private clipboard utility built for productivity.

- -

- - Build Status - - - Quality Gate - - - Coverage - - - Latest Release - - Platform: Windows, macOS - - License GPL-3.0 - -

- -

Download CopyPaste

- -

- - Get CopyPaste clipboard manager from Microsoft Store - -   - - Install CopyPaste clipboard manager via Homebrew on macOS - -

- -

- Prefer a direct download? GitHub Releases has standalone installers — Windows (.exe) · macOS (.dmg) -

- -

- - Buy Me a Coffee - -

-
- ---- - -**CopyPaste** is a free, open source **clipboard manager** and **clipboard history** tool I built because the alternatives frustrated me. Most copy paste utilities are either bloated, ugly, or treat you as a product. I wanted a **copy tool** that felt native, respected my privacy, and just worked — so I built one and shared it. - -This isn't a company product. I'm a developer who needed a better **copy paste** tool for my desktop, built it for myself, and decided to open source it for anyone who feels the same. No ads, no telemetry, no subscriptions, no data collection — just a lightweight **clipboard utility** that lives on your machine and nowhere else. - -**Why people choose CopyPaste over other clipboard managers:** - -- **100% local** — your clipboard history never leaves your computer. No cloud, no servers, no accounts. -- **Truly free** — no premium tiers, no feature gates, no "free trial" tricks. GPL v3, forever. - Only redistributing it inside a product of your own needs [separate terms](COMMERCIAL.md). -- **Cross-platform** — same native copy-paste experience on Windows and macOS. -- **Fast and light** — starts in milliseconds, uses minimal resources. You'll forget it's running. -- **Beautiful** — follows your OS theme (light/dark), with Mica effect on Windows and native materials on macOS. - -> I use CopyPaste every day on Windows 11 and macOS. If something feels off, [let me know](#found-a-bug-have-feedback) — this project keeps improving because of real-world use. -> -> **Linux support has been discontinued.** See [Linux support (discontinued)](#linux-support-discontinued). - ---- - -## Table of Contents - -- [See It in Action](#see-copypaste-in-action) -- [Why I Built This](#why-i-built-this) -- [What It Is / What It Isn't](#what-it-is--what-it-isnt) -- [Who Is This For?](#who-is-this-for) -- [Privacy and Security](#privacy-and-security) -- [Key Features](#key-features) -- [Keyboard Shortcuts](#keyboard-shortcuts) -- [Getting Started](#getting-started) -- [FAQ](#faq) -- [Support and Bug Reporting](#support-and-bug-reporting) -- [Clean Install and Reset](#clean-install-and-reset) -- [Found a Bug? Have Feedback?](#found-a-bug-have-feedback) -- [Localization](#localization-help-translate-copypaste) -- [Want to Help?](#want-to-help) -- [Tech Stack](#tech-stack-for-developers) -- [Other Tools by the Same Author](#other-tools-by-the-same-author) -- [License and Spirit](#license-and-spirit) - -## See CopyPaste in Action - -
- CopyPaste clipboard manager demo — search clipboard history, paste with keyboard shortcuts, cross-platform on Windows and macOS -
-
Fast search, clean cards, and a native feel across Windows and macOS.
- -
- -
- CopyPaste clipboard history — main panel showing copied text, images, files and links with previews - CopyPaste copy tool — category filters and color labels for organizing clipboard items -

- CopyPaste settings — configure clipboard manager privacy, shortcuts and appearance - CopyPaste multiplatform clipboard manager — running natively on Windows and macOS side by side -
- ---- - -## Why I Built This - -I'm not a company. I'm a developer who copies and pastes things hundreds of times a day — and got frustrated. - -Most **clipboard managers** out there are either bloated, ugly, Windows-only, or silently collecting your data. In 2026, a **copy paste tool** should feel native, responsive, and beautiful on every platform. I couldn't find one that did, so I built my own. - -**CopyPaste started as a personal productivity tool.** I needed a lightweight **copy history** utility that: - -- Didn't hog system resources -- Looked and felt like part of my OS, not a widget dropped on top -- Worked on both Windows and macOS -- Didn't require an account, subscription, or internet connection -- Actually respected my privacy — not just claimed to - -After months of using it myself, I realized others might need it too. So I open sourced it — no ads, no tracking, no strings attached for the people who use it. - -Every line of code is public. You can read it, fork it, or learn from it. This is a **free, open source productivity tool** — a copy tool built from a real need. Redistributing it inside a product of your own is the one case that needs [separate terms](COMMERCIAL.md). - ---- - -## What It Is / What It Isn't - -**CopyPaste is:** - -- A **local-first clipboard manager** and **clipboard history** app for Windows and macOS -- A fast, keyboard-driven **copy-paste utility** for daily productivity and workflow efficiency -- A **copy tool** you can trust — **open source** (GPL v3), inspect every line, fork it, contribute to it - -**CopyPaste is not:** - -- A cloud clipboard or sync service -- A telemetry or analytics tool -- A "platform" with accounts, subscriptions, or ads -- A corporate product — it's a personal project shared with the community - ---- - -## Who Is This For? - -If you copy and paste throughout your day, this **clipboard manager** is for you: - -- **Developers** juggling code snippets, terminal commands, and log outputs — a real productivity boost -- **Students** collecting notes, quotes, and research sources into a searchable **copy history** -- **Writers and creators** reusing text fragments and assets across documents -- **Support and operations** teams handling repetitive copy-paste responses -- **Anyone** who wants a clean, private, free **clipboard history** tool on their computer - ---- - -## Privacy and Security - -**Everything stays local.** CopyPaste is built on a single, non-negotiable principle: your clipboard data never leaves your computer. This copy-paste tool was designed with privacy as the foundation, not an afterthought. - -- **Local-only storage** — no cloud, no servers, no data syncing -- **No tracking** — no telemetry, no analytics, no hidden collection of any kind -- **No automatic reporting** — errors are logged locally; nothing is sent without your explicit action -- **Sensitive content is ignored** — passwords and password-manager copies (1Password, Bitwarden, etc.) aren't saved -- **Log export is voluntary** — you choose when and what to share; logs never contain clipboard content - -**By design, CopyPaste will never have:** accounts, subscriptions, ads, cloud sync, or "AI analysis" of your clipboard. - -For responsible disclosure and security contact info, see [SECURITY.md](SECURITY.md). - -
-Where is my clipboard data stored? - -CopyPaste stores all data locally under your user profile: - -**Windows:** - -- **Database:** `%LOCALAPPDATA%\CopyPaste\clipboard.db` -- **Images:** `%LOCALAPPDATA%\CopyPaste\images` -- **Config:** `%LOCALAPPDATA%\CopyPaste\config` - -**macOS:** - -- **Database:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/clipboard.db` -- **Images:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/images` -- **Config:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/config` - -
- -If you care about privacy and control, this clipboard manager is made for you. Read the full [Privacy Policy](PRIVACY.md) for complete details. - -## Key Features - -**Latest Release** — See all features and improvements in the [Release Notes](https://github.com/rgdevment/CopyPaste/releases/latest). - -### Privacy and Security - -- **Private by Default:** All clipboard history stays on your computer. No cloud, no sync, no servers. -- **Respects Sensitive Data:** Passwords and API keys aren't stored. Password managers (1Password, Bitwarden, etc.) are ignored — their clipboard content never gets saved. - -### Design and Experience - -- **Adapts to Your System:** Follows your OS light or dark theme automatically — Mica on Windows, Sidebar material on macOS. -- **Fast and Lightweight:** Starts quickly and doesn't hog resources. Lightweight enough to forget it's running. -- **Multiplatform:** The same native look, feel, and functionality across Windows and macOS. - -### Smart Clipboard Management - -- **Handles Everything:** Text, images, files, folders, links, audio, and video — with content-aware previews. A copy tool that actually understands what you copy. -- **Smart Content Detection:** Automatically recognizes and categorizes content — emails, phone numbers (with country), colors (HEX/RGB/HSL with swatch), IP addresses, UUIDs, and JSON. Each type gets its own icon, badge, and filter. -- **Open with Default App:** Files, images, links, emails, and phone numbers open directly in your OS's default app — the copy-paste manager stays out of the way. -- **Drag to Other Apps (Windows):** Drag any image, file, folder, audio or video card straight into another app — a browser upload zone, a chat, an editor. Dragged files keep their real, unique name, so web uploaders no longer reject a second image as a duplicate `image.png`. macOS support is on the way. -- **Formatting Is Never Lost:** Copying text that is already in the history again, this time without styles, no longer discards the formatting stored for it. Rich text contains the plain text, not the other way around: _Paste as plain text_ already serves the unstyled version at paste time, without touching what is saved. Stored styles are replaced only when a new copy brings its own. - -### Workflow and Productivity - -- **Full Keyboard Navigation:** Navigate, search, and paste your copy history using only your keyboard — a clipboard utility built for speed. -- **Smart Search:** Diacritic-insensitive full-text search (handles é, ñ, ø, ß, æ and more) across content and labels. -- **Card Labels and Colors:** Personalize your copy-paste items with custom labels (up to 50 characters) and 7 color options to identify your snippets at a glance. -- **Advanced Filters:** Three filter modes — Content (text search), Category (color selection), and Type (item type) — with dropdown multi-selection. -- **Pin Important Items:** Keep your most-used copy-paste fragments always accessible at the top. -- **Backup and Restore:** Export and import your clipboard history, images, and settings as `.cpbackup` files. -- **Start with Windows:** Optionally launch at login — works natively on both the Microsoft Store (MSIX) and standalone installer versions, no admin rights required. -- **Guided Onboarding (Windows):** First-launch walkthrough on Windows — pick your preferences for thumbnails, broken-item retention and image quota before you start using the app. macOS opens straight to the main panel. -- **Live Settings (autosave):** The Settings panel is organized in 6 tabs (General · Shortcuts · Performance · Cleanup & Privacy · Backup & Support · About) and saves automatically as you tweak — no Save / Cancel buttons. - -### Storage Control - -- **Image Quota (MB):** Cap how much disk space copied images can use. When the cap is reached, oldest non-pinned images are evicted (LRU). Pinned items and external file references are never touched. Set to `0` (default) for unlimited. -- **Broken-Item Retention:** When a copied file or image disappears from disk (moved, deleted, external drive disconnected) the entry is kept for `keepBrokenItemsDays` (default 30) before being purged — so reconnecting an external drive restores the previews instead of losing them. -- **Native Thumbnails:** Image, video and audio previews are generated through the OS shell (QuickLook on macOS, `IShellItemImageFactory` on Windows). - ---- - -## Keyboard Shortcuts - +
+ CopyPaste — Free Open Source Clipboard Manager for Windows and macOS + +

CopyPaste — Free Open Source Clipboard Manager

+

A local-first clipboard history and copy paste tool for Windows and macOS.
No ads. No telemetry. No accounts. Just a fast, private clipboard utility built for productivity.

+ +

+ + Build Status + + + Quality Gate + + + Coverage + + + Latest Release + + Platform: Windows, macOS + + License GPL-3.0 + +

+ +

CopyPaste 3.0 is on the way — a rewrite of the core in Rust, starting with macOS.
+ What you see below is 2.x, which stays supported on the v2-stable branch.

+ +

Download CopyPaste

+ +

+ + Get CopyPaste clipboard manager from Microsoft Store + +   + + Install CopyPaste clipboard manager via Homebrew on macOS + +

+ +

+ Prefer a direct download? GitHub Releases has standalone installers — Windows (.exe) · macOS (.dmg) +

+ +

+ + Buy Me a Coffee + +

+
+ +--- + +**CopyPaste** is a free, open source **clipboard manager** and **clipboard history** tool I built because the alternatives frustrated me. Most copy paste utilities are either bloated, ugly, or treat you as a product. I wanted a **copy tool** that felt native, respected my privacy, and just worked — so I built one and shared it. + +This isn't a company product. I'm a developer who needed a better **copy paste** tool for my desktop, built it for myself, and decided to open source it for anyone who feels the same. No ads, no telemetry, no subscriptions, no data collection — just a lightweight **clipboard utility** that lives on your machine and nowhere else. + +**Why people choose CopyPaste over other clipboard managers:** + +- **100% local** — your clipboard history never leaves your computer. No cloud, no servers, no accounts. +- **Truly free** — no premium tiers, no feature gates, no "free trial" tricks. GPL v3, forever. + Only redistributing it inside a product of your own needs [separate terms](COMMERCIAL.md). +- **Cross-platform** — same native copy-paste experience on Windows and macOS. +- **Fast and light** — starts in milliseconds, uses minimal resources. You'll forget it's running. +- **Beautiful** — follows your OS theme (light/dark), with Mica effect on Windows and native materials on macOS. + +> I use CopyPaste every day on Windows 11 and macOS. If something feels off, [let me know](#found-a-bug-have-feedback) — this project keeps improving because of real-world use. +> +> **Linux support has been discontinued.** See [Linux support (discontinued)](#linux-support-discontinued). + +--- + +## Table of Contents + +- [See It in Action](#see-copypaste-in-action) +- [Why I Built This](#why-i-built-this) +- [What It Is / What It Isn't](#what-it-is--what-it-isnt) +- [Who Is This For?](#who-is-this-for) +- [Privacy and Security](#privacy-and-security) +- [Key Features](#key-features) +- [Keyboard Shortcuts](#keyboard-shortcuts) +- [Getting Started](#getting-started) +- [FAQ](#faq) +- [Support and Bug Reporting](#support-and-bug-reporting) +- [Clean Install and Reset](#clean-install-and-reset) +- [Found a Bug? Have Feedback?](#found-a-bug-have-feedback) +- [Localization](#localization-help-translate-copypaste) +- [Want to Help?](#want-to-help) +- [Tech Stack](#tech-stack-for-developers) +- [Other Tools by the Same Author](#other-tools-by-the-same-author) +- [License and Spirit](#license-and-spirit) + +## See CopyPaste in Action + +
+ CopyPaste clipboard manager demo — search clipboard history, paste with keyboard shortcuts, cross-platform on Windows and macOS +
+
Fast search, clean cards, and a native feel across Windows and macOS.
+ +
+ +
+ CopyPaste clipboard history — main panel showing copied text, images, files and links with previews + CopyPaste copy tool — category filters and color labels for organizing clipboard items +

+ CopyPaste settings — configure clipboard manager privacy, shortcuts and appearance + CopyPaste multiplatform clipboard manager — running natively on Windows and macOS side by side +
+ +--- + +## Why I Built This + +I'm not a company. I'm a developer who copies and pastes things hundreds of times a day — and got frustrated. + +Most **clipboard managers** out there are either bloated, ugly, Windows-only, or silently collecting your data. In 2026, a **copy paste tool** should feel native, responsive, and beautiful on every platform. I couldn't find one that did, so I built my own. + +**CopyPaste started as a personal productivity tool.** I needed a lightweight **copy history** utility that: + +- Didn't hog system resources +- Looked and felt like part of my OS, not a widget dropped on top +- Worked on both Windows and macOS +- Didn't require an account, subscription, or internet connection +- Actually respected my privacy — not just claimed to + +After months of using it myself, I realized others might need it too. So I open sourced it — no ads, no tracking, no strings attached for the people who use it. + +Every line of code is public. You can read it, fork it, or learn from it. This is a **free, open source productivity tool** — a copy tool built from a real need. Redistributing it inside a product of your own is the one case that needs [separate terms](COMMERCIAL.md). + +--- + +## What It Is / What It Isn't + +**CopyPaste is:** + +- A **local-first clipboard manager** and **clipboard history** app for Windows and macOS +- A fast, keyboard-driven **copy-paste utility** for daily productivity and workflow efficiency +- A **copy tool** you can trust — **open source** (GPL v3), inspect every line, fork it, contribute to it + +**CopyPaste is not:** + +- A cloud clipboard or sync service +- A telemetry or analytics tool +- A "platform" with accounts, subscriptions, or ads +- A corporate product — it's a personal project shared with the community + +--- + +## Who Is This For? + +If you copy and paste throughout your day, this **clipboard manager** is for you: + +- **Developers** juggling code snippets, terminal commands, and log outputs — a real productivity boost +- **Students** collecting notes, quotes, and research sources into a searchable **copy history** +- **Writers and creators** reusing text fragments and assets across documents +- **Support and operations** teams handling repetitive copy-paste responses +- **Anyone** who wants a clean, private, free **clipboard history** tool on their computer + +--- + +## Privacy and Security + +**Everything stays local.** CopyPaste is built on a single, non-negotiable principle: your clipboard data never leaves your computer. This copy-paste tool was designed with privacy as the foundation, not an afterthought. + +- **Local-only storage** — no cloud, no servers, no data syncing +- **No tracking** — no telemetry, no analytics, no hidden collection of any kind +- **No automatic reporting** — errors are logged locally; nothing is sent without your explicit action +- **Sensitive content is ignored** — passwords and password-manager copies (1Password, Bitwarden, etc.) aren't saved +- **Log export is voluntary** — you choose when and what to share; logs never contain clipboard content + +**By design, CopyPaste will never have:** accounts, subscriptions, ads, cloud sync, or "AI analysis" of your clipboard. + +For responsible disclosure and security contact info, see [SECURITY.md](SECURITY.md). + +
+Where is my clipboard data stored? + +CopyPaste stores all data locally under your user profile: + +**Windows:** + +- **Database:** `%LOCALAPPDATA%\CopyPaste\clipboard.db` +- **Images:** `%LOCALAPPDATA%\CopyPaste\images` +- **Config:** `%LOCALAPPDATA%\CopyPaste\config` + +**macOS:** + +- **Database:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/clipboard.db` +- **Images:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/images` +- **Config:** `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/config` + +
+ +If you care about privacy and control, this clipboard manager is made for you. Read the full [Privacy Policy](PRIVACY.md) for complete details. + +## Key Features + +**Latest Release** — See all features and improvements in the [Release Notes](https://github.com/rgdevment/CopyPaste/releases/latest). + +### Privacy and Security + +- **Private by Default:** All clipboard history stays on your computer. No cloud, no sync, no servers. +- **Respects Sensitive Data:** Passwords and API keys aren't stored. Password managers (1Password, Bitwarden, etc.) are ignored — their clipboard content never gets saved. + +### Design and Experience + +- **Adapts to Your System:** Follows your OS light or dark theme automatically — Mica on Windows, Sidebar material on macOS. +- **Fast and Lightweight:** Starts quickly and doesn't hog resources. Lightweight enough to forget it's running. +- **Multiplatform:** The same native look, feel, and functionality across Windows and macOS. + +### Smart Clipboard Management + +- **Handles Everything:** Text, images, files, folders, links, audio, and video — with content-aware previews. A copy tool that actually understands what you copy. +- **Smart Content Detection:** Automatically recognizes and categorizes content — emails, phone numbers (with country), colors (HEX/RGB/HSL with swatch), IP addresses, UUIDs, and JSON. Each type gets its own icon, badge, and filter. +- **Open with Default App:** Files, images, links, emails, and phone numbers open directly in your OS's default app — the copy-paste manager stays out of the way. +- **Drag to Other Apps (Windows):** Drag any image, file, folder, audio or video card straight into another app — a browser upload zone, a chat, an editor. Dragged files keep their real, unique name, so web uploaders no longer reject a second image as a duplicate `image.png`. macOS support is on the way. +- **Formatting Is Never Lost:** Copying text that is already in the history again, this time without styles, no longer discards the formatting stored for it. Rich text contains the plain text, not the other way around: _Paste as plain text_ already serves the unstyled version at paste time, without touching what is saved. Stored styles are replaced only when a new copy brings its own. + +### Workflow and Productivity + +- **Full Keyboard Navigation:** Navigate, search, and paste your copy history using only your keyboard — a clipboard utility built for speed. +- **Smart Search:** Diacritic-insensitive full-text search (handles é, ñ, ø, ß, æ and more) across content and labels. +- **Card Labels and Colors:** Personalize your copy-paste items with custom labels (up to 50 characters) and 7 color options to identify your snippets at a glance. +- **Advanced Filters:** Three filter modes — Content (text search), Category (color selection), and Type (item type) — with dropdown multi-selection. +- **Pin Important Items:** Keep your most-used copy-paste fragments always accessible at the top. +- **Backup and Restore:** Export and import your clipboard history, images, and settings as `.cpbackup` files. +- **Start with Windows:** Optionally launch at login — works natively on both the Microsoft Store (MSIX) and standalone installer versions, no admin rights required. +- **Guided Onboarding (Windows):** First-launch walkthrough on Windows — pick your preferences for thumbnails, broken-item retention and image quota before you start using the app. macOS opens straight to the main panel. +- **Live Settings (autosave):** The Settings panel is organized in 6 tabs (General · Shortcuts · Performance · Cleanup & Privacy · Backup & Support · About) and saves automatically as you tweak — no Save / Cancel buttons. + +### Storage Control + +- **Image Quota (MB):** Cap how much disk space copied images can use. When the cap is reached, oldest non-pinned images are evicted (LRU). Pinned items and external file references are never touched. Set to `0` (default) for unlimited. +- **Broken-Item Retention:** When a copied file or image disappears from disk (moved, deleted, external drive disconnected) the entry is kept for `keepBrokenItemsDays` (default 30) before being purged — so reconnecting an external drive restores the previews instead of losing them. +- **Native Thumbnails:** Image, video and audio previews are generated through the OS shell (QuickLook on macOS, `IShellItemImageFactory` on Windows). + +--- + +## Keyboard Shortcuts + CopyPaste keeps `Ctrl+V` under the active application's control and uses dedicated shortcuts for its global actions and history panel. | Scope | Shortcut | Action | | :---- | :------- | :----- | -| Active application | Ctrl+V (Windows) / Cmd+V (macOS) | Paste the current system clipboard normally. CopyPaste does not intercept it. | -| CopyPaste global | Ctrl+Alt+C (Windows) / Control+Shift+V (macOS) | Open/close CopyPaste (customizable). | -| CopyPaste global, optional | Ctrl+Alt+V (Windows; configurable on macOS) | Paste the current system clipboard as plain text without opening the panel. | +| Active application | Ctrl+V (Windows) / Cmd+V (macOS) | Paste the current system clipboard normally. CopyPaste does not intercept it. | +| CopyPaste global | Ctrl+Alt+C (Windows) / Control+Shift+V (macOS) | Open/close CopyPaste (customizable). | +| CopyPaste global, optional | Ctrl+Alt+V (Windows; configurable on macOS) | Paste the current system clipboard as plain text without opening the panel. | | CopyPaste panel open | Enter | Paste the hovered item, keyboard selection, or first visible history item normally, in that order. | | CopyPaste panel open | Shift+Enter | Paste the hovered item, keyboard selection, or first visible history item as plain text (text/link only), in that order. | | CopyPaste panel open | ↓ or Tab | Navigate from search to clipboard items. | @@ -257,477 +260,477 @@ dedicated shortcuts for its global actions and history panel. | CopyPaste panel open | Alt+C | Focus the search box. | | CopyPaste panel open | Alt+G / Alt+T | Open the filter menu. | | CopyPaste panel open | Esc | Clear the current filter or close the panel. | - -### Card Customization - -Each clipboard card can be personalized with: - -- **Custom Label:** Add a descriptive name (up to 50 characters) to identify your items quickly -- **Color Indicator:** Choose from 6 colors (Red, Green, Purple, Yellow, Blue, Orange) or None to visually categorize your items - -To edit a card: - -- **Right-click** on any card → Select "Edit" -- **Press E** with a card selected -- **Click the ... menu** on hover → Select "Edit" _(Default theme only)_ - -### Advanced Filters - -CopyPaste includes three filter modes to help you find items in your clipboard history quickly: - -| Mode | Description | How to Use | -| :----------- | :-------------------- | :------------------------------------------------------------------------------------------- | -| **Content** | Text search (default) | Type in the search box to filter by content or label | -| **Category** | Filter by color | Select colors from the dropdown to show only items with selected colors | -| **Type** | Filter by item type | Select from the dropdown to filter by content type | - -**Switching Filter Modes:** - -- Click the filter icon next to the search box and select a mode from the flyout -- Use keyboard shortcuts: Alt+C (Content), Alt+G (Category), Alt+T (Type) - -**How Filters Work:** - -- Each mode applies only its relevant filter — text search in Content mode, colors in Category mode, types in Type mode -- Switching modes automatically uses the appropriate filter without mixing criteria -- In Category and Type modes, select multiple options from the dropdown for precise filtering -- Press Esc to clear the current filter -- When filtering, pinned items show a pin icon in the footer to help identify them - -**Clearing Filters:** Press Esc to clear the current filter (search text, colors, or types depending on the active mode). - -**Configurable Reset Behavior:** In Settings, you can configure whether filters reset when the window opens: - -- Reset to Content mode on open -- Clear text search on open -- Clear category (color) filter on open -- Clear type filter on open - -### Card Expansion - -Clipboard items (cards) can be expanded to show more text content: - -**With Mouse:** - -- **Single click** on a card → Expand to see full text (click again to collapse) -- **Double click** on a card → Paste the item immediately to your previous app -- Only one card can be expanded at a time -- All cards collapse when the window is hidden -- In **Default** theme, hovering a card reveals quick action buttons -- In **Compact** theme, cards have no hover effect (use right-click instead) - -Double-click always collapses the card before pasting, so your last click state is always clean. - -**With Keyboard:** - -- **Right arrow →** → Expand/collapse the selected card -- Cards automatically collapse when you navigate to a different item with ↑/↓ -- Only one card can be expanded at a time - -### Keyboard-Only Workflow - -1. **Press Ctrl+Alt+C** on Windows or **Control+Shift+V** on macOS (customizable in Settings) → Window opens with focus on search box -2. **Type to filter** (optional) → Results update in real-time (searches content and labels) -3. **Press Esc** (optional) → Clear search to see all items again -4. **Press ↓** → Navigate to first clipboard item -5. **Use ↑/↓** → Select the desired item -6. **Press →** (optional) → Expand card to see full text -7. **Press E** (optional) → Edit card to add label/color -8. **Press Enter** → Item is pasted to your previous application - -This copy-paste workflow matches the efficiency of double-clicking with your mouse but keeps your hands on the keyboard. - -### Filter Configuration - -In the **Settings** window, you can customize filter behavior: - -- **Return to Content mode on open:** When enabled, always starts in Content mode (text search) when opening CopyPaste -- **Clear search on open:** Automatically clears the search text when opening the window -- **Clear category filter on open:** Resets color selections when opening (only applies if not returning to Content mode) -- **Clear type filter on open:** Resets type selections when opening (only applies if not returning to Content mode) - -If "Return to Content mode on open" is enabled, the other clear options are automatically disabled since returning to Content mode achieves the same result. - ---- - -## Getting Started - -| OS | Recommended | Alternatives | -| :---------- | :-------------------------------- | :------------------------------------------------- | -| **Windows** | Microsoft Store | Scoop · standalone `.exe` | -| **macOS** | Homebrew | Standalone `.dmg` | - -After installing, open CopyPaste with **Ctrl+Alt+C** on Windows or **Control+Shift+V** on macOS. Both are customizable in Settings → Shortcuts. - -### Windows - -**Microsoft Store** (recommended) — one click, automatic updates, no security warnings. - -> [Install from the Microsoft Store](https://apps.microsoft.com/detail/9NBJRZF3K856) - -**Scoop** — for command-line installs, tracked with `scoop update`: - -```sh -scoop bucket add rgdevment https://github.com/rgdevment/scoop-bucket -scoop install copypaste -``` - -**Standalone `.exe`** — direct download from [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest). The installer is self-signed; see the [security note](#standalone-downloads) below. - ---- - -### macOS - -**Homebrew** (recommended) — installs the universal binary (Apple Silicon + Intel) and tracks updates with `brew upgrade`: - -```sh -brew tap rgdevment/tap && brew install --cask copypaste -``` - -**Standalone `.dmg`** — direct download from [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest). Same universal binary, manual updates. - ---- - -### Linux support (discontinued) - -> **Linux was maintained through v2.11.0 and is discontinued from there on.** Keeping the X11 shell -> (global hotkey, XTest paste-back, AppIndicator tray) and the AppImage / `.deb` / `.rpm` pipeline -> alive was beyond the resources of a single-maintainer project, so the platform was retired rather -> than left to rot half-working. - -- **v2.11.0 is the last release with Linux builds, and it stays available.** Its artifacts remain on - [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/tag/v2.11.0) and keep working; - installed copies point there instead of at a version they cannot install. They receive no fixes, - no security updates and no new features. -- **No new Linux packages are published.** The openSUSE Build Service repositories, the Homebrew - `copypaste-linux` formula and the self-updating AppImage are frozen at v2.11.0 so reinstalling - still works, but nothing new lands there. -- **Your data is untouched.** History, images and settings stay in - `~/.local/share/com.rgdevment.copypaste/CopyPaste/` — back that folder up before uninstalling if - you want to keep it. -- **Bug reports for Linux are not accepted.** The last state with full Linux support is archived on - the [`v2-linux-archive`](https://github.com/rgdevment/CopyPaste/tree/v2-linux-archive) branch — - code, packaging and CI included — for anyone who wants to fork and continue it. The GPL v3 - licence covers exactly that. - -### Compatibility - -| Platform | Versions | Architecture | -| :---------- | :------------------------------------------- | :-------------------------------- | -| **Windows** | Windows 10 (1809+), Windows 11 | x64 | -| **macOS** | Ventura (13.0+) | Universal (Apple Silicon + Intel) | - -### Standalone Downloads - -Direct packages live on [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest): - -| Platform | File | Notes | -| :---------- | :------------------------- | :-------------------------------------------------------------------------- | -| **Windows** | `*_Setup.exe` | Self-signed installer — see security note below | -| **macOS** | `*.dmg` | Universal binary (Apple Silicon + Intel) | - -
-Windows standalone: security warnings - -Since CopyPaste is an independent open source project, the installer uses a self-signed certificate. Windows and your browser may show security warnings — **this is normal and expected.** - -- **Browser:** Chrome/Edge may block the download — click Keep or Keep anyway. -- **SmartScreen:** Click More info → Run anyway (only happens once). -- **Why?** Code signing certificates cost $200–800/year. The code is 100% open source — you can inspect every line. SHA256 checksums are provided for each release. - -
- ---- - -## FAQ - -**Is CopyPaste free?** -Yes. Completely free and open source. No premium tiers, no subscriptions, no paywalls — ever. That covers using it anywhere, including across a company, and packaging it for a distribution or package manager. Only redistributing it inside a product of your own needs [separate terms](COMMERCIAL.md). - -**Does it upload my clipboard data?** -No. Everything stays on your machine. There is no cloud, no server, no sync. CopyPaste is a local-first clipboard manager by design — your copy paste data never leaves your computer. - -**Does it store passwords?** -No. Passwords and clipboard content from password managers are automatically ignored. - -**Do I need internet to use it?** -No. CopyPaste works fully offline. The standalone version makes a lightweight check for updates (no user data sent), but works perfectly without a connection. - -**Does it sync clipboard history between devices?** -No. There's intentionally no cloud sync. Your copy history stays on the device where you copied it. This is a local-first copy tool, not a cloud service. - -**Where is my clipboard history stored?** -Windows: `%LOCALAPPDATA%\CopyPaste\` — macOS: `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/`. Each folder contains the database, images, config, and logs. - -**What platforms does this copy-paste tool support?** -Windows 10/11 and macOS (Ventura+). Linux support was discontinued — see [Linux support (discontinued)](#linux-support-discontinued). - -**Does it start automatically with Windows?** -Optionally, yes. Enable it in Settings → General → Start with Windows. On the Microsoft Store version it uses the Windows StartupTask system; on the standalone installer it registers through the standard Windows startup mechanism. No administrator rights are required for either. - -**Does the macOS version work on Intel Macs?** -Yes. The DMG contains a universal binary that runs natively on both Apple Silicon (M1/M2/M3/M4) and Intel Macs. - -**How is CopyPaste different from other clipboard managers?** -CopyPaste is a personal project, not a company product. There are no ads, no telemetry, no accounts, and no data collection. Unlike most copy paste tools, it's built to feel native on each platform (Mica on Windows, Sidebar material on macOS), it's fully keyboard-driven, and it respects your privacy completely. It's an open source clipboard utility focused on productivity — you can verify every line of code yourself. - ---- - -## Support and Bug Reporting - -### Exporting Logs - -If CopyPaste is misbehaving, you can export a diagnostic log bundle directly from the app. - -**Steps:** - -1. Open CopyPaste → **Settings** (gear icon) -2. Go to the **About** tab -3. Under **Support**, click **"Export Logs"** -4. Save the .zip file to a location of your choice -5. Attach the zip to your [GitHub issue](https://github.com/rgdevment/CopyPaste/issues/new) - -The zip includes: - -- Recent application log files (.log) -- The `crash.log` file if one exists (created when the app fails to start or crashes during initialization) -- A `device_info.txt` with your OS version and app version — no personal data - -**Privacy guarantee:** Logs and the crash file contain only application events, errors and stack traces. **Your clipboard content is never written to any of them.** Before zipping, an automatic redaction pass replaces your user name, home folder path and any email addresses with ``, `` and `` placeholders. The exported file stays on your machine until you explicitly share it. Nothing is sent automatically. - -### Opening the Logs Folder - -If you prefer to inspect log files directly: - -1. Settings → About → Support → **"Open Logs Folder"** -2. Your file manager opens at the logs directory - -Logs are plain text — you can review them before deciding what to share. - -### Reporting on GitHub - -1. [Open a new issue](https://github.com/rgdevment/CopyPaste/issues/new) -2. Describe what happened and steps to reproduce -3. Attach the exported log zip (optional but very helpful) -4. Include your OS version and CopyPaste version (shown in Settings → About) - -You decide exactly what you share. The reporting process is fully manual and private. - ---- - -## Clean Install and Reset - -Sometimes you need a fresh start — for troubleshooting, transferring to a new machine, or just cleaning up. - -**Where to find it:** Settings → About → **Reset & Clean Install** - -### Soft Reset - -Resets all settings to defaults and marks the app as a new installation. **Your clipboard history is preserved.** - -Use this when: - -- Settings became corrupted or something isn't behaving correctly -- You want to start fresh with default configuration without losing history - -### Hard Reset - -Deletes everything — clipboard history, images, settings, and logs — then restarts the app. **This action cannot be undone.** - -Use this when: - -- You want a completely clean slate -- You're transferring to someone else or decommissioning the app - -### Microsoft Store Users - -Both reset options work identically on the Microsoft Store version. MSIX packaging uses filesystem virtualization, so the app's data folder is the real package data path — CopyPaste can find and wipe it without needing elevated permissions. - -The Windows Settings "Reset app" button does the same thing as Hard Reset. Both are safe to use. - ---- - -## Found a Bug? Have Feedback? - -**Your feedback shapes what gets built next.** Here's how to reach me: - -| What you need | How | -| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | -| **Report a bug** | [Open an Issue](https://github.com/rgdevment/CopyPaste/issues/new) — tell me what happened and how to reproduce it | -| **Suggest a feature** | [Open an Issue](https://github.com/rgdevment/CopyPaste/issues/new) — tell me what you'd like to see | -| **Ask a question** | [Start a Discussion](https://github.com/rgdevment/CopyPaste/discussions) — ask anything or just say hi | -| **Show support** | Star the repo — helps other people find this clipboard manager | -| **Contribute code** | [Check CONTRIBUTING.md](CONTRIBUTING.md) — PRs welcome | - -**When reporting bugs, include:** - -- OS and version (e.g., Windows 11 24H2, macOS Sequoia 15.3) -- What you were doing -- Any error messages -- CopyPaste version (check Settings → About) -- Exported log zip if available (Settings → About → Support → Export Logs) — it now also bundles `crash.log` if the app failed to start, with personal info redacted automatically - ---- - -## What's Coming and What's Changed - -I keep a clear record of what's been added, fixed, and planned: - -**[View Release Notes & Changelog](https://github.com/rgdevment/CopyPaste/releases)** — complete history of all changes. - ---- - -## Localization: Help Translate CopyPaste - -CopyPaste should speak your language. Currently it supports English and Spanish, but the goal is to reach people everywhere. - -### Currently Supported Languages - -| Language | Tag | Status | -| :------------------ | :---: | :------: | -| Spanish (Chile) | es-CL | Complete | -| English (US) | en-US | Complete | - -### How It Works - -- **Automatic Detection:** The app detects your system language and applies the appropriate translation. -- **Regional Fallback:** If your exact region isn't available (e.g., es-MX), it falls back to the base language (e.g., es-CL). -- **Manual Override:** You can force a specific language in the Settings panel. - -### Help Add a New Language - -CopyPaste uses Flutter's standard ARB-based localization. Adding a new language requires creating one file. - -#### Steps to Add a New Translation - -1. **Create a branch** from main in the repository. - -2. **Copy the base language file:** - - ```text - app/lib/l10n/app_en.arb - ``` - - This is the reference file with all translation keys. - -3. **Name your file using the language code:** - - app_de.arb (German) - - app_fr.arb (French) - - app_pt.arb (Portuguese - Brazil) - - app_ja.arb (Japanese) - -4. **Translate the values** (keep the keys in English — only change values): - - ```json - { - "@@locale": "de", - "searchPlaceholder": "Suche im Zwischenablage…", - "emptyStateSubtitle": "Kopiere etwas, um zu starten", - "pinned": "Angeheftet", - "recent": "Zuletzt" - } - ``` - -5. **Run flutter gen-l10n** (or flutter pub get) to regenerate the localization classes. - -6. **Test your translation** by changing your system language or using the manual override in Settings. - -7. **Submit a Pull Request** with your ARB file. - -#### Translation Guidelines - -- Keep translations concise — UI space is limited -- Use formal or neutral tone -- Preserve ARB placeholders like {name} or {count} -- Include "@@locale": "xx" at the top of the file -- Don't translate brand names (CopyPaste, Windows, etc.) -- Don't change ARB keys (only values) - ---- - -## Want to Help? - -Contributions are always appreciated — whether that's a bug report, a translation, or a pull request: - -- **Write Code** — Fix bugs or add features. See [CONTRIBUTING.md](CONTRIBUTING.md) for setup. -- **Translate** — Add your language. [See guide](#localization-help-translate-copypaste). -- **Report Bugs** — If something breaks, [open an issue](https://github.com/rgdevment/CopyPaste/issues/new). -- **Share Ideas** — Tell me what you wish this clipboard manager could do. - ---- - -## Tech Stack (For Developers) - -If you're curious about what's under the hood of this open source clipboard manager: - -| Technology | Why | -| :---------------------------------------------------- | :------------------------------------------------------------------------------------ | -| **Flutter** | Cross-platform UI toolkit — native on Windows and macOS. | -| **Dart** | Clean, performant language for core logic, services, and domain models. | -| **Platform Channels + FFI** | Native integration with each OS for clipboard hooks and system APIs. | -| **Windows Mica / macOS Sidebar** | Native translucent effects that match each platform's design language. | -| **C++ Plugin (Win) / Swift (Mac)** | Low-level clipboard listener to capture every content type before the OS discards it. | -| **Native C++ Launcher (Win)** | Lightweight splash process that appears instantly while Flutter warms up. | -| **SQLite (Drift) + FTS5** | Local database with full-text search across content and labels. | -| **Auto-update (Standalone)** | Ed25519-signed release manifest hosted on GitHub Releases; in-app badge notifies users of new versions and enforces blocks on versions with critical issues. | -| **Theme System** | Built-in Default and Compact themes, plus custom theme support via external packages. | - ---- - -## Themes - -CopyPaste follows your system theme automatically — no configuration needed. - -- **Light** — Clean and bright, matching a light OS theme. -- **Dark** — Easy on the eyes, matching a dark OS theme. -- You can override the automatic selection in **Settings → General → Theme**. - ---- - -## Other Tools by the Same Author - -I build free, open source tools focused on privacy and productivity. If you like CopyPaste, you might also find this useful: - -

- - LinkUnbound - -

- -### [LinkUnbound](https://github.com/rgdevment/LinkUnbound) - -A free, open source browser picker for Windows and Mac. Every link you click gets intercepted — domain rules open the assigned browser instantly, or a small picker appears near your cursor to let you choose. Resolves Microsoft SafeLinks and redirect wrappers before matching rules. - -No ads. No telemetry. No accounts. Everything local. - ---- - -## License and Spirit - -**CopyPaste** — A modern, open source clipboard manager and copy-paste tool for Windows and macOS. -Copyright (C) 2026 Mario Hidalgo G. (rgdevment) - -This program comes with ABSOLUTELY NO WARRANTY. -This is free software, and you are welcome to redistribute it under certain conditions. -Distributed under the **GNU General Public License v3.0**. See [LICENSE](LICENSE) for more information. - -CopyPaste is dual licensed. The GPL-3.0 covers everyone using, deploying, -auditing, packaging or forking it — which is almost everybody, and it costs -nothing. Redistributing it inside a product of your own needs separate terms: -see [COMMERCIAL.md](COMMERCIAL.md). - -Packaging it for a distribution or package manager is ordinary GPL -redistribution and needs no permission from anyone. - -Contributions require a one-time [CLA](CLA.md); you keep the copyright on your -work. - ---- - -I built CopyPaste because I was tired of the alternatives — bloated, resource-hungry, or disrespectful of my privacy. This is a personal copy paste productivity tool, built from a real need, shared because others might need a better clipboard manager too. Free to use, free to inspect, free forever. No analytics, no subscription, no upsell. - -If you find it useful, I'm glad. If you want to help make it better, even better. - -
-

Built with care and too much coffee.

-
+ +### Card Customization + +Each clipboard card can be personalized with: + +- **Custom Label:** Add a descriptive name (up to 50 characters) to identify your items quickly +- **Color Indicator:** Choose from 6 colors (Red, Green, Purple, Yellow, Blue, Orange) or None to visually categorize your items + +To edit a card: + +- **Right-click** on any card → Select "Edit" +- **Press E** with a card selected +- **Click the ... menu** on hover → Select "Edit" _(Default theme only)_ + +### Advanced Filters + +CopyPaste includes three filter modes to help you find items in your clipboard history quickly: + +| Mode | Description | How to Use | +| :----------- | :-------------------- | :------------------------------------------------------------------------------------------- | +| **Content** | Text search (default) | Type in the search box to filter by content or label | +| **Category** | Filter by color | Select colors from the dropdown to show only items with selected colors | +| **Type** | Filter by item type | Select from the dropdown to filter by content type | + +**Switching Filter Modes:** + +- Click the filter icon next to the search box and select a mode from the flyout +- Use keyboard shortcuts: Alt+C (Content), Alt+G (Category), Alt+T (Type) + +**How Filters Work:** + +- Each mode applies only its relevant filter — text search in Content mode, colors in Category mode, types in Type mode +- Switching modes automatically uses the appropriate filter without mixing criteria +- In Category and Type modes, select multiple options from the dropdown for precise filtering +- Press Esc to clear the current filter +- When filtering, pinned items show a pin icon in the footer to help identify them + +**Clearing Filters:** Press Esc to clear the current filter (search text, colors, or types depending on the active mode). + +**Configurable Reset Behavior:** In Settings, you can configure whether filters reset when the window opens: + +- Reset to Content mode on open +- Clear text search on open +- Clear category (color) filter on open +- Clear type filter on open + +### Card Expansion + +Clipboard items (cards) can be expanded to show more text content: + +**With Mouse:** + +- **Single click** on a card → Expand to see full text (click again to collapse) +- **Double click** on a card → Paste the item immediately to your previous app +- Only one card can be expanded at a time +- All cards collapse when the window is hidden +- In **Default** theme, hovering a card reveals quick action buttons +- In **Compact** theme, cards have no hover effect (use right-click instead) + +Double-click always collapses the card before pasting, so your last click state is always clean. + +**With Keyboard:** + +- **Right arrow →** → Expand/collapse the selected card +- Cards automatically collapse when you navigate to a different item with ↑/↓ +- Only one card can be expanded at a time + +### Keyboard-Only Workflow + +1. **Press Ctrl+Alt+C** on Windows or **Control+Shift+V** on macOS (customizable in Settings) → Window opens with focus on search box +2. **Type to filter** (optional) → Results update in real-time (searches content and labels) +3. **Press Esc** (optional) → Clear search to see all items again +4. **Press ↓** → Navigate to first clipboard item +5. **Use ↑/↓** → Select the desired item +6. **Press →** (optional) → Expand card to see full text +7. **Press E** (optional) → Edit card to add label/color +8. **Press Enter** → Item is pasted to your previous application + +This copy-paste workflow matches the efficiency of double-clicking with your mouse but keeps your hands on the keyboard. + +### Filter Configuration + +In the **Settings** window, you can customize filter behavior: + +- **Return to Content mode on open:** When enabled, always starts in Content mode (text search) when opening CopyPaste +- **Clear search on open:** Automatically clears the search text when opening the window +- **Clear category filter on open:** Resets color selections when opening (only applies if not returning to Content mode) +- **Clear type filter on open:** Resets type selections when opening (only applies if not returning to Content mode) + +If "Return to Content mode on open" is enabled, the other clear options are automatically disabled since returning to Content mode achieves the same result. + +--- + +## Getting Started + +| OS | Recommended | Alternatives | +| :---------- | :-------------------------------- | :------------------------------------------------- | +| **Windows** | Microsoft Store | Scoop · standalone `.exe` | +| **macOS** | Homebrew | Standalone `.dmg` | + +After installing, open CopyPaste with **Ctrl+Alt+C** on Windows or **Control+Shift+V** on macOS. Both are customizable in Settings → Shortcuts. + +### Windows + +**Microsoft Store** (recommended) — one click, automatic updates, no security warnings. + +> [Install from the Microsoft Store](https://apps.microsoft.com/detail/9NBJRZF3K856) + +**Scoop** — for command-line installs, tracked with `scoop update`: + +```sh +scoop bucket add rgdevment https://github.com/rgdevment/scoop-bucket +scoop install copypaste +``` + +**Standalone `.exe`** — direct download from [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest). The installer is self-signed; see the [security note](#standalone-downloads) below. + +--- + +### macOS + +**Homebrew** (recommended) — installs the universal binary (Apple Silicon + Intel) and tracks updates with `brew upgrade`: + +```sh +brew tap rgdevment/tap && brew install --cask copypaste +``` + +**Standalone `.dmg`** — direct download from [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest). Same universal binary, manual updates. + +--- + +### Linux support (discontinued) + +> **Linux was maintained through v2.11.0 and is discontinued from there on.** Keeping the X11 shell +> (global hotkey, XTest paste-back, AppIndicator tray) and the AppImage / `.deb` / `.rpm` pipeline +> alive was beyond the resources of a single-maintainer project, so the platform was retired rather +> than left to rot half-working. + +- **v2.11.0 is the last release with Linux builds, and it stays available.** Its artifacts remain on + [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/tag/v2.11.0) and keep working; + installed copies point there instead of at a version they cannot install. They receive no fixes, + no security updates and no new features. +- **No new Linux packages are published.** The openSUSE Build Service repositories, the Homebrew + `copypaste-linux` formula and the self-updating AppImage are frozen at v2.11.0 so reinstalling + still works, but nothing new lands there. +- **Your data is untouched.** History, images and settings stay in + `~/.local/share/com.rgdevment.copypaste/CopyPaste/` — back that folder up before uninstalling if + you want to keep it. +- **Bug reports for Linux are not accepted.** The last state with full Linux support is archived on + the [`v2-linux-archive`](https://github.com/rgdevment/CopyPaste/tree/v2-linux-archive) branch — + code, packaging and CI included — for anyone who wants to fork and continue it. The GPL v3 + licence covers exactly that. + +### Compatibility + +| Platform | Versions | Architecture | +| :---------- | :------------------------------------------- | :-------------------------------- | +| **Windows** | Windows 10 (1809+), Windows 11 | x64 | +| **macOS** | Ventura (13.0+) | Universal (Apple Silicon + Intel) | + +### Standalone Downloads + +Direct packages live on [GitHub Releases](https://github.com/rgdevment/CopyPaste/releases/latest): + +| Platform | File | Notes | +| :---------- | :------------------------- | :-------------------------------------------------------------------------- | +| **Windows** | `*_Setup.exe` | Self-signed installer — see security note below | +| **macOS** | `*.dmg` | Universal binary (Apple Silicon + Intel) | + +
+Windows standalone: security warnings + +Since CopyPaste is an independent open source project, the installer uses a self-signed certificate. Windows and your browser may show security warnings — **this is normal and expected.** + +- **Browser:** Chrome/Edge may block the download — click Keep or Keep anyway. +- **SmartScreen:** Click More info → Run anyway (only happens once). +- **Why?** Code signing certificates cost $200–800/year. The code is 100% open source — you can inspect every line. SHA256 checksums are provided for each release. + +
+ +--- + +## FAQ + +**Is CopyPaste free?** +Yes. Completely free and open source. No premium tiers, no subscriptions, no paywalls — ever. That covers using it anywhere, including across a company, and packaging it for a distribution or package manager. Only redistributing it inside a product of your own needs [separate terms](COMMERCIAL.md). + +**Does it upload my clipboard data?** +No. Everything stays on your machine. There is no cloud, no server, no sync. CopyPaste is a local-first clipboard manager by design — your copy paste data never leaves your computer. + +**Does it store passwords?** +No. Passwords and clipboard content from password managers are automatically ignored. + +**Do I need internet to use it?** +No. CopyPaste works fully offline. The standalone version makes a lightweight check for updates (no user data sent), but works perfectly without a connection. + +**Does it sync clipboard history between devices?** +No. There's intentionally no cloud sync. Your copy history stays on the device where you copied it. This is a local-first copy tool, not a cloud service. + +**Where is my clipboard history stored?** +Windows: `%LOCALAPPDATA%\CopyPaste\` — macOS: `~/Library/Application Support/com.rgdevment.copypaste/CopyPaste/`. Each folder contains the database, images, config, and logs. + +**What platforms does this copy-paste tool support?** +Windows 10/11 and macOS (Ventura+). Linux support was discontinued — see [Linux support (discontinued)](#linux-support-discontinued). + +**Does it start automatically with Windows?** +Optionally, yes. Enable it in Settings → General → Start with Windows. On the Microsoft Store version it uses the Windows StartupTask system; on the standalone installer it registers through the standard Windows startup mechanism. No administrator rights are required for either. + +**Does the macOS version work on Intel Macs?** +Yes. The DMG contains a universal binary that runs natively on both Apple Silicon (M1/M2/M3/M4) and Intel Macs. + +**How is CopyPaste different from other clipboard managers?** +CopyPaste is a personal project, not a company product. There are no ads, no telemetry, no accounts, and no data collection. Unlike most copy paste tools, it's built to feel native on each platform (Mica on Windows, Sidebar material on macOS), it's fully keyboard-driven, and it respects your privacy completely. It's an open source clipboard utility focused on productivity — you can verify every line of code yourself. + +--- + +## Support and Bug Reporting + +### Exporting Logs + +If CopyPaste is misbehaving, you can export a diagnostic log bundle directly from the app. + +**Steps:** + +1. Open CopyPaste → **Settings** (gear icon) +2. Go to the **About** tab +3. Under **Support**, click **"Export Logs"** +4. Save the .zip file to a location of your choice +5. Attach the zip to your [GitHub issue](https://github.com/rgdevment/CopyPaste/issues/new) + +The zip includes: + +- Recent application log files (.log) +- The `crash.log` file if one exists (created when the app fails to start or crashes during initialization) +- A `device_info.txt` with your OS version and app version — no personal data + +**Privacy guarantee:** Logs and the crash file contain only application events, errors and stack traces. **Your clipboard content is never written to any of them.** Before zipping, an automatic redaction pass replaces your user name, home folder path and any email addresses with ``, `` and `` placeholders. The exported file stays on your machine until you explicitly share it. Nothing is sent automatically. + +### Opening the Logs Folder + +If you prefer to inspect log files directly: + +1. Settings → About → Support → **"Open Logs Folder"** +2. Your file manager opens at the logs directory + +Logs are plain text — you can review them before deciding what to share. + +### Reporting on GitHub + +1. [Open a new issue](https://github.com/rgdevment/CopyPaste/issues/new) +2. Describe what happened and steps to reproduce +3. Attach the exported log zip (optional but very helpful) +4. Include your OS version and CopyPaste version (shown in Settings → About) + +You decide exactly what you share. The reporting process is fully manual and private. + +--- + +## Clean Install and Reset + +Sometimes you need a fresh start — for troubleshooting, transferring to a new machine, or just cleaning up. + +**Where to find it:** Settings → About → **Reset & Clean Install** + +### Soft Reset + +Resets all settings to defaults and marks the app as a new installation. **Your clipboard history is preserved.** + +Use this when: + +- Settings became corrupted or something isn't behaving correctly +- You want to start fresh with default configuration without losing history + +### Hard Reset + +Deletes everything — clipboard history, images, settings, and logs — then restarts the app. **This action cannot be undone.** + +Use this when: + +- You want a completely clean slate +- You're transferring to someone else or decommissioning the app + +### Microsoft Store Users + +Both reset options work identically on the Microsoft Store version. MSIX packaging uses filesystem virtualization, so the app's data folder is the real package data path — CopyPaste can find and wipe it without needing elevated permissions. + +The Windows Settings "Reset app" button does the same thing as Hard Reset. Both are safe to use. + +--- + +## Found a Bug? Have Feedback? + +**Your feedback shapes what gets built next.** Here's how to reach me: + +| What you need | How | +| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | +| **Report a bug** | [Open an Issue](https://github.com/rgdevment/CopyPaste/issues/new) — tell me what happened and how to reproduce it | +| **Suggest a feature** | [Open an Issue](https://github.com/rgdevment/CopyPaste/issues/new) — tell me what you'd like to see | +| **Ask a question** | [Start a Discussion](https://github.com/rgdevment/CopyPaste/discussions) — ask anything or just say hi | +| **Show support** | Star the repo — helps other people find this clipboard manager | +| **Contribute code** | [Check CONTRIBUTING.md](CONTRIBUTING.md) — PRs welcome | + +**When reporting bugs, include:** + +- OS and version (e.g., Windows 11 24H2, macOS Sequoia 15.3) +- What you were doing +- Any error messages +- CopyPaste version (check Settings → About) +- Exported log zip if available (Settings → About → Support → Export Logs) — it now also bundles `crash.log` if the app failed to start, with personal info redacted automatically + +--- + +## What's Coming and What's Changed + +I keep a clear record of what's been added, fixed, and planned: + +**[View Release Notes & Changelog](https://github.com/rgdevment/CopyPaste/releases)** — complete history of all changes. + +--- + +## Localization: Help Translate CopyPaste + +CopyPaste should speak your language. Currently it supports English and Spanish, but the goal is to reach people everywhere. + +### Currently Supported Languages + +| Language | Tag | Status | +| :------------------ | :---: | :------: | +| Spanish (Chile) | es-CL | Complete | +| English (US) | en-US | Complete | + +### How It Works + +- **Automatic Detection:** The app detects your system language and applies the appropriate translation. +- **Regional Fallback:** If your exact region isn't available (e.g., es-MX), it falls back to the base language (e.g., es-CL). +- **Manual Override:** You can force a specific language in the Settings panel. + +### Help Add a New Language + +CopyPaste uses Flutter's standard ARB-based localization. Adding a new language requires creating one file. + +#### Steps to Add a New Translation + +1. **Create a branch** from main in the repository. + +2. **Copy the base language file:** + + ```text + app/lib/l10n/app_en.arb + ``` + + This is the reference file with all translation keys. + +3. **Name your file using the language code:** + - app_de.arb (German) + - app_fr.arb (French) + - app_pt.arb (Portuguese - Brazil) + - app_ja.arb (Japanese) + +4. **Translate the values** (keep the keys in English — only change values): + + ```json + { + "@@locale": "de", + "searchPlaceholder": "Suche im Zwischenablage…", + "emptyStateSubtitle": "Kopiere etwas, um zu starten", + "pinned": "Angeheftet", + "recent": "Zuletzt" + } + ``` + +5. **Run flutter gen-l10n** (or flutter pub get) to regenerate the localization classes. + +6. **Test your translation** by changing your system language or using the manual override in Settings. + +7. **Submit a Pull Request** with your ARB file. + +#### Translation Guidelines + +- Keep translations concise — UI space is limited +- Use formal or neutral tone +- Preserve ARB placeholders like {name} or {count} +- Include "@@locale": "xx" at the top of the file +- Don't translate brand names (CopyPaste, Windows, etc.) +- Don't change ARB keys (only values) + +--- + +## Want to Help? + +Contributions are always appreciated — whether that's a bug report, a translation, or a pull request: + +- **Write Code** — Fix bugs or add features. See [CONTRIBUTING.md](CONTRIBUTING.md) for setup. +- **Translate** — Add your language. [See guide](#localization-help-translate-copypaste). +- **Report Bugs** — If something breaks, [open an issue](https://github.com/rgdevment/CopyPaste/issues/new). +- **Share Ideas** — Tell me what you wish this clipboard manager could do. + +--- + +## Tech Stack (For Developers) + +If you're curious about what's under the hood of this open source clipboard manager: + +| Technology | Why | +| :---------------------------------------------------- | :------------------------------------------------------------------------------------ | +| **Flutter** | Cross-platform UI toolkit — native on Windows and macOS. | +| **Dart** | Clean, performant language for core logic, services, and domain models. | +| **Platform Channels + FFI** | Native integration with each OS for clipboard hooks and system APIs. | +| **Windows Mica / macOS Sidebar** | Native translucent effects that match each platform's design language. | +| **C++ Plugin (Win) / Swift (Mac)** | Low-level clipboard listener to capture every content type before the OS discards it. | +| **Native C++ Launcher (Win)** | Lightweight splash process that appears instantly while Flutter warms up. | +| **SQLite (Drift) + FTS5** | Local database with full-text search across content and labels. | +| **Auto-update (Standalone)** | Ed25519-signed release manifest hosted on GitHub Releases; in-app badge notifies users of new versions and enforces blocks on versions with critical issues. | +| **Theme System** | Built-in Default and Compact themes, plus custom theme support via external packages. | + +--- + +## Themes + +CopyPaste follows your system theme automatically — no configuration needed. + +- **Light** — Clean and bright, matching a light OS theme. +- **Dark** — Easy on the eyes, matching a dark OS theme. +- You can override the automatic selection in **Settings → General → Theme**. + +--- + +## Other Tools by the Same Author + +I build free, open source tools focused on privacy and productivity. If you like CopyPaste, you might also find this useful: + +

+ + LinkUnbound + +

+ +### [LinkUnbound](https://github.com/rgdevment/LinkUnbound) + +A free, open source browser picker for Windows and Mac. Every link you click gets intercepted — domain rules open the assigned browser instantly, or a small picker appears near your cursor to let you choose. Resolves Microsoft SafeLinks and redirect wrappers before matching rules. + +No ads. No telemetry. No accounts. Everything local. + +--- + +## License and Spirit + +**CopyPaste** — A modern, open source clipboard manager and copy-paste tool for Windows and macOS. +Copyright (C) 2026 Mario Hidalgo G. (rgdevment) + +This program comes with ABSOLUTELY NO WARRANTY. +This is free software, and you are welcome to redistribute it under certain conditions. +Distributed under the **GNU General Public License v3.0**. See [LICENSE](LICENSE) for more information. + +CopyPaste is dual licensed. The GPL-3.0 covers everyone using, deploying, +auditing, packaging or forking it — which is almost everybody, and it costs +nothing. Redistributing it inside a product of your own needs separate terms: +see [COMMERCIAL.md](COMMERCIAL.md). + +Packaging it for a distribution or package manager is ordinary GPL +redistribution and needs no permission from anyone. + +Contributions require a one-time [CLA](CLA.md); you keep the copyright on your +work. + +--- + +I built CopyPaste because I was tired of the alternatives — bloated, resource-hungry, or disrespectful of my privacy. This is a personal copy paste productivity tool, built from a real need, shared because others might need a better clipboard manager too. Free to use, free to inspect, free forever. No analytics, no subscription, no upsell. + +If you find it useful, I'm glad. If you want to help make it better, even better. + +
+

Built with care and too much coffee.

+
diff --git a/analysis_options.yaml b/analysis_options.yaml deleted file mode 100644 index 08eeefd2..00000000 --- a/analysis_options.yaml +++ /dev/null @@ -1,33 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -analyzer: - exclude: - - "**/*.g.dart" - - "**/*.freezed.dart" - language: - strict-casts: true - strict-inference: true - strict-raw-types: true - -linter: - rules: - # Style - prefer_single_quotes: true - prefer_const_constructors: true - prefer_const_declarations: true - prefer_final_locals: true - prefer_final_fields: true - sort_constructors_first: true - use_super_parameters: true - unnecessary_late: true - require_trailing_commas: true - - # Safety - avoid_print: true - avoid_relative_lib_imports: true - cancel_subscriptions: true - close_sinks: true - unawaited_futures: true - - # Documentation - public_member_api_docs: false diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 3820a95c..00000000 --- a/app/.gitignore +++ /dev/null @@ -1,45 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.build/ -.buildlog/ -.history -.svn/ -.swiftpm/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins-dependencies -.pub-cache/ -.pub/ -/build/ -/coverage/ - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/app/.metadata b/app/.metadata deleted file mode 100644 index 33cef2bf..00000000 --- a/app/.metadata +++ /dev/null @@ -1,33 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "48c32af0345e9ad5747f78ddce828c7f795f7159" - channel: "stable" - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - platform: macos - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - platform: windows - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/app/analysis_options.yaml b/app/analysis_options.yaml deleted file mode 100644 index 5e2133eb..00000000 --- a/app/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: ../analysis_options.yaml diff --git a/app/assets/icons/icon_linkunbound.png b/app/assets/icons/icon_linkunbound.png deleted file mode 100644 index 60277ea12a8fd9789906a810d2c7fb791b379c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16219 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
08rTeH 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%0A=4afIY=Lwi))O5xn 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�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 WyFT>D?ScsSJXF=bU#4vN@_zuaR%vJe diff --git a/app/assets/icons/icon_mac_tray.png b/app/assets/icons/icon_mac_tray.png deleted file mode 100644 index 460488eb0a27eabb536f1b83ed4b9bef24a1b9a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1807 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fjKx9jP7LeL$-D$|mZe5`ruq6Z zXaU(A3~Y=-49p-UK*+!-#lQ+?GcbfPO2gT4j2ciiOh7e;3_y}W6o}K>GZ|Q*>T7^B z2zUT7&?E>QkXezMlbcwQU!)LFl&@f{XRc=mlw)4Nh_G`36Wk231dxE(xJ7xzP+tN4r(cm+pl_&WppQ*c zYDFf(c__L-GB~xBWTxTJ29kkj0|y4gjW)m#wQ?>>1x02^etwP}wz##?M^}aLqz%Y5 zR$yHbE}6NhdBwm0u`@L?u+hgVgH>lFPMt_HNIF4Yu?k8p&d(_Yg@0&XW{I7VjXpME zbX^e$ZFc4`J;;LS8X~c2Ko&&T;9r!P3QRH}huIlI9fd3gRd1sYN;OES2$Dp>qQEq2 z#{~>^SbDePx*{}p9|Hr^6Hgb%5DUS#Q%+}vI104wKEKr6wk2rJ?Ji*disR z8B;r?tS8uw}s`r3DERfs1;iie{d+T&`bNJ4rIRrBhnG ziM4juuGi~V?O(mCU*P}K{BVbL{txaHEx&fLPIK`)gDD#gZ^lTpaUVOOm-fI-LU~E} z%-m^LPu)nnb^Esc`rfNNZ{|#ny6(^BSmJr=!;~pW(*=ym&ed(W=ELTA;q*U8#()P; z_jeq#OYfP&u?lMw9iz}=xsMVFsqR7yUejQXVoO;Jy1E$EEzjx zVNJB&^z^Qyk0u>w^5Z}FV&eJp8{@L(#yI3Ax176Lwmh?n^>=W7``f=Np1%UQd)6kn zYg~OTI$Q4ew)4k%{v4OM&3XH69Qy|?o~i3YTN9Vuv5`Lhk=w^|nq`QW>Wx1U9+URC zy7VEXee>~;D%yv*QVTsJj_pQyk)B+(`A0|70Bh<8?pLo)sC{m6|x`qOO)c^1Iw2x2@*yzC&qJ+b#z#aZ9}6IjQ{2KJ{52JFi=&uHC_XTk_h@KSDR& zA6V9$eoOxNs@dEEpQTQ-WG=P|U-?v^N1kc7->1s7$z3J$f~FlXk$&~~&%_Bi51yai z%pdXo&WVkM=FyKf=`23!$b9;}`xD>%r&k!ZAL5YXIQYigK~?*X()#Sf2c((8jL%(~ pW9W72zvFJNg`bwHPOiW7gZb5hZwsFmHHU-Bd{0+Dmvv4FO#nDNj4A*C diff --git a/app/assets/icons/icon_mac_tray@2x.png b/app/assets/icons/icon_mac_tray@2x.png deleted file mode 100644 index 1d906697c72157b6c321687d476ac75cebf17cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3291 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 diff --git a/app/assets/icons/icon_notification.png b/app/assets/icons/icon_notification.png deleted file mode 100644 index 2981fa46ab230182a96d0164105245cc899ee492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142498 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

#TWK=vB`FicB>pE+ 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 XuUD}V(&^@{5QBM~3c>Bq+SyLvb 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

n=|7;*!$Nm{jUx!pp%6vOUL&p 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­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ΠaEj!L*#~ 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®73Ay|VrM0{B`6Xuo&#-XEYTr8&?5W$+XS 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�orLlyWhz=;Q*(k^g*AeF{?OYFzf2~o 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�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

6}MfUml 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

CgH-p7aAHybx(e~jt>>o7gCI*qnnD3* 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 WcU!WA(J2@Le!7|nc%`}n_J05oQC4*T diff --git a/app/assets/icons/icon_tray.ico b/app/assets/icons/icon_tray.ico deleted file mode 100644 index 11ef74b2761eee1c6353a7f9f21168dc94871a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18099 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 Ze*hgI#0SQ^VIKeh002ovPDHLkV1l8mbbkN< diff --git a/app/assets/icons/icon_tray_32.png b/app/assets/icons/icon_tray_32.png deleted file mode 100644 index 86af0c4d96a1157393f25a5f109fc7bdfe21af1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3380 zcmV-44a@S0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D49Q7EK~z{r#gu7O z)K{9uGd=0~FdrsorYA|qR?`|IiVIL|RRt6j#l8y$BPzCv#x;t{q971NMK)1H#f41} zilT~r6QrQ3px8k{R3vK0#MU+^OD8>TPS5=A96U2hr|0`T=RD_s@B9Do{LXvdd*68D z|Bw(>|0pJ^{z-@#5B*XM75wsL?Uj??6hi;z%vvv!->ecJ&D4IO7y376_TuIKjbF^v z^}_Xk{=e}LKhOC)eVSDfu(#OQviqv}{;pEf!`+454`T`q58?{DKaa`pn2ycwx_{`L z;eO&->9?y0mi{ZwXJ_vhIuJ)fUGGH^ftVDHqqy#x2p?;f1a z+c_|O`oQSD+~mRL^Ni=2jYz)_Ml$G?(P!tTg@V2(}+l0cS{`mXj~i* zm=q`cABc>=FU8s5Z$#eqXCmY5(C_{xJSzF(T(4t|FKl!Bghf_2A7mR@meq?*rWyNm z1I}q(xTW5}>$6ULlZ*r;m8&IWn<9oD=kmPPYN;I)H&P+tKiO4;jMD1v2M^rnXMs^Xi#y~4ZD8K1ZWd;Du{=|c zB-4mpW-qF<{j4e&Bq+yBKx#K@Qo322WM)%BKU-oAY~R<({+-<%+SW(n#$ggy4RgeI zj1-?+q`8m21jv+*l5I1}g_Y05aof9buK{ApQf*H4iDj8aX6C>mb0)kK%aeM%FZOeG zXqu6yPx#{7uekTeN9cy8S$m?3^7fldPJK>){{;HZaoSpM(bh6fN7DoiW#bgY-{g46 zEz&&3IH?#RQ#MML?HCtqo`{o@+cB>J;>wd=0;G4dEM3p?^iGzX=w$8Heg>aE=6jy; zpF9V?2A=V!zdj){w~K*^Tfh{5eLlh0kM1%tF~RWII3wdX8Mrgd@YDoN<&$Ks9_6IR zC|ORUWZREYVE3gsAsKxQ;22Yy=#Xg^D^okMI@-aq)a&@1?!@@TBkp|v6%YUNjG?EG zXc->n_S86E|L~NJr#fjIx(z(xr*CdEVm8xU*G+kO2O3>B!}lh*^W-km-%in7ahH>R zqhz^_k}VtIg8i2wT{3d;6@V^F*K45tiJHcIXa2&GhG+$3(?f^HD@G5vz+>8&tx9t;I|}80YDWM|}CiV+v!( zNmq`L)%rZi!j+<spBq?IbCrmhYcU15dd#^oX>e zK2E5HIOFtCq)KN4?7nbC9@5l5&Hm_iwnf&neQhJV!`nCzc!SJ{4*vY);mg6D?0-N?a1Td4 z`Z?wNK%~ffX8~-xa9DMuO}NGBa66!7#g;4NH1|+7I7Z{(9kyoo;2qaWP|S6L_P5}> zvz`s9*Ey*f3d6x#*vc8GUYirpS*39mpb`Gd+&|Wagi|-!8izl>Sy~!b81IeDf zWXSJ}M0xkD8Q4$|uZn3A%Kchg_o=b`_!65l8Y$@+rC8s`)%GC{p6(?o)yS3rip${iIrZ!W>o=N!?eo5*iAak0TjX-hu^HGN#EH&fm* zfYvZVgK?O|&pJ7f)XBBxVajTU=``Nr;lq18etM5*Uq9r>AHSe5&B%7eb#|y)*rjS9 z)&91Kljvu4AoN_kYI~z_-Ks_zRfTd(InuB~tW;;&nW*D*X%_`L6BX@)H1&;Qyg5!| z_b|Kmx3FnfD<#dtT&^)wpzhWOsL5-HbkaM_sH zzM}1Q2NZt!alR2PLb*nVGNKCih$>Vct5JokaSN+J?pKUNc@ZnuJZxRh;jFrXi>jRc zskIbT>QUDZ;OBJ(>qV!LF1duu;xd#U)DW_~jc~g*!lm`Bk=79|t!9mVC3_d&6x%Fj z9f904H`Xh(RVYKWxQA7u3avyn^Ictq=jtl_L)7?&&badBIw(|wi%U5P$Lh$r+(6Ma z6X8Df_}bSJ=+HojZ40Yxnh2A$5Ng{@ux$fDl6qFzX$ZEeVAuQ!5w&pkHFP@@>lScb z$h|bU`BdQQUx7=I24zS!UO^gsgVp$kRNxm}Mqp4GL4Mb8b|@k1OdW-q2GX*c2~)Ka zMOBD;<7TIs#T!;kQ)H_BoSc^TJuzP%b|ctMF_W4(`>+ zywpg2W~{;4PlL+88t;Hgy#34Y@+&65rx1US5~L27$h}-glevQvnN9f18t}KPA<(7) zf9pm9me=FAqz)g88hn@P@Uzt7XIX`}g_(x;`Lz_o{Kd6?wvbg{rp(~HV)~rE^gO_jdL9mXC3w~Ivi%K ztinlEiL2W+TwP0WRTQIgEyP1{882xG&Q^uUmR`bXNioW$*YI3giSH6M{vT8kI=6=K z-_#L2UyJ((YTOrS@LEuf$8U9Pcz04nemD!jQI;L&q-+%{R-3_v#3n zQ-{|A9qtQtc)eeP`#c@%-@Yv(mbT1#3GEU$OPy+jrBsWRv>I!f25WgW5?KXO=~bkT zS8;SG!o{%&h5Z%WY>H4?mEyXx429)2oGnW6{Gg1$`4t4u(-1nRhS2xwSof<&BHnJq ze_kE#@7JQ5tHu2{HLQDQT!gMD-}VZ?Va2++cD5J(vO-obmN{0k(oxMyX$2C;QtTZ{ zuyrg&Vqb{V_6jaGmr+<3;%apjm8BXNi*j5RmEb$SoS?ba2%1+xz+4Th-qEn-t!6g7 z-9q4dwYbgGqMB2K_d6XTXny01kDSuyzXF(%&GLjz4$=}~>)ar$>MkF%(havNGgQVRxP}&bi!-7PPkgCh0h|b2w6}gf*0yU*un-8Hosm({ad?; z`R9JI`>g@7_C3Aunb$0W=k$o+1#Lnp$=Lcg;r}bSWS@)7@nngeG^f`=me+6RaJtXV z{*>9)@r>EQ_DrwLHqY!N$?tWQF4O>ud_O&QAdMzz3^0Ysp_<8RCtNt5QLdRR4Y=Ff80000< KMNUMnLSTZ6H?C*^ diff --git a/app/assets/icons/icon_tray_64.png b/app/assets/icons/icon_tray_64.png deleted file mode 100644 index 563677d8285427c18953569cd0e6e7f6e4e6d5c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12076 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 WeebCNIL}7_0000 open(String url) async { - final platform = platformOverride ?? _currentPlatform(); - if (platform == 'windows') { - await Process.start('cmd', ['/c', 'start', '', url], runInShell: true); - } else if (platform == 'macos') { - await Process.start('open', [url]); - } - } - - static String _currentPlatform() { - if (Platform.isWindows) return 'windows'; - if (Platform.isMacOS) return 'macos'; - return 'other'; - } -} diff --git a/app/lib/l10n/app_en.arb b/app/lib/l10n/app_en.arb deleted file mode 100644 index 26002a9f..00000000 --- a/app/lib/l10n/app_en.arb +++ /dev/null @@ -1,675 +0,0 @@ -{ - "@@locale": "en", - - "searchPlaceholder": "Search clipboard\u2026", - "@searchPlaceholder": { "description": "Search box placeholder" }, - - "emptyState": "No items in this section", - "@emptyState": { "description": "Empty list message" }, - - "emptyStateSubtitle": "Copy something to get started", - "@emptyStateSubtitle": { "description": "Empty state subtitle" }, - - "hintBannerText": "CopyPaste is active and running in the background. Look for it in the system tray or just use your shortcut. Feel free to customize your experience in", - "@hintBannerText": { "description": "First-run hint banner text" }, - - "hintBannerAction": "Settings", - "@hintBannerAction": { "description": "First-run hint banner action" }, - - "settingsTitle": "Settings", - "@settingsTitle": { "description": "Settings screen title" }, - - "sectionShortcuts": "KEYBOARD SHORTCUTS", - "@sectionShortcuts": { "description": "Shortcuts section header" }, - - "sectionStorage": "STORAGE", - "@sectionStorage": { "description": "Storage section header" }, - - "settingRunOnStartup": "Run on startup", - "@settingRunOnStartup": { "description": "Run on startup toggle label" }, - - "settingLanguage": "Interface language", - "@settingLanguage": { "description": "Language picker label" }, - - "hotkeyWillApply": "Hotkey will apply immediately", - "@hotkeyWillApply": { "description": "Hint when hotkey changes" }, - - "sectionSupport": "SUPPORT", - "@sectionSupport": { "description": "Support section header in About tab" }, - - "supportExportLogs": "Export logs", - "@supportExportLogs": { "description": "Export logs action label" }, - - "supportExportLogsSubtitle": "Save a zip with app logs for a bug report. Your clipboard content is never included.", - "@supportExportLogsSubtitle": { "description": "Export logs subtitle" }, - - "supportOpenLogsFolder": "Open logs folder", - "@supportOpenLogsFolder": { "description": "Open logs folder label" }, - - "supportOpenLogsFolderSubtitle": "Browse the raw log files in your file manager.", - "@supportOpenLogsFolderSubtitle": { "description": "Open logs folder subtitle" }, - - "supportGitHub": "Report a bug on GitHub", - "@supportGitHub": { "description": "GitHub issue link label" }, - - "supportExportSuccess": "Logs saved to Downloads.", - "@supportExportSuccess": { "description": "Snackbar after successful log export" }, - "supportShowInFiles": "Show", - "@supportShowInFiles": { "description": "Snackbar action to reveal the exported file in Finder/Explorer" }, - - "supportExportEmpty": "No log files found.", - "@supportExportEmpty": { "description": "Snackbar when no logs exist" }, - - "supportExportError": "Failed to export logs.", - "@supportExportError": { "description": "Snackbar on export error" }, - - "sectionReset": "RESET & CLEAN INSTALL", - "@sectionReset": { "description": "Reset section header in About tab" }, - - "resetSoftLabel": "Soft Reset", - "@resetSoftLabel": { "description": "Soft reset action label" }, - - "resetSoftSubtitle": "Resets all settings to defaults and marks app as fresh install. Clipboard history is preserved.", - "@resetSoftSubtitle": { "description": "Soft reset subtitle" }, - - "resetHardLabel": "Hard Reset", - "@resetHardLabel": { "description": "Hard reset action label" }, - - "resetHardSubtitle": "Deletes all clipboard history, images, and settings. This cannot be undone.", - "@resetHardSubtitle": { "description": "Hard reset subtitle" }, - - "resetSoftConfirmTitle": "Soft reset?", - "@resetSoftConfirmTitle": { "description": "Soft reset confirm dialog title" }, - - "resetSoftConfirmMessage": "All settings will return to defaults and the app will restart as if freshly installed. Your clipboard history will not be deleted.", - "@resetSoftConfirmMessage": { "description": "Soft reset confirm dialog message" }, - - "resetHardConfirmTitle": "Hard reset?", - "@resetHardConfirmTitle": { "description": "Hard reset confirm dialog title" }, - - "resetHardConfirmMessage": "This will permanently delete all clipboard history, images, and settings, then restart the app. This cannot be undone.", - "@resetHardConfirmMessage": { "description": "Hard reset confirm dialog message" }, - - "resetConfirmButton": "Reset & Restart", - "@resetConfirmButton": { "description": "Reset confirm button label" }, - - "clearHistoryConfirmTitle": "Clear history?", - "@clearHistoryConfirmTitle": { "description": "Clear history dialog title" }, - - "clearHistoryConfirmMessage": "This will permanently delete all non-pinned clipboard items. This action cannot be undone.", - "@clearHistoryConfirmMessage": { "description": "Clear history dialog message" }, - - "clearHistoryConfirmButton": "Clear", - "@clearHistoryConfirmButton": { "description": "Clear history confirm button" }, - - "backupLastDate": "Last backup: {date}", - "@backupLastDate": { - "description": "Last backup date", - "placeholders": { - "date": { "type": "String" } - } - }, - - "backupNone": "No backup created yet.", - "@backupNone": { "description": "No backup yet message" }, - - "backupCreateLabel": "Create backup", - "@backupCreateLabel": { "description": "Create backup label" }, - - "backupRestoreLabel": "Restore backup", - "@backupRestoreLabel": { "description": "Restore backup label" }, - - "backupError": "Failed to create backup. Check permissions.", - "@backupError": { "description": "Backup error message" }, - - "restoreDialogTitle": "Restore backup", - "@restoreDialogTitle": { "description": "Restore dialog title" }, - - "restoreDialogWarning": "This will replace all current data with the backup contents. Continue?", - "@restoreDialogWarning": { "description": "Restore confirmation warning" }, - - "restoreFileNotFound": "File not found.", - "@restoreFileNotFound": { "description": "File not found error" }, - - "restoreSuccess": "Restored {count} items.", - "@restoreSuccess": { - "description": "Restore success message", - "placeholders": { - "count": { "type": "int" } - } - }, - - "restoreError": "Restore failed. Your previous data has been preserved.", - "@restoreError": { "description": "Restore error message" }, - - "buttonSave": "Save", - "@buttonSave": { "description": "Save button" }, - "buttonClose": "Close", - "@buttonClose": { "description": "Generic Close button" }, - "buttonCancel": "Cancel", - "@buttonCancel": { "description": "Cancel button" }, - - "buttonReset": "Restore defaults", - "@buttonReset": { "description": "Reset button" }, - - "savingIndicator": "Saving\u2026", - "@savingIndicator": { "description": "Footer indicator while autosave is in flight" }, - - "savedIndicator": "Saved", - "@savedIndicator": { "description": "Footer indicator after autosave completes" }, - - "menuPaste": "Paste", - "@menuPaste": { "description": "Context menu paste" }, - - "menuPastePlain": "Paste plain", - "@menuPastePlain": { "description": "Context menu paste plain" }, - - "menuCopy": "Copy", - "@menuCopy": { "description": "Context menu copy to clipboard without pasting" }, - - "copiedToClipboard": "Copied to clipboard", - "@copiedToClipboard": { "description": "Snackbar shown after the copy action" }, - - "menuPin": "Pin", - "@menuPin": { "description": "Context menu pin" }, - - "menuUnpin": "Unpin", - "@menuUnpin": { "description": "Context menu unpin" }, - - "menuEdit": "Edit card", - "@menuEdit": { "description": "Context menu edit" }, - - "menuDelete": "Delete", - "@menuDelete": { "description": "Context menu delete" }, - - "editColorLabel": "Color", - "@editColorLabel": { "description": "Color picker label in edit dialog" }, - - "colorRed": "Red", - "colorGreen": "Green", - "colorPurple": "Purple", - "colorYellow": "Yellow", - "colorBlue": "Blue", - "colorOrange": "Orange", - - "typeText": "Text", - "typeImage": "Image", - "typeFile": "File", - "typeFolder": "Folder", - "typeLink": "Link", - "typeAudio": "Audio", - "typeVideo": "Video", - "typeEmail": "Email", - "typePhone": "Phone", - "typeColor": "Color", - "typeIp": "IP", - "typeUuid": "UUID", - "typeJson": "JSON", - "filterAll": "All", - "filterPinned": "Pinned", - - "trayTooltip": "CopyPaste", - "@trayTooltip": { "description": "System tray tooltip" }, - - "trayExit": "Exit", - "@trayExit": { "description": "Tray menu exit item" }, - - "subtitleShortcutScopes": "Ctrl+V stays with the active app. History shortcuts work while the CopyPaste panel is open.", - "shortcutOpenClose": "CopyPaste global: Open / close CopyPaste", - "shortcutPastePlainDirect": "CopyPaste global: Paste the current clipboard as plain text", - "shortcutSystemPaste": "Active app: Paste the current clipboard normally (CopyPaste does not intercept it)", - "shortcutEscape": "Clear search or close window", - "shortcutTab1": "Switch to Recent tab", - "shortcutTab2": "Switch to Pinned tab", - "shortcutArrows": "Navigate between items", - "shortcutEnter": "CopyPaste open: Paste the hovered, selected, or first history item normally", - "shortcutPasteSelectedPlain": "CopyPaste open: Paste the hovered, selected, or first history item as plain text", - "shortcutDelete": "Delete selected item", - "shortcutPin": "Pin / Unpin selected item", - "shortcutEdit": "Edit card (label and color)", - - "tabGeneral": "General", - "@tabGeneral": { "description": "General nav tab" }, - "tabBackupRestore": "Backup & Support", - "@tabBackupRestore": { "description": "Backup nav tab" }, - "tabAppearance": "Appearance", - "@tabAppearance": { "description": "Appearance nav tab" }, - "tabShortcuts": "Shortcuts", - "@tabShortcuts": { "description": "Shortcuts nav tab" }, - "tabAbout": "About", - "@tabAbout": { "description": "About nav tab" }, - - "sectionLanguage": "LANGUAGE", - "@sectionLanguage": { "description": "Language section title" }, - "sectionStartup": "STARTUP", - "@sectionStartup": { "description": "Startup section title" }, - "sectionKeyboardShortcut": "KEYBOARD SHORTCUT", - "@sectionKeyboardShortcut": { "description": "Keyboard shortcut section title" }, - "sectionCategories": "CATEGORIES", - "@sectionCategories": { "description": "Categories section title" }, - "sectionPerformance": "PERFORMANCE", - "@sectionPerformance": { "description": "Performance section title" }, - "sectionPaste": "PASTE", - "@sectionPaste": { "description": "Paste section title" }, - "sectionBackupRestore": "BACKUP & RESTORE", - "@sectionBackupRestore": { "description": "Backup and restore section title" }, - "sectionAppearance": "APPEARANCE", - "@sectionAppearance": { "description": "Appearance section title" }, - "settingTheme": "Theme", - "@settingTheme": { "description": "Theme selector label" }, - "themeLight": "Light", - "@themeLight": { "description": "Light theme option" }, - "themeDark": "Dark", - "@themeDark": { "description": "Dark theme option" }, - "themeAuto": "Auto", - "@themeAuto": { "description": "Auto theme option" }, - "sectionBehavior": "BEHAVIOR", - "@sectionBehavior": { "description": "Behavior section title" }, - "sectionAbout": "COPYPASTE", - "@sectionAbout": { "description": "About section title" }, - "sectionLinks": "LINKS", - "@sectionLinks": { "description": "Links section title" }, - - "settingItemsPerPage": "Items per page", - "@settingItemsPerPage": { "description": "Items per page label" }, - "settingMemoryLimit": "Memory limit", - "@settingMemoryLimit": { "description": "Memory limit label" }, - "settingScrollThreshold": "Scroll threshold (px)", - "@settingScrollThreshold": { "description": "Scroll threshold label" }, - "settingPasteSpeed": "Paste speed", - "@settingPasteSpeed": { "description": "Paste speed label" }, - "settingPanelWidth": "Panel width (px)", - "@settingPanelWidth": { "description": "Panel width label" }, - "settingPanelHeight": "Panel height (px)", - "@settingPanelHeight": { "description": "Panel height label" }, - "settingLinesCollapsed": "Lines collapsed", - "@settingLinesCollapsed": { "description": "Lines collapsed label" }, - "settingLinesExpanded": "Lines expanded", - "@settingLinesExpanded": { "description": "Lines expanded label" }, - "settingHideOnDeactivate": "Hide on deactivate", - "@settingHideOnDeactivate": { "description": "Hide on deactivate label" }, - "settingRememberWindowPosition": "Remember window position", - "@settingRememberWindowPosition": { "description": "Remember window position toggle label" }, - "settingScrollToTopOnOpen": "Scroll to top on open", - "@settingScrollToTopOnOpen": { "description": "Scroll to top on open label" }, - "settingClearSearchOnOpen": "Clear search on open", - "@settingClearSearchOnOpen": { "description": "Clear search on open label" }, - "settingRetentionDaysLabel": "Retention days (0 = unlimited)", - "@settingRetentionDaysLabel": { "description": "Retention days label" }, - "settingClearHistoryLabel": "Clear clipboard history", - "@settingClearHistoryLabel": { "description": "Clear clipboard history label" }, - "settingHotkeyShortcutLabel": "Shortcut to open/close CopyPaste", - "@settingHotkeyShortcutLabel": { "description": "Hotkey shortcut label" }, - "subtitleGlobalHotkeyWarning": "System-wide shortcut. It may replace the same combination in another application.", - "settingPlainPasteHotkeyLabel": "Optional global plain-text paste", - "subtitlePlainPasteHotkey": "Pastes the current clipboard as plain text without opening CopyPaste. Enabling a global shortcut can override the same shortcut in other apps.", - "shortcutDisabled": "Disabled", - "currentShortcut": "Current: {shortcut}", - "@currentShortcut": { - "placeholders": { "shortcut": { "type": "String" } } - }, - "hotkeyRequiresModifier": "Add at least one modifier key before saving this shortcut.", - "hotkeyConflictWarning": "This combination is already assigned to the other CopyPaste shortcut.", - "restoreRecommendedHotkeys": "Restore recommended shortcuts", - "plainPasteHotkeyRegistrationFailed": "The direct plain-text paste shortcut could not be registered. It may already be in use by the system or another app.", - "pasteDestinationUnavailable": "Paste was cancelled because the original destination could not be restored. Open CopyPaste with its keyboard shortcut and try again.", - "plainPasteItemUnavailable": "The hovered, selected, or first item cannot be pasted as plain text.", - "plainClipboardUnavailable": "There is no text on the clipboard. Copy some text first, then use plain-text paste again.", - "clipboardWriteFailed": "The item could not be placed on the clipboard because another app is holding it. Try again in a moment.", - "pasteTargetElevated": "The destination app runs as administrator, so Windows blocks the simulated paste. Run CopyPaste as administrator too, or press Ctrl+V yourself.", - "hotkeyRegistrationFailed": "The shortcut {shortcut} could not be registered. It may already be in use by the system or another app.", - "@hotkeyRegistrationFailed": { - "placeholders": { "shortcut": { "type": "String" } } - }, - "hotkeyFallbackActive": "The shortcut {requested} was unavailable. CopyPaste is temporarily using {effective}.", - "@hotkeyFallbackActive": { - "placeholders": { - "requested": { "type": "String" }, - "effective": { "type": "String" } - } - }, - - "subtitleStartupDesc": "Launches in background when you sign in", - "@subtitleStartupDesc": { "description": "Startup subtitle" }, - "subtitleHideOnDeactivate": "Close window when clicking outside", - "@subtitleHideOnDeactivate": { "description": "Hide on deactivate subtitle" }, - "subtitleRememberWindowPosition": "Reopen the window where you left it last time", - "@subtitleRememberWindowPosition": { "description": "Remember window position subtitle" }, - "subtitleScrollToTopOnOpen": "Resets scroll and selects latest item", - "@subtitleScrollToTopOnOpen": { "description": "Scroll to top on open subtitle" }, - "subtitleClearSearchOnOpen": "Clears the search text each time", - "@subtitleClearSearchOnOpen": { "description": "Clear search on open subtitle" }, - "subtitlePasteSpeed": "Adjust restoration and paste timings", - "@subtitlePasteSpeed": { "description": "Paste speed subtitle" }, - "subtitleCategories": "Customize the names of color categories.", - "@subtitleCategories": { "description": "Categories subtitle" }, - - "linkGitHub": "Support & Source code \u2014 GitHub", - "@linkGitHub": { "description": "GitHub link label" }, - "linkCoffee": "Buy me a coffee", - "@linkCoffee": { "description": "Buy me a coffee link label" }, - - "editDialogTitle": "Label & Color", - "@editDialogTitle": { "description": "Edit card dialog title" }, - "editDialogHint": "Add a label...", - "@editDialogHint": { "description": "Label input hint in edit dialog" }, - - "historyCleared": "History cleared", - "@historyCleared": { "description": "Snackbar after clearing history" }, - - "backupSavedFile": "Backup saved: {filename}", - "@backupSavedFile": { - "description": "Backup saved snackbar", - "placeholders": { - "filename": { "type": "String" } - } - }, - - "buttonRestore": "Restore", - "@buttonRestore": { "description": "Restore action button" }, - - "restoreCompleted": "Restore completed", - "@restoreCompleted": { "description": "Restore completed snackbar" }, - - "restoreRestartRequired": "Restore completed. The app will restart to apply changes.", - "@restoreRestartRequired": { "description": "Restore requires restart message" }, - - "shortcutExpand": "Expand / collapse card", - "@shortcutExpand": { "description": "Expand collapse shortcut" }, - - "shortcutFocusSearch": "Focus search box", - "@shortcutFocusSearch": { "description": "Focus search shortcut" }, - - "trayShowHide": "Show/Hide", - "@trayShowHide": { "description": "Tray menu show/hide item" }, - - "fileNotFound": "Not found", - "@fileNotFound": { "description": "Badge when file is missing" }, - - "audioFile": "Audio file", - "@audioFile": { "description": "Fallback name for audio items" }, - - "videoFile": "Video file", - "@videoFile": { "description": "Fallback name for video items" }, - - "imageFile": "Image file", - "@imageFile": { "description": "Fallback name / accessibility label for image items" }, - - "timeNow": "now", - "@timeNow": { "description": "Timestamp for less than 1 minute ago" }, - - "clearAllFilters": "Clear all filters", - "@clearAllFilters": { "description": "Filter menu clear action" }, - - "colorSectionLabel": "COLOR", - "@colorSectionLabel": { "description": "Filter menu color section header" }, - - "colorNone": "None", - "@colorNone": { "description": "No color option" }, - - "subtitlePastePreset": "Automatic paste speed. Instant is optimized for Windows; use Safe if a destination app misses a paste.", - "@subtitlePastePreset": { "description": "Paste preset subtitle" }, - "subtitlePastePresetStandard": "Automatic paste speed. Normal/Safe recommended for most computers.", - "@subtitlePastePresetStandard": { "description": "Non-Windows paste preset subtitle" }, - - "pastePresetInstant": "Instant", - "@pastePresetInstant": { "description": "Windows instant paste preset label" }, - "pastePresetFast": "Fast", - "@pastePresetFast": { "description": "Fast paste preset label" }, - "pastePresetNormal": "Normal", - "@pastePresetNormal": { "description": "Normal paste preset label" }, - "pastePresetSafe": "Safe", - "@pastePresetSafe": { "description": "Safe paste preset label" }, - "pastePresetSlow": "Slow", - "@pastePresetSlow": { "description": "Slow paste preset label" }, - "pastePresetCustom": "Custom", - "@pastePresetCustom": { "description": "Custom paste preset placeholder" }, - "pastePresetWarning": "\u26a1 Instant (Windows): lowest latency with native focus verification.\n\u26a0\ufe0f Fast: may cause unexpected behavior in heavy apps.\n\u26a0\ufe0f Slow: may feel sluggish on modern computers.", - "@pastePresetWarning": { "description": "Paste preset warning text" }, - "pastePresetWarningStandard": "\u26a0\ufe0f Fast: may cause unexpected behavior in heavy apps.\n\u26a0\ufe0f Slow: may feel sluggish on modern computers.", - "@pastePresetWarningStandard": { "description": "Non-Windows paste preset warning text" }, - - "settingResetFiltersOnOpen": "Switch to All on open", - "@settingResetFiltersOnOpen": { "description": "Reset filters on open label" }, - "subtitleResetFiltersOnOpen": "Clears category and type filters and returns to the All tab", - "@subtitleResetFiltersOnOpen": { "description": "Reset filters on open subtitle" }, - - "subtitleBackup": "Create a backup of your clipboard history, images, and settings. Restore at any time on this or another device.", - "@subtitleBackup": { "description": "Backup section subtitle" }, - - "aboutDescription": "A modern clipboard manager built to feel native on Windows and macOS.\nLocal-first \u2014 your history, always at hand. No accounts, no telemetry, no subscriptions.", - "@aboutDescription": { "description": "About section description" }, - - "sectionPrivacy": "PRIVACY", - "@sectionPrivacy": { "description": "Privacy section title in About tab" }, - "privacyStatement": "Everything local. Nothing leaves your PC \u2014 no telemetry, no sync, no accounts.", - "@privacyStatement": { "description": "Short privacy philosophy statement shown in About tab" }, - "privacyPolicy": "Privacy Policy", - "@privacyPolicy": { "description": "Link label to open the full privacy policy" }, - - "aboutTagLocal": "Local-only", - "@aboutTagLocal": { "description": "Badge label: everything is stored locally" }, - "aboutTagOpenSource": "Open source", - "@aboutTagOpenSource": { "description": "Badge label: the app is open source" }, - "aboutTagFree": "Free", - "@aboutTagFree": { "description": "Badge label: the app is free" }, - - "sectionOtherTools": "OTHER TOOLS", - "@sectionOtherTools": { "description": "Other tools section title in About tab" }, - "otherToolLinkUnbound": "LinkUnbound", - "@otherToolLinkUnbound": { "description": "LinkUnbound app name" }, - "otherToolLinkUnboundDesc": "Open-source browser selector for Windows and Mac. Same philosophy: no ads, no telemetry, everything local.", - "@otherToolLinkUnboundDesc": { "description": "LinkUnbound app description" }, - - "aboutLicense": "GPL v3 License \u2014 Free and open source.", - "@aboutLicense": { "description": "License footer text" }, - - "permissionsTitle": "Accessibility Permission Required", - "@permissionsTitle": { "description": "Title for the macOS accessibility permissions dialog" }, - - "permissionsMessage": "CopyPaste needs Accessibility permission to paste content into other apps.\n\nGo to System Settings → Privacy & Security → Accessibility and enable CopyPaste.", - "@permissionsMessage": { "description": "Body text explaining why accessibility permission is needed" }, - - "permissionsOpenSettings": "Open Settings", - "@permissionsOpenSettings": { "description": "Button to open macOS System Settings" }, - - "permissionsDismiss": "Later", - "@permissionsDismiss": { "description": "Dismiss button for permissions dialog" }, - - "permissionsGranted": "Permission granted", - "@permissionsGranted": { "description": "Snackbar message when permission is confirmed" }, - - "permissionsResetTitle": "Accessibility Permission Lost", - "@permissionsResetTitle": { "description": "Title shown when permission was previously granted but is no longer recognised (Gatekeeper identity change)" }, - - "permissionsResetMessage": "macOS no longer recognises CopyPaste's permission because the app was re-authorised through Gatekeeper.\n\nTo fix this:\n1. Open Accessibility settings below\n2. Remove CopyPaste from the list (−)\n3. Re-add it or toggle it back on", - "@permissionsResetMessage": { "description": "Instructions for fixing stale TCC entries after Gatekeeper re-authorisation" }, - - "permissionsRestartMessage": "Make sure CopyPaste is enabled in Privacy & Security > Accessibility.\n\nThe app will continue automatically when the permission is detected.", - "@permissionsRestartMessage": { "description": "Shown after polling times out without detecting the permission grant" }, - - "permissionsCheckAgain": "Check Again", - "@permissionsCheckAgain": { "description": "Button to manually re-check accessibility permission" }, - - "permissionsRestartApp": "Restart App", - "@permissionsRestartApp": { "description": "Button to restart the app when permission detection is stuck" }, - - "permissionsWaiting": "Waiting for permission…", - "@permissionsWaiting": { "description": "Label shown while polling for the accessibility permission grant" }, - - "updateBadge": "v{version} is available, please update", - "@updateBadge": { "description": "Short text shown in the footer when an update is available", "placeholders": { "version": { "type": "String" } } }, - - "updateAvailableWindows": "Version {version} is available.\n\nDownload the latest installer from GitHub.", - "@updateAvailableWindows": { "description": "Update dialog message for Windows standalone builds", "placeholders": { "version": { "type": "String" } } }, - - "updateAvailableMac": "Version {version} is available.\n\nUpdate via Homebrew:\nbrew upgrade copypaste\n\nOr download the latest release from GitHub.", - "@updateAvailableMac": { "description": "Update dialog message for macOS", "placeholders": { "version": { "type": "String" } } }, - - "updateAvailableStore": "Version {version} is available.\n\nMicrosoft Store delivers updates automatically. New versions may take a few days to appear after release.", - "@updateAvailableStore": { "description": "Update dialog message for MS Store builds", "placeholders": { "version": { "type": "String" } } }, - - "updateTooltipStore": "Update {version} coming via Microsoft Store", - "@updateTooltipStore": { "description": "Short tooltip for MS Store badge", "placeholders": { "version": { "type": "String" } } }, - - "updateTooltipGeneric": "Update {version} available — click for details", - "@updateTooltipGeneric": { "description": "Short tooltip for non-Store badge", "placeholders": { "version": { "type": "String" } } }, - - "updateDialogTitle": "Update Available", - "@updateDialogTitle": { "description": "Title of the update available dialog" }, - - "updateViewRelease": "View release", - "@updateViewRelease": { "description": "Button to open the GitHub release page" }, - - "updateDismiss": "Later", - "@updateDismiss": { "description": "Button to dismiss the update notification" }, - - "updateBadgeImportant": "v{version} available — important update", - "@updateBadgeImportant": { "description": "Footer badge text for minor/major updates", "placeholders": { "version": { "type": "String" } } }, - - "updateActionDownload": "Download installer", - "@updateActionDownload": { "description": "Action button to open the installer download page" }, - - "updateActionOpenStore": "Open Microsoft Store", - "@updateActionOpenStore": { "description": "Action button to open the MS Store update page" }, - - "updateActionCopyCommand": "Copy {tool} command", - "@updateActionCopyCommand": { - "description": "Action button to copy the package manager upgrade command", - "placeholders": { "tool": { "type": "String" } } - }, - - "updateActionCopied": "Copied to clipboard", - "@updateActionCopied": { "description": "Snack/tooltip shown after copying the upgrade command" }, - - "blockedTitle": "Update required", - "@blockedTitle": { "description": "Title of the blocked-version full-screen gate" }, - - "blockedDescription": "Version {current} of CopyPaste is no longer supported. Please install version {required} or newer to continue using the app.", - "@blockedDescription": { "description": "Body of the blocked-version full-screen gate", "placeholders": { "current": { "type": "String" }, "required": { "type": "String" } } }, - - "blockedReasonGeneric": "This version was retired by the maintainers for safety or compatibility reasons.", - "@blockedReasonGeneric": { "description": "Generic reason shown in the blocked screen when the manifest does not provide one" }, - - "blockedQuit": "Quit CopyPaste", - "@blockedQuit": { "description": "Secondary action on the blocked-version screen" }, - - "blockedFallbackHint": "Visit https://github.com/rgdevment/CopyPaste/releases to download the latest installer.", - "@blockedFallbackHint": { "description": "Hint shown when no channel-specific action is available" }, - - "wakeupHint": "CopyPaste runs in the background — press {hotkey} or click the tray icon to open it anytime.", - "@wakeupHint": { - "description": "In-app snackbar shown inside the window when it is raised by a second launch attempt", - "placeholders": { - "hotkey": { "type": "String" } - } - }, - - "taskbarOpenHint": "Tip: press {hotkey} to open and paste automatically — no focus lost.", - "@taskbarOpenHint": { - "description": "Hint shown when user opens CopyPaste from the taskbar in taskbar mode", - "placeholders": { - "hotkey": { "type": "String" } - } - }, - - "balloonStartupBody": "Running in the background. Press {hotkey} or click the tray icon.", - "@balloonStartupBody": { - "description": "Windows balloon shown at startup when window starts hidden", - "placeholders": { - "hotkey": { "type": "String" } - } - }, - - "balloonWakeupTitle": "CopyPaste is already open", - "@balloonWakeupTitle": { "description": "Windows balloon title when a second instance is launched" }, - - "balloonWakeupBody": "Press {hotkey} or click the tray icon to bring it up.", - "@balloonWakeupBody": { - "description": "Windows balloon body when a second instance is launched", - "placeholders": { - "hotkey": { "type": "String" } - } - }, - - "onboardingTitle": "Welcome to CopyPaste", - "@onboardingTitle": { "description": "Onboarding screen title" }, - - "onboardingSubtitle": "Everything you copy, saved.", - "@onboardingSubtitle": { "description": "Onboarding screen subtitle" }, - - "onboardingPrivacyBadge": "No cloud · No tracking · 100% local", - "@onboardingPrivacyBadge": { "description": "Onboarding privacy badge chip" }, - - "onboardingDescription": "Runs silently in the background. Press {hotkey} anytime to open your clipboard history.", - "@onboardingDescription": { - "description": "Onboarding main description", - "placeholders": { "hotkey": { "type": "String" } } - }, - - "onboardingTrayHint": "Look for the CP icon next to your clock.", - "@onboardingTrayHint": { "description": "Onboarding tray location hint" }, - - "onboardingSettingsButton": "Settings", - "@onboardingSettingsButton": { "description": "Onboarding settings button" }, - - "onboardingDismissButton": "Get started", - "@onboardingDismissButton": { "description": "Onboarding dismiss button" }, - - "tabCapture": "Performance", - "@tabCapture": { "description": "Performance tab label (paste, perf, multimedia)" }, - - "tabMultimedia": "Multimedia", - "@tabMultimedia": { "description": "Multimedia tab label (legacy, unused since tabs were merged)" }, - - "tabCleanupPrivacy": "Cleanup & Privacy", - "@tabCleanupPrivacy": { "description": "Cleanup & privacy tab label" }, - - "sectionMultimedia": "MULTIMEDIA & THUMBNAILS", - "@sectionMultimedia": { "description": "Multimedia section header" }, - - "subtitleMultimedia": "Control how images, videos and audio files are previewed.", - "@subtitleMultimedia": { "description": "Multimedia section subtitle" }, - - "settingGenerateImageThumbnails": "Generate image thumbnails", - "@settingGenerateImageThumbnails": { "description": "Image thumbs toggle" }, - - "subtitleGenerateImageThumbnails": "Show preview tiles for copied or referenced images.", - "@subtitleGenerateImageThumbnails": { "description": "Image thumbs subtitle" }, - - "settingGenerateVideoThumbnails": "Generate video thumbnails", - "@settingGenerateVideoThumbnails": { "description": "Video thumbs toggle" }, - - "subtitleGenerateVideoThumbnails": "Use the OS shell cache to show a preview frame for video files.", - "@subtitleGenerateVideoThumbnails": { "description": "Video thumbs subtitle" }, - - "settingGenerateAudioThumbnails": "Generate audio thumbnails", - "@settingGenerateAudioThumbnails": { "description": "Audio thumbs toggle" }, - - "subtitleGenerateAudioThumbnails": "Show cover art when available for audio files.", - "@subtitleGenerateAudioThumbnails": { "description": "Audio thumbs subtitle" }, - - "settingMaxImageSize": "Max image size for processing (MB)", - "@settingMaxImageSize": { "description": "Max image size label" }, - - "subtitleMaxImageSize": "Larger images keep their original bitmap fallback and are not re-encoded.", - "@subtitleMaxImageSize": { "description": "Max image size subtitle" }, - - "sectionCleanupPrivacy": "CLEANUP & PRIVACY", - "@sectionCleanupPrivacy": { "description": "Cleanup & privacy section header" }, - - "settingKeepBrokenItemsLabel": "Keep unavailable items (days)", - "@settingKeepBrokenItemsLabel": { "description": "Days to keep broken external refs" }, - - "subtitleKeepBrokenItems": "Items that point to a missing file or unmounted volume are pruned after this many days. 0 prunes immediately.", - "@subtitleKeepBrokenItems": { "description": "Broken-items subtitle" }, - - "settingImagesQuotaLabel": "Storage cap for images", - "@settingImagesQuotaLabel": { "description": "Quota label" }, - - "subtitleImagesQuota": "When the images folder exceeds this size, oldest unpinned items are deleted to free space.", - "@subtitleImagesQuota": { "description": "Quota subtitle" }, - - "imagesQuotaOff": "Unlimited", - "@imagesQuotaOff": { "description": "Quota disabled label" } -} diff --git a/app/lib/l10n/app_es.arb b/app/lib/l10n/app_es.arb deleted file mode 100644 index ed5fa789..00000000 --- a/app/lib/l10n/app_es.arb +++ /dev/null @@ -1,315 +0,0 @@ -{ - "@@locale": "es", - - "searchPlaceholder": "Buscar en portapapeles\u2026", - "emptyState": "No hay elementos en esta sección", - - "emptyStateSubtitle": "Copia algo para comenzar", - - "hintBannerText": "CopyPaste se ejecuta en segundo plano — encuéntralo en la bandeja del sistema o usa tu atajo de teclado. Personaliza tu experiencia en", - "hintBannerAction": "Ajustes", - - "settingsTitle": "Configuración", - "sectionShortcuts": "ATAJOS DE TECLADO", - - "sectionStorage": "ALMACENAMIENTO", - - "settingRunOnStartup": "Iniciar con el sistema", - "settingLanguage": "Idioma de la interfaz", - "hotkeyWillApply": "El atajo se aplicará de inmediato", - - "clearHistoryConfirmTitle": "¿Limpiar historial?", - "clearHistoryConfirmMessage": "Esto eliminará permanentemente todos los elementos no anclados. Esta acción no se puede deshacer.", - "clearHistoryConfirmButton": "Limpiar", - - "backupLastDate": "Último respaldo: {date}", - "backupNone": "Aún no se ha creado un respaldo.", - "backupCreateLabel": "Crear respaldo", - "backupRestoreLabel": "Restaurar respaldo", - "backupError": "Error al crear el respaldo. Verifica los permisos.", - - "restoreDialogTitle": "Restaurar respaldo", - "restoreDialogWarning": "Esto reemplazará todos los datos actuales con el contenido del respaldo. ¿Continuar?", - "restoreFileNotFound": "Archivo no encontrado.", - "restoreSuccess": "Se restauraron {count} elementos.", - "restoreError": "Error al restaurar. Tus datos anteriores se han preservado.", - - "sectionSupport": "SOPORTE", - "supportExportLogs": "Exportar registros", - "supportExportLogsSubtitle": "Guarda un zip con registros de la app para adjuntar a un reporte. El contenido del portapapeles nunca se incluye.", - "supportOpenLogsFolder": "Abrir carpeta de registros", - "supportOpenLogsFolderSubtitle": "Explora los archivos de registro en tu gestor de archivos.", - "supportGitHub": "Reportar un error en GitHub", - "supportExportSuccess": "Registros guardados en Descargas.", - "supportShowInFiles": "Mostrar", - "supportExportEmpty": "No se encontraron archivos de registro.", - "supportExportError": "Error al exportar los registros.", - - "sectionReset": "RESTABLECER E INSTALACIÓN LIMPIA", - "resetSoftLabel": "Restablecimiento suave", - "resetSoftSubtitle": "Restablece la configuración a los valores predeterminados y marca la app como nueva instalación. El historial del portapapeles se conserva.", - "resetHardLabel": "Restablecimiento completo", - "resetHardSubtitle": "Elimina todo el historial, imágenes y configuración. Esta acción no se puede deshacer.", - "resetSoftConfirmTitle": "¿Restablecimiento suave?", - "resetSoftConfirmMessage": "Toda la configuración volverá a los valores predeterminados y la app se reiniciará como si fuera una instalación nueva. El historial del portapapeles no se eliminará.", - "resetHardConfirmTitle": "¿Restablecimiento completo?", - "resetHardConfirmMessage": "Se eliminará permanentemente todo el historial, imágenes y configuración, y luego la app se reiniciará. Esta acción no se puede deshacer.", - "resetConfirmButton": "Restablecer y Reiniciar", - - "buttonSave": "Guardar", - "buttonClose": "Cerrar", - "buttonCancel": "Cancelar", - "buttonReset": "Restaurar predeterminados", - "savingIndicator": "Guardando\u2026", - "savedIndicator": "Guardado", - - "menuPaste": "Pegar", - "menuPastePlain": "Pegar sin formato", - "menuCopy": "Copiar", - "copiedToClipboard": "Copiado al portapapeles", - "menuPin": "Anclar", - "menuUnpin": "Desanclar", - "menuEdit": "Editar tarjeta", - "menuDelete": "Eliminar", - - "editColorLabel": "Color", - - "colorRed": "Rojo", - "colorGreen": "Verde", - "colorPurple": "Morado", - "colorYellow": "Amarillo", - "colorBlue": "Azul", - "colorOrange": "Naranja", - - "typeText": "Texto", - "typeImage": "Imagen", - "typeFile": "Archivo", - "typeFolder": "Carpeta", - "typeLink": "Enlace", - "typeAudio": "Audio", - "typeVideo": "Video", - "typeEmail": "Email", - "typePhone": "Teléfono", - "typeColor": "Color", - "typeIp": "IP", - "typeUuid": "UUID", - "typeJson": "JSON", - "filterAll": "Todo", - "filterPinned": "Anclados", - - "trayTooltip": "CopyPaste", - "trayExit": "Salir", - - "subtitleShortcutScopes": "Ctrl+V pertenece a la aplicaci\u00f3n activa. Los atajos del historial funcionan mientras el panel de CopyPaste est\u00e1 abierto.", - "shortcutOpenClose": "Global de CopyPaste: Abrir / cerrar CopyPaste", - "shortcutPastePlainDirect": "Global de CopyPaste: Pegar el portapapeles actual como texto plano", - "shortcutSystemPaste": "Aplicaci\u00f3n activa: Pegar normalmente el portapapeles actual (CopyPaste no lo intercepta)", - "shortcutEscape": "Limpiar búsqueda o cerrar ventana", - "shortcutTab1": "Cambiar a pestaña Recientes", - "shortcutTab2": "Cambiar a pestaña Anclados", - "shortcutArrows": "Navegar entre elementos", - "shortcutEnter": "Con CopyPaste abierto: Pegar normalmente el elemento bajo el cursor, el seleccionado o el primero", - "shortcutPasteSelectedPlain": "Con CopyPaste abierto: Pegar como texto plano el elemento bajo el cursor, el seleccionado o el primero", - "shortcutDelete": "Eliminar elemento seleccionado", - "shortcutPin": "Anclar / Desanclar elemento", - "shortcutEdit": "Editar tarjeta (etiqueta y color)", - - "tabGeneral": "General", - "tabBackupRestore": "Backup y soporte", - "tabAppearance": "Apariencia", - "tabShortcuts": "Atajos", - "tabAbout": "Acerca de", - - "sectionLanguage": "IDIOMA", - "sectionStartup": "INICIO", - "sectionKeyboardShortcut": "ATAJO DE TECLADO", - "sectionCategories": "CATEGOR\u00cdAS", - "sectionPerformance": "RENDIMIENTO", - "sectionPaste": "PEGADO", - "sectionBackupRestore": "RESPALDO Y RESTAURACI\u00d3N", - "sectionAppearance": "APARIENCIA", - "settingTheme": "Tema", - "themeLight": "Claro", - "themeDark": "Oscuro", - "themeAuto": "Auto", - "sectionBehavior": "COMPORTAMIENTO", - "sectionAbout": "COPYPASTE", - "sectionLinks": "ENLACES", - - "settingItemsPerPage": "Elementos por p\u00e1gina", - "settingMemoryLimit": "L\u00edmite de memoria", - "settingScrollThreshold": "Umbral de desplazamiento (px)", - "settingPasteSpeed": "Velocidad de pegado", - "settingPanelWidth": "Ancho del panel (px)", - "settingPanelHeight": "Alto del panel (px)", - "settingLinesCollapsed": "L\u00edneas contra\u00eddas", - "settingLinesExpanded": "L\u00edneas expandidas", - "settingHideOnDeactivate": "Ocultar al hacer clic fuera", - "settingRememberWindowPosition": "Recordar posición de la ventana", - "settingScrollToTopOnOpen": "Ir al inicio al abrir", - "settingClearSearchOnOpen": "Limpiar b\u00fasqueda al abrir", - "settingRetentionDaysLabel": "D\u00edas de retenci\u00f3n (0 = sin l\u00edmite)", - "settingClearHistoryLabel": "Limpiar historial del portapapeles", - "settingHotkeyShortcutLabel": "Atajo para abrir/cerrar CopyPaste", - "subtitleGlobalHotkeyWarning": "Atajo global del sistema. Puede reemplazar la misma combinación en otra aplicación.", - "settingPlainPasteHotkeyLabel": "Pegado global opcional como texto plano", - "subtitlePlainPasteHotkey": "Pega el portapapeles actual como texto plano sin abrir CopyPaste. Activar un atajo global puede reemplazar el mismo atajo en otras aplicaciones.", - "shortcutDisabled": "Desactivado", - "currentShortcut": "Actual: {shortcut}", - "@currentShortcut": { - "placeholders": { "shortcut": { "type": "String" } } - }, - "hotkeyRequiresModifier": "Agrega al menos una tecla modificadora antes de guardar este atajo.", - "hotkeyConflictWarning": "Esta combinación ya está asignada al otro atajo de CopyPaste.", - "restoreRecommendedHotkeys": "Restaurar atajos recomendados", - "plainPasteHotkeyRegistrationFailed": "No se pudo registrar el atajo de pegado directo como texto plano. Es posible que el sistema u otra aplicación ya lo esté usando.", - "pasteDestinationUnavailable": "Se canceló el pegado porque no se pudo restaurar el destino original. Abre CopyPaste con su atajo de teclado e inténtalo nuevamente.", - "plainPasteItemUnavailable": "El elemento bajo el cursor, el seleccionado o el primero no se puede pegar como texto plano.", - "plainClipboardUnavailable": "No hay texto en el portapapeles. Copia primero un texto y vuelve a usar el pegado como texto plano.", - "clipboardWriteFailed": "No se pudo copiar el elemento al portapapeles porque otra aplicación lo tiene retenido. Vuelve a intentarlo en un momento.", - "pasteTargetElevated": "La aplicación de destino se ejecuta como administrador, así que Windows bloquea el pegado simulado. Ejecuta CopyPaste también como administrador o pulsa Ctrl+V tú mismo.", - "hotkeyRegistrationFailed": "No se pudo registrar el atajo {shortcut}. Es posible que el sistema u otra aplicación ya lo esté usando.", - "@hotkeyRegistrationFailed": { - "placeholders": { "shortcut": { "type": "String" } } - }, - "hotkeyFallbackActive": "El atajo {requested} no estaba disponible. CopyPaste está usando temporalmente {effective}.", - "@hotkeyFallbackActive": { - "placeholders": { - "requested": { "type": "String" }, - "effective": { "type": "String" } - } - }, - - "subtitleStartupDesc": "Se inicia en segundo plano al iniciar sesi\u00f3n", - "subtitleHideOnDeactivate": "Cerrar la ventana al hacer clic fuera", - "subtitleRememberWindowPosition": "Reabrir la ventana donde la dejaste la última vez", - "subtitleScrollToTopOnOpen": "Restablece el desplazamiento y selecciona el \u00faltimo elemento", - "subtitleClearSearchOnOpen": "Borra el texto de b\u00fasqueda cada vez", - "subtitlePasteSpeed": "Ajustar tiempos de restauraci\u00f3n y pegado", - "subtitleCategories": "Personaliza los nombres de las categor\u00edas de color.", - - "linkGitHub": "Soporte y C\u00f3digo fuente \u2014 GitHub", - "linkCoffee": "Inv\u00edtame un caf\u00e9", - - "editDialogTitle": "Etiqueta y Color", - "editDialogHint": "Agregar una etiqueta...", - - "historyCleared": "Historial limpiado", - - "backupSavedFile": "Respaldo guardado: {filename}", - - "buttonRestore": "Restaurar", - - "restoreCompleted": "Restauraci\u00f3n completada", - - "restoreRestartRequired": "Restauraci\u00f3n completada. La app se reiniciar\u00e1 para aplicar los cambios.", - - "shortcutExpand": "Expandir / contraer tarjeta", - - "shortcutFocusSearch": "Enfocar el buscador", - - "trayShowHide": "Mostrar/Ocultar", - - "fileNotFound": "No encontrado", - "audioFile": "Archivo de audio", - "videoFile": "Archivo de video", - "imageFile": "Archivo de imagen", - "timeNow": "ahora", - "clearAllFilters": "Limpiar todos los filtros", - "colorSectionLabel": "COLOR", - "colorNone": "Ninguno", - "subtitlePastePreset": "Velocidad de pegado autom\u00e1tico. Instant\u00e1neo est\u00e1 optimizado para Windows; usa Seguro si alguna aplicaci\u00f3n no recibe el pegado.", - "subtitlePastePresetStandard": "Velocidad de pegado autom\u00e1tico. Normal/Seguro recomendado para la mayor\u00eda.", - "pastePresetInstant": "Instant\u00e1neo", - "pastePresetFast": "R\u00e1pido", - "pastePresetNormal": "Normal", - "pastePresetSafe": "Seguro", - "pastePresetSlow": "Lento", - "pastePresetCustom": "Personalizado", - "pastePresetWarning": "\u26a1 Instant\u00e1neo (Windows): latencia m\u00ednima con verificaci\u00f3n nativa del foco.\n\u26a0\ufe0f R\u00e1pido: puede causar comportamientos extra\u00f1os en apps pesadas.\n\u26a0\ufe0f Lento: puede sentirse pesado en equipos modernos.", - "pastePresetWarningStandard": "\u26a0\ufe0f R\u00e1pido: puede causar comportamientos extra\u00f1os en apps pesadas.\n\u26a0\ufe0f Lento: puede sentirse pesado en equipos modernos.", - "settingResetFiltersOnOpen": "Volver a Todos al abrir", - "subtitleResetFiltersOnOpen": "Limpia los filtros de categor\u00eda y tipo, y vuelve a la pesta\u00f1a Todos", - "subtitleBackup": "Crea un respaldo de tu historial, im\u00e1genes y configuraci\u00f3n. Restaura en cualquier momento en este u otro dispositivo.", - "aboutDescription": "Un gestor de portapapeles moderno, nativo en Windows y macOS.\nTodo local \u2014 tu historial, siempre a mano. Sin cuentas, sin telemetr\u00eda, sin suscripciones.", - "sectionPrivacy": "PRIVACIDAD", - "privacyStatement": "Todo local. Nada sale de tu PC \u2014 sin telemetr\u00eda, sin sincronizaci\u00f3n, sin cuentas.", - "privacyPolicy": "Pol\u00edtica de privacidad", - "aboutTagLocal": "Todo local", - "aboutTagOpenSource": "C\u00f3digo abierto", - "aboutTagFree": "Gratis", - - "sectionOtherTools": "OTRAS HERRAMIENTAS", - "otherToolLinkUnbound": "LinkUnbound", - "otherToolLinkUnboundDesc": "Selector de navegadores de c\u00f3digo abierto para Windows y Mac. Misma filosof\u00eda: sin anuncios, sin telemetr\u00eda, todo local.", - - "aboutLicense": "Licencia GPL v3 \u2014 Libre y de c\u00f3digo abierto.", - "permissionsTitle": "Permiso de Accesibilidad requerido", - "permissionsMessage": "CopyPaste necesita permiso de Accesibilidad para pegar contenido en otras apps.\n\nVe a Configuraci\u00f3n del Sistema \u2192 Privacidad y Seguridad \u2192 Accesibilidad y activa CopyPaste.", - "permissionsOpenSettings": "Abrir Configuraci\u00f3n", - "permissionsDismiss": "Despu\u00e9s", - "permissionsGranted": "Permiso concedido", - "permissionsResetTitle": "Permiso de Accesibilidad perdido", - "permissionsResetMessage": "macOS ya no reconoce el permiso de CopyPaste porque la app fue re-autorizada a trav\u00e9s de Gatekeeper.\n\nPara solucionarlo:\n1. Abre la configuraci\u00f3n de Accesibilidad\n2. Elimina CopyPaste de la lista (\u2212)\n3. Vuelve a a\u00f1adirlo o act\u00edvalo de nuevo", - "permissionsRestartMessage": "Aseg\u00farate de que CopyPaste est\u00e9 activado en Privacidad y seguridad > Accesibilidad.\n\nLa app continuar\u00e1 autom\u00e1ticamente cuando detecte el permiso.", - "permissionsCheckAgain": "Verificar", - "permissionsRestartApp": "Reiniciar app", - "permissionsWaiting": "Esperando permiso\u2026", - - "updateBadge": "v{version} disponible, por favor actualiza", - "updateAvailableWindows": "La versi\u00f3n {version} est\u00e1 disponible.\n\nDescarga el instalador m\u00e1s reciente desde GitHub.", - "updateAvailableMac": "La versi\u00f3n {version} est\u00e1 disponible.\n\nActualiza con Homebrew:\nbrew upgrade copypaste\n\nO descarga la \u00faltima versi\u00f3n desde GitHub.", - "updateAvailableStore": "La versi\u00f3n {version} est\u00e1 disponible.\n\nLa Microsoft Store entrega las actualizaciones autom\u00e1ticamente. Las nuevas versiones pueden tardar unos d\u00edas en aparecer tras su publicaci\u00f3n.", - "updateTooltipStore": "Actualizaci\u00f3n {version} en camino por Microsoft Store", - "updateTooltipGeneric": "Actualizaci\u00f3n {version} disponible \u2014 haz clic para detalles", - "updateDialogTitle": "Actualizaci\u00f3n disponible", - "updateViewRelease": "Ver versi\u00f3n", - "updateDismiss": "Despu\u00e9s", - - "updateBadgeImportant": "v{version} disponible — actualizaci\u00f3n importante", - "updateActionDownload": "Descargar instalador", - "updateActionOpenStore": "Abrir Microsoft Store", - "updateActionCopyCommand": "Copiar comando {tool}", - "updateActionCopied": "Copiado al portapapeles", - - "blockedTitle": "Actualizaci\u00f3n requerida", - "blockedDescription": "La versi\u00f3n {current} de CopyPaste ya no est\u00e1 soportada. Instala la versi\u00f3n {required} o m\u00e1s reciente para continuar.", - "blockedReasonGeneric": "Esta versi\u00f3n fue retirada por motivos de seguridad o compatibilidad.", - "blockedQuit": "Salir de CopyPaste", - "blockedFallbackHint": "Visita https://github.com/rgdevment/CopyPaste/releases para descargar el instalador m\u00e1s reciente.", - - "wakeupHint": "CopyPaste se ejecuta en segundo plano \u2014 presiona {hotkey} o haz clic en el \u00edcono de la bandeja para abrirlo cuando quieras.", - - "taskbarOpenHint": "Tip: presiona {hotkey} para abrir y pegar autom\u00e1ticamente, sin perder el foco.", - - "balloonStartupBody": "Ejecut\u00e1ndose en segundo plano. Presiona {hotkey} o haz clic en el \u00edcono de la bandeja.", - "balloonWakeupTitle": "CopyPaste ya est\u00e1 abierto", - "balloonWakeupBody": "Presiona {hotkey} o haz clic en el \u00edcono de la bandeja para abrirlo.", - - "onboardingTitle": "Bienvenido a CopyPaste", - "onboardingSubtitle": "Todo lo que copias, guardado.", - "onboardingPrivacyBadge": "Sin nube \u00b7 Sin rastreo \u00b7 100% local", - "onboardingDescription": "Corre en segundo plano sin que lo notes. Presiona {hotkey} cuando quieras para abrir tu historial.", - "onboardingTrayHint": "Encu\u00e9ntralo junto al reloj, abajo a la derecha.", - "onboardingSettingsButton": "Configuraci\u00f3n", - "onboardingDismissButton": "Empezar", - "tabCapture": "Rendimiento", - "tabMultimedia": "Multimedia", - "tabCleanupPrivacy": "Limpieza y privacidad", - "sectionMultimedia": "MULTIMEDIA Y MINIATURAS", - "subtitleMultimedia": "Controla c\u00f3mo se previsualizan im\u00e1genes, v\u00eddeos y archivos de audio.", - "settingGenerateImageThumbnails": "Generar miniaturas de im\u00e1genes", - "subtitleGenerateImageThumbnails": "Muestra una vista previa de las im\u00e1genes copiadas o referenciadas.", - "settingGenerateVideoThumbnails": "Generar miniaturas de v\u00eddeos", - "subtitleGenerateVideoThumbnails": "Usa la cach\u00e9 del sistema para mostrar un fotograma de los v\u00eddeos.", - "settingGenerateAudioThumbnails": "Generar miniaturas de audio", - "subtitleGenerateAudioThumbnails": "Muestra la car\u00e1tula cuando est\u00e9 disponible.", - "settingMaxImageSize": "Tama\u00f1o m\u00e1ximo a procesar (MB)", - "subtitleMaxImageSize": "Las im\u00e1genes m\u00e1s grandes mantienen su mapa de bits original sin reprocesarse.", - "sectionCleanupPrivacy": "LIMPIEZA Y PRIVACIDAD", - "settingKeepBrokenItemsLabel": "Conservar elementos no disponibles (d\u00edas)", - "subtitleKeepBrokenItems": "Los elementos que apuntan a archivos perdidos o vol\u00famenes desconectados se eliminan tras estos d\u00edas. 0 los elimina al instante.", - "settingImagesQuotaLabel": "L\u00edmite de almacenamiento para im\u00e1genes", - "subtitleImagesQuota": "Cuando la carpeta de im\u00e1genes supera este tama\u00f1o, se eliminan los elementos m\u00e1s antiguos no fijados para liberar espacio.", - "imagesQuotaOff": "Sin l\u00edmite" -} diff --git a/app/lib/l10n/app_localizations.dart b/app/lib/l10n/app_localizations.dart deleted file mode 100644 index 611ddda4..00000000 --- a/app/lib/l10n/app_localizations.dart +++ /dev/null @@ -1,1682 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:intl/intl.dart' as intl; - -import 'app_localizations_en.dart'; -import 'app_localizations_es.dart'; - -// ignore_for_file: type=lint - -/// Callers can lookup localized strings with an instance of AppLocalizations -/// returned by `AppLocalizations.of(context)`. -/// -/// Applications need to include `AppLocalizations.delegate()` in their app's -/// `localizationDelegates` list, and the locales they support in the app's -/// `supportedLocales` list. For example: -/// -/// ```dart -/// import 'l10n/app_localizations.dart'; -/// -/// return MaterialApp( -/// localizationsDelegates: AppLocalizations.localizationsDelegates, -/// supportedLocales: AppLocalizations.supportedLocales, -/// home: MyApplicationHome(), -/// ); -/// ``` -/// -/// ## Update pubspec.yaml -/// -/// Please make sure to update your pubspec.yaml to include the following -/// packages: -/// -/// ```yaml -/// dependencies: -/// # Internationalization support. -/// flutter_localizations: -/// sdk: flutter -/// intl: any # Use the pinned version from flutter_localizations -/// -/// # Rest of dependencies -/// ``` -/// -/// ## iOS Applications -/// -/// iOS applications define key application metadata, including supported -/// locales, in an Info.plist file that is built into the application bundle. -/// To configure the locales supported by your app, you’ll need to edit this -/// file. -/// -/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. -/// Then, in the Project Navigator, open the Info.plist file under the Runner -/// project’s Runner folder. -/// -/// Next, select the Information Property List item, select Add Item from the -/// Editor menu, then select Localizations from the pop-up menu. -/// -/// Select and expand the newly-created Localizations item then, for each -/// locale your application supports, add a new item and select the locale -/// you wish to add from the pop-up menu in the Value field. This list should -/// be consistent with the languages listed in the AppLocalizations.supportedLocales -/// property. -abstract class AppLocalizations { - AppLocalizations(String locale) - : localeName = intl.Intl.canonicalizedLocale(locale.toString()); - - final String localeName; - - static AppLocalizations of(BuildContext context) { - return Localizations.of(context, AppLocalizations)!; - } - - static const LocalizationsDelegate delegate = - _AppLocalizationsDelegate(); - - /// A list of this localizations delegate along with the default localizations - /// delegates. - /// - /// Returns a list of localizations delegates containing this delegate along with - /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, - /// and GlobalWidgetsLocalizations.delegate. - /// - /// Additional delegates can be added by appending to this list in - /// MaterialApp. This list does not have to be used at all if a custom list - /// of delegates is preferred or required. - static const List> localizationsDelegates = - >[ - delegate, - GlobalMaterialLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - ]; - - /// A list of this localizations delegate's supported locales. - static const List supportedLocales = [ - Locale('en'), - Locale('es'), - ]; - - /// Search box placeholder - /// - /// In en, this message translates to: - /// **'Search clipboard…'** - String get searchPlaceholder; - - /// Empty list message - /// - /// In en, this message translates to: - /// **'No items in this section'** - String get emptyState; - - /// Empty state subtitle - /// - /// In en, this message translates to: - /// **'Copy something to get started'** - String get emptyStateSubtitle; - - /// First-run hint banner text - /// - /// In en, this message translates to: - /// **'CopyPaste is active and running in the background. Look for it in the system tray or just use your shortcut. Feel free to customize your experience in'** - String get hintBannerText; - - /// First-run hint banner action - /// - /// In en, this message translates to: - /// **'Settings'** - String get hintBannerAction; - - /// Settings screen title - /// - /// In en, this message translates to: - /// **'Settings'** - String get settingsTitle; - - /// Shortcuts section header - /// - /// In en, this message translates to: - /// **'KEYBOARD SHORTCUTS'** - String get sectionShortcuts; - - /// Storage section header - /// - /// In en, this message translates to: - /// **'STORAGE'** - String get sectionStorage; - - /// Run on startup toggle label - /// - /// In en, this message translates to: - /// **'Run on startup'** - String get settingRunOnStartup; - - /// Language picker label - /// - /// In en, this message translates to: - /// **'Interface language'** - String get settingLanguage; - - /// Hint when hotkey changes - /// - /// In en, this message translates to: - /// **'Hotkey will apply immediately'** - String get hotkeyWillApply; - - /// Support section header in About tab - /// - /// In en, this message translates to: - /// **'SUPPORT'** - String get sectionSupport; - - /// Export logs action label - /// - /// In en, this message translates to: - /// **'Export logs'** - String get supportExportLogs; - - /// Export logs subtitle - /// - /// In en, this message translates to: - /// **'Save a zip with app logs for a bug report. Your clipboard content is never included.'** - String get supportExportLogsSubtitle; - - /// Open logs folder label - /// - /// In en, this message translates to: - /// **'Open logs folder'** - String get supportOpenLogsFolder; - - /// Open logs folder subtitle - /// - /// In en, this message translates to: - /// **'Browse the raw log files in your file manager.'** - String get supportOpenLogsFolderSubtitle; - - /// GitHub issue link label - /// - /// In en, this message translates to: - /// **'Report a bug on GitHub'** - String get supportGitHub; - - /// Snackbar after successful log export - /// - /// In en, this message translates to: - /// **'Logs saved to Downloads.'** - String get supportExportSuccess; - - /// Snackbar action to reveal the exported file in Finder/Explorer - /// - /// In en, this message translates to: - /// **'Show'** - String get supportShowInFiles; - - /// Snackbar when no logs exist - /// - /// In en, this message translates to: - /// **'No log files found.'** - String get supportExportEmpty; - - /// Snackbar on export error - /// - /// In en, this message translates to: - /// **'Failed to export logs.'** - String get supportExportError; - - /// Reset section header in About tab - /// - /// In en, this message translates to: - /// **'RESET & CLEAN INSTALL'** - String get sectionReset; - - /// Soft reset action label - /// - /// In en, this message translates to: - /// **'Soft Reset'** - String get resetSoftLabel; - - /// Soft reset subtitle - /// - /// In en, this message translates to: - /// **'Resets all settings to defaults and marks app as fresh install. Clipboard history is preserved.'** - String get resetSoftSubtitle; - - /// Hard reset action label - /// - /// In en, this message translates to: - /// **'Hard Reset'** - String get resetHardLabel; - - /// Hard reset subtitle - /// - /// In en, this message translates to: - /// **'Deletes all clipboard history, images, and settings. This cannot be undone.'** - String get resetHardSubtitle; - - /// Soft reset confirm dialog title - /// - /// In en, this message translates to: - /// **'Soft reset?'** - String get resetSoftConfirmTitle; - - /// Soft reset confirm dialog message - /// - /// In en, this message translates to: - /// **'All settings will return to defaults and the app will restart as if freshly installed. Your clipboard history will not be deleted.'** - String get resetSoftConfirmMessage; - - /// Hard reset confirm dialog title - /// - /// In en, this message translates to: - /// **'Hard reset?'** - String get resetHardConfirmTitle; - - /// Hard reset confirm dialog message - /// - /// In en, this message translates to: - /// **'This will permanently delete all clipboard history, images, and settings, then restart the app. This cannot be undone.'** - String get resetHardConfirmMessage; - - /// Reset confirm button label - /// - /// In en, this message translates to: - /// **'Reset & Restart'** - String get resetConfirmButton; - - /// Clear history dialog title - /// - /// In en, this message translates to: - /// **'Clear history?'** - String get clearHistoryConfirmTitle; - - /// Clear history dialog message - /// - /// In en, this message translates to: - /// **'This will permanently delete all non-pinned clipboard items. This action cannot be undone.'** - String get clearHistoryConfirmMessage; - - /// Clear history confirm button - /// - /// In en, this message translates to: - /// **'Clear'** - String get clearHistoryConfirmButton; - - /// Last backup date - /// - /// In en, this message translates to: - /// **'Last backup: {date}'** - String backupLastDate(String date); - - /// No backup yet message - /// - /// In en, this message translates to: - /// **'No backup created yet.'** - String get backupNone; - - /// Create backup label - /// - /// In en, this message translates to: - /// **'Create backup'** - String get backupCreateLabel; - - /// Restore backup label - /// - /// In en, this message translates to: - /// **'Restore backup'** - String get backupRestoreLabel; - - /// Backup error message - /// - /// In en, this message translates to: - /// **'Failed to create backup. Check permissions.'** - String get backupError; - - /// Restore dialog title - /// - /// In en, this message translates to: - /// **'Restore backup'** - String get restoreDialogTitle; - - /// Restore confirmation warning - /// - /// In en, this message translates to: - /// **'This will replace all current data with the backup contents. Continue?'** - String get restoreDialogWarning; - - /// File not found error - /// - /// In en, this message translates to: - /// **'File not found.'** - String get restoreFileNotFound; - - /// Restore success message - /// - /// In en, this message translates to: - /// **'Restored {count} items.'** - String restoreSuccess(int count); - - /// Restore error message - /// - /// In en, this message translates to: - /// **'Restore failed. Your previous data has been preserved.'** - String get restoreError; - - /// Save button - /// - /// In en, this message translates to: - /// **'Save'** - String get buttonSave; - - /// Generic Close button - /// - /// In en, this message translates to: - /// **'Close'** - String get buttonClose; - - /// Cancel button - /// - /// In en, this message translates to: - /// **'Cancel'** - String get buttonCancel; - - /// Reset button - /// - /// In en, this message translates to: - /// **'Restore defaults'** - String get buttonReset; - - /// Footer indicator while autosave is in flight - /// - /// In en, this message translates to: - /// **'Saving…'** - String get savingIndicator; - - /// Footer indicator after autosave completes - /// - /// In en, this message translates to: - /// **'Saved'** - String get savedIndicator; - - /// Context menu paste - /// - /// In en, this message translates to: - /// **'Paste'** - String get menuPaste; - - /// Context menu paste plain - /// - /// In en, this message translates to: - /// **'Paste plain'** - String get menuPastePlain; - - /// Context menu copy to clipboard without pasting - /// - /// In en, this message translates to: - /// **'Copy'** - String get menuCopy; - - /// Snackbar shown after the copy action - /// - /// In en, this message translates to: - /// **'Copied to clipboard'** - String get copiedToClipboard; - - /// Context menu pin - /// - /// In en, this message translates to: - /// **'Pin'** - String get menuPin; - - /// Context menu unpin - /// - /// In en, this message translates to: - /// **'Unpin'** - String get menuUnpin; - - /// Context menu edit - /// - /// In en, this message translates to: - /// **'Edit card'** - String get menuEdit; - - /// Context menu delete - /// - /// In en, this message translates to: - /// **'Delete'** - String get menuDelete; - - /// Color picker label in edit dialog - /// - /// In en, this message translates to: - /// **'Color'** - String get editColorLabel; - - /// No description provided for @colorRed. - /// - /// In en, this message translates to: - /// **'Red'** - String get colorRed; - - /// No description provided for @colorGreen. - /// - /// In en, this message translates to: - /// **'Green'** - String get colorGreen; - - /// No description provided for @colorPurple. - /// - /// In en, this message translates to: - /// **'Purple'** - String get colorPurple; - - /// No description provided for @colorYellow. - /// - /// In en, this message translates to: - /// **'Yellow'** - String get colorYellow; - - /// No description provided for @colorBlue. - /// - /// In en, this message translates to: - /// **'Blue'** - String get colorBlue; - - /// No description provided for @colorOrange. - /// - /// In en, this message translates to: - /// **'Orange'** - String get colorOrange; - - /// No description provided for @typeText. - /// - /// In en, this message translates to: - /// **'Text'** - String get typeText; - - /// No description provided for @typeImage. - /// - /// In en, this message translates to: - /// **'Image'** - String get typeImage; - - /// No description provided for @typeFile. - /// - /// In en, this message translates to: - /// **'File'** - String get typeFile; - - /// No description provided for @typeFolder. - /// - /// In en, this message translates to: - /// **'Folder'** - String get typeFolder; - - /// No description provided for @typeLink. - /// - /// In en, this message translates to: - /// **'Link'** - String get typeLink; - - /// No description provided for @typeAudio. - /// - /// In en, this message translates to: - /// **'Audio'** - String get typeAudio; - - /// No description provided for @typeVideo. - /// - /// In en, this message translates to: - /// **'Video'** - String get typeVideo; - - /// No description provided for @typeEmail. - /// - /// In en, this message translates to: - /// **'Email'** - String get typeEmail; - - /// No description provided for @typePhone. - /// - /// In en, this message translates to: - /// **'Phone'** - String get typePhone; - - /// No description provided for @typeColor. - /// - /// In en, this message translates to: - /// **'Color'** - String get typeColor; - - /// No description provided for @typeIp. - /// - /// In en, this message translates to: - /// **'IP'** - String get typeIp; - - /// No description provided for @typeUuid. - /// - /// In en, this message translates to: - /// **'UUID'** - String get typeUuid; - - /// No description provided for @typeJson. - /// - /// In en, this message translates to: - /// **'JSON'** - String get typeJson; - - /// No description provided for @filterAll. - /// - /// In en, this message translates to: - /// **'All'** - String get filterAll; - - /// No description provided for @filterPinned. - /// - /// In en, this message translates to: - /// **'Pinned'** - String get filterPinned; - - /// System tray tooltip - /// - /// In en, this message translates to: - /// **'CopyPaste'** - String get trayTooltip; - - /// Tray menu exit item - /// - /// In en, this message translates to: - /// **'Exit'** - String get trayExit; - - /// No description provided for @subtitleShortcutScopes. - /// - /// In en, this message translates to: - /// **'Ctrl+V stays with the active app. History shortcuts work while the CopyPaste panel is open.'** - String get subtitleShortcutScopes; - - /// No description provided for @shortcutOpenClose. - /// - /// In en, this message translates to: - /// **'CopyPaste global: Open / close CopyPaste'** - String get shortcutOpenClose; - - /// No description provided for @shortcutPastePlainDirect. - /// - /// In en, this message translates to: - /// **'CopyPaste global: Paste the current clipboard as plain text'** - String get shortcutPastePlainDirect; - - /// No description provided for @shortcutSystemPaste. - /// - /// In en, this message translates to: - /// **'Active app: Paste the current clipboard normally (CopyPaste does not intercept it)'** - String get shortcutSystemPaste; - - /// No description provided for @shortcutEscape. - /// - /// In en, this message translates to: - /// **'Clear search or close window'** - String get shortcutEscape; - - /// No description provided for @shortcutTab1. - /// - /// In en, this message translates to: - /// **'Switch to Recent tab'** - String get shortcutTab1; - - /// No description provided for @shortcutTab2. - /// - /// In en, this message translates to: - /// **'Switch to Pinned tab'** - String get shortcutTab2; - - /// No description provided for @shortcutArrows. - /// - /// In en, this message translates to: - /// **'Navigate between items'** - String get shortcutArrows; - - /// No description provided for @shortcutEnter. - /// - /// In en, this message translates to: - /// **'CopyPaste open: Paste the hovered, selected, or first history item normally'** - String get shortcutEnter; - - /// No description provided for @shortcutPasteSelectedPlain. - /// - /// In en, this message translates to: - /// **'CopyPaste open: Paste the hovered, selected, or first history item as plain text'** - String get shortcutPasteSelectedPlain; - - /// No description provided for @shortcutDelete. - /// - /// In en, this message translates to: - /// **'Delete selected item'** - String get shortcutDelete; - - /// No description provided for @shortcutPin. - /// - /// In en, this message translates to: - /// **'Pin / Unpin selected item'** - String get shortcutPin; - - /// No description provided for @shortcutEdit. - /// - /// In en, this message translates to: - /// **'Edit card (label and color)'** - String get shortcutEdit; - - /// General nav tab - /// - /// In en, this message translates to: - /// **'General'** - String get tabGeneral; - - /// Backup nav tab - /// - /// In en, this message translates to: - /// **'Backup & Support'** - String get tabBackupRestore; - - /// Appearance nav tab - /// - /// In en, this message translates to: - /// **'Appearance'** - String get tabAppearance; - - /// Shortcuts nav tab - /// - /// In en, this message translates to: - /// **'Shortcuts'** - String get tabShortcuts; - - /// About nav tab - /// - /// In en, this message translates to: - /// **'About'** - String get tabAbout; - - /// Language section title - /// - /// In en, this message translates to: - /// **'LANGUAGE'** - String get sectionLanguage; - - /// Startup section title - /// - /// In en, this message translates to: - /// **'STARTUP'** - String get sectionStartup; - - /// Keyboard shortcut section title - /// - /// In en, this message translates to: - /// **'KEYBOARD SHORTCUT'** - String get sectionKeyboardShortcut; - - /// Categories section title - /// - /// In en, this message translates to: - /// **'CATEGORIES'** - String get sectionCategories; - - /// Performance section title - /// - /// In en, this message translates to: - /// **'PERFORMANCE'** - String get sectionPerformance; - - /// Paste section title - /// - /// In en, this message translates to: - /// **'PASTE'** - String get sectionPaste; - - /// Backup and restore section title - /// - /// In en, this message translates to: - /// **'BACKUP & RESTORE'** - String get sectionBackupRestore; - - /// Appearance section title - /// - /// In en, this message translates to: - /// **'APPEARANCE'** - String get sectionAppearance; - - /// Theme selector label - /// - /// In en, this message translates to: - /// **'Theme'** - String get settingTheme; - - /// Light theme option - /// - /// In en, this message translates to: - /// **'Light'** - String get themeLight; - - /// Dark theme option - /// - /// In en, this message translates to: - /// **'Dark'** - String get themeDark; - - /// Auto theme option - /// - /// In en, this message translates to: - /// **'Auto'** - String get themeAuto; - - /// Behavior section title - /// - /// In en, this message translates to: - /// **'BEHAVIOR'** - String get sectionBehavior; - - /// About section title - /// - /// In en, this message translates to: - /// **'COPYPASTE'** - String get sectionAbout; - - /// Links section title - /// - /// In en, this message translates to: - /// **'LINKS'** - String get sectionLinks; - - /// Items per page label - /// - /// In en, this message translates to: - /// **'Items per page'** - String get settingItemsPerPage; - - /// Memory limit label - /// - /// In en, this message translates to: - /// **'Memory limit'** - String get settingMemoryLimit; - - /// Scroll threshold label - /// - /// In en, this message translates to: - /// **'Scroll threshold (px)'** - String get settingScrollThreshold; - - /// Paste speed label - /// - /// In en, this message translates to: - /// **'Paste speed'** - String get settingPasteSpeed; - - /// Panel width label - /// - /// In en, this message translates to: - /// **'Panel width (px)'** - String get settingPanelWidth; - - /// Panel height label - /// - /// In en, this message translates to: - /// **'Panel height (px)'** - String get settingPanelHeight; - - /// Lines collapsed label - /// - /// In en, this message translates to: - /// **'Lines collapsed'** - String get settingLinesCollapsed; - - /// Lines expanded label - /// - /// In en, this message translates to: - /// **'Lines expanded'** - String get settingLinesExpanded; - - /// Hide on deactivate label - /// - /// In en, this message translates to: - /// **'Hide on deactivate'** - String get settingHideOnDeactivate; - - /// Remember window position toggle label - /// - /// In en, this message translates to: - /// **'Remember window position'** - String get settingRememberWindowPosition; - - /// Scroll to top on open label - /// - /// In en, this message translates to: - /// **'Scroll to top on open'** - String get settingScrollToTopOnOpen; - - /// Clear search on open label - /// - /// In en, this message translates to: - /// **'Clear search on open'** - String get settingClearSearchOnOpen; - - /// Retention days label - /// - /// In en, this message translates to: - /// **'Retention days (0 = unlimited)'** - String get settingRetentionDaysLabel; - - /// Clear clipboard history label - /// - /// In en, this message translates to: - /// **'Clear clipboard history'** - String get settingClearHistoryLabel; - - /// Hotkey shortcut label - /// - /// In en, this message translates to: - /// **'Shortcut to open/close CopyPaste'** - String get settingHotkeyShortcutLabel; - - /// No description provided for @subtitleGlobalHotkeyWarning. - /// - /// In en, this message translates to: - /// **'System-wide shortcut. It may replace the same combination in another application.'** - String get subtitleGlobalHotkeyWarning; - - /// No description provided for @settingPlainPasteHotkeyLabel. - /// - /// In en, this message translates to: - /// **'Optional global plain-text paste'** - String get settingPlainPasteHotkeyLabel; - - /// No description provided for @subtitlePlainPasteHotkey. - /// - /// In en, this message translates to: - /// **'Pastes the current clipboard as plain text without opening CopyPaste. Enabling a global shortcut can override the same shortcut in other apps.'** - String get subtitlePlainPasteHotkey; - - /// No description provided for @shortcutDisabled. - /// - /// In en, this message translates to: - /// **'Disabled'** - String get shortcutDisabled; - - /// No description provided for @currentShortcut. - /// - /// In en, this message translates to: - /// **'Current: {shortcut}'** - String currentShortcut(String shortcut); - - /// No description provided for @hotkeyRequiresModifier. - /// - /// In en, this message translates to: - /// **'Add at least one modifier key before saving this shortcut.'** - String get hotkeyRequiresModifier; - - /// No description provided for @hotkeyConflictWarning. - /// - /// In en, this message translates to: - /// **'This combination is already assigned to the other CopyPaste shortcut.'** - String get hotkeyConflictWarning; - - /// No description provided for @restoreRecommendedHotkeys. - /// - /// In en, this message translates to: - /// **'Restore recommended shortcuts'** - String get restoreRecommendedHotkeys; - - /// No description provided for @plainPasteHotkeyRegistrationFailed. - /// - /// In en, this message translates to: - /// **'The direct plain-text paste shortcut could not be registered. It may already be in use by the system or another app.'** - String get plainPasteHotkeyRegistrationFailed; - - /// No description provided for @pasteDestinationUnavailable. - /// - /// In en, this message translates to: - /// **'Paste was cancelled because the original destination could not be restored. Open CopyPaste with its keyboard shortcut and try again.'** - String get pasteDestinationUnavailable; - - /// No description provided for @plainPasteItemUnavailable. - /// - /// In en, this message translates to: - /// **'The hovered, selected, or first item cannot be pasted as plain text.'** - String get plainPasteItemUnavailable; - - /// No description provided for @plainClipboardUnavailable. - /// - /// In en, this message translates to: - /// **'There is no text on the clipboard. Copy some text first, then use plain-text paste again.'** - String get plainClipboardUnavailable; - - /// No description provided for @clipboardWriteFailed. - /// - /// In en, this message translates to: - /// **'The item could not be placed on the clipboard because another app is holding it. Try again in a moment.'** - String get clipboardWriteFailed; - - /// No description provided for @pasteTargetElevated. - /// - /// In en, this message translates to: - /// **'The destination app runs as administrator, so Windows blocks the simulated paste. Run CopyPaste as administrator too, or press Ctrl+V yourself.'** - String get pasteTargetElevated; - - /// No description provided for @hotkeyRegistrationFailed. - /// - /// In en, this message translates to: - /// **'The shortcut {shortcut} could not be registered. It may already be in use by the system or another app.'** - String hotkeyRegistrationFailed(String shortcut); - - /// No description provided for @hotkeyFallbackActive. - /// - /// In en, this message translates to: - /// **'The shortcut {requested} was unavailable. CopyPaste is temporarily using {effective}.'** - String hotkeyFallbackActive(String requested, String effective); - - /// Startup subtitle - /// - /// In en, this message translates to: - /// **'Launches in background when you sign in'** - String get subtitleStartupDesc; - - /// Hide on deactivate subtitle - /// - /// In en, this message translates to: - /// **'Close window when clicking outside'** - String get subtitleHideOnDeactivate; - - /// Remember window position subtitle - /// - /// In en, this message translates to: - /// **'Reopen the window where you left it last time'** - String get subtitleRememberWindowPosition; - - /// Scroll to top on open subtitle - /// - /// In en, this message translates to: - /// **'Resets scroll and selects latest item'** - String get subtitleScrollToTopOnOpen; - - /// Clear search on open subtitle - /// - /// In en, this message translates to: - /// **'Clears the search text each time'** - String get subtitleClearSearchOnOpen; - - /// Paste speed subtitle - /// - /// In en, this message translates to: - /// **'Adjust restoration and paste timings'** - String get subtitlePasteSpeed; - - /// Categories subtitle - /// - /// In en, this message translates to: - /// **'Customize the names of color categories.'** - String get subtitleCategories; - - /// GitHub link label - /// - /// In en, this message translates to: - /// **'Support & Source code — GitHub'** - String get linkGitHub; - - /// Buy me a coffee link label - /// - /// In en, this message translates to: - /// **'Buy me a coffee'** - String get linkCoffee; - - /// Edit card dialog title - /// - /// In en, this message translates to: - /// **'Label & Color'** - String get editDialogTitle; - - /// Label input hint in edit dialog - /// - /// In en, this message translates to: - /// **'Add a label...'** - String get editDialogHint; - - /// Snackbar after clearing history - /// - /// In en, this message translates to: - /// **'History cleared'** - String get historyCleared; - - /// Backup saved snackbar - /// - /// In en, this message translates to: - /// **'Backup saved: {filename}'** - String backupSavedFile(String filename); - - /// Restore action button - /// - /// In en, this message translates to: - /// **'Restore'** - String get buttonRestore; - - /// Restore completed snackbar - /// - /// In en, this message translates to: - /// **'Restore completed'** - String get restoreCompleted; - - /// Restore requires restart message - /// - /// In en, this message translates to: - /// **'Restore completed. The app will restart to apply changes.'** - String get restoreRestartRequired; - - /// Expand collapse shortcut - /// - /// In en, this message translates to: - /// **'Expand / collapse card'** - String get shortcutExpand; - - /// Focus search shortcut - /// - /// In en, this message translates to: - /// **'Focus search box'** - String get shortcutFocusSearch; - - /// Tray menu show/hide item - /// - /// In en, this message translates to: - /// **'Show/Hide'** - String get trayShowHide; - - /// Badge when file is missing - /// - /// In en, this message translates to: - /// **'Not found'** - String get fileNotFound; - - /// Fallback name for audio items - /// - /// In en, this message translates to: - /// **'Audio file'** - String get audioFile; - - /// Fallback name for video items - /// - /// In en, this message translates to: - /// **'Video file'** - String get videoFile; - - /// Fallback name / accessibility label for image items - /// - /// In en, this message translates to: - /// **'Image file'** - String get imageFile; - - /// Timestamp for less than 1 minute ago - /// - /// In en, this message translates to: - /// **'now'** - String get timeNow; - - /// Filter menu clear action - /// - /// In en, this message translates to: - /// **'Clear all filters'** - String get clearAllFilters; - - /// Filter menu color section header - /// - /// In en, this message translates to: - /// **'COLOR'** - String get colorSectionLabel; - - /// No color option - /// - /// In en, this message translates to: - /// **'None'** - String get colorNone; - - /// Paste preset subtitle - /// - /// In en, this message translates to: - /// **'Automatic paste speed. Instant is optimized for Windows; use Safe if a destination app misses a paste.'** - String get subtitlePastePreset; - - /// Non-Windows paste preset subtitle - /// - /// In en, this message translates to: - /// **'Automatic paste speed. Normal/Safe recommended for most computers.'** - String get subtitlePastePresetStandard; - - /// Windows instant paste preset label - /// - /// In en, this message translates to: - /// **'Instant'** - String get pastePresetInstant; - - /// Fast paste preset label - /// - /// In en, this message translates to: - /// **'Fast'** - String get pastePresetFast; - - /// Normal paste preset label - /// - /// In en, this message translates to: - /// **'Normal'** - String get pastePresetNormal; - - /// Safe paste preset label - /// - /// In en, this message translates to: - /// **'Safe'** - String get pastePresetSafe; - - /// Slow paste preset label - /// - /// In en, this message translates to: - /// **'Slow'** - String get pastePresetSlow; - - /// Custom paste preset placeholder - /// - /// In en, this message translates to: - /// **'Custom'** - String get pastePresetCustom; - - /// Paste preset warning text - /// - /// In en, this message translates to: - /// **'⚡ Instant (Windows): lowest latency with native focus verification.\n⚠️ Fast: may cause unexpected behavior in heavy apps.\n⚠️ Slow: may feel sluggish on modern computers.'** - String get pastePresetWarning; - - /// Non-Windows paste preset warning text - /// - /// In en, this message translates to: - /// **'⚠️ Fast: may cause unexpected behavior in heavy apps.\n⚠️ Slow: may feel sluggish on modern computers.'** - String get pastePresetWarningStandard; - - /// Reset filters on open label - /// - /// In en, this message translates to: - /// **'Switch to All on open'** - String get settingResetFiltersOnOpen; - - /// Reset filters on open subtitle - /// - /// In en, this message translates to: - /// **'Clears category and type filters and returns to the All tab'** - String get subtitleResetFiltersOnOpen; - - /// Backup section subtitle - /// - /// In en, this message translates to: - /// **'Create a backup of your clipboard history, images, and settings. Restore at any time on this or another device.'** - String get subtitleBackup; - - /// About section description - /// - /// In en, this message translates to: - /// **'A modern clipboard manager built to feel native on Windows and macOS.\nLocal-first — your history, always at hand. No accounts, no telemetry, no subscriptions.'** - String get aboutDescription; - - /// Privacy section title in About tab - /// - /// In en, this message translates to: - /// **'PRIVACY'** - String get sectionPrivacy; - - /// Short privacy philosophy statement shown in About tab - /// - /// In en, this message translates to: - /// **'Everything local. Nothing leaves your PC — no telemetry, no sync, no accounts.'** - String get privacyStatement; - - /// Link label to open the full privacy policy - /// - /// In en, this message translates to: - /// **'Privacy Policy'** - String get privacyPolicy; - - /// Badge label: everything is stored locally - /// - /// In en, this message translates to: - /// **'Local-only'** - String get aboutTagLocal; - - /// Badge label: the app is open source - /// - /// In en, this message translates to: - /// **'Open source'** - String get aboutTagOpenSource; - - /// Badge label: the app is free - /// - /// In en, this message translates to: - /// **'Free'** - String get aboutTagFree; - - /// Other tools section title in About tab - /// - /// In en, this message translates to: - /// **'OTHER TOOLS'** - String get sectionOtherTools; - - /// LinkUnbound app name - /// - /// In en, this message translates to: - /// **'LinkUnbound'** - String get otherToolLinkUnbound; - - /// LinkUnbound app description - /// - /// In en, this message translates to: - /// **'Open-source browser selector for Windows and Mac. Same philosophy: no ads, no telemetry, everything local.'** - String get otherToolLinkUnboundDesc; - - /// License footer text - /// - /// In en, this message translates to: - /// **'GPL v3 License — Free and open source.'** - String get aboutLicense; - - /// Title for the macOS accessibility permissions dialog - /// - /// In en, this message translates to: - /// **'Accessibility Permission Required'** - String get permissionsTitle; - - /// Body text explaining why accessibility permission is needed - /// - /// In en, this message translates to: - /// **'CopyPaste needs Accessibility permission to paste content into other apps.\n\nGo to System Settings → Privacy & Security → Accessibility and enable CopyPaste.'** - String get permissionsMessage; - - /// Button to open macOS System Settings - /// - /// In en, this message translates to: - /// **'Open Settings'** - String get permissionsOpenSettings; - - /// Dismiss button for permissions dialog - /// - /// In en, this message translates to: - /// **'Later'** - String get permissionsDismiss; - - /// Snackbar message when permission is confirmed - /// - /// In en, this message translates to: - /// **'Permission granted'** - String get permissionsGranted; - - /// Title shown when permission was previously granted but is no longer recognised (Gatekeeper identity change) - /// - /// In en, this message translates to: - /// **'Accessibility Permission Lost'** - String get permissionsResetTitle; - - /// Instructions for fixing stale TCC entries after Gatekeeper re-authorisation - /// - /// In en, this message translates to: - /// **'macOS no longer recognises CopyPaste\'s permission because the app was re-authorised through Gatekeeper.\n\nTo fix this:\n1. Open Accessibility settings below\n2. Remove CopyPaste from the list (−)\n3. Re-add it or toggle it back on'** - String get permissionsResetMessage; - - /// Shown after polling times out without detecting the permission grant - /// - /// In en, this message translates to: - /// **'Make sure CopyPaste is enabled in Privacy & Security > Accessibility.\n\nThe app will continue automatically when the permission is detected.'** - String get permissionsRestartMessage; - - /// Button to manually re-check accessibility permission - /// - /// In en, this message translates to: - /// **'Check Again'** - String get permissionsCheckAgain; - - /// Button to restart the app when permission detection is stuck - /// - /// In en, this message translates to: - /// **'Restart App'** - String get permissionsRestartApp; - - /// Label shown while polling for the accessibility permission grant - /// - /// In en, this message translates to: - /// **'Waiting for permission…'** - String get permissionsWaiting; - - /// Short text shown in the footer when an update is available - /// - /// In en, this message translates to: - /// **'v{version} is available, please update'** - String updateBadge(String version); - - /// Update dialog message for Windows standalone builds - /// - /// In en, this message translates to: - /// **'Version {version} is available.\n\nDownload the latest installer from GitHub.'** - String updateAvailableWindows(String version); - - /// Update dialog message for macOS - /// - /// In en, this message translates to: - /// **'Version {version} is available.\n\nUpdate via Homebrew:\nbrew upgrade copypaste\n\nOr download the latest release from GitHub.'** - String updateAvailableMac(String version); - - /// Update dialog message for MS Store builds - /// - /// In en, this message translates to: - /// **'Version {version} is available.\n\nMicrosoft Store delivers updates automatically. New versions may take a few days to appear after release.'** - String updateAvailableStore(String version); - - /// Short tooltip for MS Store badge - /// - /// In en, this message translates to: - /// **'Update {version} coming via Microsoft Store'** - String updateTooltipStore(String version); - - /// Short tooltip for non-Store badge - /// - /// In en, this message translates to: - /// **'Update {version} available — click for details'** - String updateTooltipGeneric(String version); - - /// Title of the update available dialog - /// - /// In en, this message translates to: - /// **'Update Available'** - String get updateDialogTitle; - - /// Button to open the GitHub release page - /// - /// In en, this message translates to: - /// **'View release'** - String get updateViewRelease; - - /// Button to dismiss the update notification - /// - /// In en, this message translates to: - /// **'Later'** - String get updateDismiss; - - /// Footer badge text for minor/major updates - /// - /// In en, this message translates to: - /// **'v{version} available — important update'** - String updateBadgeImportant(String version); - - /// Action button to open the installer download page - /// - /// In en, this message translates to: - /// **'Download installer'** - String get updateActionDownload; - - /// Action button to open the MS Store update page - /// - /// In en, this message translates to: - /// **'Open Microsoft Store'** - String get updateActionOpenStore; - - /// Action button to copy the package manager upgrade command - /// - /// In en, this message translates to: - /// **'Copy {tool} command'** - String updateActionCopyCommand(String tool); - - /// Snack/tooltip shown after copying the upgrade command - /// - /// In en, this message translates to: - /// **'Copied to clipboard'** - String get updateActionCopied; - - /// Title of the blocked-version full-screen gate - /// - /// In en, this message translates to: - /// **'Update required'** - String get blockedTitle; - - /// Body of the blocked-version full-screen gate - /// - /// In en, this message translates to: - /// **'Version {current} of CopyPaste is no longer supported. Please install version {required} or newer to continue using the app.'** - String blockedDescription(String current, String required); - - /// Generic reason shown in the blocked screen when the manifest does not provide one - /// - /// In en, this message translates to: - /// **'This version was retired by the maintainers for safety or compatibility reasons.'** - String get blockedReasonGeneric; - - /// Secondary action on the blocked-version screen - /// - /// In en, this message translates to: - /// **'Quit CopyPaste'** - String get blockedQuit; - - /// Hint shown when no channel-specific action is available - /// - /// In en, this message translates to: - /// **'Visit https://github.com/rgdevment/CopyPaste/releases to download the latest installer.'** - String get blockedFallbackHint; - - /// In-app snackbar shown inside the window when it is raised by a second launch attempt - /// - /// In en, this message translates to: - /// **'CopyPaste runs in the background — press {hotkey} or click the tray icon to open it anytime.'** - String wakeupHint(String hotkey); - - /// Hint shown when user opens CopyPaste from the taskbar in taskbar mode - /// - /// In en, this message translates to: - /// **'Tip: press {hotkey} to open and paste automatically — no focus lost.'** - String taskbarOpenHint(String hotkey); - - /// Windows balloon shown at startup when window starts hidden - /// - /// In en, this message translates to: - /// **'Running in the background. Press {hotkey} or click the tray icon.'** - String balloonStartupBody(String hotkey); - - /// Windows balloon title when a second instance is launched - /// - /// In en, this message translates to: - /// **'CopyPaste is already open'** - String get balloonWakeupTitle; - - /// Windows balloon body when a second instance is launched - /// - /// In en, this message translates to: - /// **'Press {hotkey} or click the tray icon to bring it up.'** - String balloonWakeupBody(String hotkey); - - /// Onboarding screen title - /// - /// In en, this message translates to: - /// **'Welcome to CopyPaste'** - String get onboardingTitle; - - /// Onboarding screen subtitle - /// - /// In en, this message translates to: - /// **'Everything you copy, saved.'** - String get onboardingSubtitle; - - /// Onboarding privacy badge chip - /// - /// In en, this message translates to: - /// **'No cloud · No tracking · 100% local'** - String get onboardingPrivacyBadge; - - /// Onboarding main description - /// - /// In en, this message translates to: - /// **'Runs silently in the background. Press {hotkey} anytime to open your clipboard history.'** - String onboardingDescription(String hotkey); - - /// Onboarding tray location hint - /// - /// In en, this message translates to: - /// **'Look for the CP icon next to your clock.'** - String get onboardingTrayHint; - - /// Onboarding settings button - /// - /// In en, this message translates to: - /// **'Settings'** - String get onboardingSettingsButton; - - /// Onboarding dismiss button - /// - /// In en, this message translates to: - /// **'Get started'** - String get onboardingDismissButton; - - /// Performance tab label (paste, perf, multimedia) - /// - /// In en, this message translates to: - /// **'Performance'** - String get tabCapture; - - /// Multimedia tab label (legacy, unused since tabs were merged) - /// - /// In en, this message translates to: - /// **'Multimedia'** - String get tabMultimedia; - - /// Cleanup & privacy tab label - /// - /// In en, this message translates to: - /// **'Cleanup & Privacy'** - String get tabCleanupPrivacy; - - /// Multimedia section header - /// - /// In en, this message translates to: - /// **'MULTIMEDIA & THUMBNAILS'** - String get sectionMultimedia; - - /// Multimedia section subtitle - /// - /// In en, this message translates to: - /// **'Control how images, videos and audio files are previewed.'** - String get subtitleMultimedia; - - /// Image thumbs toggle - /// - /// In en, this message translates to: - /// **'Generate image thumbnails'** - String get settingGenerateImageThumbnails; - - /// Image thumbs subtitle - /// - /// In en, this message translates to: - /// **'Show preview tiles for copied or referenced images.'** - String get subtitleGenerateImageThumbnails; - - /// Video thumbs toggle - /// - /// In en, this message translates to: - /// **'Generate video thumbnails'** - String get settingGenerateVideoThumbnails; - - /// Video thumbs subtitle - /// - /// In en, this message translates to: - /// **'Use the OS shell cache to show a preview frame for video files.'** - String get subtitleGenerateVideoThumbnails; - - /// Audio thumbs toggle - /// - /// In en, this message translates to: - /// **'Generate audio thumbnails'** - String get settingGenerateAudioThumbnails; - - /// Audio thumbs subtitle - /// - /// In en, this message translates to: - /// **'Show cover art when available for audio files.'** - String get subtitleGenerateAudioThumbnails; - - /// Max image size label - /// - /// In en, this message translates to: - /// **'Max image size for processing (MB)'** - String get settingMaxImageSize; - - /// Max image size subtitle - /// - /// In en, this message translates to: - /// **'Larger images keep their original bitmap fallback and are not re-encoded.'** - String get subtitleMaxImageSize; - - /// Cleanup & privacy section header - /// - /// In en, this message translates to: - /// **'CLEANUP & PRIVACY'** - String get sectionCleanupPrivacy; - - /// Days to keep broken external refs - /// - /// In en, this message translates to: - /// **'Keep unavailable items (days)'** - String get settingKeepBrokenItemsLabel; - - /// Broken-items subtitle - /// - /// In en, this message translates to: - /// **'Items that point to a missing file or unmounted volume are pruned after this many days. 0 prunes immediately.'** - String get subtitleKeepBrokenItems; - - /// Quota label - /// - /// In en, this message translates to: - /// **'Storage cap for images'** - String get settingImagesQuotaLabel; - - /// Quota subtitle - /// - /// In en, this message translates to: - /// **'When the images folder exceeds this size, oldest unpinned items are deleted to free space.'** - String get subtitleImagesQuota; - - /// Quota disabled label - /// - /// In en, this message translates to: - /// **'Unlimited'** - String get imagesQuotaOff; -} - -class _AppLocalizationsDelegate - extends LocalizationsDelegate { - const _AppLocalizationsDelegate(); - - @override - Future load(Locale locale) { - return SynchronousFuture(lookupAppLocalizations(locale)); - } - - @override - bool isSupported(Locale locale) => - ['en', 'es'].contains(locale.languageCode); - - @override - bool shouldReload(_AppLocalizationsDelegate old) => false; -} - -AppLocalizations lookupAppLocalizations(Locale locale) { - // Lookup logic when only language code is specified. - switch (locale.languageCode) { - case 'en': - return AppLocalizationsEn(); - case 'es': - return AppLocalizationsEs(); - } - - throw FlutterError( - 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' - 'an issue with the localizations generation tool. Please file an issue ' - 'on GitHub with a reproducible sample app and the gen-l10n configuration ' - 'that was used.', - ); -} diff --git a/app/lib/l10n/app_localizations_en.dart b/app/lib/l10n/app_localizations_en.dart deleted file mode 100644 index 1bfbfcf2..00000000 --- a/app/lib/l10n/app_localizations_en.dart +++ /dev/null @@ -1,873 +0,0 @@ -// ignore: unused_import -import 'package:intl/intl.dart' as intl; -import 'app_localizations.dart'; - -// ignore_for_file: type=lint - -/// The translations for English (`en`). -class AppLocalizationsEn extends AppLocalizations { - AppLocalizationsEn([String locale = 'en']) : super(locale); - - @override - String get searchPlaceholder => 'Search clipboard…'; - - @override - String get emptyState => 'No items in this section'; - - @override - String get emptyStateSubtitle => 'Copy something to get started'; - - @override - String get hintBannerText => - 'CopyPaste is active and running in the background. Look for it in the system tray or just use your shortcut. Feel free to customize your experience in'; - - @override - String get hintBannerAction => 'Settings'; - - @override - String get settingsTitle => 'Settings'; - - @override - String get sectionShortcuts => 'KEYBOARD SHORTCUTS'; - - @override - String get sectionStorage => 'STORAGE'; - - @override - String get settingRunOnStartup => 'Run on startup'; - - @override - String get settingLanguage => 'Interface language'; - - @override - String get hotkeyWillApply => 'Hotkey will apply immediately'; - - @override - String get sectionSupport => 'SUPPORT'; - - @override - String get supportExportLogs => 'Export logs'; - - @override - String get supportExportLogsSubtitle => - 'Save a zip with app logs for a bug report. Your clipboard content is never included.'; - - @override - String get supportOpenLogsFolder => 'Open logs folder'; - - @override - String get supportOpenLogsFolderSubtitle => - 'Browse the raw log files in your file manager.'; - - @override - String get supportGitHub => 'Report a bug on GitHub'; - - @override - String get supportExportSuccess => 'Logs saved to Downloads.'; - - @override - String get supportShowInFiles => 'Show'; - - @override - String get supportExportEmpty => 'No log files found.'; - - @override - String get supportExportError => 'Failed to export logs.'; - - @override - String get sectionReset => 'RESET & CLEAN INSTALL'; - - @override - String get resetSoftLabel => 'Soft Reset'; - - @override - String get resetSoftSubtitle => - 'Resets all settings to defaults and marks app as fresh install. Clipboard history is preserved.'; - - @override - String get resetHardLabel => 'Hard Reset'; - - @override - String get resetHardSubtitle => - 'Deletes all clipboard history, images, and settings. This cannot be undone.'; - - @override - String get resetSoftConfirmTitle => 'Soft reset?'; - - @override - String get resetSoftConfirmMessage => - 'All settings will return to defaults and the app will restart as if freshly installed. Your clipboard history will not be deleted.'; - - @override - String get resetHardConfirmTitle => 'Hard reset?'; - - @override - String get resetHardConfirmMessage => - 'This will permanently delete all clipboard history, images, and settings, then restart the app. This cannot be undone.'; - - @override - String get resetConfirmButton => 'Reset & Restart'; - - @override - String get clearHistoryConfirmTitle => 'Clear history?'; - - @override - String get clearHistoryConfirmMessage => - 'This will permanently delete all non-pinned clipboard items. This action cannot be undone.'; - - @override - String get clearHistoryConfirmButton => 'Clear'; - - @override - String backupLastDate(String date) { - return 'Last backup: $date'; - } - - @override - String get backupNone => 'No backup created yet.'; - - @override - String get backupCreateLabel => 'Create backup'; - - @override - String get backupRestoreLabel => 'Restore backup'; - - @override - String get backupError => 'Failed to create backup. Check permissions.'; - - @override - String get restoreDialogTitle => 'Restore backup'; - - @override - String get restoreDialogWarning => - 'This will replace all current data with the backup contents. Continue?'; - - @override - String get restoreFileNotFound => 'File not found.'; - - @override - String restoreSuccess(int count) { - return 'Restored $count items.'; - } - - @override - String get restoreError => - 'Restore failed. Your previous data has been preserved.'; - - @override - String get buttonSave => 'Save'; - - @override - String get buttonClose => 'Close'; - - @override - String get buttonCancel => 'Cancel'; - - @override - String get buttonReset => 'Restore defaults'; - - @override - String get savingIndicator => 'Saving…'; - - @override - String get savedIndicator => 'Saved'; - - @override - String get menuPaste => 'Paste'; - - @override - String get menuPastePlain => 'Paste plain'; - - @override - String get menuCopy => 'Copy'; - - @override - String get copiedToClipboard => 'Copied to clipboard'; - - @override - String get menuPin => 'Pin'; - - @override - String get menuUnpin => 'Unpin'; - - @override - String get menuEdit => 'Edit card'; - - @override - String get menuDelete => 'Delete'; - - @override - String get editColorLabel => 'Color'; - - @override - String get colorRed => 'Red'; - - @override - String get colorGreen => 'Green'; - - @override - String get colorPurple => 'Purple'; - - @override - String get colorYellow => 'Yellow'; - - @override - String get colorBlue => 'Blue'; - - @override - String get colorOrange => 'Orange'; - - @override - String get typeText => 'Text'; - - @override - String get typeImage => 'Image'; - - @override - String get typeFile => 'File'; - - @override - String get typeFolder => 'Folder'; - - @override - String get typeLink => 'Link'; - - @override - String get typeAudio => 'Audio'; - - @override - String get typeVideo => 'Video'; - - @override - String get typeEmail => 'Email'; - - @override - String get typePhone => 'Phone'; - - @override - String get typeColor => 'Color'; - - @override - String get typeIp => 'IP'; - - @override - String get typeUuid => 'UUID'; - - @override - String get typeJson => 'JSON'; - - @override - String get filterAll => 'All'; - - @override - String get filterPinned => 'Pinned'; - - @override - String get trayTooltip => 'CopyPaste'; - - @override - String get trayExit => 'Exit'; - - @override - String get subtitleShortcutScopes => - 'Ctrl+V stays with the active app. History shortcuts work while the CopyPaste panel is open.'; - - @override - String get shortcutOpenClose => 'CopyPaste global: Open / close CopyPaste'; - - @override - String get shortcutPastePlainDirect => - 'CopyPaste global: Paste the current clipboard as plain text'; - - @override - String get shortcutSystemPaste => - 'Active app: Paste the current clipboard normally (CopyPaste does not intercept it)'; - - @override - String get shortcutEscape => 'Clear search or close window'; - - @override - String get shortcutTab1 => 'Switch to Recent tab'; - - @override - String get shortcutTab2 => 'Switch to Pinned tab'; - - @override - String get shortcutArrows => 'Navigate between items'; - - @override - String get shortcutEnter => - 'CopyPaste open: Paste the hovered, selected, or first history item normally'; - - @override - String get shortcutPasteSelectedPlain => - 'CopyPaste open: Paste the hovered, selected, or first history item as plain text'; - - @override - String get shortcutDelete => 'Delete selected item'; - - @override - String get shortcutPin => 'Pin / Unpin selected item'; - - @override - String get shortcutEdit => 'Edit card (label and color)'; - - @override - String get tabGeneral => 'General'; - - @override - String get tabBackupRestore => 'Backup & Support'; - - @override - String get tabAppearance => 'Appearance'; - - @override - String get tabShortcuts => 'Shortcuts'; - - @override - String get tabAbout => 'About'; - - @override - String get sectionLanguage => 'LANGUAGE'; - - @override - String get sectionStartup => 'STARTUP'; - - @override - String get sectionKeyboardShortcut => 'KEYBOARD SHORTCUT'; - - @override - String get sectionCategories => 'CATEGORIES'; - - @override - String get sectionPerformance => 'PERFORMANCE'; - - @override - String get sectionPaste => 'PASTE'; - - @override - String get sectionBackupRestore => 'BACKUP & RESTORE'; - - @override - String get sectionAppearance => 'APPEARANCE'; - - @override - String get settingTheme => 'Theme'; - - @override - String get themeLight => 'Light'; - - @override - String get themeDark => 'Dark'; - - @override - String get themeAuto => 'Auto'; - - @override - String get sectionBehavior => 'BEHAVIOR'; - - @override - String get sectionAbout => 'COPYPASTE'; - - @override - String get sectionLinks => 'LINKS'; - - @override - String get settingItemsPerPage => 'Items per page'; - - @override - String get settingMemoryLimit => 'Memory limit'; - - @override - String get settingScrollThreshold => 'Scroll threshold (px)'; - - @override - String get settingPasteSpeed => 'Paste speed'; - - @override - String get settingPanelWidth => 'Panel width (px)'; - - @override - String get settingPanelHeight => 'Panel height (px)'; - - @override - String get settingLinesCollapsed => 'Lines collapsed'; - - @override - String get settingLinesExpanded => 'Lines expanded'; - - @override - String get settingHideOnDeactivate => 'Hide on deactivate'; - - @override - String get settingRememberWindowPosition => 'Remember window position'; - - @override - String get settingScrollToTopOnOpen => 'Scroll to top on open'; - - @override - String get settingClearSearchOnOpen => 'Clear search on open'; - - @override - String get settingRetentionDaysLabel => 'Retention days (0 = unlimited)'; - - @override - String get settingClearHistoryLabel => 'Clear clipboard history'; - - @override - String get settingHotkeyShortcutLabel => 'Shortcut to open/close CopyPaste'; - - @override - String get subtitleGlobalHotkeyWarning => - 'System-wide shortcut. It may replace the same combination in another application.'; - - @override - String get settingPlainPasteHotkeyLabel => 'Optional global plain-text paste'; - - @override - String get subtitlePlainPasteHotkey => - 'Pastes the current clipboard as plain text without opening CopyPaste. Enabling a global shortcut can override the same shortcut in other apps.'; - - @override - String get shortcutDisabled => 'Disabled'; - - @override - String currentShortcut(String shortcut) { - return 'Current: $shortcut'; - } - - @override - String get hotkeyRequiresModifier => - 'Add at least one modifier key before saving this shortcut.'; - - @override - String get hotkeyConflictWarning => - 'This combination is already assigned to the other CopyPaste shortcut.'; - - @override - String get restoreRecommendedHotkeys => 'Restore recommended shortcuts'; - - @override - String get plainPasteHotkeyRegistrationFailed => - 'The direct plain-text paste shortcut could not be registered. It may already be in use by the system or another app.'; - - @override - String get pasteDestinationUnavailable => - 'Paste was cancelled because the original destination could not be restored. Open CopyPaste with its keyboard shortcut and try again.'; - - @override - String get plainPasteItemUnavailable => - 'The hovered, selected, or first item cannot be pasted as plain text.'; - - @override - String get plainClipboardUnavailable => - 'There is no text on the clipboard. Copy some text first, then use plain-text paste again.'; - - @override - String get clipboardWriteFailed => - 'The item could not be placed on the clipboard because another app is holding it. Try again in a moment.'; - - @override - String get pasteTargetElevated => - 'The destination app runs as administrator, so Windows blocks the simulated paste. Run CopyPaste as administrator too, or press Ctrl+V yourself.'; - - @override - String hotkeyRegistrationFailed(String shortcut) { - return 'The shortcut $shortcut could not be registered. It may already be in use by the system or another app.'; - } - - @override - String hotkeyFallbackActive(String requested, String effective) { - return 'The shortcut $requested was unavailable. CopyPaste is temporarily using $effective.'; - } - - @override - String get subtitleStartupDesc => 'Launches in background when you sign in'; - - @override - String get subtitleHideOnDeactivate => 'Close window when clicking outside'; - - @override - String get subtitleRememberWindowPosition => - 'Reopen the window where you left it last time'; - - @override - String get subtitleScrollToTopOnOpen => - 'Resets scroll and selects latest item'; - - @override - String get subtitleClearSearchOnOpen => 'Clears the search text each time'; - - @override - String get subtitlePasteSpeed => 'Adjust restoration and paste timings'; - - @override - String get subtitleCategories => 'Customize the names of color categories.'; - - @override - String get linkGitHub => 'Support & Source code — GitHub'; - - @override - String get linkCoffee => 'Buy me a coffee'; - - @override - String get editDialogTitle => 'Label & Color'; - - @override - String get editDialogHint => 'Add a label...'; - - @override - String get historyCleared => 'History cleared'; - - @override - String backupSavedFile(String filename) { - return 'Backup saved: $filename'; - } - - @override - String get buttonRestore => 'Restore'; - - @override - String get restoreCompleted => 'Restore completed'; - - @override - String get restoreRestartRequired => - 'Restore completed. The app will restart to apply changes.'; - - @override - String get shortcutExpand => 'Expand / collapse card'; - - @override - String get shortcutFocusSearch => 'Focus search box'; - - @override - String get trayShowHide => 'Show/Hide'; - - @override - String get fileNotFound => 'Not found'; - - @override - String get audioFile => 'Audio file'; - - @override - String get videoFile => 'Video file'; - - @override - String get imageFile => 'Image file'; - - @override - String get timeNow => 'now'; - - @override - String get clearAllFilters => 'Clear all filters'; - - @override - String get colorSectionLabel => 'COLOR'; - - @override - String get colorNone => 'None'; - - @override - String get subtitlePastePreset => - 'Automatic paste speed. Instant is optimized for Windows; use Safe if a destination app misses a paste.'; - - @override - String get subtitlePastePresetStandard => - 'Automatic paste speed. Normal/Safe recommended for most computers.'; - - @override - String get pastePresetInstant => 'Instant'; - - @override - String get pastePresetFast => 'Fast'; - - @override - String get pastePresetNormal => 'Normal'; - - @override - String get pastePresetSafe => 'Safe'; - - @override - String get pastePresetSlow => 'Slow'; - - @override - String get pastePresetCustom => 'Custom'; - - @override - String get pastePresetWarning => - '⚡ Instant (Windows): lowest latency with native focus verification.\n⚠️ Fast: may cause unexpected behavior in heavy apps.\n⚠️ Slow: may feel sluggish on modern computers.'; - - @override - String get pastePresetWarningStandard => - '⚠️ Fast: may cause unexpected behavior in heavy apps.\n⚠️ Slow: may feel sluggish on modern computers.'; - - @override - String get settingResetFiltersOnOpen => 'Switch to All on open'; - - @override - String get subtitleResetFiltersOnOpen => - 'Clears category and type filters and returns to the All tab'; - - @override - String get subtitleBackup => - 'Create a backup of your clipboard history, images, and settings. Restore at any time on this or another device.'; - - @override - String get aboutDescription => - 'A modern clipboard manager built to feel native on Windows and macOS.\nLocal-first — your history, always at hand. No accounts, no telemetry, no subscriptions.'; - - @override - String get sectionPrivacy => 'PRIVACY'; - - @override - String get privacyStatement => - 'Everything local. Nothing leaves your PC — no telemetry, no sync, no accounts.'; - - @override - String get privacyPolicy => 'Privacy Policy'; - - @override - String get aboutTagLocal => 'Local-only'; - - @override - String get aboutTagOpenSource => 'Open source'; - - @override - String get aboutTagFree => 'Free'; - - @override - String get sectionOtherTools => 'OTHER TOOLS'; - - @override - String get otherToolLinkUnbound => 'LinkUnbound'; - - @override - String get otherToolLinkUnboundDesc => - 'Open-source browser selector for Windows and Mac. Same philosophy: no ads, no telemetry, everything local.'; - - @override - String get aboutLicense => 'GPL v3 License — Free and open source.'; - - @override - String get permissionsTitle => 'Accessibility Permission Required'; - - @override - String get permissionsMessage => - 'CopyPaste needs Accessibility permission to paste content into other apps.\n\nGo to System Settings → Privacy & Security → Accessibility and enable CopyPaste.'; - - @override - String get permissionsOpenSettings => 'Open Settings'; - - @override - String get permissionsDismiss => 'Later'; - - @override - String get permissionsGranted => 'Permission granted'; - - @override - String get permissionsResetTitle => 'Accessibility Permission Lost'; - - @override - String get permissionsResetMessage => - 'macOS no longer recognises CopyPaste\'s permission because the app was re-authorised through Gatekeeper.\n\nTo fix this:\n1. Open Accessibility settings below\n2. Remove CopyPaste from the list (−)\n3. Re-add it or toggle it back on'; - - @override - String get permissionsRestartMessage => - 'Make sure CopyPaste is enabled in Privacy & Security > Accessibility.\n\nThe app will continue automatically when the permission is detected.'; - - @override - String get permissionsCheckAgain => 'Check Again'; - - @override - String get permissionsRestartApp => 'Restart App'; - - @override - String get permissionsWaiting => 'Waiting for permission…'; - - @override - String updateBadge(String version) { - return 'v$version is available, please update'; - } - - @override - String updateAvailableWindows(String version) { - return 'Version $version is available.\n\nDownload the latest installer from GitHub.'; - } - - @override - String updateAvailableMac(String version) { - return 'Version $version is available.\n\nUpdate via Homebrew:\nbrew upgrade copypaste\n\nOr download the latest release from GitHub.'; - } - - @override - String updateAvailableStore(String version) { - return 'Version $version is available.\n\nMicrosoft Store delivers updates automatically. New versions may take a few days to appear after release.'; - } - - @override - String updateTooltipStore(String version) { - return 'Update $version coming via Microsoft Store'; - } - - @override - String updateTooltipGeneric(String version) { - return 'Update $version available — click for details'; - } - - @override - String get updateDialogTitle => 'Update Available'; - - @override - String get updateViewRelease => 'View release'; - - @override - String get updateDismiss => 'Later'; - - @override - String updateBadgeImportant(String version) { - return 'v$version available — important update'; - } - - @override - String get updateActionDownload => 'Download installer'; - - @override - String get updateActionOpenStore => 'Open Microsoft Store'; - - @override - String updateActionCopyCommand(String tool) { - return 'Copy $tool command'; - } - - @override - String get updateActionCopied => 'Copied to clipboard'; - - @override - String get blockedTitle => 'Update required'; - - @override - String blockedDescription(String current, String required) { - return 'Version $current of CopyPaste is no longer supported. Please install version $required or newer to continue using the app.'; - } - - @override - String get blockedReasonGeneric => - 'This version was retired by the maintainers for safety or compatibility reasons.'; - - @override - String get blockedQuit => 'Quit CopyPaste'; - - @override - String get blockedFallbackHint => - 'Visit https://github.com/rgdevment/CopyPaste/releases to download the latest installer.'; - - @override - String wakeupHint(String hotkey) { - return 'CopyPaste runs in the background — press $hotkey or click the tray icon to open it anytime.'; - } - - @override - String taskbarOpenHint(String hotkey) { - return 'Tip: press $hotkey to open and paste automatically — no focus lost.'; - } - - @override - String balloonStartupBody(String hotkey) { - return 'Running in the background. Press $hotkey or click the tray icon.'; - } - - @override - String get balloonWakeupTitle => 'CopyPaste is already open'; - - @override - String balloonWakeupBody(String hotkey) { - return 'Press $hotkey or click the tray icon to bring it up.'; - } - - @override - String get onboardingTitle => 'Welcome to CopyPaste'; - - @override - String get onboardingSubtitle => 'Everything you copy, saved.'; - - @override - String get onboardingPrivacyBadge => 'No cloud · No tracking · 100% local'; - - @override - String onboardingDescription(String hotkey) { - return 'Runs silently in the background. Press $hotkey anytime to open your clipboard history.'; - } - - @override - String get onboardingTrayHint => 'Look for the CP icon next to your clock.'; - - @override - String get onboardingSettingsButton => 'Settings'; - - @override - String get onboardingDismissButton => 'Get started'; - - @override - String get tabCapture => 'Performance'; - - @override - String get tabMultimedia => 'Multimedia'; - - @override - String get tabCleanupPrivacy => 'Cleanup & Privacy'; - - @override - String get sectionMultimedia => 'MULTIMEDIA & THUMBNAILS'; - - @override - String get subtitleMultimedia => - 'Control how images, videos and audio files are previewed.'; - - @override - String get settingGenerateImageThumbnails => 'Generate image thumbnails'; - - @override - String get subtitleGenerateImageThumbnails => - 'Show preview tiles for copied or referenced images.'; - - @override - String get settingGenerateVideoThumbnails => 'Generate video thumbnails'; - - @override - String get subtitleGenerateVideoThumbnails => - 'Use the OS shell cache to show a preview frame for video files.'; - - @override - String get settingGenerateAudioThumbnails => 'Generate audio thumbnails'; - - @override - String get subtitleGenerateAudioThumbnails => - 'Show cover art when available for audio files.'; - - @override - String get settingMaxImageSize => 'Max image size for processing (MB)'; - - @override - String get subtitleMaxImageSize => - 'Larger images keep their original bitmap fallback and are not re-encoded.'; - - @override - String get sectionCleanupPrivacy => 'CLEANUP & PRIVACY'; - - @override - String get settingKeepBrokenItemsLabel => 'Keep unavailable items (days)'; - - @override - String get subtitleKeepBrokenItems => - 'Items that point to a missing file or unmounted volume are pruned after this many days. 0 prunes immediately.'; - - @override - String get settingImagesQuotaLabel => 'Storage cap for images'; - - @override - String get subtitleImagesQuota => - 'When the images folder exceeds this size, oldest unpinned items are deleted to free space.'; - - @override - String get imagesQuotaOff => 'Unlimited'; -} diff --git a/app/lib/l10n/app_localizations_es.dart b/app/lib/l10n/app_localizations_es.dart deleted file mode 100644 index 7f962d09..00000000 --- a/app/lib/l10n/app_localizations_es.dart +++ /dev/null @@ -1,882 +0,0 @@ -// ignore: unused_import -import 'package:intl/intl.dart' as intl; -import 'app_localizations.dart'; - -// ignore_for_file: type=lint - -/// The translations for Spanish Castilian (`es`). -class AppLocalizationsEs extends AppLocalizations { - AppLocalizationsEs([String locale = 'es']) : super(locale); - - @override - String get searchPlaceholder => 'Buscar en portapapeles…'; - - @override - String get emptyState => 'No hay elementos en esta sección'; - - @override - String get emptyStateSubtitle => 'Copia algo para comenzar'; - - @override - String get hintBannerText => - 'CopyPaste se ejecuta en segundo plano — encuéntralo en la bandeja del sistema o usa tu atajo de teclado. Personaliza tu experiencia en'; - - @override - String get hintBannerAction => 'Ajustes'; - - @override - String get settingsTitle => 'Configuración'; - - @override - String get sectionShortcuts => 'ATAJOS DE TECLADO'; - - @override - String get sectionStorage => 'ALMACENAMIENTO'; - - @override - String get settingRunOnStartup => 'Iniciar con el sistema'; - - @override - String get settingLanguage => 'Idioma de la interfaz'; - - @override - String get hotkeyWillApply => 'El atajo se aplicará de inmediato'; - - @override - String get sectionSupport => 'SOPORTE'; - - @override - String get supportExportLogs => 'Exportar registros'; - - @override - String get supportExportLogsSubtitle => - 'Guarda un zip con registros de la app para adjuntar a un reporte. El contenido del portapapeles nunca se incluye.'; - - @override - String get supportOpenLogsFolder => 'Abrir carpeta de registros'; - - @override - String get supportOpenLogsFolderSubtitle => - 'Explora los archivos de registro en tu gestor de archivos.'; - - @override - String get supportGitHub => 'Reportar un error en GitHub'; - - @override - String get supportExportSuccess => 'Registros guardados en Descargas.'; - - @override - String get supportShowInFiles => 'Mostrar'; - - @override - String get supportExportEmpty => 'No se encontraron archivos de registro.'; - - @override - String get supportExportError => 'Error al exportar los registros.'; - - @override - String get sectionReset => 'RESTABLECER E INSTALACIÓN LIMPIA'; - - @override - String get resetSoftLabel => 'Restablecimiento suave'; - - @override - String get resetSoftSubtitle => - 'Restablece la configuración a los valores predeterminados y marca la app como nueva instalación. El historial del portapapeles se conserva.'; - - @override - String get resetHardLabel => 'Restablecimiento completo'; - - @override - String get resetHardSubtitle => - 'Elimina todo el historial, imágenes y configuración. Esta acción no se puede deshacer.'; - - @override - String get resetSoftConfirmTitle => '¿Restablecimiento suave?'; - - @override - String get resetSoftConfirmMessage => - 'Toda la configuración volverá a los valores predeterminados y la app se reiniciará como si fuera una instalación nueva. El historial del portapapeles no se eliminará.'; - - @override - String get resetHardConfirmTitle => '¿Restablecimiento completo?'; - - @override - String get resetHardConfirmMessage => - 'Se eliminará permanentemente todo el historial, imágenes y configuración, y luego la app se reiniciará. Esta acción no se puede deshacer.'; - - @override - String get resetConfirmButton => 'Restablecer y Reiniciar'; - - @override - String get clearHistoryConfirmTitle => '¿Limpiar historial?'; - - @override - String get clearHistoryConfirmMessage => - 'Esto eliminará permanentemente todos los elementos no anclados. Esta acción no se puede deshacer.'; - - @override - String get clearHistoryConfirmButton => 'Limpiar'; - - @override - String backupLastDate(String date) { - return 'Último respaldo: $date'; - } - - @override - String get backupNone => 'Aún no se ha creado un respaldo.'; - - @override - String get backupCreateLabel => 'Crear respaldo'; - - @override - String get backupRestoreLabel => 'Restaurar respaldo'; - - @override - String get backupError => - 'Error al crear el respaldo. Verifica los permisos.'; - - @override - String get restoreDialogTitle => 'Restaurar respaldo'; - - @override - String get restoreDialogWarning => - 'Esto reemplazará todos los datos actuales con el contenido del respaldo. ¿Continuar?'; - - @override - String get restoreFileNotFound => 'Archivo no encontrado.'; - - @override - String restoreSuccess(int count) { - return 'Se restauraron $count elementos.'; - } - - @override - String get restoreError => - 'Error al restaurar. Tus datos anteriores se han preservado.'; - - @override - String get buttonSave => 'Guardar'; - - @override - String get buttonClose => 'Cerrar'; - - @override - String get buttonCancel => 'Cancelar'; - - @override - String get buttonReset => 'Restaurar predeterminados'; - - @override - String get savingIndicator => 'Guardando…'; - - @override - String get savedIndicator => 'Guardado'; - - @override - String get menuPaste => 'Pegar'; - - @override - String get menuPastePlain => 'Pegar sin formato'; - - @override - String get menuCopy => 'Copiar'; - - @override - String get copiedToClipboard => 'Copiado al portapapeles'; - - @override - String get menuPin => 'Anclar'; - - @override - String get menuUnpin => 'Desanclar'; - - @override - String get menuEdit => 'Editar tarjeta'; - - @override - String get menuDelete => 'Eliminar'; - - @override - String get editColorLabel => 'Color'; - - @override - String get colorRed => 'Rojo'; - - @override - String get colorGreen => 'Verde'; - - @override - String get colorPurple => 'Morado'; - - @override - String get colorYellow => 'Amarillo'; - - @override - String get colorBlue => 'Azul'; - - @override - String get colorOrange => 'Naranja'; - - @override - String get typeText => 'Texto'; - - @override - String get typeImage => 'Imagen'; - - @override - String get typeFile => 'Archivo'; - - @override - String get typeFolder => 'Carpeta'; - - @override - String get typeLink => 'Enlace'; - - @override - String get typeAudio => 'Audio'; - - @override - String get typeVideo => 'Video'; - - @override - String get typeEmail => 'Email'; - - @override - String get typePhone => 'Teléfono'; - - @override - String get typeColor => 'Color'; - - @override - String get typeIp => 'IP'; - - @override - String get typeUuid => 'UUID'; - - @override - String get typeJson => 'JSON'; - - @override - String get filterAll => 'Todo'; - - @override - String get filterPinned => 'Anclados'; - - @override - String get trayTooltip => 'CopyPaste'; - - @override - String get trayExit => 'Salir'; - - @override - String get subtitleShortcutScopes => - 'Ctrl+V pertenece a la aplicación activa. Los atajos del historial funcionan mientras el panel de CopyPaste está abierto.'; - - @override - String get shortcutOpenClose => - 'Global de CopyPaste: Abrir / cerrar CopyPaste'; - - @override - String get shortcutPastePlainDirect => - 'Global de CopyPaste: Pegar el portapapeles actual como texto plano'; - - @override - String get shortcutSystemPaste => - 'Aplicación activa: Pegar normalmente el portapapeles actual (CopyPaste no lo intercepta)'; - - @override - String get shortcutEscape => 'Limpiar búsqueda o cerrar ventana'; - - @override - String get shortcutTab1 => 'Cambiar a pestaña Recientes'; - - @override - String get shortcutTab2 => 'Cambiar a pestaña Anclados'; - - @override - String get shortcutArrows => 'Navegar entre elementos'; - - @override - String get shortcutEnter => - 'Con CopyPaste abierto: Pegar normalmente el elemento bajo el cursor, el seleccionado o el primero'; - - @override - String get shortcutPasteSelectedPlain => - 'Con CopyPaste abierto: Pegar como texto plano el elemento bajo el cursor, el seleccionado o el primero'; - - @override - String get shortcutDelete => 'Eliminar elemento seleccionado'; - - @override - String get shortcutPin => 'Anclar / Desanclar elemento'; - - @override - String get shortcutEdit => 'Editar tarjeta (etiqueta y color)'; - - @override - String get tabGeneral => 'General'; - - @override - String get tabBackupRestore => 'Backup y soporte'; - - @override - String get tabAppearance => 'Apariencia'; - - @override - String get tabShortcuts => 'Atajos'; - - @override - String get tabAbout => 'Acerca de'; - - @override - String get sectionLanguage => 'IDIOMA'; - - @override - String get sectionStartup => 'INICIO'; - - @override - String get sectionKeyboardShortcut => 'ATAJO DE TECLADO'; - - @override - String get sectionCategories => 'CATEGORÍAS'; - - @override - String get sectionPerformance => 'RENDIMIENTO'; - - @override - String get sectionPaste => 'PEGADO'; - - @override - String get sectionBackupRestore => 'RESPALDO Y RESTAURACIÓN'; - - @override - String get sectionAppearance => 'APARIENCIA'; - - @override - String get settingTheme => 'Tema'; - - @override - String get themeLight => 'Claro'; - - @override - String get themeDark => 'Oscuro'; - - @override - String get themeAuto => 'Auto'; - - @override - String get sectionBehavior => 'COMPORTAMIENTO'; - - @override - String get sectionAbout => 'COPYPASTE'; - - @override - String get sectionLinks => 'ENLACES'; - - @override - String get settingItemsPerPage => 'Elementos por página'; - - @override - String get settingMemoryLimit => 'Límite de memoria'; - - @override - String get settingScrollThreshold => 'Umbral de desplazamiento (px)'; - - @override - String get settingPasteSpeed => 'Velocidad de pegado'; - - @override - String get settingPanelWidth => 'Ancho del panel (px)'; - - @override - String get settingPanelHeight => 'Alto del panel (px)'; - - @override - String get settingLinesCollapsed => 'Líneas contraídas'; - - @override - String get settingLinesExpanded => 'Líneas expandidas'; - - @override - String get settingHideOnDeactivate => 'Ocultar al hacer clic fuera'; - - @override - String get settingRememberWindowPosition => 'Recordar posición de la ventana'; - - @override - String get settingScrollToTopOnOpen => 'Ir al inicio al abrir'; - - @override - String get settingClearSearchOnOpen => 'Limpiar búsqueda al abrir'; - - @override - String get settingRetentionDaysLabel => 'Días de retención (0 = sin límite)'; - - @override - String get settingClearHistoryLabel => 'Limpiar historial del portapapeles'; - - @override - String get settingHotkeyShortcutLabel => 'Atajo para abrir/cerrar CopyPaste'; - - @override - String get subtitleGlobalHotkeyWarning => - 'Atajo global del sistema. Puede reemplazar la misma combinación en otra aplicación.'; - - @override - String get settingPlainPasteHotkeyLabel => - 'Pegado global opcional como texto plano'; - - @override - String get subtitlePlainPasteHotkey => - 'Pega el portapapeles actual como texto plano sin abrir CopyPaste. Activar un atajo global puede reemplazar el mismo atajo en otras aplicaciones.'; - - @override - String get shortcutDisabled => 'Desactivado'; - - @override - String currentShortcut(String shortcut) { - return 'Actual: $shortcut'; - } - - @override - String get hotkeyRequiresModifier => - 'Agrega al menos una tecla modificadora antes de guardar este atajo.'; - - @override - String get hotkeyConflictWarning => - 'Esta combinación ya está asignada al otro atajo de CopyPaste.'; - - @override - String get restoreRecommendedHotkeys => 'Restaurar atajos recomendados'; - - @override - String get plainPasteHotkeyRegistrationFailed => - 'No se pudo registrar el atajo de pegado directo como texto plano. Es posible que el sistema u otra aplicación ya lo esté usando.'; - - @override - String get pasteDestinationUnavailable => - 'Se canceló el pegado porque no se pudo restaurar el destino original. Abre CopyPaste con su atajo de teclado e inténtalo nuevamente.'; - - @override - String get plainPasteItemUnavailable => - 'El elemento bajo el cursor, el seleccionado o el primero no se puede pegar como texto plano.'; - - @override - String get plainClipboardUnavailable => - 'No hay texto en el portapapeles. Copia primero un texto y vuelve a usar el pegado como texto plano.'; - - @override - String get clipboardWriteFailed => - 'No se pudo copiar el elemento al portapapeles porque otra aplicación lo tiene retenido. Vuelve a intentarlo en un momento.'; - - @override - String get pasteTargetElevated => - 'La aplicación de destino se ejecuta como administrador, así que Windows bloquea el pegado simulado. Ejecuta CopyPaste también como administrador o pulsa Ctrl+V tú mismo.'; - - @override - String hotkeyRegistrationFailed(String shortcut) { - return 'No se pudo registrar el atajo $shortcut. Es posible que el sistema u otra aplicación ya lo esté usando.'; - } - - @override - String hotkeyFallbackActive(String requested, String effective) { - return 'El atajo $requested no estaba disponible. CopyPaste está usando temporalmente $effective.'; - } - - @override - String get subtitleStartupDesc => - 'Se inicia en segundo plano al iniciar sesión'; - - @override - String get subtitleHideOnDeactivate => - 'Cerrar la ventana al hacer clic fuera'; - - @override - String get subtitleRememberWindowPosition => - 'Reabrir la ventana donde la dejaste la última vez'; - - @override - String get subtitleScrollToTopOnOpen => - 'Restablece el desplazamiento y selecciona el último elemento'; - - @override - String get subtitleClearSearchOnOpen => 'Borra el texto de búsqueda cada vez'; - - @override - String get subtitlePasteSpeed => 'Ajustar tiempos de restauración y pegado'; - - @override - String get subtitleCategories => - 'Personaliza los nombres de las categorías de color.'; - - @override - String get linkGitHub => 'Soporte y Código fuente — GitHub'; - - @override - String get linkCoffee => 'Invítame un café'; - - @override - String get editDialogTitle => 'Etiqueta y Color'; - - @override - String get editDialogHint => 'Agregar una etiqueta...'; - - @override - String get historyCleared => 'Historial limpiado'; - - @override - String backupSavedFile(String filename) { - return 'Respaldo guardado: $filename'; - } - - @override - String get buttonRestore => 'Restaurar'; - - @override - String get restoreCompleted => 'Restauración completada'; - - @override - String get restoreRestartRequired => - 'Restauración completada. La app se reiniciará para aplicar los cambios.'; - - @override - String get shortcutExpand => 'Expandir / contraer tarjeta'; - - @override - String get shortcutFocusSearch => 'Enfocar el buscador'; - - @override - String get trayShowHide => 'Mostrar/Ocultar'; - - @override - String get fileNotFound => 'No encontrado'; - - @override - String get audioFile => 'Archivo de audio'; - - @override - String get videoFile => 'Archivo de video'; - - @override - String get imageFile => 'Archivo de imagen'; - - @override - String get timeNow => 'ahora'; - - @override - String get clearAllFilters => 'Limpiar todos los filtros'; - - @override - String get colorSectionLabel => 'COLOR'; - - @override - String get colorNone => 'Ninguno'; - - @override - String get subtitlePastePreset => - 'Velocidad de pegado automático. Instantáneo está optimizado para Windows; usa Seguro si alguna aplicación no recibe el pegado.'; - - @override - String get subtitlePastePresetStandard => - 'Velocidad de pegado automático. Normal/Seguro recomendado para la mayoría.'; - - @override - String get pastePresetInstant => 'Instantáneo'; - - @override - String get pastePresetFast => 'Rápido'; - - @override - String get pastePresetNormal => 'Normal'; - - @override - String get pastePresetSafe => 'Seguro'; - - @override - String get pastePresetSlow => 'Lento'; - - @override - String get pastePresetCustom => 'Personalizado'; - - @override - String get pastePresetWarning => - '⚡ Instantáneo (Windows): latencia mínima con verificación nativa del foco.\n⚠️ Rápido: puede causar comportamientos extraños en apps pesadas.\n⚠️ Lento: puede sentirse pesado en equipos modernos.'; - - @override - String get pastePresetWarningStandard => - '⚠️ Rápido: puede causar comportamientos extraños en apps pesadas.\n⚠️ Lento: puede sentirse pesado en equipos modernos.'; - - @override - String get settingResetFiltersOnOpen => 'Volver a Todos al abrir'; - - @override - String get subtitleResetFiltersOnOpen => - 'Limpia los filtros de categoría y tipo, y vuelve a la pestaña Todos'; - - @override - String get subtitleBackup => - 'Crea un respaldo de tu historial, imágenes y configuración. Restaura en cualquier momento en este u otro dispositivo.'; - - @override - String get aboutDescription => - 'Un gestor de portapapeles moderno, nativo en Windows y macOS.\nTodo local — tu historial, siempre a mano. Sin cuentas, sin telemetría, sin suscripciones.'; - - @override - String get sectionPrivacy => 'PRIVACIDAD'; - - @override - String get privacyStatement => - 'Todo local. Nada sale de tu PC — sin telemetría, sin sincronización, sin cuentas.'; - - @override - String get privacyPolicy => 'Política de privacidad'; - - @override - String get aboutTagLocal => 'Todo local'; - - @override - String get aboutTagOpenSource => 'Código abierto'; - - @override - String get aboutTagFree => 'Gratis'; - - @override - String get sectionOtherTools => 'OTRAS HERRAMIENTAS'; - - @override - String get otherToolLinkUnbound => 'LinkUnbound'; - - @override - String get otherToolLinkUnboundDesc => - 'Selector de navegadores de código abierto para Windows y Mac. Misma filosofía: sin anuncios, sin telemetría, todo local.'; - - @override - String get aboutLicense => 'Licencia GPL v3 — Libre y de código abierto.'; - - @override - String get permissionsTitle => 'Permiso de Accesibilidad requerido'; - - @override - String get permissionsMessage => - 'CopyPaste necesita permiso de Accesibilidad para pegar contenido en otras apps.\n\nVe a Configuración del Sistema → Privacidad y Seguridad → Accesibilidad y activa CopyPaste.'; - - @override - String get permissionsOpenSettings => 'Abrir Configuración'; - - @override - String get permissionsDismiss => 'Después'; - - @override - String get permissionsGranted => 'Permiso concedido'; - - @override - String get permissionsResetTitle => 'Permiso de Accesibilidad perdido'; - - @override - String get permissionsResetMessage => - 'macOS ya no reconoce el permiso de CopyPaste porque la app fue re-autorizada a través de Gatekeeper.\n\nPara solucionarlo:\n1. Abre la configuración de Accesibilidad\n2. Elimina CopyPaste de la lista (−)\n3. Vuelve a añadirlo o actívalo de nuevo'; - - @override - String get permissionsRestartMessage => - 'Asegúrate de que CopyPaste esté activado en Privacidad y seguridad > Accesibilidad.\n\nLa app continuará automáticamente cuando detecte el permiso.'; - - @override - String get permissionsCheckAgain => 'Verificar'; - - @override - String get permissionsRestartApp => 'Reiniciar app'; - - @override - String get permissionsWaiting => 'Esperando permiso…'; - - @override - String updateBadge(String version) { - return 'v$version disponible, por favor actualiza'; - } - - @override - String updateAvailableWindows(String version) { - return 'La versión $version está disponible.\n\nDescarga el instalador más reciente desde GitHub.'; - } - - @override - String updateAvailableMac(String version) { - return 'La versión $version está disponible.\n\nActualiza con Homebrew:\nbrew upgrade copypaste\n\nO descarga la última versión desde GitHub.'; - } - - @override - String updateAvailableStore(String version) { - return 'La versión $version está disponible.\n\nLa Microsoft Store entrega las actualizaciones automáticamente. Las nuevas versiones pueden tardar unos días en aparecer tras su publicación.'; - } - - @override - String updateTooltipStore(String version) { - return 'Actualización $version en camino por Microsoft Store'; - } - - @override - String updateTooltipGeneric(String version) { - return 'Actualización $version disponible — haz clic para detalles'; - } - - @override - String get updateDialogTitle => 'Actualización disponible'; - - @override - String get updateViewRelease => 'Ver versión'; - - @override - String get updateDismiss => 'Después'; - - @override - String updateBadgeImportant(String version) { - return 'v$version disponible — actualización importante'; - } - - @override - String get updateActionDownload => 'Descargar instalador'; - - @override - String get updateActionOpenStore => 'Abrir Microsoft Store'; - - @override - String updateActionCopyCommand(String tool) { - return 'Copiar comando $tool'; - } - - @override - String get updateActionCopied => 'Copiado al portapapeles'; - - @override - String get blockedTitle => 'Actualización requerida'; - - @override - String blockedDescription(String current, String required) { - return 'La versión $current de CopyPaste ya no está soportada. Instala la versión $required o más reciente para continuar.'; - } - - @override - String get blockedReasonGeneric => - 'Esta versión fue retirada por motivos de seguridad o compatibilidad.'; - - @override - String get blockedQuit => 'Salir de CopyPaste'; - - @override - String get blockedFallbackHint => - 'Visita https://github.com/rgdevment/CopyPaste/releases para descargar el instalador más reciente.'; - - @override - String wakeupHint(String hotkey) { - return 'CopyPaste se ejecuta en segundo plano — presiona $hotkey o haz clic en el ícono de la bandeja para abrirlo cuando quieras.'; - } - - @override - String taskbarOpenHint(String hotkey) { - return 'Tip: presiona $hotkey para abrir y pegar automáticamente, sin perder el foco.'; - } - - @override - String balloonStartupBody(String hotkey) { - return 'Ejecutándose en segundo plano. Presiona $hotkey o haz clic en el ícono de la bandeja.'; - } - - @override - String get balloonWakeupTitle => 'CopyPaste ya está abierto'; - - @override - String balloonWakeupBody(String hotkey) { - return 'Presiona $hotkey o haz clic en el ícono de la bandeja para abrirlo.'; - } - - @override - String get onboardingTitle => 'Bienvenido a CopyPaste'; - - @override - String get onboardingSubtitle => 'Todo lo que copias, guardado.'; - - @override - String get onboardingPrivacyBadge => 'Sin nube · Sin rastreo · 100% local'; - - @override - String onboardingDescription(String hotkey) { - return 'Corre en segundo plano sin que lo notes. Presiona $hotkey cuando quieras para abrir tu historial.'; - } - - @override - String get onboardingTrayHint => - 'Encuéntralo junto al reloj, abajo a la derecha.'; - - @override - String get onboardingSettingsButton => 'Configuración'; - - @override - String get onboardingDismissButton => 'Empezar'; - - @override - String get tabCapture => 'Rendimiento'; - - @override - String get tabMultimedia => 'Multimedia'; - - @override - String get tabCleanupPrivacy => 'Limpieza y privacidad'; - - @override - String get sectionMultimedia => 'MULTIMEDIA Y MINIATURAS'; - - @override - String get subtitleMultimedia => - 'Controla cómo se previsualizan imágenes, vídeos y archivos de audio.'; - - @override - String get settingGenerateImageThumbnails => 'Generar miniaturas de imágenes'; - - @override - String get subtitleGenerateImageThumbnails => - 'Muestra una vista previa de las imágenes copiadas o referenciadas.'; - - @override - String get settingGenerateVideoThumbnails => 'Generar miniaturas de vídeos'; - - @override - String get subtitleGenerateVideoThumbnails => - 'Usa la caché del sistema para mostrar un fotograma de los vídeos.'; - - @override - String get settingGenerateAudioThumbnails => 'Generar miniaturas de audio'; - - @override - String get subtitleGenerateAudioThumbnails => - 'Muestra la carátula cuando esté disponible.'; - - @override - String get settingMaxImageSize => 'Tamaño máximo a procesar (MB)'; - - @override - String get subtitleMaxImageSize => - 'Las imágenes más grandes mantienen su mapa de bits original sin reprocesarse.'; - - @override - String get sectionCleanupPrivacy => 'LIMPIEZA Y PRIVACIDAD'; - - @override - String get settingKeepBrokenItemsLabel => - 'Conservar elementos no disponibles (días)'; - - @override - String get subtitleKeepBrokenItems => - 'Los elementos que apuntan a archivos perdidos o volúmenes desconectados se eliminan tras estos días. 0 los elimina al instante.'; - - @override - String get settingImagesQuotaLabel => - 'Límite de almacenamiento para imágenes'; - - @override - String get subtitleImagesQuota => - 'Cuando la carpeta de imágenes supera este tamaño, se eliminan los elementos más antiguos no fijados para liberar espacio.'; - - @override - String get imagesQuotaOff => 'Sin límite'; -} diff --git a/app/lib/main.dart b/app/lib/main.dart deleted file mode 100644 index 53f77981..00000000 --- a/app/lib/main.dart +++ /dev/null @@ -1,1426 +0,0 @@ -// coverage:ignore-file -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; -import 'dart:ui' show PlatformDispatcher; - -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_acrylic/flutter_acrylic.dart'; -import 'package:listener/listener.dart'; -import 'package:path/path.dart' as p; -import 'package:window_manager/window_manager.dart'; - -import 'services/auto_update_service.dart'; -import 'services/install_channel.dart'; -import 'services/release_manifest_service.dart'; - -import 'shell/app_window.dart'; -import 'shell/focus_manager.dart'; -import 'shell/hotkey_binding.dart'; -import 'shell/hotkey_handler.dart'; -import 'shell/single_instance.dart'; -import 'shell/startup_helper.dart'; -import 'shell/tray_icon.dart'; -import 'shell/win_known_folders.dart'; -import 'shell/win_package_context.dart'; -import 'shell/desktop_notifier.dart'; -import 'screens/main_screen.dart'; -import 'screens/settings_screen.dart'; -import 'theme/compact_theme.dart'; -import 'theme/theme_provider.dart'; -import 'l10n/app_localizations.dart'; -import 'screens/permission_gate_screen.dart'; -import 'screens/desktop_onboarding_screen.dart'; -import 'screens/blocked_version_screen.dart'; - -bool _isMicaDark(String themeMode) => switch (themeMode) { - 'dark' => true, - 'auto' || - 'system' => PlatformDispatcher.instance.platformBrightness == Brightness.dark, - _ => false, -}; - -void main() async { - await runZonedGuarded>(_run, (error, stack) { - CrashLogger.report(error, stack, context: 'zoneGuarded'); - AppLogger.error('Zone unhandled: $error\n$stack'); - }); -} - -Future _run() async { - try { - WidgetsFlutterBinding.ensureInitialized(); - - if (!SingleInstance.acquire()) { - exit(0); - } - - await windowManager.ensureInitialized(); - - bool acrylicInitialized = false; - if (Platform.isWindows || Platform.isMacOS) { - try { - await Window.initialize().timeout(const Duration(seconds: 3)); - acrylicInitialized = true; - } catch (e, s) { - CrashLogger.report(e, s, context: 'Window.initialize'); - } - } - - final storage = await StorageConfig.create( - windowsLocalAppDataResolver: Platform.isWindows - ? WinKnownFolders.localAppData - : null, - ); - await storage.ensureDirectories(); - CrashLogger.initialize(storage.baseDir); - AppLogger.initialize(storage.logsPath); - final isMsix = Platform.isWindows && WinPackageContext.isMsix; - AppLogger.info( - 'Bootstrap: CopyPaste ${AppConfig.appVersion} starting ' - '(platform=${Platform.operatingSystem}, ' - 'osVersion=${Platform.operatingSystemVersion}, ' - 'msix=$isMsix, ' - 'package=${WinPackageContext.packageFullName ?? '-'}, ' - 'base=${storage.baseDir}, ' - 'acrylicInit=$acrylicInitialized)', - ); - - FlutterError.onError = (details) { - AppLogger.error( - 'FlutterError: ${details.exceptionAsString()}\n${details.stack}', - ); - CrashLogger.report( - details.exception, - details.stack, - context: 'FlutterError', - ); - }; - PlatformDispatcher.instance.onError = (error, stack) { - AppLogger.error('Unhandled: $error\n$stack'); - CrashLogger.report(error, stack, context: 'PlatformDispatcher'); - return false; - }; - - final config = await AppConfig.load(storage.configFilePath); - - final repo = SqliteRepository.fromPath(storage.databasePath); - final NativeThumbnailProvider? nativeThumbProvider = Platform.isWindows - ? WindowsNativeThumbnailProvider() - : Platform.isMacOS - ? MacOSNativeThumbnailProvider() - : null; - final clipboardService = ClipboardService( - repo, - imagesPath: storage.imagesPath, - nativeThumbnailProvider: nativeThumbProvider, - isThumbnailTypeEnabled: (t) => switch (t) { - ClipboardContentType.image => config.generateImageThumbnails, - ClipboardContentType.video => config.generateVideoThumbnails, - ClipboardContentType.audio => config.generateAudioThumbnails, - _ => true, - }, - getMaxImageBytes: () => config.maxImageProcessingSizeMB * 1024 * 1024, - )..pasteIgnoreWindowMs = config.duplicateIgnoreWindowMs; - - final cleanupService = CleanupService( - repo, - () => config.retentionDays, - storage: storage, - getKeepBrokenDays: () => config.keepBrokenItemsDays, - getImagesQuotaMB: () => config.imagesQuotaMB, - )..start(storage.baseDir); - - final listener = ClipboardListener(); - - await StartupHelper.apply(config.runOnStartup); - - try { - if (Platform.isWindows) { - AppLogger.info('main: applying initial Mica effect'); - await Window.setEffect( - effect: WindowEffect.mica, - color: const Color(0x00000000), - dark: _isMicaDark(config.themeMode), - ).timeout(const Duration(seconds: 2)); - AppLogger.info('main: Mica effect applied'); - } else if (Platform.isMacOS) { - await Window.setEffect( - effect: WindowEffect.sidebar, - color: const Color(0x00000000), - dark: _isMicaDark(config.themeMode), - ).timeout(const Duration(seconds: 2)); - } - } catch (e) { - AppLogger.warn('main: Window.setEffect failed (non-fatal): $e'); - } - - runApp( - CopyPasteApp( - storage: storage, - config: config, - repo: repo, - clipboardService: clipboardService, - cleanupService: cleanupService, - listener: listener, - ), - ); - } catch (e, s) { - CrashLogger.report(e, s, context: 'main'); - rethrow; - } -} - -class CopyPasteApp extends StatefulWidget { - const CopyPasteApp({ - required this.storage, - required this.config, - required this.repo, - required this.clipboardService, - required this.cleanupService, - required this.listener, - super.key, - }); - - final StorageConfig storage; - final AppConfig config; - final SqliteRepository repo; - final ClipboardService clipboardService; - final CleanupService cleanupService; - final ClipboardListener listener; - - @override - State createState() => _CopyPasteAppState(); -} - -class _CopyPasteAppState extends State - with WindowListener, WidgetsBindingObserver { - late final AppWindow _appWindow; - late final TrayIcon _trayIcon; - late HotkeyHandler _hotkeyHandler; - late AppConfig _config; - final WindowFocusManager _focusManager = WindowFocusManager(); - final WindowFocusManager _directPasteFocusManager = WindowFocusManager(); - final _mainScreenKey = GlobalKey(); - final _navigatorKey = GlobalKey(); - StreamSubscription? _listenerSubscription; - String? _lastTrayLocale; - Future? _pendingConfigSave; - bool _showPermissionGate = false; - bool _showOnboarding = false; - String? _availableUpdateVersion; - ManifestState? _manifestState; - bool _programmaticRestore = false; - bool _hotkeyToggleInProgress = false; - bool _directPlainPasteInProgress = false; - bool _itemPasteInProgress = false; - bool _shuttingDown = false; - Future? _cleanupFuture; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addObserver(this); - _config = widget.config; - _appWindow = AppWindow( - onVisibilityChanged: _onWindowVisibilityChanged, - popupWidth: _config.popupWidth.toDouble(), - popupHeight: _config.popupHeight.toDouble(), - rememberPositionEnabled: () => _config.rememberWindowPosition, - savedPositionProvider: () { - final x = _config.lastWindowX; - final y = _config.lastWindowY; - if (x == null || y == null) return null; - return (x, y); - }, - onPositionPersist: _onPositionPersist, - ); - _trayIcon = TrayIcon(onToggle: _toggleWindow, onExit: _exitApp); - _hotkeyHandler = HotkeyHandler( - config: _config, - onHotkey: _onHotkey, - onPlainPasteHotkey: _onPlainPasteHotkey, - ); - - unawaited( - _initShell().catchError( - (Object e, StackTrace s) => - AppLogger.error('_initShell failed: $e\n$s'), - ), - ); - } - - @override - void didChangePlatformBrightness() { - if (_config.themeMode == 'auto' && - (Platform.isWindows || Platform.isMacOS)) { - unawaited( - _appWindow - .applyEffect(dark: _isMicaDark('auto')) - .catchError( - (Object e) => AppLogger.error('applyEffect failed: $e'), - ), - ); - } - } - - Future _initShell() async { - var initCompleted = false; - final watchdog = Timer(const Duration(seconds: 10), () { - if (initCompleted) return; - AppLogger.error('Watchdog: _initShell did not complete within 10s'); - CrashLogger.report( - StateError('Init watchdog fired'), - StackTrace.current, - context: '_initShell watchdog', - ); - unawaited(_forceVisibleFallback()); - }); - try { - await _initShellBody(); - } catch (e, s) { - AppLogger.error('_initShell crashed: $e\n$s'); - CrashLogger.report(e, s, context: '_initShell'); - await _forceVisibleFallback(); - } finally { - initCompleted = true; - watchdog.cancel(); - } - } - - Future _forceVisibleFallback() async { - try { - if (!_appWindow.isGateMode) { - await _appWindow.enterGateMode(); - } - } catch (e) { - AppLogger.error('forceVisibleFallback failed: $e'); - } - } - - Future _initShellBody() async { - windowManager.addListener(this); - final isFirstRun = widget.storage.isFirstRun; - _startListening(); - - bool macosGranted = true; - if (Platform.isMacOS) { - macosGranted = await ClipboardWriter.checkAccessibility(); - } - - final isUpdate = _config.lastRunVersion != AppConfig.appVersion; - final desktopNeedsOnboarding = - Platform.isWindows && !_config.hasSeenOnboarding; - final showOnStart = - isFirstRun && - ((Platform.isMacOS && macosGranted) || Platform.isWindows) || - desktopNeedsOnboarding; - await _appWindow.init(startVisible: showOnStart); - if (showOnStart && Platform.isWindows) { - try { - await _appWindow.enterGateMode(); - } catch (e) { - AppLogger.error('Initial enterGateMode failed: $e'); - } - } - SingleInstance.listenForWakeup(() { - if (Platform.isWindows) { - unawaited(_showOnboardingFromWakeup()); - } else { - unawaited(_safeShow()); - } - }); - - try { - if (Platform.isWindows || Platform.isMacOS) { - await _appWindow.applyEffect(dark: _isMicaDark(_config.themeMode)); - } - } catch (e) { - AppLogger.error('applyEffect in _initShell failed: $e'); - } - - try { - await _trayIcon.init(); - } catch (e) { - AppLogger.error('trayIcon.init failed: $e'); - } - - if (Platform.isWindows && !isFirstRun && _config.hasSeenOnboarding) { - WidgetsBinding.instance.addPostFrameCallback( - (_) => unawaited(_showStartupBalloon()), - ); - } - - await _registerHotkeyWithFeedback(); - - if (Platform.isMacOS) { - if (!macosGranted) { - setState(() => _showPermissionGate = true); - await _appWindow.enterGateMode(); - } else { - if (!_config.accessibilityWasGranted) { - unawaited( - _persistConfig((c) => c.copyWith(accessibilityWasGranted: true)), - ); - } - if (isFirstRun) { - widget.storage.markAsInitialized(); - } - } - } else { - final shouldShowOnboarding = desktopNeedsOnboarding; - if (shouldShowOnboarding) { - if (isFirstRun) widget.storage.markAsInitialized(); - if (mounted) setState(() => _showOnboarding = true); - if (!_appWindow.isGateMode) { - try { - await _appWindow.enterGateMode(); - } catch (e) { - AppLogger.error('enterGateMode (post-init) failed: $e'); - } - } - } else if (isFirstRun) { - widget.storage.markAsInitialized(); - } - if (isUpdate && Platform.isWindows) { - unawaited( - _persistConfig( - (c) => c.copyWith(lastRunVersion: AppConfig.appVersion), - ), - ); - } - } - - AutoUpdateService.onUpdateAvailable = _onUpdateAvailable; - unawaited( - AutoUpdateService.initialize(storageConfigDir: widget.storage.configPath), - ); - if (_needsClassifierMigration(_config.lastRunVersion)) { - unawaited(_runClassifierMigration()); - } - } - - Future _runClassifierMigration() async { - try { - await widget.clipboardService.reclassifyLegacyTextItems(); - } catch (e, s) { - AppLogger.error('Classifier migration failed: $e\n$s'); - return; // version not saved → retries on next startup - } - unawaited( - _persistConfig((c) => c.copyWith(lastRunVersion: AppConfig.appVersion)), - ); - } - - static bool _needsClassifierMigration(String lastVersion) { - if (lastVersion.isEmpty) return true; - final parts = lastVersion.split('.'); - if (parts.length < 3) return true; - final major = int.tryParse(parts[0]) ?? 0; - final minor = int.tryParse(parts[1]) ?? 0; - final patch = int.tryParse(parts[2]) ?? 0; - if (major < 2) return true; - if (major == 2 && minor < 1) return true; - if (major == 2 && minor == 1 && patch <= 5) return true; - return false; - } - - Future _registerHotkeyWithFeedback() async { - final result = await _hotkeyHandler.registerWithFallback(); - _reportPlainPasteHotkeyFailure(); - if (result.status == HotkeyRegistrationStatus.failed) { - _showShellNotice( - (l) => l.hotkeyRegistrationFailed(result.requestedBinding.label()), - ); - } else if (result.status == HotkeyRegistrationStatus.fallbackRegistered) { - _showShellNotice( - (l) => l.hotkeyFallbackActive( - result.requestedBinding.label(), - result.effectiveBinding?.label() ?? '', - ), - ); - } - } - - void _reportPlainPasteHotkeyFailure() { - if (!_config.plainPasteHotkeyEnabled || - _hotkeyHandler.plainPasteRegistrationSucceeded != false) { - return; - } - AppLogger.error('The direct plain-text paste hotkey is unavailable'); - _showShellNotice((l) => l.plainPasteHotkeyRegistrationFailed); - } - - ThemeMode get _effectiveThemeMode { - final mode = _config.themeMode; - return switch (mode) { - 'dark' => ThemeMode.dark, - 'auto' || 'system' => ThemeMode.system, - _ => ThemeMode.light, - }; - } - - void _showShellNotice( - String Function(AppLocalizations l) messageBuilder, { - bool revealWhenHidden = false, - }) { - if (revealWhenHidden && !_appWindow.isVisible) { - unawaited(_revealAndShowShellNotice(messageBuilder)); - return; - } - _enqueueShellNotice(messageBuilder); - } - - Future _revealAndShowShellNotice( - String Function(AppLocalizations l) messageBuilder, - ) async { - await _safeShow(); - _enqueueShellNotice(messageBuilder); - } - - void _enqueueShellNotice(String Function(AppLocalizations l) messageBuilder) { - WidgetsBinding.instance.addPostFrameCallback((_) { - final ctx = _navigatorKey.currentContext; - if (ctx == null || !ctx.mounted) return; - final message = messageBuilder(AppLocalizations.of(ctx)); - final messenger = ScaffoldMessenger.maybeOf(ctx); - if (messenger == null) return; - - messenger.showSnackBar( - SnackBar(content: Text(message), duration: const Duration(seconds: 12)), - ); - }); - } - - void _startListening() { - if (!Platform.isWindows && !Platform.isMacOS) return; - AppLogger.info('_startListening: subscribing to clipboard event stream'); - _listenerSubscription = widget.listener.onEvent.listen( - _onClipboardEvent, - onError: (Object e, StackTrace s) { - AppLogger.error('Clipboard listener error: $e\n$s'); - // Re-subscribe so a single error does not permanently stop capturing. - _listenerSubscription?.cancel(); - _startListening(); - }, - cancelOnError: false, - ); - } - - Future _onClipboardEvent(ClipboardEvent event) async { - for (var attempt = 0; attempt < 3; attempt++) { - try { - await _processClipboardEvent(event); - return; - } catch (e, s) { - if (attempt < 2) { - await Future.delayed( - Duration(milliseconds: 500 * (attempt + 1)), - ); - } else { - AppLogger.error('Clipboard event failed after 3 retries: $e\n$s'); - } - } - } - } - - Future _processClipboardEvent(ClipboardEvent event) async { - switch (event.type) { - case ClipboardContentType.text: - case ClipboardContentType.link: - await widget.clipboardService.processText( - event.text ?? '', - event.type, - source: event.source, - rtfBytes: event.rtfBytes, - htmlBytes: event.htmlBytes, - ); - case ClipboardContentType.image: - if (event.bytes != null && event.bytes!.isNotEmpty) { - await widget.clipboardService.processImage( - event.contentHash, - source: event.source, - imageBytes: event.bytes, - ); - } else if (event.files != null && event.files!.isNotEmpty) { - final item = await widget.clipboardService.processImage( - event.contentHash, - source: event.source, - imagePath: event.files!.first, - ); - if (item != null) { - unawaited(_processMediaMetadata(item, event.files!.first)); - } - } - case ClipboardContentType.file: - case ClipboardContentType.folder: - if (event.files != null && event.files!.isNotEmpty) { - await widget.clipboardService.processFiles( - event.files!, - event.type, - source: event.source, - ); - } - case ClipboardContentType.audio: - case ClipboardContentType.video: - if (event.files != null && event.files!.isNotEmpty) { - final item = await widget.clipboardService.processFiles( - event.files!, - event.type, - source: event.source, - ); - if (item != null) { - unawaited(_processMediaMetadata(item, event.files!.first)); - } - } - case ClipboardContentType.email: - case ClipboardContentType.phone: - case ClipboardContentType.color: - case ClipboardContentType.ip: - case ClipboardContentType.uuid: - case ClipboardContentType.json: - case ClipboardContentType.unknown: - break; - } - } - - Future _processMediaMetadata( - ClipboardItem item, - String filePath, - ) async { - try { - final meta = {}; - if (item.metadata != null && item.metadata!.isNotEmpty) { - final existing = jsonDecode(item.metadata!) as Map; - existing.forEach((k, v) { - if (v != null) meta[k] = v as Object; - }); - } - - final mediaInfo = await ClipboardWriter.getMediaInfo(filePath); - if (mediaInfo != null) { - mediaInfo.forEach((k, v) { - if (v != null) meta[k] = v; - }); - } - - if (meta.isNotEmpty) { - await widget.clipboardService.updateMetadata(item.id, jsonEncode(meta)); - } - } catch (e, s) { - AppLogger.error('Media metadata failed: $e\n$s'); - } - } - - Future _showOnboardingFromWakeup() async { - if (_showOnboarding || _appWindow.isSettingsMode) { - try { - await windowManager.show(); - await windowManager.focus(); - } catch (_) {} - return; - } - setState(() => _showOnboarding = true); - try { - await _appWindow.enterGateMode(); - } catch (e) { - AppLogger.error('enterGateMode failed on wakeup: $e'); - } - unawaited(_showWakeupBalloon()); - } - - /// Shows the window safely — errors from Mica/acrylic effects are logged - /// but never propagate to callers (e.g. the wakeup signal callback). - Future _safeShow() async { - try { - await _appWindow.show(); - } catch (e) { - AppLogger.error('show failed: $e'); - } - } - - Future _showWakeupBalloon() async { - final binding = HotkeyBinding( - virtualKey: _config.hotkeyVirtualKey, - keyName: _config.hotkeyKeyName, - useCtrl: _config.hotkeyUseCtrl, - useWin: _config.hotkeyUseWin, - useAlt: _config.hotkeyUseAlt, - useShift: _config.hotkeyUseShift, - ); - final ctx = _navigatorKey.currentContext; - final l = ctx != null && ctx.mounted ? AppLocalizations.of(ctx) : null; - await DesktopNotifier.show( - title: l?.balloonWakeupTitle ?? 'CopyPaste is already open', - body: - l?.balloonWakeupBody(binding.label()) ?? - 'Press ${binding.label()} or click the tray icon to bring it up.', - ); - } - - Future _showStartupBalloon() async { - final binding = HotkeyBinding( - virtualKey: _config.hotkeyVirtualKey, - keyName: _config.hotkeyKeyName, - useCtrl: _config.hotkeyUseCtrl, - useWin: _config.hotkeyUseWin, - useAlt: _config.hotkeyUseAlt, - useShift: _config.hotkeyUseShift, - ); - final ctx = _navigatorKey.currentContext; - final l = ctx != null && ctx.mounted ? AppLocalizations.of(ctx) : null; - await DesktopNotifier.show( - title: 'CopyPaste', - body: - l?.balloonStartupBody(binding.label()) ?? - 'Running in the background. Press ${binding.label()} or click the tray icon.', - ); - } - - Future _onHotkey() async { - if (_shuttingDown || _hotkeyToggleInProgress) return; - _hotkeyToggleInProgress = true; - _programmaticRestore = true; - try { - if (_appWindow.isVisible) { - await _closePanel(); - return; - } - await _focusManager.capturePreviousWindow(); - await _appWindow.show(); - } finally { - _programmaticRestore = false; - _hotkeyToggleInProgress = false; - } - } - - Future _onPlainPasteHotkey() async { - if (_shuttingDown || _directPlainPasteInProgress || _itemPasteInProgress) { - return; - } - _directPlainPasteInProgress = true; - final panelWasVisible = _appWindow.isVisible; - final pasteFocusManager = panelWasVisible - ? _focusManager - : _directPasteFocusManager; - try { - // When hidden, capture the active destination before touching the - // clipboard. An open panel already owns a destination captured when it - // was shown; re-capturing here would incorrectly capture CopyPaste. - if (!panelWasVisible && - !await pasteFocusManager.capturePreviousWindow()) { - _reportPasteFailure( - const PasteResponse(success: false, errorCode: 'noPreviousWindow'), - ); - return; - } - if (panelWasVisible && !pasteFocusManager.hasDestination) { - _reportPasteFailure( - const PasteResponse(success: false, errorCode: 'noPreviousWindow'), - ); - return; - } - if (_shuttingDown) { - pasteFocusManager.clear(); - return; - } - final data = await Clipboard.getData(Clipboard.kTextPlain); - final text = data?.text; - if (text == null || text.isEmpty) { - if (!panelWasVisible) { - // The error reveals the history panel. Preserve the original target - // there so the user can immediately use Shift+Enter on history. - await _focusManager.capturePreviousWindow(); - pasteFocusManager.clear(); - } - _showShellNotice( - (l) => l.plainClipboardUnavailable, - revealWhenHidden: !panelWasVisible, - ); - return; - } - - widget.clipboardService.notifyDirectPasteInitiated(text); - final written = await ClipboardWriter.setText(text, plainText: true); - if (!written) { - AppLogger.warn('Plain-text paste aborted: clipboard write failed'); - if (!panelWasVisible) pasteFocusManager.clear(); - _showShellNotice( - (l) => l.clipboardWriteFailed, - revealWhenHidden: !panelWasVisible, - ); - return; - } - - if (panelWasVisible) await _appWindow.hide(); - - // Windows SendInput neutralizes still-held shortcut modifiers in the - // same atomic input batch. Other platforms still wait for key-up. - if (!Platform.isWindows && !await _waitForShortcutModifiersReleased()) { - pasteFocusManager.clear(); - return; - } - if (_shuttingDown) { - pasteFocusManager.clear(); - return; - } - // With the panel open the destination lost activation and has to settle - // exactly like the item paste does; only the hidden path can skip it. - final response = await pasteFocusManager.restoreAndPaste( - delayBeforeFocusMs: panelWasVisible ? _config.delayBeforeFocusMs : 0, - maxFocusVerifyAttempts: _config.maxFocusVerifyAttempts, - delayBeforePasteMs: panelWasVisible ? _config.delayBeforePasteMs : 0, - ); - if (!response.success) _reportPasteFailure(response); - } on PlatformException catch (e) { - pasteFocusManager.clear(); - if (e.code == 'ACCESSIBILITY_DENIED' && mounted) { - _enterPermissionGate(); - } - } catch (e, s) { - pasteFocusManager.clear(); - AppLogger.error('Direct plain-text paste failed: $e\n$s'); - } finally { - _directPlainPasteInProgress = false; - } - } - - void _dismissHint() { - if (_config.hasSeenHint) return; - unawaited(_persistConfig((c) => c.copyWith(hasSeenHint: true))); - if (mounted) setState(() {}); - } - - Future _persistConfig(AppConfig Function(AppConfig) update) { - _config = update(_config); - final path = widget.storage.configFilePath; - final next = (_pendingConfigSave ?? Future.value()) - .catchError((Object _) {}) - .then((_) => _config.save(path)); - _pendingConfigSave = next; - next.catchError((Object e) { - AppLogger.warn('config save failed: $e'); - }); - return next; - } - - Future _toggleWindow() async { - _programmaticRestore = true; - try { - if (_appWindow.isVisible) { - await _closePanel(); - return; - } - // A tray click normally leaves the previously active application in the - // foreground long enough to capture it. If the shell has already taken - // focus, the focus manager rejects CopyPaste and paste will fail safely. - await _focusManager.capturePreviousWindow(); - await _appWindow.show(); - } finally { - _programmaticRestore = false; - } - } - - Future _closePanel() async { - await _appWindow.hide(); - _focusManager.clear(); - } - - void _onWindowVisibilityChanged(bool visible) { - if (visible) { - _mainScreenKey.currentState?.onWindowShow(); - } else { - _mainScreenKey.currentState?.onWindowHide(); - final ctx = _navigatorKey.currentContext; - if (ctx != null && ctx.mounted) { - ScaffoldMessenger.maybeOf(ctx)?.clearSnackBars(); - } - } - } - - void _onPositionPersist(double x, double y) { - if (_config.lastWindowX == x && _config.lastWindowY == y) return; - unawaited( - _persistConfig((c) => c.copyWith(lastWindowX: x, lastWindowY: y)), - ); - } - - Future _onPasteItem( - ClipboardItem item, { - bool plainText = false, - }) async { - if (_itemPasteInProgress || - _directPlainPasteInProgress || - (item.isFileBasedType && !item.isFileAvailable())) { - return; - } - if (!_focusManager.hasDestination) { - _reportPasteFailure( - const PasteResponse(success: false, errorCode: 'noPreviousWindow'), - ); - return; - } - _itemPasteInProgress = true; - try { - await widget.clipboardService.notifyPasteInitiated(item.id); - final ok = await ClipboardWriter.setFromItem( - typeValue: item.type.value, - content: item.content, - metadata: item.metadata, - plainText: plainText, - ); - if (!ok) { - AppLogger.warn('Item paste aborted: clipboard write failed'); - // The destination is intentionally kept so the user can retry. - _showShellNotice((l) => l.clipboardWriteFailed); - return; - } - await _appWindow.hide(); - if (!Platform.isWindows && !await _waitForShortcutModifiersReleased()) { - _focusManager.clear(); - _reportPasteFailure( - const PasteResponse( - success: false, - errorCode: 'shortcutModifiersHeld', - ), - ); - return; - } - final response = await _focusManager.restoreAndPaste( - delayBeforeFocusMs: _config.delayBeforeFocusMs, - maxFocusVerifyAttempts: _config.maxFocusVerifyAttempts, - delayBeforePasteMs: _config.delayBeforePasteMs, - ); - if (!response.success) { - _reportPasteFailure(response); - return; - } - await widget.clipboardService.recordPaste(item.id); - } on PlatformException catch (e) { - _focusManager.clear(); - if (e.code == 'ACCESSIBILITY_DENIED' && mounted) { - _enterPermissionGate(); - } - } catch (e, s) { - _focusManager.clear(); - AppLogger.error('Item paste failed: $e\n$s'); - } finally { - _itemPasteInProgress = false; - } - } - - void _reportPasteFailure(PasteResponse response) { - AppLogger.warn( - 'Paste was not sent: error=${response.errorCode ?? 'unknown'}', - ); - if (response.errorCode == 'targetElevated') { - _showShellNotice((l) => l.pasteTargetElevated, revealWhenHidden: true); - return; - } - _showShellNotice( - (l) => l.pasteDestinationUnavailable, - revealWhenHidden: true, - ); - } - - Future _waitForShortcutModifiersReleased() async { - for (var attempt = 0; attempt < 25; attempt++) { - final released = - !HardwareKeyboard.instance.isControlPressed && - !HardwareKeyboard.instance.isShiftPressed && - !HardwareKeyboard.instance.isAltPressed && - !HardwareKeyboard.instance.isMetaPressed; - if (released) { - if (attempt > 0) { - AppLogger.info( - 'Shortcut modifiers released after ${attempt * 20} ms', - ); - } - return true; - } - await Future.delayed(const Duration(milliseconds: 20)); - } - AppLogger.warn('Paste cancelled because shortcut modifiers remain held'); - return false; - } - - Future _onCopyItem(ClipboardItem item) async { - if (item.isFileBasedType && !item.isFileAvailable()) return; - // Suppress the listener so writing to the clipboard is not re-captured as - // a brand new item; recordCopy then bumps it to the top of the list. - await widget.clipboardService.notifyPasteInitiated(item.id); - final ok = await ClipboardWriter.setFromItem( - typeValue: item.type.value, - content: item.content, - metadata: item.metadata, - ); - if (!ok) { - AppLogger.warn('Copy aborted: clipboard write failed'); - _showShellNotice((l) => l.clipboardWriteFailed); - return; - } - await widget.clipboardService.recordCopy(item.id); - if (!mounted) return; - final ctx = _navigatorKey.currentContext; - if (ctx == null || !ctx.mounted) return; - ScaffoldMessenger.maybeOf(ctx) - ?..clearSnackBars() - ..showSnackBar( - SnackBar( - content: Text(AppLocalizations.of(ctx).copiedToClipboard), - duration: const Duration(seconds: 2), - ), - ); - } - - Future _cleanup() => _cleanupFuture ??= _performCleanup(); - - Future _performCleanup() async { - _shuttingDown = true; - _focusManager.clear(); - _directPasteFocusManager.clear(); - SingleInstance.stopListening(); - try { - await _listenerSubscription?.cancel(); - } catch (e) { - AppLogger.error('cleanup listener: $e'); - } - try { - await _hotkeyHandler.dispose(); - } catch (e) { - AppLogger.error('cleanup hotkey: $e'); - } - try { - await _trayIcon.dispose(); - } catch (e) { - AppLogger.error('cleanup tray: $e'); - } - try { - await widget.clipboardService.dispose(); - } catch (e) { - AppLogger.error('cleanup clipboard: $e'); - } - try { - widget.cleanupService.dispose(); - } catch (e) { - AppLogger.error('cleanup cleanup: $e'); - } - try { - await widget.repo.close(); - } catch (e) { - AppLogger.error('cleanup repo: $e'); - } - } - - Future _exitApp() async { - await _cleanup(); - SingleInstance.release(); - exit(0); - } - - /// Resets config and first-run flag, preserves clipboard history, restarts. - Future _softReset() async { - await _cleanup(); - SingleInstance.release(); - try { - // Remove config so next run starts with defaults - final configFile = File(widget.storage.configFilePath); - if (configFile.existsSync()) configFile.deleteSync(); - // Remove .initialized so first-run onboarding shows again - widget.storage.clearInitialized(); - } catch (e) { - AppLogger.error('softReset file cleanup: $e'); - } - await Process.start( - Platform.resolvedExecutable, - [], - mode: ProcessStartMode.detached, - ); - exit(0); - } - - /// Deletes all data (db, images, config, first-run flag), restarts. - Future _hardReset() async { - await _cleanup(); - SingleInstance.release(); - try { - final storage = widget.storage; - final baseDir = Directory(storage.baseDir); - if (baseDir.existsSync() && _isSafeToWipe(storage)) { - baseDir.deleteSync(recursive: true); - } else { - AppLogger.error( - 'hardReset refused: baseDir failed safety check ' - '("${storage.baseDir}")', - ); - } - } catch (e) { - AppLogger.error('hardReset dir cleanup: $e'); - } - await Process.start( - Platform.resolvedExecutable, - [], - mode: ProcessStartMode.detached, - ); - exit(0); - } - - /// Safety guard for [_hardReset]. Refuses to wipe a directory that does not - /// look like our own data folder. Requires the path to: - /// - be non-empty and not a filesystem root, - /// - end with "CopyPaste" (our fixed app folder name), - /// - contain at least one of our known subpaths (db, images, config, logs). - bool _isSafeToWipe(StorageConfig storage) { - final base = storage.baseDir; - if (base.isEmpty) return false; - final canonical = p.canonicalize(base); - final parent = p.dirname(canonical); - if (canonical == parent) return false; // filesystem root - if (p.basename(canonical) != 'CopyPaste') return false; - final hasOwnedChild = - File(storage.databasePath).existsSync() || - Directory(storage.imagesPath).existsSync() || - Directory(storage.configPath).existsSync() || - Directory(storage.logsPath).existsSync(); - return hasOwnedChild; - } - - Future _openSettings(BuildContext ctx) async { - await _appWindow.enterSettingsMode(); - if (!ctx.mounted) return; - await Navigator.of(ctx).push( - PageRouteBuilder( - pageBuilder: (context, animation, secondaryAnimation) => SettingsScreen( - config: _config, - configPath: widget.storage.configFilePath, - clipboardService: widget.clipboardService, - storage: widget.storage, - onSoftReset: _softReset, - onHardReset: _hardReset, - onSave: (newConfig, hotkeyChanged) async { - setState(() => _config = newConfig); - widget.cleanupService.updateRetentionCallback( - () => newConfig.retentionDays, - ); - widget.cleanupService.updateKeepBrokenCallback( - () => newConfig.keepBrokenItemsDays, - ); - widget.cleanupService.updateImagesQuotaCallback( - () => newConfig.imagesQuotaMB, - ); - widget.clipboardService.updateThumbnailTypeGate( - (t) => switch (t) { - ClipboardContentType.image => newConfig.generateImageThumbnails, - ClipboardContentType.video => newConfig.generateVideoThumbnails, - ClipboardContentType.audio => newConfig.generateAudioThumbnails, - _ => true, - }, - ); - widget.clipboardService.updateMaxImageBytesGate( - () => newConfig.maxImageProcessingSizeMB * 1024 * 1024, - ); - widget.clipboardService.pasteIgnoreWindowMs = - newConfig.duplicateIgnoreWindowMs; - _appWindow.updatePopupSize( - newConfig.popupWidth.toDouble(), - newConfig.popupHeight.toDouble(), - ); - if (Platform.isWindows || Platform.isMacOS) { - await _appWindow.applyEffect( - dark: _isMicaDark(newConfig.themeMode), - ); - } - if (hotkeyChanged) { - await _hotkeyHandler.dispose(); - _hotkeyHandler = HotkeyHandler( - config: newConfig, - onHotkey: _onHotkey, - onPlainPasteHotkey: _onPlainPasteHotkey, - ); - await _registerHotkeyWithFeedback(); - } - }, - ), - transitionsBuilder: (context, animation, secondaryAnimation, child) => - child, - transitionDuration: Duration.zero, - reverseTransitionDuration: Duration.zero, - ), - ); - await _appWindow.exitSettingsMode(); - } - - @override - void onWindowBlur() { - if (!_appWindow.isReady || !_appWindow.isVisible) return; - if (_appWindow.isGateMode) return; - if (!_config.hideOnDeactivate) return; - unawaited(_appWindow.hideIfNotPinned()); - } - - @override - void onWindowClose() { - unawaited(_closePanel()); - } - - @override - void onWindowRestore() { - if (!Platform.isWindows) return; - if (_programmaticRestore) { - _programmaticRestore = false; // consume the flag on the first event - return; - } - // Native user click on the taskbar button - unawaited(_safeShow()); - _showTaskbarOpenHint(); - } - - void _showTaskbarOpenHint() { - WidgetsBinding.instance.addPostFrameCallback((_) { - final ctx = _navigatorKey.currentContext; - if (ctx == null || !ctx.mounted) return; - if (_navigatorKey.currentState?.canPop() ?? false) return; - final messenger = ScaffoldMessenger.maybeOf(ctx); - if (messenger == null) return; - final binding = HotkeyBinding( - virtualKey: _config.hotkeyVirtualKey, - keyName: _config.hotkeyKeyName, - useCtrl: _config.hotkeyUseCtrl, - useWin: _config.hotkeyUseWin, - useAlt: _config.hotkeyUseAlt, - useShift: _config.hotkeyUseShift, - ); - messenger - ..clearSnackBars() - ..showSnackBar( - SnackBar( - content: Text( - AppLocalizations.of(ctx).taskbarOpenHint(binding.label()), - ), - duration: const Duration(seconds: 4), - ), - ); - }); - } - - void _enterPermissionGate() { - setState(() => _showPermissionGate = true); - _appWindow.enterGateMode(); - } - - Future _onPermissionGranted() async { - unawaited(_persistConfig((c) => c.copyWith(accessibilityWasGranted: true))); - await _appWindow.exitGateMode(); - if (mounted) setState(() => _showPermissionGate = false); - } - - Future _onOnboardingDismissed(AppConfig fromOnboarding) async { - unawaited( - _persistConfig( - (_) => fromOnboarding.copyWith( - hasSeenOnboarding: true, - lastRunVersion: AppConfig.appVersion, - ), - ), - ); - _applyOnboardingPersistence(); - setState(() => _showOnboarding = false); - await _appWindow.exitGateMode(); - unawaited(_showStartupBalloon()); - } - - Future _onOnboardingGoSettings( - BuildContext ctx, - AppConfig fromOnboarding, - ) async { - unawaited( - _persistConfig( - (_) => fromOnboarding.copyWith( - hasSeenOnboarding: true, - lastRunVersion: AppConfig.appVersion, - ), - ), - ); - _applyOnboardingPersistence(); - setState(() => _showOnboarding = false); - await _appWindow.exitGateMode(); - await Future.delayed(const Duration(milliseconds: 150)); - if (ctx.mounted) await _openSettings(ctx); - unawaited(_showStartupBalloon()); - } - - void _applyOnboardingPersistence() { - widget.cleanupService.updateKeepBrokenCallback( - () => _config.keepBrokenItemsDays, - ); - widget.clipboardService.updateThumbnailTypeGate( - (t) => switch (t) { - ClipboardContentType.image => _config.generateImageThumbnails, - ClipboardContentType.video => _config.generateVideoThumbnails, - ClipboardContentType.audio => _config.generateAudioThumbnails, - _ => true, - }, - ); - widget.clipboardService.updateMaxImageBytesGate( - () => _config.maxImageProcessingSizeMB * 1024 * 1024, - ); - } - - Future _restartApp() async { - await _cleanup(); - SingleInstance.release(); - await Process.start( - Platform.resolvedExecutable, - [], - mode: ProcessStartMode.detached, - ); - exit(0); - } - - void _onUpdateAvailable(String version) { - if (!mounted) return; - setState(() => _availableUpdateVersion = version); - } - - @override - void dispose() { - _shuttingDown = true; - _focusManager.clear(); - _directPasteFocusManager.clear(); - WidgetsBinding.instance.removeObserver(this); - windowManager.removeListener(this); - unawaited(AutoUpdateService.dispose()); - unawaited(_cleanup()); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return CopyPasteTheme( - themeData: CompactTheme(), - child: MaterialApp( - navigatorKey: _navigatorKey, - title: 'CopyPaste', - debugShowCheckedModeBanner: false, - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - locale: _config.preferredLanguage == 'auto' - ? null - : Locale(_config.preferredLanguage), - theme: ThemeData( - colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF4F46E5)), - scaffoldBackgroundColor: Colors.transparent, - fontFamily: 'Inter', - useMaterial3: true, - ), - darkTheme: ThemeData( - colorScheme: ColorScheme.fromSeed( - seedColor: const Color(0xFF4F46E5), - brightness: Brightness.dark, - ), - scaffoldBackgroundColor: Colors.transparent, - fontFamily: 'Inter', - useMaterial3: true, - ), - themeMode: _effectiveThemeMode, - home: Builder( - builder: (ctx) { - final l = AppLocalizations.of(ctx); - final currentLocale = Localizations.localeOf(ctx).toString(); - if (_lastTrayLocale != currentLocale) { - _lastTrayLocale = currentLocale; - unawaited( - _trayIcon.rebuild( - showHideLabel: l.trayShowHide, - exitLabel: l.trayExit, - tooltip: l.trayTooltip, - ), - ); - } - - if (_showOnboarding) { - final binding = HotkeyBinding( - virtualKey: _config.hotkeyVirtualKey, - keyName: _config.hotkeyKeyName, - useCtrl: _config.hotkeyUseCtrl, - useWin: _config.hotkeyUseWin, - useAlt: _config.hotkeyUseAlt, - useShift: _config.hotkeyUseShift, - ); - return DesktopOnboardingScreen( - hotkey: binding.label(), - initialConfig: _config, - onDismiss: (updated) => - unawaited(_onOnboardingDismissed(updated)), - onSettings: (updated) => - unawaited(_onOnboardingGoSettings(ctx, updated)), - ); - } - - if (_showPermissionGate) { - return PermissionGateScreen( - previouslyGranted: _config.accessibilityWasGranted, - onGranted: _onPermissionGranted, - onRestart: _restartApp, - ); - } - - if (_manifestState != null && - InstallChannelDetector.detect() != InstallChannel.msStore && - ReleaseManifestService.isBlocked( - current: AppConfig.appVersion, - state: _manifestState, - )) { - return BlockedVersionScreen( - currentVersion: AppConfig.appVersion, - manifest: _manifestState!.manifest, - ); - } - - final bg = (Platform.isWindows || Platform.isMacOS) - ? CopyPasteTheme.colorsOf( - ctx, - ).background.withValues(alpha: 0.85) - : CopyPasteTheme.colorsOf(ctx).background; - return Scaffold( - backgroundColor: bg, - body: LayoutBuilder( - builder: (_, constraints) { - if (constraints.maxHeight < 100) { - return const SizedBox.shrink(); - } - return MainScreen( - key: _mainScreenKey, - clipboardService: widget.clipboardService, - colorLabels: _config.colorLabels, - resetScrollOnShow: _config.resetScrollOnShow, - resetSearchOnShow: _config.resetSearchOnShow, - resetFiltersOnShow: _config.resetFiltersOnShow, - cardMinLines: _config.cardMinLines, - cardMaxLines: _config.cardMaxLines, - showHint: !_config.hasSeenHint, - onDismissHint: _dismissHint, - onPaste: _onPasteItem, - onPastePlain: (item) => _onPasteItem(item, plainText: true), - onPlainPasteUnavailable: () => - _showShellNotice((l) => l.plainPasteItemUnavailable), - onCopy: _onCopyItem, - onExit: _closePanel, - onSettings: () => _openSettings(ctx), - updateVersion: _availableUpdateVersion, - updateSeverity: ReleaseManifestService.badgeSeverity( - current: AppConfig.appVersion, - state: _manifestState, - ), - ); - }, - ), - ); - }, - ), - ), - ); - } -} diff --git a/app/lib/screens/blocked_version_screen.dart b/app/lib/screens/blocked_version_screen.dart deleted file mode 100644 index fda9efc0..00000000 --- a/app/lib/screens/blocked_version_screen.dart +++ /dev/null @@ -1,170 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../helpers/url_helper.dart'; -import '../l10n/app_localizations.dart'; -import '../services/install_channel.dart'; -import '../services/release_manifest_service.dart'; - -class BlockedVersionScreen extends StatelessWidget { - const BlockedVersionScreen({ - required this.currentVersion, - required this.manifest, - super.key, - }); - - final String currentVersion; - final ReleaseManifest manifest; - - @override - Widget build(BuildContext context) { - final l = AppLocalizations.of(context); - final cs = Theme.of(context).colorScheme; - final tt = Theme.of(context).textTheme; - - final channel = InstallChannelDetector.detect(); - final channelInfo = - manifest.channels[InstallChannelDetector.manifestKey(channel)]; - final notes = manifest.notesFor( - Localizations.localeOf(context).toLanguageTag(), - ); - - final action = _resolveAction(context, l, channel, channelInfo); - - return Scaffold( - backgroundColor: cs.surface, - body: Center( - child: SizedBox( - width: 420, - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 32), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - width: 64, - height: 64, - decoration: BoxDecoration( - color: cs.errorContainer.withValues(alpha: 0.6), - borderRadius: BorderRadius.circular(20), - ), - child: Icon( - Icons.lock_outline, - size: 32, - color: cs.onErrorContainer, - ), - ), - const SizedBox(height: 16), - Text( - l.blockedTitle, - style: tt.titleLarge?.copyWith( - fontWeight: FontWeight.w700, - letterSpacing: -0.3, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 12), - Text( - l.blockedDescription( - currentVersion, - manifest.minimumSupported, - ), - style: tt.bodyMedium?.copyWith( - color: cs.onSurfaceVariant, - height: 1.5, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 12), - Text( - notes?.summary ?? l.blockedReasonGeneric, - style: tt.bodySmall?.copyWith(color: cs.onSurfaceVariant), - textAlign: TextAlign.center, - ), - const SizedBox(height: 24), - if (action != null) - FilledButton( - onPressed: action.onPressed, - style: FilledButton.styleFrom( - padding: const EdgeInsets.symmetric( - horizontal: 24, - vertical: 14, - ), - ), - child: Text(action.label), - ) - else - Text( - l.blockedFallbackHint, - style: tt.bodySmall?.copyWith(color: cs.onSurfaceVariant), - textAlign: TextAlign.center, - ), - const SizedBox(height: 12), - TextButton( - onPressed: () => exit(0), - child: Text(l.blockedQuit), - ), - ], - ), - ), - ), - ), - ); - } - - _BlockAction? _resolveAction( - BuildContext context, - AppLocalizations l, - InstallChannel channel, - ChannelInfo? info, - ) { - if (info == null) return null; - - if (channel == InstallChannel.msStore) { - final url = info.url; - if (url == null) return null; - return _BlockAction( - label: l.updateActionOpenStore, - onPressed: () => UrlHelper.open(url), - ); - } - - final tool = _packageManagerName(channel); - if (tool != null) { - final cmd = info.command; - if (cmd == null) return null; - return _BlockAction( - label: l.updateActionCopyCommand(tool), - onPressed: () async { - await Clipboard.setData(ClipboardData(text: cmd)); - if (!context.mounted) return; - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text(l.updateActionCopied))); - }, - ); - } - - final url = info.url; - if (url == null) return null; - return _BlockAction( - label: l.updateActionDownload, - onPressed: () => UrlHelper.open(url), - ); - } - - static String? _packageManagerName(InstallChannel channel) => - switch (channel) { - InstallChannel.homebrew => 'brew', - InstallChannel.scoop => 'scoop', - _ => null, - }; -} - -class _BlockAction { - _BlockAction({required this.label, required this.onPressed}); - final String label; - final VoidCallback onPressed; -} diff --git a/app/lib/screens/desktop_onboarding_screen.dart b/app/lib/screens/desktop_onboarding_screen.dart deleted file mode 100644 index 0722a9aa..00000000 --- a/app/lib/screens/desktop_onboarding_screen.dart +++ /dev/null @@ -1,202 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; - -import '../l10n/app_localizations.dart'; - -class DesktopOnboardingScreen extends StatefulWidget { - const DesktopOnboardingScreen({ - required this.hotkey, - required this.initialConfig, - required this.onDismiss, - required this.onSettings, - super.key, - }); - - final String hotkey; - final AppConfig initialConfig; - final void Function(AppConfig updated) onDismiss; - final void Function(AppConfig updated) onSettings; - - @override - State createState() => - _DesktopOnboardingScreenState(); -} - -class _DesktopOnboardingScreenState extends State { - AppConfig _buildConfig() => widget.initialConfig; - - @override - Widget build(BuildContext context) { - final l = AppLocalizations.of(context); - final cs = Theme.of(context).colorScheme; - final tt = Theme.of(context).textTheme; - - return Scaffold( - backgroundColor: cs.surface, - body: Center( - child: SizedBox( - width: 360, - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 32), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(20), - child: Image.asset( - 'assets/icons/icon_app_256.png', - width: 64, - height: 64, - ), - ), - const SizedBox(height: 14), - Text( - l.onboardingTitle, - style: tt.titleLarge?.copyWith( - fontWeight: FontWeight.w700, - letterSpacing: -0.3, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 4), - Text( - l.onboardingSubtitle, - style: tt.bodyMedium?.copyWith(color: cs.onSurfaceVariant), - textAlign: TextAlign.center, - ), - const SizedBox(height: 14), - _PrivacyBadge(label: l.onboardingPrivacyBadge, colorScheme: cs), - const SizedBox(height: 20), - Divider(color: cs.outlineVariant, height: 1), - const SizedBox(height: 16), - Text( - l.onboardingDescription(widget.hotkey), - style: tt.bodyMedium?.copyWith( - color: cs.onSurfaceVariant, - height: 1.5, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 8), - _HotkeyChip(hotkey: widget.hotkey, colorScheme: cs), - const SizedBox(height: 8), - Text( - l.onboardingTrayHint, - style: tt.bodySmall?.copyWith(color: cs.onSurfaceVariant), - textAlign: TextAlign.center, - ), - const SizedBox(height: 20), - Wrap( - alignment: WrapAlignment.center, - spacing: 10, - runSpacing: 8, - children: [ - OutlinedButton( - onPressed: () => widget.onSettings(_buildConfig()), - style: OutlinedButton.styleFrom( - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 12, - ), - ), - child: Text(l.onboardingSettingsButton), - ), - FilledButton( - onPressed: () => widget.onDismiss(_buildConfig()), - style: FilledButton.styleFrom( - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 12, - ), - ), - child: Text(l.onboardingDismissButton), - ), - ], - ), - ], - ), - ), - ), - ), - ); - } -} - -class _PrivacyBadge extends StatelessWidget { - const _PrivacyBadge({required this.label, required this.colorScheme}); - - final String label; - final ColorScheme colorScheme; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), - decoration: BoxDecoration( - color: colorScheme.primary.withValues(alpha: 0.08), - borderRadius: BorderRadius.circular(20), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.lock_outline_rounded, - size: 13, - color: colorScheme.primary, - ), - const SizedBox(width: 6), - Flexible( - child: Text( - label, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12, - color: colorScheme.primary, - fontWeight: FontWeight.w500, - ), - ), - ), - ], - ), - ); - } -} - -class _HotkeyChip extends StatelessWidget { - const _HotkeyChip({required this.hotkey, required this.colorScheme}); - - final String hotkey; - final ColorScheme colorScheme; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), - decoration: BoxDecoration( - color: colorScheme.surfaceContainerHighest, - borderRadius: BorderRadius.circular(8), - border: Border.all(color: colorScheme.outlineVariant), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.keyboard_rounded, - size: 15, - color: colorScheme.onSurfaceVariant, - ), - const SizedBox(width: 7), - Text( - hotkey, - style: TextStyle( - fontSize: 13, - fontWeight: FontWeight.w600, - color: colorScheme.onSurface, - letterSpacing: 0.2, - ), - ), - ], - ), - ); - } -} diff --git a/app/lib/screens/main_screen.dart b/app/lib/screens/main_screen.dart deleted file mode 100644 index ba8e3059..00000000 --- a/app/lib/screens/main_screen.dart +++ /dev/null @@ -1,954 +0,0 @@ -import 'dart:async'; -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../helpers/url_helper.dart'; -import '../l10n/app_localizations.dart'; -import '../services/auto_update_service.dart'; -import '../services/release_manifest_service.dart'; -import '../theme/app_theme_data.dart'; -import '../theme/theme_provider.dart'; -import '../widgets/clipboard_card.dart'; -import '../widgets/empty_state.dart'; -import '../widgets/filter_bar.dart'; -import '../widgets/filter_tab_bar.dart'; -import '../widgets/label_color_dialog.dart'; -import '../widgets/title_bar.dart'; - -enum ClipboardTab { recent, pinned } - -class MainScreen extends StatefulWidget { - const MainScreen({ - required this.clipboardService, - required this.onPaste, - required this.onPastePlain, - this.onPlainPasteUnavailable, - this.onCopy, - required this.onExit, - required this.onSettings, - this.resetScrollOnShow = true, - this.resetSearchOnShow = true, - this.resetFiltersOnShow = true, - this.cardMinLines = 2, - this.cardMaxLines = 5, - this.colorLabels = const {}, - this.showHint = false, - this.onDismissHint, - this.updateVersion, - this.updateSeverity, - super.key, - }); - - final ClipboardService clipboardService; - final void Function(ClipboardItem item) onPaste; - final void Function(ClipboardItem item) onPastePlain; - final VoidCallback? onPlainPasteUnavailable; - final void Function(ClipboardItem item)? onCopy; - final VoidCallback onExit; - final VoidCallback onSettings; - final bool resetScrollOnShow; - final bool resetSearchOnShow; - final bool resetFiltersOnShow; - final int cardMinLines; - final int cardMaxLines; - final Map colorLabels; - final bool showHint; - final VoidCallback? onDismissHint; - final String? updateVersion; - final ManifestSeverity? updateSeverity; - - @override - State createState() => MainScreenState(); -} - -class MainScreenState extends State { - final _scrollController = ScrollController(); - final _searchController = TextEditingController(); - final _focusNode = FocusNode(); - final _searchFocusNode = FocusNode(); - final _filterBarKey = GlobalKey(); - final _cardKeys = {}; - - ClipboardTab _currentTab = ClipboardTab.recent; - List _items = []; - bool _loading = false; - bool _pendingReload = false; - int _selectedIndex = -1; - int _expandedIndex = -1; - String? _hoveredItemId; - Timer? _reloadDebounce; - - String _searchQuery = ''; - List _typeFilters = []; - List _colorFilters = []; - - StreamSubscription? _addedSub; - StreamSubscription? _reactivatedSub; - - static const int _pageSize = 30; - int _currentPage = 0; - bool _hasMore = true; - - bool _isFirstRender = true; - - @override - void initState() { - super.initState(); - _addedSub = widget.clipboardService.onItemAdded.listen((_) => _reload()); - _reactivatedSub = widget.clipboardService.onItemReactivated.listen( - (_) => _reload(), - ); - _searchFocusNode.onKeyEvent = _onSearchKeyEvent; - _scrollController.addListener(_onScroll); - _loadItems(); - } - - @override - void dispose() { - _addedSub?.cancel(); - _reactivatedSub?.cancel(); - _reloadDebounce?.cancel(); - _scrollController.dispose(); - _searchController.dispose(); - _focusNode.dispose(); - _searchFocusNode.dispose(); - super.dispose(); - } - - void onWindowShow() { - if (widget.resetFiltersOnShow) { - _typeFilters = []; - _colorFilters = []; - _currentTab = ClipboardTab.recent; - } - _reload(); - if (widget.resetScrollOnShow && _scrollController.hasClients) { - _scrollController.jumpTo(0); - } - if (widget.resetSearchOnShow) { - _searchController.clear(); - _searchQuery = ''; - } - _searchFocusNode.requestFocus(); - } - - void onWindowHide() { - _selectedIndex = -1; - _expandedIndex = -1; - if (_items.length > _pageSize) { - _items = _items.sublist(0, _pageSize); - _currentPage = 0; - _hasMore = true; - } - setState(() {}); - } - - Future _loadItems() async { - if (_loading) return; - _pendingReload = false; - setState(() => _loading = true); - - try { - final items = await widget.clipboardService.getHistoryAdvanced( - query: _searchQuery.isEmpty ? null : _searchQuery, - types: _typeFilters.isEmpty ? null : _typeFilters, - colors: _colorFilters.isEmpty ? null : _colorFilters, - isPinned: _currentTab == ClipboardTab.pinned ? true : null, - limit: _pageSize, - skip: _currentPage * _pageSize, - ); - - if (!mounted) return; - setState(() { - if (_currentPage == 0) { - _items = items; - final activeIds = items.map((e) => e.id).toSet(); - _cardKeys.removeWhere((id, _) => !activeIds.contains(id)); - } else { - _items.addAll(items); - } - _hasMore = items.length >= _pageSize; - _loading = false; - }); - } catch (e) { - AppLogger.error('Failed to load items: $e'); - if (!mounted) return; - setState(() => _loading = false); - } - - if (_pendingReload) { - _currentPage = 0; - _hasMore = true; - _pendingReload = false; - setState(() {}); - await _loadItems(); - } - } - - void _reload() { - _reloadDebounce?.cancel(); - _reloadDebounce = Timer(const Duration(milliseconds: 80), () { - if (_loading) { - _pendingReload = true; - return; - } - _currentPage = 0; - _hasMore = true; - _loadItems(); - }); - } - - void _onScroll() { - if (!_hasMore || _loading) return; - final max = _scrollController.position.maxScrollExtent; - if (_scrollController.offset >= max - 100) { - _currentPage++; - _loadItems(); - } - } - - void _onSearchChanged(String query) { - _searchQuery = query; - _selectedIndex = -1; - _reload(); - } - - void _onTabChanged(ClipboardTab tab) { - if (_currentTab == tab) return; - setState(() { - _currentTab = tab; - _selectedIndex = -1; - }); - _reload(); - } - - void _onTypeFilterChanged(List types) { - _typeFilters = types; - _selectedIndex = -1; - _reload(); - } - - void _onColorFilterChanged(List colors) { - _colorFilters = colors; - _selectedIndex = -1; - _reload(); - } - - void _clearFilters() { - _typeFilters = []; - _colorFilters = []; - _searchController.clear(); - _searchQuery = ''; - _selectedIndex = -1; - _reload(); - } - - Future _onItemTap(ClipboardItem item) async { - widget.onPaste(item); - } - - int get _preferredPasteIndex { - if (_items.isEmpty) return -1; - final hoveredIndex = _hoveredItemId == null - ? -1 - : _items.indexWhere((item) => item.id == _hoveredItemId); - if (hoveredIndex >= 0) return hoveredIndex; - if (_selectedIndex >= 0 && _selectedIndex < _items.length) { - return _selectedIndex; - } - return 0; - } - - /// Pastes the hovered item normally, then falls back to the keyboard - /// selection or first visible result. - bool pasteSelectedOrFirst() { - final index = _preferredPasteIndex; - if (index < 0) return false; - if (_selectedIndex != index) { - setState(() => _selectedIndex = index); - } - widget.onPaste(_items[index]); - return true; - } - - /// Pastes the hovered item as plain text, then falls back to the keyboard - /// selection or first visible result. This keeps both mouse and keyboard - /// workflows complete without writing the item to the clipboard first. - bool pasteSelectedPlainOrFirst() { - final index = _preferredPasteIndex; - if (index < 0) { - widget.onPlainPasteUnavailable?.call(); - return false; - } - final item = _items[index]; - if (item.type != ClipboardContentType.text && - item.type != ClipboardContentType.link) { - widget.onPlainPasteUnavailable?.call(); - return false; - } - if (_selectedIndex != index) { - setState(() => _selectedIndex = index); - } - widget.onPastePlain(item); - return true; - } - - Future _onItemPin(ClipboardItem item) async { - await widget.clipboardService.updatePin(item.id, !item.isPinned); - _reload(); - } - - Future _onItemDelete(ClipboardItem item) async { - await widget.clipboardService.removeItem(item.id); - _reload(); - } - - Future _onItemOpen(ClipboardItem item) async { - bool opened = false; - try { - switch (item.type) { - case ClipboardContentType.image: - opened = await _openImageInTemp(item); - case ClipboardContentType.file: - case ClipboardContentType.folder: - case ClipboardContentType.audio: - case ClipboardContentType.video: - final path = item.content.split('\n').first.trim(); - if (path.isEmpty || - (!File(path).existsSync() && !Directory(path).existsSync())) { - _showFileNotFoundFeedback(); - return; - } - await UrlHelper.open(path); - opened = true; - case ClipboardContentType.link: - await UrlHelper.open(item.content.trim()); - opened = true; - case ClipboardContentType.email: - await UrlHelper.open('mailto:${item.content.trim()}'); - opened = true; - case ClipboardContentType.phone: - await UrlHelper.open('tel:${item.content.trim()}'); - opened = true; - default: - break; - } - } catch (_) {} - if (opened) { - await widget.clipboardService.recordPaste(item.id); - _reload(); - } - } - - Future _openImageInTemp(ClipboardItem item) async { - final src = File(item.content); - if (!src.existsSync()) { - _showFileNotFoundFeedback(); - return false; - } - final name = item.content.split(Platform.pathSeparator).last; - final tmp = await Directory.systemTemp.createTemp('copypaste_'); - final dest = File('${tmp.path}${Platform.pathSeparator}$name'); - await src.copy(dest.path); - await UrlHelper.open(dest.path); - return true; - } - - void _showFileNotFoundFeedback() { - final ctx = context; - if (!ctx.mounted) return; - final messenger = ScaffoldMessenger.maybeOf(ctx); - if (messenger == null) return; - messenger.hideCurrentSnackBar(); - messenger.showSnackBar( - SnackBar( - content: Text(AppLocalizations.of(ctx).fileNotFound), - duration: const Duration(seconds: 2), - ), - ); - } - - Future _onItemLabelColor( - ClipboardItem item, - String? label, - CardColor color, - ) async { - await widget.clipboardService.updateLabelAndColor(item.id, label, color); - _reload(); - } - - KeyEventResult _onSearchKeyEvent(FocusNode node, KeyEvent event) { - if (_isPlainPasteGesture(event)) { - if (event is KeyUpEvent) pasteSelectedPlainOrFirst(); - return KeyEventResult.handled; - } - if (_isNormalPasteGesture(event)) { - if (event is KeyUpEvent) pasteSelectedOrFirst(); - return KeyEventResult.handled; - } - if (event is! KeyDownEvent && event is! KeyRepeatEvent) { - return KeyEventResult.ignored; - } - if (event.logicalKey == LogicalKeyboardKey.arrowDown && _items.isNotEmpty) { - setState(() => _selectedIndex = 0); - _focusNode.requestFocus(); - _ensureVisible(0); - return KeyEventResult.handled; - } - return KeyEventResult.ignored; - } - - KeyEventResult _onKeyEvent(FocusNode node, KeyEvent event) { - if (_isPlainPasteGesture(event)) { - if (event is KeyUpEvent) pasteSelectedPlainOrFirst(); - return KeyEventResult.handled; - } - if (_isNormalPasteGesture(event)) { - if (event is KeyUpEvent) pasteSelectedOrFirst(); - return KeyEventResult.handled; - } - if (event is! KeyDownEvent && event is! KeyRepeatEvent) { - return KeyEventResult.ignored; - } - - final key = event.logicalKey; - final ctrl = - HardwareKeyboard.instance.isControlPressed || - (Platform.isMacOS && HardwareKeyboard.instance.isMetaPressed); - final alt = HardwareKeyboard.instance.isAltPressed; - - if (key == LogicalKeyboardKey.escape) { - if (_searchQuery.isNotEmpty || - _typeFilters.isNotEmpty || - _colorFilters.isNotEmpty) { - _searchController.clear(); - _onSearchChanged(''); - _clearFilters(); - return KeyEventResult.handled; - } - widget.onExit(); - return KeyEventResult.handled; - } - - if (alt && key == LogicalKeyboardKey.keyC) { - _searchFocusNode.requestFocus(); - setState(() => _selectedIndex = -1); - return KeyEventResult.handled; - } - - if (alt && - (key == LogicalKeyboardKey.keyG || key == LogicalKeyboardKey.keyT)) { - _filterBarKey.currentState?.openMenu(); - return KeyEventResult.handled; - } - - if (ctrl && key == LogicalKeyboardKey.digit1) { - _onTabChanged(ClipboardTab.recent); - return KeyEventResult.handled; - } - - if (ctrl && key == LogicalKeyboardKey.digit2) { - _onTabChanged(ClipboardTab.pinned); - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.tab && - HardwareKeyboard.instance.isShiftPressed) { - _searchFocusNode.requestFocus(); - setState(() => _selectedIndex = -1); - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.arrowDown) { - if (_selectedIndex < _items.length - 1) { - setState(() => _selectedIndex++); - _ensureVisible(_selectedIndex); - } - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.arrowUp) { - if (_selectedIndex > 0) { - setState(() => _selectedIndex--); - _ensureVisible(_selectedIndex); - } else if (_selectedIndex == 0) { - setState(() => _selectedIndex = -1); - _searchFocusNode.requestFocus(); - } - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.delete && _selectedIndex >= 0) { - _onItemDelete(_items[_selectedIndex]); - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.keyP && _selectedIndex >= 0) { - _onItemPin(_items[_selectedIndex]); - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.keyE && _selectedIndex >= 0) { - _editSelectedItem(); - return KeyEventResult.handled; - } - - if (key == LogicalKeyboardKey.arrowRight && _selectedIndex >= 0) { - setState(() { - _expandedIndex = _expandedIndex == _selectedIndex ? -1 : _selectedIndex; - }); - return KeyEventResult.handled; - } - - return KeyEventResult.ignored; - } - - bool _isPlainPasteGesture(KeyEvent event) { - final keyboard = HardwareKeyboard.instance; - return event.logicalKey == LogicalKeyboardKey.enter && - keyboard.isShiftPressed && - !keyboard.isControlPressed && - !keyboard.isMetaPressed && - !keyboard.isAltPressed; - } - - bool _isNormalPasteGesture(KeyEvent event) { - final keyboard = HardwareKeyboard.instance; - return event.logicalKey == LogicalKeyboardKey.enter && - !keyboard.isShiftPressed && - !keyboard.isControlPressed && - !keyboard.isMetaPressed && - !keyboard.isAltPressed; - } - - void _editSelectedItem() { - if (_selectedIndex < 0 || _selectedIndex >= _items.length) return; - final item = _items[_selectedIndex]; - _showEditDialog(item); - } - - Future _showEditDialog(ClipboardItem item) async { - if (!mounted) return; - final result = await LabelColorDialog.show( - context, - currentLabel: item.label, - currentColor: item.cardColor, - ); - if (result != null) { - await _onItemLabelColor(item, result.label, result.color); - } - } - - void _ensureVisible(int index) { - if (index < 0 || index >= _items.length) return; - final item = _items[index]; - WidgetsBinding.instance.addPostFrameCallback((_) { - final ctx = _cardKeys[item.id]?.currentContext; - if (ctx != null) { - Scrollable.ensureVisible( - ctx, - duration: const Duration(milliseconds: 120), - curve: Curves.easeOut, - ); - } - }); - } - - bool get _isEmpty => _items.isEmpty && !_loading; - - @override - Widget build(BuildContext context) { - final colors = CopyPasteTheme.colorsOf(context); - final theme = CopyPasteTheme.of(context); - final hasColorFilters = _colorFilters.isNotEmpty; - - return Focus( - focusNode: _focusNode, - onKeyEvent: _onKeyEvent, - descendantsAreTraversable: false, - child: Column( - children: [ - TitleBar( - searchController: _searchController, - searchFocusNode: _searchFocusNode, - onSearchChanged: _onSearchChanged, - trailing: FilterBar( - key: _filterBarKey, - selectedTypes: _typeFilters, - selectedColors: _colorFilters, - colorLabels: widget.colorLabels, - onTypesChanged: _onTypeFilterChanged, - onColorsChanged: _onColorFilterChanged, - onClear: hasColorFilters ? _clearFilters : null, - ), - ), - FilterTabBar( - selectedTypes: _typeFilters, - onTypesChanged: _onTypeFilterChanged, - isPinnedMode: _currentTab == ClipboardTab.pinned, - onPinnedModeChanged: (pinned) { - _onTabChanged(pinned ? ClipboardTab.pinned : ClipboardTab.recent); - }, - ), - if (widget.showHint) _buildHintBanner(colors), - Expanded( - child: _isEmpty - ? const EmptyState() - : _buildRealList(theme, _items), - ), - Divider(height: 1, thickness: 0.5, color: colors.divider), - _buildBottomBar(theme, colors), - ], - ), - ); - } - - Widget _buildHintBanner(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return Container( - padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 8), - color: colors.primary.withValues(alpha: 0.06), - child: Row( - children: [ - Icon( - Icons.lightbulb_outline_rounded, - size: 14, - color: colors.primary, - ), - const SizedBox(width: 8), - Expanded( - child: Text.rich( - TextSpan( - children: [ - TextSpan( - text: l.hintBannerText, - style: TextStyle(fontSize: 11, color: colors.onSurface), - ), - const TextSpan(text: ' '), - WidgetSpan( - alignment: PlaceholderAlignment.baseline, - baseline: TextBaseline.alphabetic, - child: GestureDetector( - onTap: () { - widget.onDismissHint?.call(); - widget.onSettings(); - }, - child: MouseRegion( - cursor: SystemMouseCursors.click, - child: Text( - l.hintBannerAction, - style: TextStyle( - fontSize: 11, - color: colors.primary, - decoration: TextDecoration.underline, - decorationColor: colors.primary.withValues( - alpha: 0.5, - ), - ), - ), - ), - ), - ), - ], - ), - ), - ), - GestureDetector( - onTap: widget.onDismissHint, - child: Icon( - Icons.close_rounded, - size: 14, - color: colors.onSurfaceMuted, - ), - ), - ], - ), - ); - } - - Widget _buildRealList(AppThemeData theme, List items) { - final animate = _isFirstRender; - if (_isFirstRender) { - _isFirstRender = false; - } - return ListView.builder( - controller: _scrollController, - padding: theme.spacing.listPadding.copyWith(top: 6, bottom: 8), - itemCount: items.length, - itemBuilder: (context, index) { - final item = items[index]; - final cardKey = _cardKeys.putIfAbsent(item.id, GlobalKey.new); - final card = Padding( - key: cardKey, - padding: EdgeInsets.only(bottom: theme.spacing.cardGap), - child: ClipboardCard( - item: item, - isSelected: index == _selectedIndex, - isExpanded: index == _expandedIndex, - cardMinLines: widget.cardMinLines, - cardMaxLines: widget.cardMaxLines, - onTap: () => _onItemTap(item), - onPin: () => _onItemPin(item), - onDelete: () => _onItemDelete(item), - onLabelColor: (label, color) => - _onItemLabelColor(item, label, color), - onPastePlain: () => widget.onPastePlain(item), - onCopy: widget.onCopy == null ? null : () => widget.onCopy!(item), - onOpen: () => _onItemOpen(item), - onRequestThumbnailRefresh: - widget.clipboardService.requestThumbnailIfStale, - onSelect: () { - setState(() => _selectedIndex = index); - _focusNode.requestFocus(); - }, - onHoverChanged: (hovering) { - if (hovering) { - _hoveredItemId = item.id; - } else if (_hoveredItemId == item.id) { - _hoveredItemId = null; - } - }, - onExpandToggle: () { - setState(() { - _expandedIndex = _expandedIndex == index ? -1 : index; - }); - }, - ), - ); - - if (animate && index < _pageSize) { - return _StaggeredFadeIn(index: index, child: card); - } - return card; - }, - ); - } - - Widget _buildBottomBar(AppThemeData theme, AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - final updateVersion = widget.updateVersion; - final severity = widget.updateSeverity; - final isImportant = severity != null && severity != ManifestSeverity.patch; - final badgeColor = isImportant ? colors.accentRed : colors.primary; - final badgeText = isImportant - ? l.updateBadgeImportant(updateVersion ?? '') - : l.updateBadge(updateVersion ?? ''); - - return Container( - height: theme.spacing.bottomBarHeight, - padding: const EdgeInsets.symmetric(horizontal: 14), - child: Row( - children: [ - if (updateVersion != null) - Tooltip( - message: AutoUpdateService.isStoreBuild - ? l.updateTooltipStore(updateVersion) - : l.updateTooltipGeneric(updateVersion), - child: InkWell( - borderRadius: BorderRadius.circular(4), - onTap: () => _showUpdateDialog(context, updateVersion), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - Icons.system_update_outlined, - size: 13, - color: badgeColor, - ), - const SizedBox(width: 5), - Text( - badgeText, - style: theme.typography.branding.copyWith( - color: badgeColor, - letterSpacing: 0.3, - ), - ), - ], - ), - ), - ) - else - Opacity( - opacity: 0.35, - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Image.asset( - 'assets/icons/icon_notification.png', - width: 12, - height: 12, - color: colors.onSurface, - colorBlendMode: BlendMode.srcIn, - ), - const SizedBox(width: 5), - Text( - 'CopyPaste', - style: theme.typography.branding.copyWith( - color: colors.onSurface, - letterSpacing: 0.3, - ), - ), - ], - ), - ), - const Spacer(), - _BottomBarAction( - icon: Icons.bug_report_outlined, - iconSize: 14, - opacity: 0.4, - onTap: () => - UrlHelper.open('https://github.com/rgdevment/CopyPaste/issues'), - ), - const SizedBox(width: 2), - _BottomBarAction( - icon: theme.icons.settings, - iconSize: 14, - opacity: 0.4, - onTap: widget.onSettings, - ), - ], - ), - ); - } - - void _showUpdateDialog(BuildContext context, String version) { - final l = AppLocalizations.of(context); - showDialog( - context: context, - builder: (dialogCtx) => AlertDialog( - title: Text(l.updateDialogTitle), - content: SizedBox( - width: double.maxFinite, - child: Text( - AutoUpdateService.isStoreBuild - ? l.updateAvailableStore(version) - : Platform.isMacOS - ? l.updateAvailableMac(version) - : l.updateAvailableWindows(version), - ), - ), - actionsOverflowButtonSpacing: 8, - actions: [ - TextButton( - onPressed: () => Navigator.of(dialogCtx).pop(), - child: Text(l.updateDismiss), - ), - if (!AutoUpdateService.isStoreBuild) - FilledButton( - onPressed: () { - Navigator.of(dialogCtx).pop(); - UrlHelper.open( - 'https://github.com/rgdevment/CopyPaste/releases/latest', - ); - }, - child: Text(l.updateViewRelease), - ), - ], - ), - ); - } -} - -class _StaggeredFadeIn extends StatefulWidget { - const _StaggeredFadeIn({required this.index, required this.child}); - - final int index; - final Widget child; - - @override - State<_StaggeredFadeIn> createState() => _StaggeredFadeInState(); -} - -class _StaggeredFadeInState extends State<_StaggeredFadeIn> - with SingleTickerProviderStateMixin { - late final AnimationController _controller; - late final Animation _opacity; - late final Animation _offset; - Timer? _delayTimer; - - @override - void initState() { - super.initState(); - _controller = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 80), - ); - _opacity = CurvedAnimation(parent: _controller, curve: Curves.easeOut); - _offset = Tween( - begin: const Offset(0, -4), - end: Offset.zero, - ).animate(CurvedAnimation(parent: _controller, curve: Curves.easeOut)); - - _delayTimer = Timer(Duration(milliseconds: 20 * widget.index), () { - if (mounted) _controller.forward(); - }); - } - - @override - void dispose() { - _delayTimer?.cancel(); - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return AnimatedBuilder( - animation: _controller, - builder: (context, child) { - return Transform.translate( - offset: _offset.value, - child: Opacity(opacity: _opacity.value, child: child), - ); - }, - child: widget.child, - ); - } -} - -class _BottomBarAction extends StatefulWidget { - const _BottomBarAction({ - required this.icon, - required this.iconSize, - required this.opacity, - required this.onTap, - }); - - final IconData icon; - final double iconSize; - final double opacity; - final VoidCallback onTap; - - @override - State<_BottomBarAction> createState() => _BottomBarActionState(); -} - -class _BottomBarActionState extends State<_BottomBarAction> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - final colors = CopyPasteTheme.colorsOf(context); - - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - child: GestureDetector( - onTap: widget.onTap, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 2), - child: Icon( - widget.icon, - size: widget.iconSize, - color: colors.onSurface.withValues( - alpha: _hovering ? widget.opacity + 0.25 : widget.opacity, - ), - ), - ), - ), - ); - } -} diff --git a/app/lib/screens/permission_gate_screen.dart b/app/lib/screens/permission_gate_screen.dart deleted file mode 100644 index 13ab44cc..00000000 --- a/app/lib/screens/permission_gate_screen.dart +++ /dev/null @@ -1,260 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:listener/listener.dart'; - -import '../l10n/app_localizations.dart'; - -class PermissionGateScreen extends StatefulWidget { - const PermissionGateScreen({ - required this.onGranted, - required this.previouslyGranted, - this.onRestart, - super.key, - }); - - final VoidCallback onGranted; - final bool previouslyGranted; - final VoidCallback? onRestart; - - @override - State createState() => _PermissionGateScreenState(); -} - -class _PermissionGateScreenState extends State - with SingleTickerProviderStateMixin { - Timer? _pollTimer; - int _pollCount = 0; - bool _timedOut = false; - bool _checking = false; - - late final AnimationController _pulseController; - late final Animation _pulseAnimation; - - static const _maxPollsBeforeHint = 30; - - @override - void initState() { - super.initState(); - _pulseController = AnimationController( - vsync: this, - duration: const Duration(milliseconds: 1500), - )..repeat(reverse: true); - _pulseAnimation = Tween(begin: 0.4, end: 1.0).animate( - CurvedAnimation(parent: _pulseController, curve: Curves.easeInOut), - ); - - _pollTimer = Timer.periodic(const Duration(seconds: 1), (_) async { - _pollCount++; - final granted = await ClipboardWriter.checkAccessibility(); - if (granted && mounted) { - _pollTimer?.cancel(); - widget.onGranted(); - return; - } - if (_pollCount >= _maxPollsBeforeHint && !_timedOut && mounted) { - _pollTimer?.cancel(); - setState(() => _timedOut = true); - } - }); - } - - Future _manualCheck() async { - if (_checking) return; - setState(() => _checking = true); - final granted = await ClipboardWriter.requestAccessibility(); - if (granted && mounted) { - _pollTimer?.cancel(); - widget.onGranted(); - } else if (mounted) { - setState(() { - _checking = false; - _timedOut = true; - }); - } - } - - @override - void dispose() { - _pollTimer?.cancel(); - _pulseController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final l = AppLocalizations.of(context); - final cs = Theme.of(context).colorScheme; - final isStale = widget.previouslyGranted; - - return Scaffold( - backgroundColor: cs.surface, - body: Center( - child: SingleChildScrollView( - padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 28), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(20), - child: Image.asset( - 'assets/icons/icon_app_256.png', - width: 72, - height: 72, - ), - ), - const SizedBox(height: 16), - Text( - 'CopyPaste', - style: TextStyle( - fontSize: 22, - fontWeight: FontWeight.w700, - color: cs.onSurface, - letterSpacing: -0.3, - ), - ), - const SizedBox(height: 20), - _StatusRow( - icon: isStale - ? Icons.warning_amber_rounded - : Icons.lock_outline_rounded, - iconColor: isStale ? Colors.red : Colors.orange, - label: isStale ? l.permissionsResetTitle : l.permissionsTitle, - colorScheme: cs, - ), - const SizedBox(height: 16), - Text( - isStale - ? l.permissionsResetMessage - : (_timedOut - ? l.permissionsRestartMessage - : l.permissionsMessage), - style: TextStyle( - fontSize: 13, - color: cs.onSurfaceVariant, - height: 1.5, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 24), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (_timedOut || isStale) ...[ - OutlinedButton( - onPressed: _checking ? null : _manualCheck, - style: OutlinedButton.styleFrom( - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 12, - ), - ), - child: Text(_checking ? '...' : l.permissionsCheckAgain), - ), - const SizedBox(width: 12), - ], - FilledButton.icon( - onPressed: () => - ClipboardWriter.openAccessibilitySettings(), - icon: const Icon(Icons.settings, size: 18), - label: Text(l.permissionsOpenSettings), - style: FilledButton.styleFrom( - padding: const EdgeInsets.symmetric( - horizontal: 20, - vertical: 12, - ), - ), - ), - ], - ), - const SizedBox(height: 20), - if (_timedOut || isStale) - TextButton.icon( - onPressed: widget.onRestart, - icon: Icon( - Icons.refresh_rounded, - size: 16, - color: cs.onSurfaceVariant.withValues(alpha: 0.7), - ), - label: Text( - l.permissionsRestartApp, - style: TextStyle( - fontSize: 12, - color: cs.onSurfaceVariant.withValues(alpha: 0.7), - ), - ), - ), - if (!_timedOut && !isStale) - FadeTransition( - opacity: _pulseAnimation, - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - SizedBox( - width: 12, - height: 12, - child: CircularProgressIndicator( - strokeWidth: 1.5, - color: cs.onSurfaceVariant.withValues(alpha: 0.5), - ), - ), - const SizedBox(width: 8), - Text( - l.permissionsWaiting, - style: TextStyle( - fontSize: 11, - color: cs.onSurfaceVariant.withValues(alpha: 0.6), - ), - ), - ], - ), - ), - ], - ), - ), - ), - ); - } -} - -class _StatusRow extends StatelessWidget { - const _StatusRow({ - required this.icon, - required this.iconColor, - required this.label, - required this.colorScheme, - }); - - final IconData icon; - final Color iconColor; - final String label; - final ColorScheme colorScheme; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10), - decoration: BoxDecoration( - color: iconColor.withValues(alpha: 0.08), - borderRadius: BorderRadius.circular(10), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(icon, size: 20, color: iconColor), - const SizedBox(width: 10), - Flexible( - child: Text( - label, - style: TextStyle( - fontSize: 13, - fontWeight: FontWeight.w600, - color: colorScheme.onSurface, - ), - ), - ), - ], - ), - ); - } -} diff --git a/app/lib/screens/settings_screen.dart b/app/lib/screens/settings_screen.dart deleted file mode 100644 index f257b9e7..00000000 --- a/app/lib/screens/settings_screen.dart +++ /dev/null @@ -1,2816 +0,0 @@ -// coverage:ignore-file -import 'dart:async'; -import 'dart:io'; - -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; -import 'package:file_picker/file_picker.dart'; -import 'package:flutter/material.dart'; -import 'package:window_manager/window_manager.dart'; - -import '../helpers/url_helper.dart'; -import '../l10n/app_localizations.dart'; - -import '../shell/startup_helper.dart'; -import '../theme/app_theme_data.dart'; -import '../theme/theme_provider.dart'; - -class SettingsScreen extends StatefulWidget { - const SettingsScreen({ - required this.config, - required this.configPath, - required this.clipboardService, - required this.storage, - required this.onSave, - required this.onSoftReset, - required this.onHardReset, - super.key, - }); - - final AppConfig config; - final String configPath; - final ClipboardService clipboardService; - final StorageConfig storage; - final Future Function(AppConfig newConfig, bool hotkeyChanged) onSave; - - /// Resets config + first-run flag, keeps clipboard history, then restarts. - final Future Function() onSoftReset; - - /// Deletes all data (db, images, config, first-run flag), then restarts. - final Future Function() onHardReset; - - @override - State createState() => _SettingsScreenState(); -} - -class _SettingsScreenState extends State { - int _selectedTab = 0; - Timer? _autosaveTimer; - bool _saving = false; - bool _savedRecently = false; - static const _autosaveDebounce = Duration(milliseconds: 350); - - late String _preferredLanguage; - late bool _runOnStartup; - - late bool _hotkeyCtrl; - late bool _hotkeyWin; - late bool _hotkeyAlt; - late bool _hotkeyShift; - late int _hotkeyVirtualKey; - late String _hotkeyKeyName; - late bool _plainPasteHotkeyEnabled; - late bool _plainPasteHotkeyCtrl; - late bool _plainPasteHotkeyWin; - late bool _plainPasteHotkeyAlt; - late bool _plainPasteHotkeyShift; - late int _plainPasteHotkeyVirtualKey; - late String _plainPasteHotkeyKeyName; - late String _lastSavedHotkeySignature; - - late Map _colorLabels; - - late int _pageSize; - late int _maxItemsBeforeCleanup; - late int _scrollLoadThreshold; - - late int _retentionDays; - - late int _duplicateIgnoreWindowMs; - late int _delayBeforeFocusMs; - late int _delayBeforePasteMs; - late int _maxFocusVerifyAttempts; - - late DateTime? _lastBackupDateUtc; - - late int _popupWidth; - late int _popupHeight; - late int _cardMinLines; - late int _cardMaxLines; - late String _themeMode; - - late bool _hideOnDeactivate; - late bool _rememberWindowPosition; - late bool _resetScrollOnShow; - late bool _resetSearchOnShow; - late bool _resetFiltersOnShow; - - // Cleanup & privacy - late int _keepBrokenItemsDays; - late int _imagesQuotaMB; - - // Multimedia - late bool _generateImageThumbnails; - late bool _generateVideoThumbnails; - late bool _generateAudioThumbnails; - late int _maxImageProcessingSizeMB; - - String get _hotkeySignature => [ - _hotkeyCtrl, - _hotkeyWin, - _hotkeyAlt, - _hotkeyShift, - _hotkeyVirtualKey, - _plainPasteHotkeyEnabled, - _plainPasteHotkeyCtrl, - _plainPasteHotkeyWin, - _plainPasteHotkeyAlt, - _plainPasteHotkeyShift, - _plainPasteHotkeyVirtualKey, - ].join(':'); - - bool get _hotkeyChanged => _hotkeySignature != _lastSavedHotkeySignature; - - bool get _openHotkeyHasModifier => - _hotkeyCtrl || _hotkeyWin || _hotkeyAlt || _hotkeyShift; - - bool get _plainPasteHotkeyHasModifier => - _plainPasteHotkeyCtrl || - _plainPasteHotkeyWin || - _plainPasteHotkeyAlt || - _plainPasteHotkeyShift; - - bool get _hotkeysConflict => - _plainPasteHotkeyEnabled && - _hotkeyCtrl == _plainPasteHotkeyCtrl && - _hotkeyWin == _plainPasteHotkeyWin && - _hotkeyAlt == _plainPasteHotkeyAlt && - _hotkeyShift == _plainPasteHotkeyShift && - _hotkeyVirtualKey == _plainPasteHotkeyVirtualKey; - - bool get _hasInvalidHotkey => - !_openHotkeyHasModifier || - (_plainPasteHotkeyEnabled && !_plainPasteHotkeyHasModifier) || - _hotkeysConflict; - - @override - void initState() { - super.initState(); - _preferredLanguage = widget.config.preferredLanguage; - _runOnStartup = widget.config.runOnStartup; - _hotkeyCtrl = widget.config.hotkeyUseCtrl; - _hotkeyWin = widget.config.hotkeyUseWin; - _hotkeyAlt = widget.config.hotkeyUseAlt; - _hotkeyShift = widget.config.hotkeyUseShift; - _hotkeyVirtualKey = widget.config.hotkeyVirtualKey; - _hotkeyKeyName = widget.config.hotkeyKeyName; - _plainPasteHotkeyEnabled = widget.config.plainPasteHotkeyEnabled; - _plainPasteHotkeyCtrl = widget.config.plainPasteHotkeyUseCtrl; - _plainPasteHotkeyWin = widget.config.plainPasteHotkeyUseWin; - _plainPasteHotkeyAlt = widget.config.plainPasteHotkeyUseAlt; - _plainPasteHotkeyShift = widget.config.plainPasteHotkeyUseShift; - _plainPasteHotkeyVirtualKey = widget.config.plainPasteHotkeyVirtualKey; - _plainPasteHotkeyKeyName = widget.config.plainPasteHotkeyKeyName; - _lastSavedHotkeySignature = _hotkeySignature; - _colorLabels = Map.of(widget.config.colorLabels); - _pageSize = widget.config.pageSize; - _maxItemsBeforeCleanup = widget.config.maxItemsBeforeCleanup; - _scrollLoadThreshold = widget.config.scrollLoadThreshold; - _retentionDays = widget.config.retentionDays; - _duplicateIgnoreWindowMs = widget.config.duplicateIgnoreWindowMs; - _delayBeforeFocusMs = widget.config.delayBeforeFocusMs; - _delayBeforePasteMs = widget.config.delayBeforePasteMs; - _maxFocusVerifyAttempts = widget.config.maxFocusVerifyAttempts; - _lastBackupDateUtc = widget.config.lastBackupDateUtc; - _popupWidth = widget.config.popupWidth; - _popupHeight = widget.config.popupHeight; - _cardMinLines = widget.config.cardMinLines; - _cardMaxLines = widget.config.cardMaxLines; - _themeMode = widget.config.themeMode; - _hideOnDeactivate = widget.config.hideOnDeactivate; - _rememberWindowPosition = widget.config.rememberWindowPosition; - _resetScrollOnShow = widget.config.resetScrollOnShow; - _resetSearchOnShow = widget.config.resetSearchOnShow; - _resetFiltersOnShow = widget.config.resetFiltersOnShow; - _keepBrokenItemsDays = widget.config.keepBrokenItemsDays; - _imagesQuotaMB = widget.config.imagesQuotaMB; - _generateImageThumbnails = widget.config.generateImageThumbnails; - _generateVideoThumbnails = widget.config.generateVideoThumbnails; - _generateAudioThumbnails = widget.config.generateAudioThumbnails; - _maxImageProcessingSizeMB = widget.config.maxImageProcessingSizeMB; - } - - void _markChanged() { - _autosaveTimer?.cancel(); - _autosaveTimer = Timer(_autosaveDebounce, _save); - } - - @override - void dispose() { - if (_autosaveTimer?.isActive ?? false) { - _autosaveTimer!.cancel(); - // Persist any pending change synchronously-ish before tearing down. - unawaited(_save()); - } - super.dispose(); - } - - AppConfig _buildConfig() => widget.config.copyWith( - preferredLanguage: _preferredLanguage, - runOnStartup: _runOnStartup, - hotkeyUseCtrl: _hotkeyCtrl, - hotkeyUseWin: _hotkeyWin, - hotkeyUseAlt: _hotkeyAlt, - hotkeyUseShift: _hotkeyShift, - hotkeyVirtualKey: _hotkeyVirtualKey, - hotkeyKeyName: _hotkeyKeyName, - plainPasteHotkeyEnabled: _plainPasteHotkeyEnabled, - plainPasteHotkeyUseCtrl: _plainPasteHotkeyCtrl, - plainPasteHotkeyUseWin: _plainPasteHotkeyWin, - plainPasteHotkeyUseAlt: _plainPasteHotkeyAlt, - plainPasteHotkeyUseShift: _plainPasteHotkeyShift, - plainPasteHotkeyVirtualKey: _plainPasteHotkeyVirtualKey, - plainPasteHotkeyKeyName: _plainPasteHotkeyKeyName, - colorLabels: _colorLabels, - pageSize: _pageSize, - maxItemsBeforeCleanup: _maxItemsBeforeCleanup, - scrollLoadThreshold: _scrollLoadThreshold, - retentionDays: _retentionDays, - duplicateIgnoreWindowMs: _duplicateIgnoreWindowMs, - delayBeforeFocusMs: _delayBeforeFocusMs, - delayBeforePasteMs: _delayBeforePasteMs, - maxFocusVerifyAttempts: _maxFocusVerifyAttempts, - lastBackupDateUtc: _lastBackupDateUtc, - popupWidth: _popupWidth, - popupHeight: _popupHeight, - cardMinLines: _cardMinLines, - cardMaxLines: _cardMaxLines, - themeMode: _themeMode, - hideOnDeactivate: _hideOnDeactivate, - rememberWindowPosition: _rememberWindowPosition, - lastWindowX: _rememberWindowPosition ? widget.config.lastWindowX : null, - lastWindowY: _rememberWindowPosition ? widget.config.lastWindowY : null, - resetScrollOnShow: _resetScrollOnShow, - resetSearchOnShow: _resetSearchOnShow, - resetFiltersOnShow: _resetFiltersOnShow, - keepBrokenItemsDays: _keepBrokenItemsDays, - generateImageThumbnails: _generateImageThumbnails, - generateVideoThumbnails: _generateVideoThumbnails, - generateAudioThumbnails: _generateAudioThumbnails, - maxImageProcessingSizeMB: _maxImageProcessingSizeMB, - imagesQuotaMB: _imagesQuotaMB, - ); - - Future _save() async { - _autosaveTimer?.cancel(); - if (_saving) { - _autosaveTimer = Timer(_autosaveDebounce, _save); - return; - } - if (!mounted) return; - if (_hasInvalidHotkey) return; - setState(() => _saving = true); - try { - final hotkeyChanged = _hotkeyChanged; - final newConfig = _buildConfig(); - await newConfig.save(widget.configPath); - await StartupHelper.apply(_runOnStartup, fromUserAction: true); - await widget.onSave(newConfig, hotkeyChanged); - if (!mounted) return; - setState(() { - _lastSavedHotkeySignature = _hotkeySignature; - _saving = false; - _savedRecently = true; - }); - Future.delayed(const Duration(seconds: 2), () { - if (!mounted) return; - setState(() => _savedRecently = false); - }); - } catch (e) { - if (!mounted) return; - setState(() => _saving = false); - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text('Save failed: $e'))); - } - } - - void _resetToDefaults() { - final d = AppConfig.defaultForCurrentPlatform(); - setState(() { - _preferredLanguage = d.preferredLanguage; - _runOnStartup = d.runOnStartup; - _hotkeyCtrl = d.hotkeyUseCtrl; - _hotkeyWin = d.hotkeyUseWin; - _hotkeyAlt = d.hotkeyUseAlt; - _hotkeyShift = d.hotkeyUseShift; - _hotkeyVirtualKey = d.hotkeyVirtualKey; - _hotkeyKeyName = d.hotkeyKeyName; - _plainPasteHotkeyEnabled = d.plainPasteHotkeyEnabled; - _plainPasteHotkeyCtrl = d.plainPasteHotkeyUseCtrl; - _plainPasteHotkeyWin = d.plainPasteHotkeyUseWin; - _plainPasteHotkeyAlt = d.plainPasteHotkeyUseAlt; - _plainPasteHotkeyShift = d.plainPasteHotkeyUseShift; - _plainPasteHotkeyVirtualKey = d.plainPasteHotkeyVirtualKey; - _plainPasteHotkeyKeyName = d.plainPasteHotkeyKeyName; - _colorLabels = {}; - _pageSize = d.pageSize; - _maxItemsBeforeCleanup = d.maxItemsBeforeCleanup; - _scrollLoadThreshold = d.scrollLoadThreshold; - _retentionDays = d.retentionDays; - _duplicateIgnoreWindowMs = d.duplicateIgnoreWindowMs; - _delayBeforeFocusMs = d.delayBeforeFocusMs; - _delayBeforePasteMs = d.delayBeforePasteMs; - _maxFocusVerifyAttempts = d.maxFocusVerifyAttempts; - _popupWidth = d.popupWidth; - _popupHeight = d.popupHeight; - _cardMinLines = d.cardMinLines; - _cardMaxLines = d.cardMaxLines; - _themeMode = d.themeMode; - _hideOnDeactivate = d.hideOnDeactivate; - _rememberWindowPosition = d.rememberWindowPosition; - _resetScrollOnShow = d.resetScrollOnShow; - _resetSearchOnShow = d.resetSearchOnShow; - _resetFiltersOnShow = d.resetFiltersOnShow; - _keepBrokenItemsDays = d.keepBrokenItemsDays; - _imagesQuotaMB = d.imagesQuotaMB; - _generateImageThumbnails = d.generateImageThumbnails; - _generateVideoThumbnails = d.generateVideoThumbnails; - _generateAudioThumbnails = d.generateAudioThumbnails; - _maxImageProcessingSizeMB = d.maxImageProcessingSizeMB; - }); - _markChanged(); - } - - String _imagesQuotaKey(int mb) { - if (mb <= 0) return 'off'; - const presets = ['256', '512', '1024', '2048', '5120', '10240']; - final asString = mb.toString(); - return presets.contains(asString) ? asString : 'off'; - } - - String _hotkeyString([String separator = '+']) { - return _formatHotkey( - useCtrl: _hotkeyCtrl, - useMeta: _hotkeyWin, - useAlt: _hotkeyAlt, - useShift: _hotkeyShift, - keyName: _hotkeyKeyName, - separator: separator, - ); - } - - String _plainPasteHotkeyString([String separator = '+']) { - return _formatHotkey( - useCtrl: _plainPasteHotkeyCtrl, - useMeta: _plainPasteHotkeyWin, - useAlt: _plainPasteHotkeyAlt, - useShift: _plainPasteHotkeyShift, - keyName: _plainPasteHotkeyKeyName, - separator: separator, - ); - } - - String _formatHotkey({ - required bool useCtrl, - required bool useMeta, - required bool useAlt, - required bool useShift, - required String keyName, - required String separator, - }) { - final parts = []; - if (Platform.isMacOS) { - if (useCtrl) parts.add('⌃'); - if (useAlt) parts.add('⌥'); - if (useShift) parts.add('⇧'); - if (useMeta) parts.add('⌘'); - parts.add(keyName); - return parts.join(); - } - if (useCtrl) parts.add('Ctrl'); - if (useMeta) parts.add('Win'); - if (useAlt) parts.add('Alt'); - if (useShift) parts.add('Shift'); - parts.add(keyName); - return parts.join(separator); - } - - void _restoreRecommendedHotkeys() { - final defaults = AppConfig.defaultForCurrentPlatform(); - setState(() { - _hotkeyCtrl = defaults.hotkeyUseCtrl; - _hotkeyWin = defaults.hotkeyUseWin; - _hotkeyAlt = defaults.hotkeyUseAlt; - _hotkeyShift = defaults.hotkeyUseShift; - _hotkeyVirtualKey = defaults.hotkeyVirtualKey; - _hotkeyKeyName = defaults.hotkeyKeyName; - _plainPasteHotkeyEnabled = defaults.plainPasteHotkeyEnabled; - _plainPasteHotkeyCtrl = defaults.plainPasteHotkeyUseCtrl; - _plainPasteHotkeyWin = defaults.plainPasteHotkeyUseWin; - _plainPasteHotkeyAlt = defaults.plainPasteHotkeyUseAlt; - _plainPasteHotkeyShift = defaults.plainPasteHotkeyUseShift; - _plainPasteHotkeyVirtualKey = defaults.plainPasteHotkeyVirtualKey; - _plainPasteHotkeyKeyName = defaults.plainPasteHotkeyKeyName; - }); - _markChanged(); - } - - String? get _pastePresetName { - if (Platform.isWindows && - _delayBeforeFocusMs == 0 && - _delayBeforePasteMs == 20 && - _maxFocusVerifyAttempts == 15 && - _duplicateIgnoreWindowMs == 300) { - return 'Instant'; - } - if (_delayBeforeFocusMs == 50 && - _delayBeforePasteMs == 80 && - _maxFocusVerifyAttempts == 10 && - _duplicateIgnoreWindowMs == 300) { - return 'Fast'; - } - if (_delayBeforeFocusMs == 80 && - _delayBeforePasteMs == 120 && - _maxFocusVerifyAttempts == 12 && - _duplicateIgnoreWindowMs == 350) { - return 'Normal'; - } - if (_delayBeforeFocusMs == 100 && - _delayBeforePasteMs == 180 && - _maxFocusVerifyAttempts == 15 && - _duplicateIgnoreWindowMs == 450) { - return 'Safe'; - } - if (_delayBeforeFocusMs == 150 && - _delayBeforePasteMs == 250 && - _maxFocusVerifyAttempts == 20 && - _duplicateIgnoreWindowMs == 600) { - return 'Slow'; - } - return null; - } - - void _applyPastePreset(String name) { - setState(() { - switch (name) { - case 'Instant': - _delayBeforeFocusMs = 0; - _delayBeforePasteMs = 20; - _maxFocusVerifyAttempts = 15; - _duplicateIgnoreWindowMs = 300; - case 'Fast': - _delayBeforeFocusMs = 50; - _delayBeforePasteMs = 80; - _maxFocusVerifyAttempts = 10; - _duplicateIgnoreWindowMs = 300; - case 'Normal': - _delayBeforeFocusMs = 80; - _delayBeforePasteMs = 120; - _maxFocusVerifyAttempts = 12; - _duplicateIgnoreWindowMs = 350; - case 'Safe': - _delayBeforeFocusMs = 100; - _delayBeforePasteMs = 180; - _maxFocusVerifyAttempts = 15; - _duplicateIgnoreWindowMs = 450; - case 'Slow': - _delayBeforeFocusMs = 150; - _delayBeforePasteMs = 250; - _maxFocusVerifyAttempts = 20; - _duplicateIgnoreWindowMs = 600; - } - }); - _markChanged(); - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - - return Scaffold( - backgroundColor: Platform.isWindows - ? colors.background.withValues(alpha: 0.85) - : colors.background, - body: Column( - children: [ - DragToMoveArea( - child: Container( - height: 36, - color: colors.surface, - padding: const EdgeInsets.only(right: 8), - alignment: Alignment.centerRight, - child: Icon( - Icons.drag_indicator_rounded, - size: 14, - color: colors.onSurfaceMuted.withValues(alpha: 0.4), - ), - ), - ), - Expanded( - child: Row( - children: [ - _buildSidebar(colors), - VerticalDivider( - width: 1, - thickness: 0.5, - color: colors.divider, - ), - Expanded(child: _buildContent(theme, colors)), - ], - ), - ), - Divider(height: 1, thickness: 0.5, color: colors.divider), - _buildFooter(colors), - ], - ), - ); - } - - Widget _buildSidebar(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return Container( - width: 220, - color: colors.surface, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.fromLTRB(20, 24, 16, 4), - child: Row( - children: [ - Icon(Icons.settings_rounded, size: 22, color: colors.primary), - const SizedBox(width: 10), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - l.settingsTitle, - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - color: colors.onSurface, - ), - ), - Text( - 'CopyPaste v${AppConfig.appVersion}', - style: TextStyle( - fontSize: 10, - color: colors.onSurfaceMuted, - ), - ), - ], - ), - ), - ], - ), - ), - const SizedBox(height: 16), - _NavItem( - icon: Icons.tune_rounded, - label: l.tabGeneral, - selected: _selectedTab == 0, - colors: colors, - onTap: () => setState(() => _selectedTab = 0), - ), - _NavItem( - icon: Icons.keyboard_rounded, - label: l.tabShortcuts, - selected: _selectedTab == 1, - colors: colors, - onTap: () => setState(() => _selectedTab = 1), - ), - _NavItem( - icon: Icons.speed_rounded, - label: l.tabCapture, - selected: _selectedTab == 2, - colors: colors, - onTap: () => setState(() => _selectedTab = 2), - ), - _NavItem( - icon: Icons.cleaning_services_rounded, - label: l.tabCleanupPrivacy, - selected: _selectedTab == 3, - colors: colors, - onTap: () => setState(() => _selectedTab = 3), - ), - _NavItem( - icon: Icons.archive_rounded, - label: l.tabBackupRestore, - selected: _selectedTab == 4, - colors: colors, - onTap: () => setState(() => _selectedTab = 4), - ), - _NavItem( - icon: Icons.info_outline_rounded, - label: l.tabAbout, - selected: _selectedTab == 5, - colors: colors, - onTap: () => setState(() => _selectedTab = 5), - ), - ], - ), - ); - } - - Widget _buildContent(AppThemeData theme, AppThemeColorScheme colors) { - return switch (_selectedTab) { - 0 => _buildGeneralTab(colors), - 1 => _buildShortcutsTab(colors), - 2 => _buildPerformanceTab(colors), - 3 => _buildCleanupTab(colors), - 4 => _buildBackupTab(colors), - 5 => _buildAboutTab(colors), - _ => const SizedBox.shrink(), - }; - } - - Widget _buildGeneralTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.language_rounded, - title: l.sectionLanguage, - children: [ - _SettingsRow( - label: l.settingLanguage, - colors: colors, - trailing: SegmentedButton( - style: _segmentedStyle(colors), - showSelectedIcon: false, - segments: const [ - ButtonSegment(value: 'auto', label: Text('Auto')), - ButtonSegment(value: 'en', label: Text('EN')), - ButtonSegment(value: 'es', label: Text('ES')), - ], - selected: {_preferredLanguage}, - onSelectionChanged: (s) { - setState(() => _preferredLanguage = s.first); - _markChanged(); - }, - ), - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.power_settings_new_rounded, - title: l.sectionStartup, - children: [ - _SettingsRow( - label: l.settingRunOnStartup, - subtitle: l.subtitleStartupDesc, - colors: colors, - trailing: Switch( - value: _runOnStartup, - activeThumbColor: colors.primary, - onChanged: (v) { - setState(() => _runOnStartup = v); - _markChanged(); - }, - ), - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.category_rounded, - title: l.sectionCategories, - subtitle: l.subtitleCategories, - children: [ - ..._colorEntries(l).map( - (e) => Padding( - padding: const EdgeInsets.symmetric(vertical: 3), - child: Row( - children: [ - Container( - width: 14, - height: 14, - decoration: BoxDecoration( - color: e.color, - shape: BoxShape.circle, - ), - ), - const SizedBox(width: 10), - Expanded( - child: _CompactTextField( - initialValue: _colorLabels[e.key] ?? e.defaultName, - colors: colors, - onChanged: (v) { - _colorLabels[e.key] = v; - _markChanged(); - }, - ), - ), - ], - ), - ), - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.aspect_ratio_rounded, - title: l.sectionAppearance, - children: [ - _ThemeRow( - label: l.settingTheme, - value: _themeMode, - colors: colors, - options: [ - (value: 'light', label: l.themeLight), - (value: 'dark', label: l.themeDark), - (value: 'auto', label: l.themeAuto), - ], - onChanged: (v) { - setState(() => _themeMode = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingPanelWidth, - value: _popupWidth, - min: 300, - max: 600, - colors: colors, - onChanged: (v) { - setState(() => _popupWidth = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingPanelHeight, - value: _popupHeight, - min: 300, - max: 800, - colors: colors, - onChanged: (v) { - setState(() => _popupHeight = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingLinesCollapsed, - value: _cardMinLines, - min: 1, - max: 10, - colors: colors, - onChanged: (v) { - setState(() => _cardMinLines = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingLinesExpanded, - value: _cardMaxLines, - min: 1, - max: 20, - colors: colors, - onChanged: (v) { - setState(() => _cardMaxLines = v); - _markChanged(); - }, - ), - ], - ), - - const SizedBox(height: 16), - ], - ); - } - - Widget _buildPerformanceTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.speed_rounded, - title: l.sectionPerformance, - children: [ - _NumberRow( - label: l.settingItemsPerPage, - value: _pageSize, - min: 5, - max: 100, - colors: colors, - onChanged: (v) { - setState(() => _pageSize = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingMemoryLimit, - value: _maxItemsBeforeCleanup, - min: 20, - max: 500, - colors: colors, - onChanged: (v) { - setState(() => _maxItemsBeforeCleanup = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingScrollThreshold, - value: _scrollLoadThreshold, - min: 50, - max: 500, - colors: colors, - onChanged: (v) { - setState(() => _scrollLoadThreshold = v); - _markChanged(); - }, - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.content_paste_go_rounded, - title: l.sectionPaste, - subtitle: Platform.isWindows - ? l.subtitlePastePreset - : l.subtitlePastePresetStandard, - children: [ - _SettingsRow( - label: l.settingPasteSpeed, - subtitle: l.subtitlePasteSpeed, - colors: colors, - trailing: _PresetDropdown( - value: _pastePresetName, - items: Platform.isWindows - ? const ['Instant', 'Fast', 'Normal', 'Safe', 'Slow'] - : const ['Fast', 'Normal', 'Safe', 'Slow'], - labels: { - 'Instant': l.pastePresetInstant, - 'Fast': l.pastePresetFast, - 'Normal': l.pastePresetNormal, - 'Safe': l.pastePresetSafe, - 'Slow': l.pastePresetSlow, - }, - hint: l.pastePresetCustom, - colors: colors, - onChanged: _applyPastePreset, - ), - ), - const SizedBox(height: 6), - Container( - padding: const EdgeInsets.all(8), - decoration: BoxDecoration( - color: colors.warning.withValues(alpha: 0.08), - borderRadius: BorderRadius.circular(6), - border: Border.all( - color: colors.warning.withValues(alpha: 0.3), - ), - ), - child: Text( - Platform.isWindows - ? l.pastePresetWarning - : l.pastePresetWarningStandard, - style: TextStyle( - fontSize: 10.5, - color: colors.onSurfaceVariant, - ), - ), - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.image_rounded, - title: l.sectionMultimedia, - subtitle: l.subtitleMultimedia, - children: [ - _ToggleRow( - label: l.settingGenerateImageThumbnails, - subtitle: l.subtitleGenerateImageThumbnails, - value: _generateImageThumbnails, - colors: colors, - onChanged: (v) { - setState(() => _generateImageThumbnails = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingGenerateVideoThumbnails, - subtitle: l.subtitleGenerateVideoThumbnails, - value: _generateVideoThumbnails, - colors: colors, - onChanged: (v) { - setState(() => _generateVideoThumbnails = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingGenerateAudioThumbnails, - subtitle: l.subtitleGenerateAudioThumbnails, - value: _generateAudioThumbnails, - colors: colors, - onChanged: (v) { - setState(() => _generateAudioThumbnails = v); - _markChanged(); - }, - ), - const SizedBox(height: 8), - _NumberRow( - label: l.settingMaxImageSize, - value: _maxImageProcessingSizeMB, - min: 1, - max: 200, - colors: colors, - onChanged: (v) { - setState(() => _maxImageProcessingSizeMB = v); - _markChanged(); - }, - ), - const SizedBox(height: 4), - Text( - l.subtitleMaxImageSize, - style: TextStyle(fontSize: 10.5, color: colors.onSurfaceMuted), - ), - ], - ), - - _SectionCard( - colors: colors, - icon: Icons.toggle_on_rounded, - title: l.sectionBehavior, - children: [ - _ToggleRow( - label: l.settingHideOnDeactivate, - subtitle: l.subtitleHideOnDeactivate, - value: _hideOnDeactivate, - colors: colors, - onChanged: (v) { - setState(() => _hideOnDeactivate = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingRememberWindowPosition, - subtitle: l.subtitleRememberWindowPosition, - value: _rememberWindowPosition, - colors: colors, - onChanged: (v) { - setState(() => _rememberWindowPosition = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingScrollToTopOnOpen, - subtitle: l.subtitleScrollToTopOnOpen, - value: _resetScrollOnShow, - colors: colors, - onChanged: (v) { - setState(() => _resetScrollOnShow = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingClearSearchOnOpen, - subtitle: l.subtitleClearSearchOnOpen, - value: _resetSearchOnShow, - colors: colors, - onChanged: (v) { - setState(() => _resetSearchOnShow = v); - _markChanged(); - }, - ), - _ToggleRow( - label: l.settingResetFiltersOnOpen, - subtitle: l.subtitleResetFiltersOnOpen, - value: _resetFiltersOnShow, - colors: colors, - onChanged: (v) { - setState(() => _resetFiltersOnShow = v); - _markChanged(); - }, - ), - ], - ), - - const SizedBox(height: 16), - ], - ); - } - - Widget _buildCleanupTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.cleaning_services_rounded, - title: l.sectionCleanupPrivacy, - children: [ - _NumberRow( - label: l.settingRetentionDaysLabel, - value: _retentionDays, - min: 0, - max: 365, - colors: colors, - onChanged: (v) { - setState(() => _retentionDays = v); - _markChanged(); - }, - ), - _NumberRow( - label: l.settingKeepBrokenItemsLabel, - value: _keepBrokenItemsDays, - min: 0, - max: 365, - colors: colors, - onChanged: (v) { - setState(() => _keepBrokenItemsDays = v); - _markChanged(); - }, - ), - const SizedBox(height: 4), - Text( - l.subtitleKeepBrokenItems, - style: TextStyle(fontSize: 10.5, color: colors.onSurfaceMuted), - ), - const SizedBox(height: 12), - _SettingsRow( - label: l.settingImagesQuotaLabel, - subtitle: l.subtitleImagesQuota, - colors: colors, - trailing: _PresetDropdown( - value: _imagesQuotaKey(_imagesQuotaMB), - items: const [ - 'off', - '256', - '512', - '1024', - '2048', - '5120', - '10240', - ], - labels: { - 'off': l.imagesQuotaOff, - '256': '256 MB', - '512': '512 MB', - '1024': '1 GB', - '2048': '2 GB', - '5120': '5 GB', - '10240': '10 GB', - }, - hint: l.imagesQuotaOff, - colors: colors, - onChanged: (v) { - setState(() { - _imagesQuotaMB = v == 'off' ? 0 : int.parse(v); - }); - _markChanged(); - }, - ), - ), - const SizedBox(height: 12), - _ActionTile( - icon: Icons.delete_sweep_outlined, - label: l.settingClearHistoryLabel, - colors: colors, - onTap: _clearHistory, - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.restart_alt_rounded, - title: l.sectionReset, - children: [ - _ActionTile( - icon: Icons.settings_backup_restore_rounded, - label: l.resetSoftLabel, - subtitle: l.resetSoftSubtitle, - colors: colors, - onTap: _softReset, - ), - _ActionTile( - icon: Icons.delete_forever_rounded, - label: l.resetHardLabel, - subtitle: l.resetHardSubtitle, - colors: colors, - onTap: _hardReset, - ), - ], - ), - const SizedBox(height: 16), - ], - ); - } - - Widget _buildBackupTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.archive_rounded, - title: l.sectionBackupRestore, - subtitle: l.subtitleBackup, - children: [ - if (_lastBackupDateUtc != null) - Padding( - padding: const EdgeInsets.only(bottom: 8), - child: Text( - l.backupLastDate(_formatDate(_lastBackupDateUtc!)), - style: TextStyle(fontSize: 11, color: colors.onSurfaceMuted), - ), - ) - else - Padding( - padding: const EdgeInsets.only(bottom: 8), - child: Text( - l.backupNone, - style: TextStyle(fontSize: 11, color: colors.onSurfaceMuted), - ), - ), - Row( - children: [ - Expanded( - child: _ActionTile( - icon: Icons.backup_rounded, - label: l.backupCreateLabel, - colors: colors, - onTap: _createBackup, - ), - ), - const SizedBox(width: 12), - Expanded( - child: _ActionTile( - icon: Icons.restore_rounded, - label: l.backupRestoreLabel, - colors: colors, - onTap: _restoreBackup, - ), - ), - ], - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.help_outline_rounded, - title: l.sectionSupport, - children: [ - _ActionTile( - icon: Icons.download_rounded, - label: l.supportExportLogs, - subtitle: l.supportExportLogsSubtitle, - colors: colors, - onTap: _exportLogs, - ), - _ActionTile( - icon: Icons.folder_open_rounded, - label: l.supportOpenLogsFolder, - subtitle: l.supportOpenLogsFolderSubtitle, - colors: colors, - onTap: _openLogsFolder, - ), - _ActionTile( - icon: Icons.bug_report_outlined, - label: l.supportGitHub, - colors: colors, - onTap: () => - _openUrl('https://github.com/rgdevment/CopyPaste/issues'), - ), - ], - ), - ], - ); - } - - Widget _buildShortcutsTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.keyboard_rounded, - title: l.sectionKeyboardShortcut, - children: [ - _SettingsRow( - label: l.settingHotkeyShortcutLabel, - subtitle: - '${l.currentShortcut(_hotkeyString(' + '))}\n' - '${l.subtitleGlobalHotkeyWarning}', - colors: colors, - ), - const SizedBox(height: 8), - Wrap( - spacing: 8, - runSpacing: 8, - children: [ - _ModifierChip( - label: Platform.isMacOS ? '⌃ Control' : 'Ctrl', - selected: _hotkeyCtrl, - colors: colors, - onTap: () { - setState(() => _hotkeyCtrl = !_hotkeyCtrl); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⌘ Command' : 'Win', - selected: _hotkeyWin, - colors: colors, - onTap: () { - setState(() => _hotkeyWin = !_hotkeyWin); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⌥ Option' : 'Alt', - selected: _hotkeyAlt, - colors: colors, - onTap: () { - setState(() => _hotkeyAlt = !_hotkeyAlt); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⇧ Shift' : 'Shift', - selected: _hotkeyShift, - colors: colors, - onTap: () { - setState(() => _hotkeyShift = !_hotkeyShift); - _markChanged(); - }, - ), - const SizedBox(width: 4), - _KeySelector( - currentKey: _hotkeyKeyName, - colors: colors, - onChanged: (k, vk) { - setState(() { - _hotkeyKeyName = k; - _hotkeyVirtualKey = vk; - }); - _markChanged(); - }, - ), - ], - ), - if (!_openHotkeyHasModifier) - _HotkeyValidationText( - message: l.hotkeyRequiresModifier, - colors: colors, - ), - Padding( - padding: const EdgeInsets.symmetric(vertical: 14), - child: Divider(height: 1, color: colors.divider), - ), - _SettingsRow( - label: l.settingPlainPasteHotkeyLabel, - subtitle: - '${_plainPasteHotkeyEnabled ? l.currentShortcut(_plainPasteHotkeyString(' + ')) : l.shortcutDisabled}\n' - '${l.subtitlePlainPasteHotkey}', - colors: colors, - trailing: Switch( - value: _plainPasteHotkeyEnabled, - activeThumbColor: colors.primary, - onChanged: (value) { - setState(() => _plainPasteHotkeyEnabled = value); - _markChanged(); - }, - ), - ), - const SizedBox(height: 8), - IgnorePointer( - ignoring: !_plainPasteHotkeyEnabled, - child: Opacity( - opacity: _plainPasteHotkeyEnabled ? 1 : 0.45, - child: Wrap( - spacing: 8, - runSpacing: 8, - children: [ - _ModifierChip( - label: Platform.isMacOS ? '⌃ Control' : 'Ctrl', - selected: _plainPasteHotkeyCtrl, - colors: colors, - onTap: () { - setState( - () => _plainPasteHotkeyCtrl = !_plainPasteHotkeyCtrl, - ); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⌘ Command' : 'Win', - selected: _plainPasteHotkeyWin, - colors: colors, - onTap: () { - setState( - () => _plainPasteHotkeyWin = !_plainPasteHotkeyWin, - ); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⌥ Option' : 'Alt', - selected: _plainPasteHotkeyAlt, - colors: colors, - onTap: () { - setState( - () => _plainPasteHotkeyAlt = !_plainPasteHotkeyAlt, - ); - _markChanged(); - }, - ), - _ModifierChip( - label: Platform.isMacOS ? '⇧ Shift' : 'Shift', - selected: _plainPasteHotkeyShift, - colors: colors, - onTap: () { - setState( - () => - _plainPasteHotkeyShift = !_plainPasteHotkeyShift, - ); - _markChanged(); - }, - ), - const SizedBox(width: 4), - _KeySelector( - currentKey: _plainPasteHotkeyKeyName, - colors: colors, - onChanged: (key, virtualKey) { - setState(() { - _plainPasteHotkeyKeyName = key; - _plainPasteHotkeyVirtualKey = virtualKey; - }); - _markChanged(); - }, - ), - ], - ), - ), - ), - if (_plainPasteHotkeyEnabled && !_plainPasteHotkeyHasModifier) - _HotkeyValidationText( - message: l.hotkeyRequiresModifier, - colors: colors, - ), - if (_hotkeysConflict) - _HotkeyValidationText( - message: l.hotkeyConflictWarning, - colors: colors, - ), - const SizedBox(height: 12), - Align( - alignment: Alignment.centerLeft, - child: OutlinedButton.icon( - onPressed: _restoreRecommendedHotkeys, - icon: const Icon(Icons.restore_rounded, size: 16), - label: Text(l.restoreRecommendedHotkeys), - ), - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.keyboard_rounded, - title: l.sectionShortcuts, - subtitle: l.subtitleShortcutScopes, - children: [ - _ShortcutRow( - keys: _hotkeyString(), - description: l.shortcutOpenClose, - colors: colors, - ), - if (_plainPasteHotkeyEnabled) - _ShortcutRow( - keys: _plainPasteHotkeyString(), - description: l.shortcutPastePlainDirect, - colors: colors, - ), - _ShortcutRow( - keys: Platform.isMacOS ? '⌘V' : 'Ctrl+V', - description: l.shortcutSystemPaste, - colors: colors, - ), - _ShortcutRow( - keys: '\u2191 / \u2193', - description: l.shortcutArrows, - colors: colors, - ), - _ShortcutRow( - keys: 'Enter', - description: l.shortcutEnter, - colors: colors, - ), - _ShortcutRow( - keys: 'Shift+Enter', - description: l.shortcutPasteSelectedPlain, - colors: colors, - ), - _ShortcutRow( - keys: 'Delete', - description: l.shortcutDelete, - colors: colors, - ), - _ShortcutRow(keys: 'P', description: l.shortcutPin, colors: colors), - _ShortcutRow( - keys: 'E', - description: l.shortcutEdit, - colors: colors, - ), - _ShortcutRow( - keys: '\u2192', - description: l.shortcutExpand, - colors: colors, - ), - _ShortcutRow( - keys: 'Escape', - description: l.shortcutEscape, - colors: colors, - ), - _ShortcutRow( - keys: Platform.isMacOS ? 'Cmd+1' : 'Ctrl+1', - description: l.shortcutTab1, - colors: colors, - ), - _ShortcutRow( - keys: Platform.isMacOS ? 'Cmd+2' : 'Ctrl+2', - description: l.shortcutTab2, - colors: colors, - ), - _ShortcutRow( - keys: 'Shift+Tab', - description: l.shortcutFocusSearch, - colors: colors, - ), - ], - ), - ], - ); - } - - Widget _buildAboutTab(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return ListView( - padding: const EdgeInsets.all(24), - children: [ - _SectionCard( - colors: colors, - icon: Icons.info_outline_rounded, - title: l.sectionAbout, - children: [ - Text( - l.aboutDescription, - style: TextStyle( - fontSize: 12, - color: colors.onSurfaceVariant, - height: 1.5, - ), - ), - const SizedBox(height: 14), - Wrap( - spacing: 6, - runSpacing: 6, - children: [ - _AboutBadge( - icon: Icons.new_releases_outlined, - label: 'v${AppConfig.appVersion}', - colors: colors, - ), - _AboutBadge( - icon: Icons.lock_outline_rounded, - label: l.aboutTagLocal, - colors: colors, - ), - _AboutBadge( - icon: Icons.code_rounded, - label: l.aboutTagOpenSource, - colors: colors, - ), - _AboutBadge( - icon: Icons.favorite_border_rounded, - label: l.aboutTagFree, - colors: colors, - ), - ], - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.apps_rounded, - title: l.sectionOtherTools, - children: [ - _ActionTile( - icon: Icons.open_in_new_rounded, - label: l.otherToolLinkUnbound, - subtitle: l.otherToolLinkUnboundDesc, - colors: colors, - leading: Padding( - padding: const EdgeInsets.only(top: 1), - child: ClipRRect( - borderRadius: BorderRadius.circular(4), - child: Image.asset( - 'assets/icons/icon_linkunbound.png', - width: 28, - height: 28, - ), - ), - ), - onTap: () => _openUrl('https://github.com/rgdevment/LinkUnbound'), - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.link_rounded, - title: l.sectionLinks, - children: [ - _ActionTile( - icon: Icons.code_rounded, - label: l.linkGitHub, - colors: colors, - onTap: () => _openUrl('https://github.com/rgdevment/CopyPaste'), - ), - _ActionTile( - icon: Icons.coffee_rounded, - label: l.linkCoffee, - colors: colors, - onTap: () => _openUrl('https://buymeacoffee.com/rgdevment'), - ), - ], - ), - _SectionCard( - colors: colors, - icon: Icons.shield_outlined, - title: l.sectionPrivacy, - children: [ - Text( - l.privacyStatement, - style: TextStyle( - fontSize: 12, - color: colors.onSurfaceVariant, - height: 1.5, - ), - ), - const SizedBox(height: 4), - _ActionTile( - icon: Icons.open_in_new_rounded, - label: l.privacyPolicy, - colors: colors, - onTap: () => _openUrl( - 'https://github.com/rgdevment/CopyPaste/blob/main/PRIVACY.md', - ), - ), - ], - ), - Padding( - padding: const EdgeInsets.only(top: 12, left: 4), - child: Text( - l.aboutLicense, - style: TextStyle(fontSize: 10.5, color: colors.onSurfaceMuted), - ), - ), - ], - ); - } - - Widget _buildFooter(AppThemeColorScheme colors) { - final l = AppLocalizations.of(context); - return Container( - height: 52, - padding: const EdgeInsets.symmetric(horizontal: 20), - color: colors.surface, - child: Row( - children: [ - _SmallButton( - label: l.buttonReset, - colors: colors, - onTap: _resetToDefaults, - ), - const Spacer(), - if (_hotkeyChanged) - Padding( - padding: const EdgeInsets.only(right: 12), - child: Text( - l.hotkeyWillApply, - style: TextStyle(fontSize: 10, color: colors.onSurfaceMuted), - ), - ), - if (_saving) - Padding( - padding: const EdgeInsets.only(right: 12), - child: Text( - l.savingIndicator, - style: TextStyle(fontSize: 10, color: colors.onSurfaceMuted), - ), - ) - else if (_savedRecently) - Padding( - padding: const EdgeInsets.only(right: 12), - child: Text( - l.savedIndicator, - style: TextStyle(fontSize: 10, color: colors.onSurfaceMuted), - ), - ), - _SmallButton( - label: l.buttonClose, - colors: colors, - onTap: () => Navigator.of(context).pop(), - ), - ], - ), - ); - } - - Future _exportLogs() async { - final l = AppLocalizations.of(context); - try { - final ts = DateTime.now() - .toIso8601String() - .replaceAll(':', '-') - .split('.') - .first; - final fileName = 'CopyPaste_logs_$ts.zip'; - final savePath = _resolveDownloadsPath(fileName); - - final count = await SupportService.exportLogs( - widget.storage, - AppConfig.appVersion, - savePath, - ); - - if (!mounted) return; - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text( - count > 0 ? l.supportExportSuccess : l.supportExportEmpty, - ), - action: SnackBarAction( - label: l.supportShowInFiles, - onPressed: () => SupportService.revealFile(savePath), - ), - duration: const Duration(seconds: 5), - ), - ); - } catch (e, s) { - AppLogger.exception(e, s, '_exportLogs'); - if (!mounted) return; - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(l.supportExportError), - duration: const Duration(seconds: 3), - ), - ); - } - } - - String _resolveDownloadsPath(String fileName) { - final String base; - if (Platform.isWindows) { - base = p.join(Platform.environment['USERPROFILE'] ?? '', 'Downloads'); - } else { - base = p.join(Platform.environment['HOME'] ?? '', 'Downloads'); - } - final dir = Directory(base); - if (dir.existsSync()) return p.join(base, fileName); - return p.join(widget.storage.logsPath, fileName); - } - - Future _openLogsFolder() async { - try { - await SupportService.openLogsFolder(widget.storage); - } catch (e, s) { - AppLogger.exception(e, s, '_openLogsFolder'); - } - } - - Future _softReset() async { - final l = AppLocalizations.of(context); - final confirmed = await _showConfirmDialog( - l.resetSoftConfirmTitle, - l.resetSoftConfirmMessage, - l.resetConfirmButton, - ); - if (confirmed == true) await widget.onSoftReset(); - } - - Future _hardReset() async { - final l = AppLocalizations.of(context); - final confirmed = await _showConfirmDialog( - l.resetHardConfirmTitle, - l.resetHardConfirmMessage, - l.resetConfirmButton, - ); - if (confirmed == true) await widget.onHardReset(); - } - - Future _clearHistory() async { - final l = AppLocalizations.of(context); - final confirmed = await _showConfirmDialog( - l.clearHistoryConfirmTitle, - l.clearHistoryConfirmMessage, - l.clearHistoryConfirmButton, - ); - if (confirmed == true) { - await widget.clipboardService.clearUnpinnedHistory(); - if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(l.historyCleared), - duration: const Duration(seconds: 2), - ), - ); - } - } - } - - Future _createBackup() async { - try { - final ts = DateTime.now() - .toIso8601String() - .replaceAll(':', '-') - .split('.') - .first; - final suggestedName = 'CopyPaste_Backup_$ts'; - - final path = await FilePicker.saveFile( - dialogTitle: 'Save Backup', - fileName: '$suggestedName.zip', - type: FileType.custom, - allowedExtensions: ['zip'], - ); - if (path == null) return; - - final count = await widget.clipboardService.getItemCount(); - await BackupService.createBackup( - path, - widget.storage, - AppConfig.appVersion, - itemCount: count, - walCheckpoint: widget.clipboardService.walCheckpoint, - ); - setState(() => _lastBackupDateUtc = DateTime.now().toUtc()); - _markChanged(); - if (mounted) { - final l = AppLocalizations.of(context); - final filename = path.split(Platform.pathSeparator).last; - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(l.backupSavedFile(filename)), - duration: const Duration(seconds: 3), - ), - ); - } - } catch (e) { - if (mounted) { - final l = AppLocalizations.of(context); - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text(l.backupError))); - } - } - } - - Future _restoreBackup() async { - final l = AppLocalizations.of(context); - - final result = await FilePicker.pickFiles( - dialogTitle: l.restoreDialogTitle, - type: FileType.custom, - allowedExtensions: ['zip'], - ); - if (result == null || result.files.isEmpty) return; - - final path = result.files.single.path; - if (path == null || !File(path).existsSync()) { - if (mounted) { - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text(l.restoreFileNotFound))); - } - return; - } - - if (!mounted) return; - final colors = CopyPasteTheme.colorsOf(context); - final confirmed = await showDialog( - context: context, - builder: (ctx) => AlertDialog( - backgroundColor: colors.cardBackground, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), - title: Text( - l.restoreDialogTitle, - style: TextStyle(fontSize: 14, color: colors.onSurface), - ), - content: Text( - l.restoreDialogWarning, - style: TextStyle(fontSize: 12, color: colors.onSurfaceVariant), - ), - actions: [ - TextButton( - onPressed: () => Navigator.pop(ctx, false), - child: Text( - l.buttonCancel, - style: TextStyle(color: colors.onSurfaceMuted), - ), - ), - TextButton( - onPressed: () => Navigator.pop(ctx, true), - child: Text( - l.buttonRestore, - style: TextStyle(color: colors.danger), - ), - ), - ], - ), - ); - if (confirmed != true) return; - - try { - final manifest = await BackupService.restoreBackup(path, widget.storage); - if (manifest != null && mounted) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text(l.restoreRestartRequired), - duration: const Duration(seconds: 2), - ), - ); - await Future.delayed(const Duration(seconds: 2)); - exit(0); - } else if (mounted) { - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text(l.restoreCompleted))); - } - } catch (e) { - if (mounted) { - ScaffoldMessenger.of( - context, - ).showSnackBar(SnackBar(content: Text(l.restoreError))); - } - } - } - - void _openUrl(String url) { - UrlHelper.open(url); - } - - String _formatDate(DateTime dt) => - '${dt.day.toString().padLeft(2, '0')}/' - '${dt.month.toString().padLeft(2, '0')}/${dt.year}'; - - Future _showConfirmDialog( - String title, - String message, - String confirmLabel, - ) { - final colors = CopyPasteTheme.colorsOf(context); - final l = AppLocalizations.of(context); - return showDialog( - context: context, - builder: (ctx) => AlertDialog( - backgroundColor: colors.cardBackground, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), - title: Text( - title, - style: TextStyle(fontSize: 14, color: colors.onSurface), - ), - content: Text( - message, - style: TextStyle(fontSize: 12.5, color: colors.onSurfaceVariant), - ), - actions: [ - TextButton( - onPressed: () => Navigator.pop(ctx, false), - child: Text( - l.buttonCancel, - style: TextStyle(color: colors.onSurfaceMuted), - ), - ), - TextButton( - onPressed: () => Navigator.pop(ctx, true), - child: Text(confirmLabel, style: TextStyle(color: colors.danger)), - ), - ], - ), - ); - } - - ButtonStyle _segmentedStyle(AppThemeColorScheme colors) => - SegmentedButton.styleFrom( - foregroundColor: colors.onSurface, - selectedForegroundColor: colors.primary, - selectedBackgroundColor: colors.primary.withValues(alpha: 0.12), - side: BorderSide(color: colors.divider), - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), - textStyle: const TextStyle(fontSize: 12), - ); - - static List<({String key, String defaultName, Color color})> _colorEntries( - AppLocalizations l, - ) => [ - (key: 'Red', defaultName: l.colorRed, color: const Color(0xFFE53935)), - (key: 'Green', defaultName: l.colorGreen, color: const Color(0xFF43A047)), - (key: 'Purple', defaultName: l.colorPurple, color: const Color(0xFF8E24AA)), - (key: 'Yellow', defaultName: l.colorYellow, color: const Color(0xFFFDD835)), - (key: 'Blue', defaultName: l.colorBlue, color: const Color(0xFF1E88E5)), - (key: 'Orange', defaultName: l.colorOrange, color: const Color(0xFFFB8C00)), - ]; -} - -class _NavItem extends StatefulWidget { - const _NavItem({ - required this.icon, - required this.label, - required this.selected, - required this.colors, - required this.onTap, - }); - - final IconData icon; - final String label; - final bool selected; - final AppThemeColorScheme colors; - final VoidCallback onTap; - - @override - State<_NavItem> createState() => _NavItemState(); -} - -class _NavItemState extends State<_NavItem> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - final bg = widget.selected - ? widget.colors.primary.withValues(alpha: 0.12) - : (_hovering - ? widget.colors.onSurface.withValues(alpha: 0.05) - : Colors.transparent); - final fg = widget.selected - ? widget.colors.primary - : widget.colors.onSurface; - - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - cursor: SystemMouseCursors.click, - child: GestureDetector( - onTap: widget.onTap, - child: Container( - margin: const EdgeInsets.symmetric(horizontal: 12, vertical: 2), - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10), - decoration: BoxDecoration( - color: bg, - borderRadius: BorderRadius.circular(8), - ), - child: Row( - children: [ - Icon(widget.icon, size: 18, color: fg), - const SizedBox(width: 12), - Flexible( - child: Text( - widget.label, - style: TextStyle( - fontSize: 13, - fontWeight: widget.selected - ? FontWeight.w600 - : FontWeight.w400, - color: fg, - ), - overflow: TextOverflow.ellipsis, - ), - ), - ], - ), - ), - ), - ); - } -} - -class _SectionCard extends StatelessWidget { - const _SectionCard({ - required this.colors, - required this.icon, - required this.title, - required this.children, - this.subtitle, - }); - - final AppThemeColorScheme colors; - final IconData icon; - final String title; - final String? subtitle; - final List children; - - @override - Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.only(bottom: 16), - padding: const EdgeInsets.all(16), - decoration: BoxDecoration( - color: colors.cardBackground, - borderRadius: BorderRadius.circular(8), - border: Border.all(color: colors.cardBorder), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - Icon(icon, size: 14, color: colors.onSurfaceMuted), - const SizedBox(width: 8), - Expanded( - child: Text( - title, - style: TextStyle( - fontSize: 10, - fontWeight: FontWeight.w600, - color: colors.onSurfaceMuted, - letterSpacing: 1.0, - ), - overflow: TextOverflow.ellipsis, - ), - ), - ], - ), - if (subtitle != null) - Padding( - padding: const EdgeInsets.only(top: 4), - child: Text( - subtitle!, - style: TextStyle(fontSize: 11, color: colors.onSurfaceMuted), - ), - ), - const SizedBox(height: 12), - ...children, - ], - ), - ); - } -} - -class _SettingsRow extends StatelessWidget { - const _SettingsRow({ - required this.label, - required this.colors, - this.subtitle, - this.trailing, - }); - - final String label; - final String? subtitle; - final AppThemeColorScheme colors; - final Widget? trailing; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - label, - style: TextStyle(fontSize: 12.5, color: colors.onSurface), - ), - if (subtitle != null) - Padding( - padding: const EdgeInsets.only(top: 2), - child: Text( - subtitle!, - style: TextStyle( - fontSize: 10.5, - color: colors.onSurfaceMuted, - ), - ), - ), - ], - ), - ), - ?trailing, - ], - ), - ); - } -} - -class _ToggleRow extends StatelessWidget { - const _ToggleRow({ - required this.label, - required this.value, - required this.colors, - required this.onChanged, - this.subtitle, - }); - - final String label; - final String? subtitle; - final bool value; - final AppThemeColorScheme colors; - final ValueChanged onChanged; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 2), - child: Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - label, - style: TextStyle(fontSize: 12.5, color: colors.onSurface), - ), - if (subtitle != null) - Padding( - padding: const EdgeInsets.only(top: 2), - child: Text( - subtitle!, - style: TextStyle( - fontSize: 10.5, - color: colors.onSurfaceMuted, - ), - ), - ), - ], - ), - ), - Switch( - value: value, - activeThumbColor: colors.primary, - onChanged: onChanged, - ), - ], - ), - ); - } -} - -class _ThemeRow extends StatelessWidget { - const _ThemeRow({ - required this.label, - required this.value, - required this.colors, - required this.options, - required this.onChanged, - }); - - final String label; - final String value; - final AppThemeColorScheme colors; - final List<({String value, String label})> options; - final void Function(String) onChanged; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Row( - children: [ - Expanded( - child: Text( - label, - style: TextStyle(fontSize: 13, color: colors.onSurface), - ), - ), - Container( - decoration: BoxDecoration( - color: colors.surfaceVariant, - borderRadius: BorderRadius.circular(8), - border: Border.all( - color: colors.onSurface.withValues(alpha: 0.08), - ), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - for (final opt in options) - GestureDetector( - onTap: () => onChanged(opt.value), - child: AnimatedContainer( - duration: const Duration(milliseconds: 150), - padding: const EdgeInsets.symmetric( - horizontal: 14, - vertical: 6, - ), - decoration: BoxDecoration( - color: value == opt.value - ? colors.primary.withValues(alpha: 0.12) - : Colors.transparent, - borderRadius: BorderRadius.circular(7), - border: value == opt.value - ? Border.all( - color: colors.primary.withValues(alpha: 0.3), - ) - : null, - ), - child: Text( - opt.label, - style: TextStyle( - fontSize: 12, - fontWeight: value == opt.value - ? FontWeight.w600 - : FontWeight.w400, - color: value == opt.value - ? colors.primary - : colors.onSurfaceMuted, - ), - ), - ), - ), - ], - ), - ), - ], - ), - ); - } -} - -class _NumberRow extends StatelessWidget { - const _NumberRow({ - required this.label, - required this.value, - required this.min, - required this.max, - required this.colors, - required this.onChanged, - }); - - final String label; - final int value; - final int min; - final int max; - final AppThemeColorScheme colors; - final ValueChanged onChanged; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4), - child: Row( - children: [ - Expanded( - child: Text( - label, - style: TextStyle(fontSize: 12.5, color: colors.onSurface), - ), - ), - SizedBox( - width: 130, - height: 30, - child: Row( - children: [ - _StepButton( - icon: Icons.remove, - colors: colors, - isLeft: true, - onTap: value > min ? () => onChanged(value - 1) : null, - ), - Expanded( - child: Container( - alignment: Alignment.center, - decoration: BoxDecoration( - border: Border.symmetric( - horizontal: BorderSide(color: colors.divider), - ), - color: colors.surface, - ), - child: Text( - '$value', - style: TextStyle( - fontSize: 12, - color: colors.onSurface, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - _StepButton( - icon: Icons.add, - colors: colors, - isLeft: false, - onTap: value < max ? () => onChanged(value + 1) : null, - ), - ], - ), - ), - ], - ), - ); - } -} - -class _StepButton extends StatelessWidget { - const _StepButton({ - required this.icon, - required this.colors, - required this.isLeft, - this.onTap, - }); - - final IconData icon; - final AppThemeColorScheme colors; - final bool isLeft; - final VoidCallback? onTap; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - child: Container( - width: 30, - height: 30, - decoration: BoxDecoration( - color: colors.surface, - border: Border.all(color: colors.divider), - borderRadius: isLeft - ? const BorderRadius.horizontal(left: Radius.circular(6)) - : const BorderRadius.horizontal(right: Radius.circular(6)), - ), - child: Icon( - icon, - size: 14, - color: onTap != null ? colors.onSurface : colors.onSurfaceMuted, - ), - ), - ); - } -} - -class _CompactTextField extends StatefulWidget { - const _CompactTextField({ - required this.initialValue, - required this.colors, - required this.onChanged, - }); - - final String initialValue; - final AppThemeColorScheme colors; - final ValueChanged onChanged; - - @override - State<_CompactTextField> createState() => _CompactTextFieldState(); -} - -class _CompactTextFieldState extends State<_CompactTextField> { - late final TextEditingController _controller; - - @override - void initState() { - super.initState(); - _controller = TextEditingController(text: widget.initialValue); - } - - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return TextField( - controller: _controller, - maxLength: 20, - style: TextStyle(fontSize: 12, color: widget.colors.onSurface), - decoration: InputDecoration( - isDense: true, - counterText: '', - contentPadding: const EdgeInsets.symmetric(horizontal: 8, vertical: 6), - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(6), - borderSide: BorderSide(color: widget.colors.divider), - ), - enabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(6), - borderSide: BorderSide(color: widget.colors.divider), - ), - focusedBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(6), - borderSide: BorderSide(color: widget.colors.primary), - ), - ), - onChanged: widget.onChanged, - ); - } -} - -class _PresetDropdown extends StatelessWidget { - const _PresetDropdown({ - required this.value, - required this.items, - required this.colors, - required this.onChanged, - this.labels = const {}, - this.hint = 'Custom', - }); - - final String? value; - final List items; - final Map labels; - final String hint; - final AppThemeColorScheme colors; - final ValueChanged onChanged; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 8), - decoration: BoxDecoration( - color: colors.surface, - borderRadius: BorderRadius.circular(6), - border: Border.all(color: colors.divider), - ), - child: DropdownButtonHideUnderline( - child: DropdownButton( - value: value, - hint: Text( - hint, - style: TextStyle(fontSize: 12, color: colors.onSurfaceMuted), - ), - isDense: true, - dropdownColor: colors.cardBackground, - style: TextStyle(fontSize: 12, color: colors.onSurface), - icon: Icon( - Icons.arrow_drop_down, - size: 16, - color: colors.onSurfaceMuted, - ), - items: items - .map( - (i) => DropdownMenuItem(value: i, child: Text(labels[i] ?? i)), - ) - .toList(), - onChanged: (v) { - if (v != null) onChanged(v); - }, - ), - ), - ); - } -} - -class _ActionTile extends StatefulWidget { - const _ActionTile({ - required this.icon, - required this.label, - required this.colors, - required this.onTap, - this.subtitle, - this.leading, - }); - - final IconData icon; - final String label; - final String? subtitle; - final Widget? leading; - final AppThemeColorScheme colors; - final VoidCallback onTap; - - @override - State<_ActionTile> createState() => _ActionTileState(); -} - -class _ActionTileState extends State<_ActionTile> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - cursor: SystemMouseCursors.click, - child: GestureDetector( - onTap: widget.onTap, - child: Container( - padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 10), - decoration: BoxDecoration( - color: _hovering - ? widget.colors.onSurface.withValues(alpha: 0.05) - : Colors.transparent, - borderRadius: BorderRadius.circular(6), - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - widget.leading ?? - Padding( - padding: const EdgeInsets.only(top: 1), - child: Icon( - widget.icon, - size: 16, - color: widget.colors.onSurfaceMuted, - ), - ), - const SizedBox(width: 10), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - widget.label, - style: TextStyle( - fontSize: 12.5, - color: widget.colors.onSurface, - ), - ), - if (widget.subtitle != null) ...[ - const SizedBox(height: 2), - Text( - widget.subtitle!, - style: TextStyle( - fontSize: 11, - color: widget.colors.onSurfaceMuted, - height: 1.4, - ), - ), - ], - ], - ), - ), - ], - ), - ), - ), - ); - } -} - -class _AboutBadge extends StatelessWidget { - const _AboutBadge({ - required this.icon, - required this.label, - required this.colors, - }); - - final IconData icon; - final String label; - final AppThemeColorScheme colors; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), - decoration: BoxDecoration( - border: Border.all(color: colors.cardBorder), - borderRadius: BorderRadius.circular(20), - ), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(icon, size: 11, color: colors.onSurfaceMuted), - const SizedBox(width: 5), - Text( - label, - style: TextStyle(fontSize: 10.5, color: colors.onSurfaceVariant), - ), - ], - ), - ); - } -} - -class _ModifierChip extends StatelessWidget { - const _ModifierChip({ - required this.label, - required this.selected, - required this.colors, - required this.onTap, - }); - - final String label; - final bool selected; - final AppThemeColorScheme colors; - final VoidCallback onTap; - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onTap, - child: MouseRegion( - cursor: SystemMouseCursors.click, - child: AnimatedContainer( - duration: const Duration(milliseconds: 120), - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 6), - decoration: BoxDecoration( - color: selected - ? colors.primary.withValues(alpha: 0.15) - : colors.onSurface.withValues(alpha: 0.05), - borderRadius: BorderRadius.circular(6), - border: Border.all( - color: selected - ? colors.primary.withValues(alpha: 0.4) - : colors.divider, - ), - ), - child: Text( - label, - style: TextStyle( - fontSize: 11, - fontWeight: selected ? FontWeight.w600 : FontWeight.w400, - color: selected ? colors.primary : colors.onSurfaceMuted, - ), - ), - ), - ), - ); - } -} - -class _HotkeyValidationText extends StatelessWidget { - const _HotkeyValidationText({required this.message, required this.colors}); - - final String message; - final AppThemeColorScheme colors; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.only(top: 8), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Icon(Icons.warning_amber_rounded, size: 15, color: colors.danger), - const SizedBox(width: 6), - Expanded( - child: Text( - message, - style: TextStyle(fontSize: 11, color: colors.danger), - ), - ), - ], - ), - ); - } -} - -class _KeySelector extends StatelessWidget { - const _KeySelector({ - required this.currentKey, - required this.colors, - required this.onChanged, - }); - - final String currentKey; - final AppThemeColorScheme colors; - final void Function(String key, int virtualKey) onChanged; - - static const _keys = [ - ('A', 0x41), - ('B', 0x42), - ('C', 0x43), - ('D', 0x44), - ('E', 0x45), - ('F', 0x46), - ('G', 0x47), - ('H', 0x48), - ('I', 0x49), - ('J', 0x4A), - ('K', 0x4B), - ('L', 0x4C), - ('M', 0x4D), - ('N', 0x4E), - ('O', 0x4F), - ('P', 0x50), - ('Q', 0x51), - ('R', 0x52), - ('S', 0x53), - ('T', 0x54), - ('U', 0x55), - ('V', 0x56), - ('W', 0x57), - ('X', 0x58), - ('Y', 0x59), - ('Z', 0x5A), - ]; - - @override - Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 8), - decoration: BoxDecoration( - color: colors.primary.withValues(alpha: 0.1), - borderRadius: BorderRadius.circular(6), - border: Border.all(color: colors.primary.withValues(alpha: 0.3)), - ), - child: DropdownButtonHideUnderline( - child: DropdownButton( - value: currentKey, - isDense: true, - dropdownColor: colors.cardBackground, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w600, - color: colors.primary, - ), - icon: Icon(Icons.arrow_drop_down, size: 16, color: colors.primary), - items: _keys - .map((k) => DropdownMenuItem(value: k.$1, child: Text(k.$1))) - .toList(), - onChanged: (value) { - if (value == null) return; - final entry = _keys.firstWhere((k) => k.$1 == value); - onChanged(entry.$1, entry.$2); - }, - ), - ), - ); - } -} - -class _ShortcutRow extends StatelessWidget { - const _ShortcutRow({ - required this.keys, - required this.description, - required this.colors, - }); - - final String keys; - final String description; - final AppThemeColorScheme colors; - - @override - Widget build(BuildContext context) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 3), - child: Row( - children: [ - SizedBox( - width: 100, - child: Text( - keys, - style: TextStyle( - fontSize: 11, - fontWeight: FontWeight.w500, - color: colors.onSurfaceVariant, - fontFamily: 'Consolas', - ), - ), - ), - Expanded( - child: Text( - description, - style: TextStyle(fontSize: 11, color: colors.onSurfaceMuted), - ), - ), - ], - ), - ); - } -} - -class _SmallButton extends StatefulWidget { - const _SmallButton({required this.label, required this.colors, this.onTap}); - - final String label; - final AppThemeColorScheme colors; - final VoidCallback? onTap; - - @override - State<_SmallButton> createState() => _SmallButtonState(); -} - -class _SmallButtonState extends State<_SmallButton> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - final enabled = widget.onTap != null; - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - cursor: enabled ? SystemMouseCursors.click : SystemMouseCursors.basic, - child: GestureDetector( - onTap: widget.onTap, - child: AnimatedContainer( - duration: const Duration(milliseconds: 100), - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - decoration: BoxDecoration( - color: _hovering - ? widget.colors.onSurface.withValues(alpha: 0.08) - : Colors.transparent, - borderRadius: BorderRadius.circular(6), - ), - child: Text( - widget.label, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w500, - color: widget.colors.onSurface, - ), - ), - ), - ), - ); - } -} diff --git a/app/lib/services/auto_update_service.dart b/app/lib/services/auto_update_service.dart deleted file mode 100644 index 73acc488..00000000 --- a/app/lib/services/auto_update_service.dart +++ /dev/null @@ -1,45 +0,0 @@ -// coverage:ignore-file - -import 'dart:async'; - -import 'package:core/core.dart'; - -import 'release_manifest_service.dart'; - -const _isStoreBuild = bool.fromEnvironment('STORE_BUILD', defaultValue: false); - -class AutoUpdateService { - static StreamSubscription? _sub; - - static void Function(String version)? onUpdateAvailable; - - static bool get isStoreBuild => _isStoreBuild; - - static Future initialize({required String storageConfigDir}) async { - await ReleaseManifestService.initialize(storageConfigDir: storageConfigDir); - _sub ??= ReleaseManifestService.stream.listen((state) { - if (state == null) return; - final latest = state.manifest.latest; - if (ReleaseManifestService.compareVersions(latest, AppConfig.appVersion) > - 0) { - AppLogger.info('Update available: ${AppConfig.appVersion} → $latest'); - onUpdateAvailable?.call(latest); - } - }); - - final cached = ReleaseManifestService.current; - if (cached != null) { - final latest = cached.manifest.latest; - if (ReleaseManifestService.compareVersions(latest, AppConfig.appVersion) > - 0) { - onUpdateAvailable?.call(latest); - } - } - } - - static Future dispose() async { - await _sub?.cancel(); - _sub = null; - ReleaseManifestService.dispose(); - } -} diff --git a/app/lib/services/install_channel.dart b/app/lib/services/install_channel.dart deleted file mode 100644 index 016dab93..00000000 --- a/app/lib/services/install_channel.dart +++ /dev/null @@ -1,91 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/foundation.dart' show visibleForTesting; - -const bool _isStoreBuild = bool.fromEnvironment( - 'STORE_BUILD', - defaultValue: false, -); - -enum InstallChannel { - msStore, - githubWindows, - scoop, - githubMacos, - homebrew, - unknown, -} - -enum HostPlatform { macos, windows, other } - -class InstallChannelDetector { - static HostPlatform? platformOverride; - - @visibleForTesting - static InstallChannel? channelOverride; - - static InstallChannel detect({ - String? execPathOverride, - HostPlatform? platformOverride, - }) { - if (channelOverride != null) return channelOverride!; - if (_isStoreBuild) return InstallChannel.msStore; - final path = (execPathOverride ?? Platform.resolvedExecutable).replaceAll( - r'\', - '/', - ); - final host = - platformOverride ?? - InstallChannelDetector.platformOverride ?? - _currentPlatform(); - - if (host == HostPlatform.macos) { - if (_isHomebrewPath(path)) return InstallChannel.homebrew; - return InstallChannel.githubMacos; - } - - if (host == HostPlatform.windows) { - if (_isScoopPath(path)) return InstallChannel.scoop; - return InstallChannel.githubWindows; - } - - return InstallChannel.unknown; - } - - static HostPlatform _currentPlatform() { - if (Platform.isMacOS) return HostPlatform.macos; - if (Platform.isWindows) return HostPlatform.windows; - return HostPlatform.other; - } - - static String manifestKey(InstallChannel channel) { - switch (channel) { - case InstallChannel.msStore: - return 'msstore'; - case InstallChannel.githubWindows: - return 'github_windows'; - case InstallChannel.scoop: - return 'scoop'; - case InstallChannel.githubMacos: - return 'github_macos'; - case InstallChannel.homebrew: - return 'homebrew'; - case InstallChannel.unknown: - return 'unknown'; - } - } - - static bool _isHomebrewPath(String path) { - return path.contains('/Cellar/') || - path.contains('/opt/homebrew/') || - path.contains('/usr/local/Cellar/'); - } - - // The Scoop root is relocatable, so the layout below it is the tell. - static bool _isScoopPath(String path) { - final lower = path.toLowerCase(); - return lower.contains('/scoop/apps/') || - lower.contains('/apps/copypaste/') || - lower.contains('/apps/copypaste-beta/'); - } -} diff --git a/app/lib/services/manifest_signature.dart b/app/lib/services/manifest_signature.dart deleted file mode 100644 index 123c7d62..00000000 --- a/app/lib/services/manifest_signature.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'dart:convert'; - -import 'package:cryptography/cryptography.dart'; -import 'package:flutter/foundation.dart' show visibleForTesting; -import 'package:flutter/services.dart' show rootBundle; - -class ManifestSignature { - ManifestSignature._(); - - static const _pubKeyAsset = 'assets/keys/release_pubkey.txt'; - static final Ed25519 _algorithm = Ed25519(); - - static SimplePublicKey? _cachedPublicKey; - static SimplePublicKey? _overridePublicKey; - - static Future verify(List bytes, String signatureBase64) async { - try { - final pub = await _loadPublicKey(); - if (pub == null) return false; - final sigBytes = base64.decode(signatureBase64.trim()); - final signature = Signature(sigBytes, publicKey: pub); - return await _algorithm.verify(bytes, signature: signature); - } catch (_) { - return false; - } - } - - static Future _loadPublicKey() async { - if (_overridePublicKey != null) return _overridePublicKey; - if (_cachedPublicKey != null) return _cachedPublicKey; - try { - final raw = await rootBundle.loadString(_pubKeyAsset); - final pubBytes = base64.decode(raw.trim()); - _cachedPublicKey = SimplePublicKey(pubBytes, type: KeyPairType.ed25519); - return _cachedPublicKey; - } catch (_) { - return null; - } - } - - @visibleForTesting - static void overridePublicKey(List publicKeyBytes) { - _overridePublicKey = SimplePublicKey( - publicKeyBytes, - type: KeyPairType.ed25519, - ); - } - - @visibleForTesting - static void reset() { - _cachedPublicKey = null; - _overridePublicKey = null; - } -} diff --git a/app/lib/services/release_manifest_service.dart b/app/lib/services/release_manifest_service.dart deleted file mode 100644 index 4ce14167..00000000 --- a/app/lib/services/release_manifest_service.dart +++ /dev/null @@ -1,421 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:core/core.dart'; -import 'package:flutter/foundation.dart' show visibleForTesting; -import 'package:path/path.dart' as p; - -import 'manifest_signature.dart'; - -const _defaultManifestUrl = - 'https://github.com/rgdevment/CopyPaste/releases/latest/download/release-manifest.json'; -const _defaultSignatureUrl = - 'https://github.com/rgdevment/CopyPaste/releases/latest/download/release-manifest.json.sig'; - -const _cacheFileName = 'release_manifest.json'; -const _cacheMetaFileName = 'release_manifest.meta'; - -const _cacheMaxAge = Duration(days: 15); -const _checkInterval = Duration(hours: 24); -const _httpTimeout = Duration(seconds: 10); - -/// Severity declared by the release manifest. -enum ManifestSeverity { patch, minor, major, critical } - -ManifestSeverity _severityFromString(String? raw) { - switch (raw) { - case 'major': - return ManifestSeverity.major; - case 'minor': - return ManifestSeverity.minor; - case 'critical': - return ManifestSeverity.critical; - case 'patch': - default: - return ManifestSeverity.patch; - } -} - -class ChannelInfo { - const ChannelInfo({this.url, this.command}); - final String? url; - final String? command; - - static ChannelInfo? fromJson(Object? raw) { - if (raw is! Map) return null; - final url = raw['url']; - final command = raw['command']; - return ChannelInfo( - url: url is String ? url : null, - command: command is String ? command : null, - ); - } -} - -class ReleaseNotes { - const ReleaseNotes({required this.summary, this.url}); - final String summary; - final String? url; -} - -class ReleaseManifest { - ReleaseManifest({ - required this.schema, - required this.latest, - required this.minimumSupported, - required this.blockedVersions, - required this.channels, - required this.notes, - required this.severity, - }); - - final int schema; - final String latest; - final String minimumSupported; - final List blockedVersions; - final Map channels; - final Map notes; - final ManifestSeverity severity; - - ReleaseNotes? notesFor(String locale) { - if (notes.isEmpty) return null; - final key = locale.toLowerCase(); - return notes[key] ?? - notes[key.split('_').first] ?? - notes['en'] ?? - notes.values.first; - } - - static ReleaseManifest? tryParse(String body) { - Object? decoded; - try { - decoded = jsonDecode(body); - } catch (_) { - return null; - } - if (decoded is! Map) return null; - - final schema = decoded['schema']; - if (schema is! int || schema != 1) return null; - - final latest = decoded['latest']; - if (latest is! String || !_isValidSemver(latest)) return null; - - final minimumSupported = decoded['minimumSupported']; - if (minimumSupported is! String || !_isValidSemver(minimumSupported)) { - return null; - } - - final blockedRaw = decoded['blockedVersions']; - final blocked = []; - if (blockedRaw is List) { - for (final v in blockedRaw) { - if (v is String && _isValidSemver(v)) blocked.add(v); - } - } - - final channelsRaw = decoded['channels']; - final channels = {}; - if (channelsRaw is Map) { - channelsRaw.forEach((k, v) { - if (k is! String) return; - final info = ChannelInfo.fromJson(v); - if (info == null) return; - if (info.url != null && !_isValidUrl(info.url!)) return; - channels[k] = info; - }); - } - - final notesRaw = decoded['releaseNotes']; - final notes = {}; - if (notesRaw is Map) { - notesRaw.forEach((k, v) { - if (k is! String || v is! Map) return; - final summary = v['summary']; - if (summary is! String) return; - final url = v['url']; - notes[k.toLowerCase()] = ReleaseNotes( - summary: summary, - url: url is String && _isValidUrl(url) ? url : null, - ); - }); - } - - return ReleaseManifest( - schema: schema, - latest: latest, - minimumSupported: minimumSupported, - blockedVersions: blocked, - channels: channels, - notes: notes, - severity: _severityFromString(decoded['severity'] as String?), - ); - } - - static bool _isValidSemver(String v) { - final parts = v.split('-').first.split('.'); - if (parts.length != 3) return false; - return parts.every((p) => int.tryParse(p) != null); - } - - static bool _isValidUrl(String u) { - return u.startsWith('https://') || u.startsWith('ms-windows-store://'); - } -} - -/// Outcome reported back to the UI. -class ManifestState { - ManifestState({ - required this.manifest, - required this.fetchedAt, - required this.expired, - }); - - final ReleaseManifest manifest; - final DateTime fetchedAt; - final bool expired; -} - -class ReleaseManifestService { - ReleaseManifestService._(); - - @visibleForTesting - static String? cacheDirOverride; - - @visibleForTesting - static String manifestUrlOverride = ''; - - @visibleForTesting - static String signatureUrlOverride = ''; - - @visibleForTesting - static HttpClient Function()? httpClientFactory; - - static Timer? _timer; - static ManifestState? _current; - - static final StreamController _controller = - StreamController.broadcast(); - static Stream get stream => _controller.stream; - - static ManifestState? get current => _current; - - static String get _effectiveManifestUrl => manifestUrlOverride.isNotEmpty - ? manifestUrlOverride - : _defaultManifestUrl; - - static String get _effectiveSignatureUrl => signatureUrlOverride.isNotEmpty - ? signatureUrlOverride - : _defaultSignatureUrl; - - static Future initialize({required String storageConfigDir}) async { - cacheDirOverride ??= storageConfigDir; - final cached = await _readCache(); - if (cached != null) { - _current = cached; - _controller.add(cached); - } - unawaited(_refresh()); - _timer = Timer.periodic(_checkInterval, (_) => _refresh()); - } - - static Future _refresh() async { - final fresh = await _fetchAndVerify(); - if (fresh == null) { - final cached = await _readCache(); - if (cached != null && cached.expired != _current?.expired) { - _current = cached; - _controller.add(cached); - } - return; - } - await _writeCache(fresh); - _current = ManifestState( - manifest: fresh, - fetchedAt: DateTime.now().toUtc(), - expired: false, - ); - _controller.add(_current); - } - - static Future _fetchAndVerify() async { - final client = (httpClientFactory ?? HttpClient.new)() - ..connectionTimeout = _httpTimeout; - try { - final manifestBytes = await _fetchBytes(client, _effectiveManifestUrl); - if (manifestBytes == null) return null; - final sigBody = await _fetchString(client, _effectiveSignatureUrl); - if (sigBody == null) return null; - - final ok = await ManifestSignature.verify(manifestBytes, sigBody); - if (!ok) return null; - - final body = utf8.decode(manifestBytes, allowMalformed: false); - return ReleaseManifest.tryParse(body); - } catch (_) { - return null; - } finally { - client.close(); - } - } - - static Future?> _fetchBytes(HttpClient client, String url) async { - try { - final req = await client.getUrl(Uri.parse(url)); - req.headers.set('User-Agent', 'CopyPaste-ReleaseManifest'); - final res = await req.close(); - if (res.statusCode != 200) { - await res.drain(); - return null; - } - final builder = BytesBuilder(copy: false); - await for (final chunk in res) { - builder.add(chunk); - } - return builder.takeBytes(); - } catch (_) { - return null; - } - } - - static Future _fetchString(HttpClient client, String url) async { - final bytes = await _fetchBytes(client, url); - if (bytes == null) return null; - try { - return utf8.decode(bytes); - } catch (_) { - return null; - } - } - - static String? get _cacheDir => cacheDirOverride; - - static Future _readCache() async { - final dir = _cacheDir; - if (dir == null) return null; - final manifestFile = File(p.join(dir, _cacheFileName)); - final metaFile = File(p.join(dir, _cacheMetaFileName)); - if (!manifestFile.existsSync() || !metaFile.existsSync()) return null; - try { - final body = await manifestFile.readAsString(); - final manifest = ReleaseManifest.tryParse(body); - if (manifest == null) return null; - final metaRaw = jsonDecode(await metaFile.readAsString()); - if (metaRaw is! Map || metaRaw['fetchedAt'] is! String) return null; - final fetchedAt = DateTime.tryParse(metaRaw['fetchedAt'] as String); - if (fetchedAt == null) return null; - final age = DateTime.now().toUtc().difference(fetchedAt); - return ManifestState( - manifest: manifest, - fetchedAt: fetchedAt, - expired: age > _cacheMaxAge, - ); - } catch (e) { - AppLogger.warn('ReleaseManifest cache read failed: $e'); - return null; - } - } - - static Future _writeCache(ReleaseManifest manifest) async { - final dir = _cacheDir; - if (dir == null) return; - try { - await Directory(dir).create(recursive: true); - final json = jsonEncode({ - 'schema': manifest.schema, - 'latest': manifest.latest, - 'minimumSupported': manifest.minimumSupported, - 'blockedVersions': manifest.blockedVersions, - 'channels': manifest.channels.map( - (k, v) => MapEntry(k, { - if (v.url != null) 'url': v.url, - if (v.command != null) 'command': v.command, - }), - ), - 'releaseNotes': manifest.notes.map( - (k, v) => MapEntry(k, { - 'summary': v.summary, - if (v.url != null) 'url': v.url, - }), - ), - 'severity': switch (manifest.severity) { - ManifestSeverity.critical => 'critical', - ManifestSeverity.major => 'major', - ManifestSeverity.minor => 'minor', - ManifestSeverity.patch => 'patch', - }, - }); - await File(p.join(dir, _cacheFileName)).writeAsString(json); - await File(p.join(dir, _cacheMetaFileName)).writeAsString( - jsonEncode({'fetchedAt': DateTime.now().toUtc().toIso8601String()}), - ); - } catch (e) { - AppLogger.warn('ReleaseManifest cache write failed: $e'); - } - } - - static int compareVersions(String a, String b) { - final aParts = a.split('-'); - final bParts = b.split('-'); - final aBase = aParts[0].split('.').map(int.tryParse).toList(); - final bBase = bParts[0].split('.').map(int.tryParse).toList(); - for (var i = 0; i < 3; i++) { - final av = i < aBase.length ? (aBase[i] ?? 0) : 0; - final bv = i < bBase.length ? (bBase[i] ?? 0) : 0; - if (av != bv) return av - bv; - } - final aPre = aParts.length > 1; - final bPre = bParts.length > 1; - if (aPre && !bPre) return -1; - if (!aPre && bPre) return 1; - return 0; - } - - static bool isBlocked({ - required String current, - required ManifestState? state, - }) { - if (state == null || state.expired) return false; - final m = state.manifest; - if (m.blockedVersions.contains(current)) return true; - if (m.severity == ManifestSeverity.critical && - compareVersions(current, m.minimumSupported) < 0) { - return true; - } - return false; - } - - static ManifestSeverity? badgeSeverity({ - required String current, - required ManifestState? state, - }) { - if (state == null) return null; - final m = state.manifest; - final cmp = compareVersions(current, m.latest); - if (cmp >= 0) return null; - return m.severity; - } - - static void dispose() { - _timer?.cancel(); - _timer = null; - } - - @visibleForTesting - static Future reset() async { - dispose(); - _current = null; - cacheDirOverride = null; - manifestUrlOverride = ''; - signatureUrlOverride = ''; - httpClientFactory = null; - } - - @visibleForTesting - static void setStateForTest(ManifestState? state) { - _current = state; - _controller.add(state); - } -} diff --git a/app/lib/shell/app_window.dart b/app/lib/shell/app_window.dart deleted file mode 100644 index 629a873f..00000000 --- a/app/lib/shell/app_window.dart +++ /dev/null @@ -1,746 +0,0 @@ -// coverage:ignore-file -import 'dart:ffi' hide Size; -import 'dart:io'; -import 'dart:ui' show Color, Offset, Size; - -import 'package:core/core.dart'; -import 'package:ffi/ffi.dart'; -import 'package:flutter_acrylic/flutter_acrylic.dart'; -import 'package:listener/listener.dart'; -import 'package:window_manager/window_manager.dart'; - -typedef _SystemParametersInfoWNative = - Int32 Function( - Uint32 uiAction, - Uint32 uiParam, - Pointer lpvParam, - Uint32 fWinIni, - ); -typedef _SystemParametersInfoWDart = - int Function(int uiAction, int uiParam, Pointer lpvParam, int fWinIni); - -typedef _GetCursorPosNative = Int32 Function(Pointer lpPoint); -typedef _GetCursorPosDart = int Function(Pointer lpPoint); - -typedef _MonitorFromPointNative = IntPtr Function(Int64 pt, Uint32 dwFlags); -typedef _MonitorFromPointDart = int Function(int pt, int dwFlags); - -typedef _GetMonitorInfoWNative = Int32 Function(IntPtr hMonitor, Pointer lpmi); -typedef _GetMonitorInfoWDart = int Function(int hMonitor, Pointer lpmi); - -typedef _SetWindowPosNative = - Int32 Function( - IntPtr hWnd, - IntPtr hWndInsertAfter, - Int32 x, - Int32 y, - Int32 cx, - Int32 cy, - Uint32 uFlags, - ); -typedef _SetWindowPosDart = - int Function( - int hWnd, - int hWndInsertAfter, - int x, - int y, - int cx, - int cy, - int uFlags, - ); - -typedef _FindWindowWNative = - IntPtr Function(Pointer lpClassName, Pointer lpWindowName); -typedef _FindWindowWDart = - int Function(Pointer lpClassName, Pointer lpWindowName); - -typedef _GetWindowRectNative = - Int32 Function(IntPtr hWnd, Pointer lpRect); -typedef _GetWindowRectDart = int Function(int hWnd, Pointer lpRect); - -typedef _GetForegroundWindowNative = IntPtr Function(); -typedef _GetForegroundWindowDart = int Function(); - -typedef _SetForegroundWindowNative = Int32 Function(IntPtr hWnd); -typedef _SetForegroundWindowDart = int Function(int hWnd); - -typedef _BringWindowToTopNative = Int32 Function(IntPtr hWnd); -typedef _BringWindowToTopDart = int Function(int hWnd); - -typedef _GetWindowThreadProcessIdNative = - Uint32 Function(IntPtr hWnd, Pointer lpdwProcessId); -typedef _GetWindowThreadProcessIdDart = - int Function(int hWnd, Pointer lpdwProcessId); - -typedef _GetCurrentThreadIdNative = Uint32 Function(); -typedef _GetCurrentThreadIdDart = int Function(); - -typedef _AttachThreadInputNative = - Int32 Function(Uint32 idAttach, Uint32 idAttachTo, Int32 fAttach); -typedef _AttachThreadInputDart = - int Function(int idAttach, int idAttachTo, int fAttach); - -class _Win32Pos { - _Win32Pos._(); - static _Win32Pos? _instance; - static _Win32Pos get instance => _instance ??= _Win32Pos._(); - - late final _u32 = DynamicLibrary.open('user32.dll'); - late final spiFunc = _u32 - .lookupFunction<_SystemParametersInfoWNative, _SystemParametersInfoWDart>( - 'SystemParametersInfoW', - ); - late final getCursorPosFunc = _u32 - .lookupFunction<_GetCursorPosNative, _GetCursorPosDart>('GetCursorPos'); - late final monitorFromPointFunc = _u32 - .lookupFunction<_MonitorFromPointNative, _MonitorFromPointDart>( - 'MonitorFromPoint', - ); - late final getMonitorInfoFunc = _u32 - .lookupFunction<_GetMonitorInfoWNative, _GetMonitorInfoWDart>( - 'GetMonitorInfoW', - ); - late final setWindowPosFunc = _u32 - .lookupFunction<_SetWindowPosNative, _SetWindowPosDart>('SetWindowPos'); - late final findWindowFunc = _u32 - .lookupFunction<_FindWindowWNative, _FindWindowWDart>('FindWindowW'); - late final getWindowRectFunc = _u32 - .lookupFunction<_GetWindowRectNative, _GetWindowRectDart>( - 'GetWindowRect', - ); - late final _k32 = DynamicLibrary.open('kernel32.dll'); - late final getForegroundWindowFunc = _u32 - .lookupFunction<_GetForegroundWindowNative, _GetForegroundWindowDart>( - 'GetForegroundWindow', - ); - late final setForegroundWindowFunc = _u32 - .lookupFunction<_SetForegroundWindowNative, _SetForegroundWindowDart>( - 'SetForegroundWindow', - ); - late final bringWindowToTopFunc = _u32 - .lookupFunction<_BringWindowToTopNative, _BringWindowToTopDart>( - 'BringWindowToTop', - ); - late final getWindowThreadProcessIdFunc = _u32 - .lookupFunction< - _GetWindowThreadProcessIdNative, - _GetWindowThreadProcessIdDart - >('GetWindowThreadProcessId'); - late final getCurrentThreadIdFunc = _k32 - .lookupFunction<_GetCurrentThreadIdNative, _GetCurrentThreadIdDart>( - 'GetCurrentThreadId', - ); - late final attachThreadInputFunc = _u32 - .lookupFunction<_AttachThreadInputNative, _AttachThreadInputDart>( - 'AttachThreadInput', - ); -} - -class AppWindow { - AppWindow({ - this.onVisibilityChanged, - double popupWidth = 360, - double popupHeight = 500, - this.rememberPositionEnabled, - this.savedPositionProvider, - this.onPositionPersist, - }) : _popupWidth = popupWidth, - _popupHeight = popupHeight; - - static const double _settingsWidth = 820; - static const double _settingsHeight = 680; - - final void Function(bool visible)? onVisibilityChanged; - final bool Function()? rememberPositionEnabled; - final (double, double)? Function()? savedPositionProvider; - final void Function(double x, double y)? onPositionPersist; - double _popupWidth; - double _popupHeight; - bool _visible = false; - bool _ready = false; - bool _settingsMode = false; - - bool get isVisible => _visible; - bool get isReady => _ready; - bool get isSettingsMode => _settingsMode; - - void updatePopupSize(double width, double height) { - _popupWidth = width; - _popupHeight = height; - } - - Future init({bool startVisible = false}) async { - AppLogger.info( - 'AppWindow.init: startVisible=$startVisible, ' - 'size=${_popupWidth}x$_popupHeight', - ); - try { - await windowManager - .waitUntilReadyToShow(null, () async { - await _configureWindow(startVisible); - }) - .timeout(const Duration(seconds: 5)); - AppLogger.info('AppWindow.init: waitUntilReadyToShow completed'); - } catch (e) { - AppLogger.warn( - 'AppWindow.init: waitUntilReadyToShow failed ($e), ' - 'attempting direct configuration', - ); - try { - await _configureWindow(startVisible); - AppLogger.info('AppWindow.init: direct configuration succeeded'); - } catch (e2) { - AppLogger.error('Window configuration failed: $e2'); - } - } - _visible = startVisible; - _ready = true; - AppLogger.info('AppWindow.init: done, ready=$_ready, visible=$_visible'); - } - - Future _configureWindow(bool startVisible) async { - await windowManager.setTitle('CopyPaste'); - await windowManager.setSize(Size(_popupWidth, _popupHeight)); - await windowManager.setMinimumSize(Size(_popupWidth, 400)); - await windowManager.setMaximumSize(Size(_popupWidth, 900)); - await windowManager.setTitleBarStyle( - TitleBarStyle.hidden, - windowButtonVisibility: !Platform.isMacOS, - ); - await windowManager.setAlwaysOnTop(true); - await windowManager.setResizable(false); - await windowManager.setMaximizable(false); - await windowManager.setPreventClose(true); - await windowManager.setSkipTaskbar(true); - if (Platform.isMacOS) { - // Without this, opening the panel over a full-screen app switches Space, - // and the animation blows past the paste focus budget. - await windowManager.setVisibleOnAllWorkspaces( - true, - visibleOnFullScreen: true, - ); - } - if (Platform.isWindows || Platform.isMacOS) { - await windowManager.setBackgroundColor(const Color(0x00000000)); - AppLogger.info('_configureWindow: applying initial effect'); - await applyEffect(); - } - if (startVisible) { - AppLogger.info('_configureWindow: centering and focusing'); - await windowManager.center(); - await windowManager.focus(); - } else { - AppLogger.info('_configureWindow: hiding window'); - await windowManager.hide(); - } - } - - bool _isDark = false; - - Future applyEffect({bool? dark}) async { - if (dark != null) _isDark = dark; - try { - if (Platform.isWindows) { - await Window.setEffect( - effect: WindowEffect.mica, - color: const Color(0x00000000), - dark: _isDark, - ).timeout(const Duration(seconds: 2)); - } else if (Platform.isMacOS) { - await Window.setEffect( - effect: WindowEffect.sidebar, - color: const Color(0x00000000), - dark: _isDark, - ).timeout(const Duration(seconds: 2)); - } - } catch (e) { - AppLogger.warn('applyEffect: window effect unavailable (non-fatal): $e'); - } - } - - Future _positionNearCursor() async { - if (Platform.isWindows) { - await _positionNearCursorWindows(); - } else if (Platform.isMacOS) { - await _positionNearCursorNative(); - } else { - await windowManager.center(); - } - } - - Future _positionNearCursorWindows() async { - try { - final cursor = _getCursorPosWin32(); - if (cursor == null) { - await windowManager.center(); - return; - } - final workArea = _getWorkAreaForPointWin32(cursor.$1, cursor.$2); - if (workArea == null) { - await windowManager.center(); - return; - } - await _applyPosition(cursor.$1, cursor.$2, workArea); - } catch (e) { - AppLogger.warn('_positionNearCursorWindows: fallback to center: $e'); - await windowManager.center(); - } - } - - Future _positionNearCursorNative() async { - try { - final info = await ClipboardWriter.getCursorAndScreenInfo(); - if (info == null) { - await windowManager.center(); - return; - } - final cursorX = info['cursorX'] ?? 0; - final cursorY = info['cursorY'] ?? 0; - final workArea = ( - info['waLeft'] ?? 0, - info['waTop'] ?? 0, - info['waRight'] ?? 1440, - info['waBottom'] ?? 900, - ); - await _applyPosition(cursorX, cursorY, workArea); - } catch (e) { - AppLogger.warn('_positionNearCursorNative: fallback to center: $e'); - await windowManager.center(); - } - } - - Future _applyPosition( - double cursorX, - double cursorY, - (double, double, double, double) workArea, - ) async { - final waLeft = workArea.$1; - final waTop = workArea.$2; - final waRight = workArea.$3; - final waBottom = workArea.$4; - - double x; - double y; - - if (cursorX + _popupWidth + 12 <= waRight) { - x = cursorX + 12; - } else if (cursorX - _popupWidth - 12 >= waLeft) { - x = cursorX - _popupWidth - 12; - } else { - x = waRight - _popupWidth - 12; - } - - y = cursorY - _popupHeight / 2; - if (y < waTop + 8) y = waTop + 8; - if (y + _popupHeight > waBottom - 8) y = waBottom - _popupHeight - 8; - - x = x.clamp(waLeft, waRight - _popupWidth); - y = y.clamp(waTop, waBottom - _popupHeight); - - if (Platform.isWindows) { - final ok = _setPositionWin32(x, y); - if (!ok) { - AppLogger.warn( - '_setPositionWin32 returned false, falling back to windowManager.setPosition', - ); - await windowManager.setPosition(Offset(x, y)); - } - } else { - await windowManager.setPosition(Offset(x, y)); - } - } - - static bool _setPositionWin32(double x, double y) { - try { - const swpNoSize = 0x0001; - const swpNoZOrder = 0x0004; - const swpNoActivate = 0x0010; - final w = _Win32Pos.instance; - final className = 'FLUTTER_RUNNER_WIN32_WINDOW'.toNativeUtf16(); - final windowName = 'CopyPaste'.toNativeUtf16(); - try { - final hwnd = w.findWindowFunc(className, windowName); - AppLogger.info('_setPositionWin32: hwnd=$hwnd target=($x,$y)'); - if (hwnd == 0) return false; - final result = w.setWindowPosFunc( - hwnd, - 0, - x.toInt(), - y.toInt(), - 0, - 0, - swpNoSize | swpNoZOrder | swpNoActivate, - ); - AppLogger.info('_setPositionWin32: SetWindowPos result=$result'); - return result != 0; - } finally { - calloc.free(className); - calloc.free(windowName); - } - } catch (e) { - AppLogger.warn('_setPositionWin32 failed: $e'); - return false; - } - } - - /// Last-resort activation for the panel's own window on Windows. - /// - /// Windows only lets a process take the foreground while it owns the input - /// that caused the change. The hotkey grants that right on WM_HOTKEY, but it - /// is spent long before we get here: the notification crosses to Dart and - /// then waits on several awaited platform calls (position restore, taskbar - /// flag, show). By the time `windowManager.focus()` runs, the right is gone - /// and SetForegroundWindow reports success while merely flashing the taskbar - /// button — the panel is visible but inactive, so the user's first click is - /// spent activating it instead of landing on a card. - /// - /// Attaching our input queue to the current foreground thread makes Windows - /// treat both as one, restoring the right for the duration of the call. Same - /// technique [WindowFocusManager] already uses to restore the paste target. - /// - /// Returns true when the window really ends up in the foreground; a false - /// only means the panel stays unfocused, never that it failed to show. - static bool _forceForegroundWin32() { - try { - final w = _Win32Pos.instance; - final className = 'FLUTTER_RUNNER_WIN32_WINDOW'.toNativeUtf16(); - final windowName = 'CopyPaste'.toNativeUtf16(); - final int hwnd; - try { - hwnd = w.findWindowFunc(className, windowName); - } finally { - calloc.free(className); - calloc.free(windowName); - } - if (hwnd == 0) return false; - - final foreground = w.getForegroundWindowFunc(); - // windowManager.focus() usually wins; skip the thread juggling when it did. - if (foreground == hwnd) return true; - // Logged so a "focus is broken" report can be told apart from a machine - // where plain focus() already sufficed and this path never ran. - AppLogger.info( - '_forceForegroundWin32: focus() left the window inactive, forcing it', - ); - - final currentThreadId = w.getCurrentThreadIdFunc(); - var foreignThreadId = 0; - if (foreground != 0) { - final pidPtr = calloc(); - try { - foreignThreadId = w.getWindowThreadProcessIdFunc(foreground, pidPtr); - } finally { - calloc.free(pidPtr); - } - } - - var attached = false; - if (foreignThreadId != 0 && foreignThreadId != currentThreadId) { - attached = - w.attachThreadInputFunc(currentThreadId, foreignThreadId, 1) != 0; - } - - try { - w.bringWindowToTopFunc(hwnd); - w.setForegroundWindowFunc(hwnd); - return w.getForegroundWindowFunc() == hwnd; - } finally { - if (attached) { - w.attachThreadInputFunc(currentThreadId, foreignThreadId, 0); - } - } - } catch (e) { - AppLogger.warn('_forceForegroundWin32 failed: $e'); - return false; - } - } - - static (double, double)? _getCursorPosWin32() { - final w = _Win32Pos.instance; - final pt = calloc(2); - try { - final result = w.getCursorPosFunc(pt); - if (result == 0) return null; - return (pt[0].toDouble(), pt[1].toDouble()); - } finally { - calloc.free(pt); - } - } - - static int _packPointWin32(int x, int y) => - ((y & 0xFFFFFFFF) << 32) | (x & 0xFFFFFFFF); - - static (double, double, double, double)? _getWorkAreaForPointWin32( - double x, - double y, - ) { - const monitorDefaultToNearest = 0x00000002; - final w = _Win32Pos.instance; - final hMonitor = w.monitorFromPointFunc( - _packPointWin32(x.toInt(), y.toInt()), - monitorDefaultToNearest, - ); - if (hMonitor == 0) return _getWorkAreaWin32(); - - final mi = calloc(10); - try { - mi[0] = 40; - final result = w.getMonitorInfoFunc(hMonitor, mi); - if (result == 0) return _getWorkAreaWin32(); - return ( - mi[5].toDouble(), - mi[6].toDouble(), - mi[7].toDouble(), - mi[8].toDouble(), - ); - } finally { - calloc.free(mi); - } - } - - static (double, double, double, double)? _getWorkAreaWin32() { - const spiGetWorkArea = 0x0030; - final w = _Win32Pos.instance; - final rect = calloc(4); - try { - final result = w.spiFunc(spiGetWorkArea, 0, rect, 0); - if (result == 0) return null; - return ( - rect[0].toDouble(), - rect[1].toDouble(), - rect[2].toDouble(), - rect[3].toDouble(), - ); - } finally { - calloc.free(rect); - } - } - - static (double, double)? _getPositionWin32() { - try { - final w = _Win32Pos.instance; - final className = 'FLUTTER_RUNNER_WIN32_WINDOW'.toNativeUtf16(); - final windowName = 'CopyPaste'.toNativeUtf16(); - final rect = calloc(4); - try { - final hwnd = w.findWindowFunc(className, windowName); - if (hwnd == 0) return null; - final result = w.getWindowRectFunc(hwnd, rect); - if (result == 0) return null; - return (rect[0].toDouble(), rect[1].toDouble()); - } finally { - calloc.free(className); - calloc.free(windowName); - calloc.free(rect); - } - } catch (e) { - AppLogger.warn('_getPositionWin32 failed: $e'); - return null; - } - } - - static bool isPositionInSaneRange(double x, double y) { - if (!x.isFinite || !y.isFinite) return false; - if (x < -10000 || x > 50000) return false; - if (y < -10000 || y > 30000) return false; - return true; - } - - bool _isPositionVisible(double x, double y) { - if (!isPositionInSaneRange(x, y)) return false; - if (Platform.isWindows) { - try { - const monitorDefaultToNull = 0x00000000; - final w = _Win32Pos.instance; - final centerX = (x + _popupWidth / 2).toInt(); - final centerY = (y + _popupHeight / 2).toInt(); - final hMonitor = w.monitorFromPointFunc( - _packPointWin32(centerX, centerY), - monitorDefaultToNull, - ); - return hMonitor != 0; - } catch (e) { - AppLogger.warn('_isPositionVisible failed: $e'); - return false; - } - } - return true; - } - - Future _tryRestoreSavedPosition() async { - final enabled = rememberPositionEnabled?.call() == true; - AppLogger.info('_tryRestoreSavedPosition: enabled=$enabled'); - if (!enabled) return false; - final saved = savedPositionProvider?.call(); - AppLogger.info('_tryRestoreSavedPosition: saved=$saved'); - if (saved == null) return false; - final (x, y) = saved; - final visible = _isPositionVisible(x, y); - AppLogger.info('_tryRestoreSavedPosition: visible($x,$y)=$visible'); - if (!visible) return false; - if (Platform.isWindows) { - final ok = _setPositionWin32(x, y); - AppLogger.info('_tryRestoreSavedPosition: _setPositionWin32 ok=$ok'); - if (!ok) { - await windowManager.setPosition(Offset(x, y)); - } - } else { - await windowManager.setPosition(Offset(x, y)); - await Future.delayed(const Duration(milliseconds: 50)); - try { - final actual = await windowManager.getPosition(); - if ((actual.dx - x).abs() > 100 || (actual.dy - y).abs() > 100) { - AppLogger.info( - '_tryRestoreSavedPosition: actual=$actual rejected (>100px from target)', - ); - return false; - } - } catch (_) {} - } - return true; - } - - Future show() async { - AppLogger.info('AppWindow.show: starting'); - final restored = await _tryRestoreSavedPosition(); - AppLogger.info('AppWindow.show: restored=$restored'); - if (!restored) { - await _positionNearCursor(); - } - if (Platform.isWindows) { - await windowManager.setSkipTaskbar(false); - } - await windowManager.show(); - await windowManager.focus(); - if (Platform.isWindows) { - final focused = _forceForegroundWin32(); - if (!focused) { - AppLogger.warn( - 'AppWindow.show: window is visible but not in the foreground', - ); - } - final actual = _getPositionWin32(); - AppLogger.info( - 'AppWindow.show: window shown, actual position=$actual, ' - 'foreground=$focused', - ); - await applyEffect(); - } else { - AppLogger.info('AppWindow.show: window shown and focused'); - } - _visible = true; - onVisibilityChanged?.call(true); - } - - Future _captureCurrentPosition() async { - if (rememberPositionEnabled?.call() != true) return; - try { - double? x; - double? y; - if (Platform.isWindows) { - final pos = _getPositionWin32(); - if (pos != null) { - x = pos.$1; - y = pos.$2; - } - } else { - final pos = await windowManager.getPosition(); - x = pos.dx; - y = pos.dy; - } - if (x != null && y != null) { - onPositionPersist?.call(x, y); - } - } catch (e) { - AppLogger.warn('hide: failed to read window position: $e'); - } - } - - Future hide() async { - if (!_visible) return; - _visible = false; - await _captureCurrentPosition(); - await windowManager.hide(); - if (!Platform.isMacOS) { - await windowManager.setSkipTaskbar(true); - } - onVisibilityChanged?.call(false); - } - - Future toggle() async { - if (_visible) { - await hide(); - } else { - await show(); - } - } - - Future hideIfNotPinned() async { - if (_visible && !_settingsMode) { - await hide(); - } - } - - Future enterSettingsMode() async { - await _captureCurrentPosition(); - _settingsMode = true; - await windowManager.setResizable(true); - await windowManager.setMinimumSize( - const Size(_settingsWidth, _settingsHeight), - ); - await windowManager.setMaximumSize(const Size(1200, 900)); - await windowManager.setSize(const Size(_settingsWidth, _settingsHeight)); - await windowManager.center(); - if (!await windowManager.isVisible()) { - await windowManager.show(); - } - await windowManager.focus(); - _visible = true; - } - - Future exitSettingsMode() async { - _settingsMode = false; - await windowManager.setMinimumSize(Size(_popupWidth, 400)); - await windowManager.setMaximumSize(Size(_popupWidth, 900)); - await windowManager.setSize(Size(_popupWidth, _popupHeight)); - await windowManager.setResizable(false); - final restored = await _tryRestoreSavedPosition(); - if (!restored) { - await _positionNearCursor(); - } - } - - static const double _gateWidth = 480; - static const double _gateHeight = 540; - - bool _gateMode = false; - bool get isGateMode => _gateMode; - - Future enterGateMode() async { - AppLogger.info('AppWindow.enterGateMode: starting'); - await _captureCurrentPosition(); - _gateMode = true; - await windowManager.setResizable(false); - await windowManager.setMinimumSize(const Size(_gateWidth, _gateHeight)); - await windowManager.setMaximumSize(const Size(_gateWidth, _gateHeight)); - await windowManager.setSize(const Size(_gateWidth, _gateHeight)); - await windowManager.setAlwaysOnTop(false); - await windowManager.setSkipTaskbar(false); - await windowManager.center(); - await windowManager.show(); - await windowManager.focus(); - _visible = true; - AppLogger.info('AppWindow.enterGateMode: done'); - } - - Future exitGateMode() async { - _gateMode = false; - await windowManager.setAlwaysOnTop(true); - await windowManager.setSkipTaskbar(true); - await windowManager.setMinimumSize(Size(_popupWidth, 400)); - await windowManager.setMaximumSize(Size(_popupWidth, 900)); - await windowManager.setSize(Size(_popupWidth, _popupHeight)); - await windowManager.hide(); - _visible = false; - } -} diff --git a/app/lib/shell/desktop_notifier.dart b/app/lib/shell/desktop_notifier.dart deleted file mode 100644 index ba83fbc8..00000000 --- a/app/lib/shell/desktop_notifier.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'dart:io'; - -import 'windows_balloon.dart'; - -/// Cross-platform desktop notification helper for tray balloons. -/// -/// Routes to the most idiomatic native channel per OS: -/// - Windows → `WindowsBalloon` (Shell_NotifyIconW via FFI). -/// - macOS → no-op (Mac uses dock badges + window UI; balloons would -/// collide with the system Notification Center conventions). -/// -/// Always returns a Future that completes — never throws. -class DesktopNotifier { - DesktopNotifier._(); - - /// Shows a transient notification with [title] and [body]. - /// Returns true when the platform layer accepted the request. - static Future show({ - required String title, - required String body, - }) async { - if (Platform.isWindows) { - return WindowsBalloon.show(title: title, body: body); - } - return false; - } -} diff --git a/app/lib/shell/focus_manager.dart b/app/lib/shell/focus_manager.dart deleted file mode 100644 index e16fcea8..00000000 --- a/app/lib/shell/focus_manager.dart +++ /dev/null @@ -1,416 +0,0 @@ -// coverage:ignore-file -import 'dart:ffi'; -import 'dart:io'; -import 'dart:math' as math; - -import 'package:ffi/ffi.dart'; -import 'package:core/core.dart'; -import 'package:listener/listener.dart'; - -import 'windows_hotkey_channel.dart'; - -typedef _GetForegroundWindowNative = IntPtr Function(); -typedef _GetForegroundWindowDart = int Function(); - -typedef _IsWindowNative = Int32 Function(IntPtr hWnd); -typedef _IsWindowDart = int Function(int hWnd); - -typedef _IsWindowVisibleNative = Int32 Function(IntPtr hWnd); -typedef _IsWindowVisibleDart = int Function(int hWnd); - -typedef _SetForegroundWindowNative = Int32 Function(IntPtr hWnd); -typedef _SetForegroundWindowDart = int Function(int hWnd); - -typedef _BringWindowToTopNative = Int32 Function(IntPtr hWnd); -typedef _BringWindowToTopDart = int Function(int hWnd); - -typedef _ShowWindowNative = Int32 Function(IntPtr hWnd, Int32 nCmdShow); -typedef _ShowWindowDart = int Function(int hWnd, int nCmdShow); - -typedef _GetWindowLongPtrNative = IntPtr Function(IntPtr hWnd, Int32 nIndex); -typedef _GetWindowLongPtrDart = int Function(int hWnd, int nIndex); - -typedef _GetWindowThreadProcessIdNative = - Uint32 Function(IntPtr hWnd, Pointer lpdwProcessId); -typedef _GetWindowThreadProcessIdDart = - int Function(int hWnd, Pointer lpdwProcessId); - -typedef _GetCurrentThreadIdNative = Uint32 Function(); -typedef _GetCurrentThreadIdDart = int Function(); - -typedef _AttachThreadInputNative = - Int32 Function(Uint32 idAttach, Uint32 idAttachTo, Int32 fAttach); -typedef _AttachThreadInputDart = - int Function(int idAttach, int idAttachTo, int fAttach); - -typedef _GetGUIThreadInfoNative = - Int32 Function(Uint32 idThread, Pointer lpgui); -typedef _GetGUIThreadInfoDart = - int Function(int idThread, Pointer lpgui); - -typedef _GetAncestorNative = IntPtr Function(IntPtr hWnd, Uint32 gaFlags); -typedef _GetAncestorDart = int Function(int hWnd, int gaFlags); - -class _Win32 { - _Win32._() { - assert(Platform.isWindows, '_Win32 requires Windows'); - } - static _Win32? _instance; - static _Win32 get instance => _instance ??= _Win32._(); - - static const int swRestore = 9; - static const int gwlStyle = -16; - static const int wsMinimize = 0x20000000; - static const int gaRoot = 2; - - // GUITHREADINFO on 64-bit: cbSize+flags (8 bytes) then six HWNDs and a RECT. - // hwndFocus is the second handle. Flutter dropped 32-bit Windows, so the - // pointer width these offsets assume cannot change under us. - static const int guiThreadInfoSize = 72; - static const int guiThreadInfoFocusOffset = 16; - - late final _user32 = DynamicLibrary.open('user32.dll'); - late final _kernel32 = DynamicLibrary.open('kernel32.dll'); - - late final getForegroundWindow = _user32 - .lookupFunction<_GetForegroundWindowNative, _GetForegroundWindowDart>( - 'GetForegroundWindow', - ); - late final isWindow = _user32.lookupFunction<_IsWindowNative, _IsWindowDart>( - 'IsWindow', - ); - late final isWindowVisible = _user32 - .lookupFunction<_IsWindowVisibleNative, _IsWindowVisibleDart>( - 'IsWindowVisible', - ); - late final setForegroundWindow = _user32 - .lookupFunction<_SetForegroundWindowNative, _SetForegroundWindowDart>( - 'SetForegroundWindow', - ); - late final bringWindowToTop = _user32 - .lookupFunction<_BringWindowToTopNative, _BringWindowToTopDart>( - 'BringWindowToTop', - ); - late final showWindow = _user32 - .lookupFunction<_ShowWindowNative, _ShowWindowDart>('ShowWindow'); - late final getWindowLongPtr = _user32 - .lookupFunction<_GetWindowLongPtrNative, _GetWindowLongPtrDart>( - 'GetWindowLongPtrW', - ); - late final getWindowThreadProcessId = _user32 - .lookupFunction< - _GetWindowThreadProcessIdNative, - _GetWindowThreadProcessIdDart - >('GetWindowThreadProcessId'); - late final getCurrentThreadId = _kernel32 - .lookupFunction<_GetCurrentThreadIdNative, _GetCurrentThreadIdDart>( - 'GetCurrentThreadId', - ); - late final attachThreadInput = _user32 - .lookupFunction<_AttachThreadInputNative, _AttachThreadInputDart>( - 'AttachThreadInput', - ); - late final getGUIThreadInfo = _user32 - .lookupFunction<_GetGUIThreadInfoNative, _GetGUIThreadInfoDart>( - 'GetGUIThreadInfo', - ); - late final getAncestor = _user32 - .lookupFunction<_GetAncestorNative, _GetAncestorDart>('GetAncestor'); -} - -class WindowFocusManager { - int _previousWindow = 0; - int _previousThreadId = 0; - int _previousFocusWindow = 0; - String? _previousBundleId; - - /// Failures that leave the captured destination usable for a retry. Clearing - /// it would make every following attempt report `noPreviousWindow`, because - /// re-capturing is impossible once CopyPaste itself owns the foreground. - static const _recoverableErrors = { - 'restoreFailed', - 'focusTimeout', - 'noKeyboardFocus', - 'targetNotForeground', - 'sendInputFailed', - }; - - bool get hasDestination => - Platform.isWindows ? _previousWindow != 0 : _previousBundleId != null; - - Future capturePreviousWindow() async { - if (Platform.isWindows) { - return _capturePreviousWindows(); - } else if (Platform.isMacOS) { - _previousBundleId = await ClipboardWriter.captureFrontmostApp(); - AppLogger.info( - 'Focus session capture: platform=${Platform.operatingSystem}, ' - 'destination=${_previousBundleId ?? '-'}, ' - 'success=${_previousBundleId != null}', - ); - return _previousBundleId != null; - } - return false; - } - - Future restoreAndPaste({ - required int delayBeforeFocusMs, - required int maxFocusVerifyAttempts, - required int delayBeforePasteMs, - }) async { - if (Platform.isWindows && _previousWindow == 0) { - AppLogger.warn('Paste cancelled: no previous Windows destination'); - return const PasteResponse(success: false, errorCode: 'noPreviousWindow'); - } - if (Platform.isMacOS && _previousBundleId == null) { - AppLogger.warn('Paste cancelled: no previous application destination'); - return const PasteResponse(success: false, errorCode: 'noPreviousWindow'); - } - - PasteResponse? outcome; - try { - await Future.delayed(Duration(milliseconds: delayBeforeFocusMs)); - - if (Platform.isMacOS) { - final response = await ClipboardWriter.activateAndPaste( - bundleId: _previousBundleId!, - delayMs: delayBeforePasteMs, - focusTimeoutMs: math.max(maxFocusVerifyAttempts * 10, 250), - ); - AppLogger.info( - 'Paste destination result: platform=${Platform.operatingSystem}, ' - 'success=${response.success}, error=${response.errorCode ?? '-'}', - ); - return outcome = response; - } - - if (!_restorePreviousWindows()) { - AppLogger.warn( - 'Paste cancelled: Windows rejected destination restore ' - '(hwnd=$_previousWindow)', - ); - return outcome = const PasteResponse( - success: false, - errorCode: 'restoreFailed', - ); - } - - final focused = await _waitForFocusWindows(maxFocusVerifyAttempts); - if (!focused) { - AppLogger.warn( - 'Paste cancelled: Windows destination focus verification timed out ' - '(hwnd=$_previousWindow)', - ); - return outcome = const PasteResponse( - success: false, - errorCode: 'focusTimeout', - ); - } - - await Future.delayed(Duration(milliseconds: delayBeforePasteMs)); - final focusRoot = await _waitForKeyboardFocusWindows(); - if (focusRoot == 0) { - AppLogger.warn( - 'Paste cancelled: destination is active but nothing owns keyboard ' - 'focus (hwnd=$_previousWindow)', - ); - return outcome = const PasteResponse( - success: false, - errorCode: 'noKeyboardFocus', - ); - } - if (focusRoot != _previousWindow) { - AppLogger.warn( - 'Paste target is active but lacks keyboard focus: ' - 'expected=$_previousWindow, focused=$focusRoot', - ); - } - final inputResponse = await _simulatePasteWindows(); - if (!inputResponse.success) return outcome = inputResponse; - AppLogger.info( - 'Paste destination result: platform=windows, success=true', - ); - return outcome = const PasteResponse(success: true); - } finally { - if (!_recoverableErrors.contains(outcome?.errorCode)) clear(); - } - } - - void clear() { - _previousWindow = 0; - _previousThreadId = 0; - _previousFocusWindow = 0; - _previousBundleId = null; - } - - bool _capturePreviousWindows() { - final w = _Win32.instance; - final hwnd = w.getForegroundWindow(); - if (hwnd != 0 && w.isWindow(hwnd) != 0 && w.isWindowVisible(hwnd) != 0) { - final pidPtr = calloc(); - try { - final threadId = w.getWindowThreadProcessId(hwnd, pidPtr); - if (pidPtr.value == pid) { - clear(); - AppLogger.warn( - 'Focus session capture rejected CopyPaste itself (hwnd=$hwnd)', - ); - return false; - } - _previousWindow = hwnd; - _previousThreadId = threadId; - // Captured while the destination still owns the input queue: this is - // the only moment its inner focus target can be read reliably. - _previousFocusWindow = _focusWindowForThread(threadId); - AppLogger.info( - 'Focus session capture: platform=windows, hwnd=$hwnd, ' - 'pid=${pidPtr.value}, focus=$_previousFocusWindow, success=true', - ); - return true; - } finally { - calloc.free(pidPtr); - } - } else { - clear(); - AppLogger.warn('Focus session capture failed: no foreground window'); - return false; - } - } - - bool _restorePreviousWindows() { - if (_previousWindow == 0) return false; - final w = _Win32.instance; - if (w.isWindow(_previousWindow) == 0) { - _previousWindow = 0; - return false; - } - - // Hiding the panel already hands the foreground back in the common case. - // Attaching input queues when the destination owns it anyway is not free: - // detaching resets the keyboard focus Windows had just restored, so the - // window stays active but the synthetic Ctrl+V lands nowhere. AppWindow's - // own activation path skips the juggling for the same reason. - if (w.getForegroundWindow() == _previousWindow) { - AppLogger.info( - 'Focus restore: destination already in foreground ' - '(hwnd=$_previousWindow)', - ); - return true; - } - - final currentThreadId = w.getCurrentThreadId(); - var attached = false; - - if (currentThreadId != _previousThreadId && _previousThreadId != 0) { - attached = - w.attachThreadInput(currentThreadId, _previousThreadId, 1) != 0; - } - - try { - final style = w.getWindowLongPtr(_previousWindow, _Win32.gwlStyle); - if (style & _Win32.wsMinimize != 0) { - w.showWindow(_previousWindow, _Win32.swRestore); - } - - w.bringWindowToTop(_previousWindow); - final accepted = w.setForegroundWindow(_previousWindow) != 0; - return accepted || w.getForegroundWindow() == _previousWindow; - } finally { - if (attached) { - w.attachThreadInput(currentThreadId, _previousThreadId, 0); - } - } - } - - Future _waitForFocusWindows(int maxAttempts) async { - final w = _Win32.instance; - for (var i = 0; i < maxAttempts; i++) { - if (w.getForegroundWindow() == _previousWindow) { - if (i > 0) { - AppLogger.info('Focus verify: destination active after $i retries'); - } - return true; - } - await Future.delayed(const Duration(milliseconds: 10)); - } - return false; - } - - /// Root window currently owning keyboard focus, or 0 when it cannot be read. - /// - /// [_waitForFocusWindows] only proves the destination is the active - /// top-level window. Chromium-based apps activate long before their render - /// process takes keyboard focus, and a stale input-queue attachment can - /// leave a window active with no focus at all — both swallow the Ctrl+V - /// while every call in the paste path still reports success. - int _keyboardFocusRoot() { - final focused = _focusWindowForThread(0); - if (focused == 0) return 0; - try { - return _Win32.instance.getAncestor(focused, _Win32.gaRoot); - } catch (e) { - AppLogger.warn('Keyboard focus probe failed: $e'); - return 0; - } - } - - /// Window owning keyboard focus inside [threadId], or 0 when unreadable. - /// A `threadId` of 0 means whichever thread currently owns the foreground. - int _focusWindowForThread(int threadId) { - final w = _Win32.instance; - final info = calloc(_Win32.guiThreadInfoSize); - try { - info.cast().value = _Win32.guiThreadInfoSize; - if (w.getGUIThreadInfo(threadId, info) == 0) return 0; - return (info + _Win32.guiThreadInfoFocusOffset).cast().value; - } catch (e) { - AppLogger.warn('Keyboard focus probe failed: $e'); - return 0; - } finally { - calloc.free(info); - } - } - - /// Chromium and XAML-island hosts install their inner focus a few frames - /// after they become active, so a single probe right after the fixed delay - /// samples a window that is still settling. - Future _waitForKeyboardFocusWindows() async { - var focusRoot = _keyboardFocusRoot(); - for (var i = 0; i < 5 && focusRoot != _previousWindow; i++) { - await Future.delayed(const Duration(milliseconds: 20)); - focusRoot = _keyboardFocusRoot(); - } - return focusRoot; - } - - Future _simulatePasteWindows() async { - try { - final response = await WindowsHotkeyChannel.sendPaste( - targetHwnd: _previousWindow, - targetFocusHwnd: _previousFocusWindow, - targetThreadId: _previousThreadId, - ); - if (response.success) { - if (response.focusRepaired) { - AppLogger.info( - 'Paste input: restored destination keyboard focus to ' - '$_previousFocusWindow (was ${response.focusBefore})', - ); - } - return const PasteResponse(success: true); - } - AppLogger.error( - 'Windows paste input rejected: sent=${response.sentInputs ?? 0}/' - '${response.expectedInputs ?? 0}, attached=${response.attached}, ' - 'error=${response.errorCode}, win32=${response.win32Error}', - ); - return PasteResponse( - success: false, - errorCode: response.errorCode ?? 'sendInputFailed', - ); - } catch (e) { - AppLogger.error('Windows SendInput platform call failed: $e'); - return const PasteResponse(success: false, errorCode: 'sendInputFailed'); - } - } -} diff --git a/app/lib/shell/hotkey_binding.dart b/app/lib/shell/hotkey_binding.dart deleted file mode 100644 index 0ced92f0..00000000 --- a/app/lib/shell/hotkey_binding.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'dart:io' show Platform; - -import 'package:flutter/foundation.dart'; - -enum HotkeyRegistrationStatus { registered, fallbackRegistered, failed } - -@immutable -class HotkeyBinding { - const HotkeyBinding({ - required this.virtualKey, - required this.keyName, - required this.useCtrl, - required this.useWin, - required this.useAlt, - required this.useShift, - }); - - final int virtualKey; - final String keyName; - final bool useCtrl; - final bool useWin; - final bool useAlt; - final bool useShift; - - String label({bool isMac = false}) { - final parts = []; - final mac = isMac || Platform.isMacOS; - if (mac) { - if (useCtrl) parts.add('Control'); - if (useAlt) parts.add('Option'); - if (useShift) parts.add('Shift'); - if (useWin) parts.add('Command'); - } else { - if (useCtrl) parts.add('Ctrl'); - if (useWin) parts.add('Win'); - if (useAlt) parts.add('Alt'); - if (useShift) parts.add('Shift'); - } - parts.add(keyName); - return parts.join('+'); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) return true; - return other is HotkeyBinding && - other.virtualKey == virtualKey && - other.keyName == keyName && - other.useCtrl == useCtrl && - other.useWin == useWin && - other.useAlt == useAlt && - other.useShift == useShift; - } - - @override - int get hashCode => - Object.hash(virtualKey, keyName, useCtrl, useWin, useAlt, useShift); -} - -@immutable -class HotkeyRegistrationResult { - const HotkeyRegistrationResult({ - required this.status, - required this.requestedBinding, - this.effectiveBinding, - }); - - final HotkeyRegistrationStatus status; - final HotkeyBinding requestedBinding; - final HotkeyBinding? effectiveBinding; -} diff --git a/app/lib/shell/hotkey_handler.dart b/app/lib/shell/hotkey_handler.dart deleted file mode 100644 index cc99f48c..00000000 --- a/app/lib/shell/hotkey_handler.dart +++ /dev/null @@ -1,344 +0,0 @@ -// coverage:ignore-file -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; -import 'package:hotkey_manager/hotkey_manager.dart'; - -import 'hotkey_binding.dart'; -import 'windows_hotkey_channel.dart'; - -class HotkeyHandler { - HotkeyHandler({ - required this.config, - required void Function() onHotkey, - required void Function() onPlainPasteHotkey, - }) : _onHotkey = onHotkey, - _onPlainPasteHotkey = onPlainPasteHotkey; - - final AppConfig config; - void Function()? _onHotkey; - void Function()? _onPlainPasteHotkey; - HotKey? _hotkey; - HotKey? _plainPasteHotkey; - WindowsHotkeyChannel? _windowsHotkeys; - bool? _plainPasteRegistrationSucceeded; - bool? get plainPasteRegistrationSucceeded => _plainPasteRegistrationSucceeded; - - HotkeyBinding get _requestedBinding => HotkeyBinding( - virtualKey: config.hotkeyVirtualKey, - keyName: config.hotkeyKeyName, - useCtrl: config.hotkeyUseCtrl, - useWin: config.hotkeyUseWin, - useAlt: config.hotkeyUseAlt, - useShift: config.hotkeyUseShift, - ); - - HotkeyBinding get _plainPasteBinding => HotkeyBinding( - virtualKey: config.plainPasteHotkeyVirtualKey, - keyName: config.plainPasteHotkeyKeyName, - useCtrl: config.plainPasteHotkeyUseCtrl, - useWin: config.plainPasteHotkeyUseWin, - useAlt: config.plainPasteHotkeyUseAlt, - useShift: config.plainPasteHotkeyUseShift, - ); - - Future _tryRegisterBinding( - HotkeyBinding binding, - void Function() callback, { - bool triggerOnKeyUp = false, - }) async { - final keyCode = _mapVirtualKey(binding.virtualKey); - if (keyCode == null) return null; - - final modifiers = []; - if (binding.useCtrl) modifiers.add(HotKeyModifier.control); - if (binding.useWin) modifiers.add(HotKeyModifier.meta); - if (binding.useAlt) modifiers.add(HotKeyModifier.alt); - if (binding.useShift) modifiers.add(HotKeyModifier.shift); - - final hotkey = HotKey( - key: keyCode, - modifiers: modifiers, - scope: HotKeyScope.system, - ); - - try { - await hotKeyManager.register( - hotkey, - keyDownHandler: triggerOnKeyUp ? null : (_) => callback(), - keyUpHandler: triggerOnKeyUp ? (_) => callback() : null, - ); - return hotkey; - } catch (e) { - AppLogger.error('Hotkey registration failed for ${binding.label()}: $e'); - return null; - } - } - - Future registerWithFallback() async { - _plainPasteRegistrationSucceeded = config.plainPasteHotkeyEnabled - ? false - : null; - if (_hotkey != null || - _plainPasteHotkey != null || - _windowsHotkeys != null) { - await unregister(); - } - - if (Platform.isWindows) { - return _registerWindowsHotkeys(); - } - - final requestedBinding = _requestedBinding; - _hotkey = await _tryRegisterBinding( - requestedBinding, - () => _onHotkey?.call(), - ); - if (_hotkey != null) { - await _registerPlainPasteBinding(); - return HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.registered, - requestedBinding: requestedBinding, - effectiveBinding: requestedBinding, - ); - } - - if (config.hotkeyUseWin) { - final fallbackBinding = HotkeyBinding( - virtualKey: requestedBinding.virtualKey, - keyName: requestedBinding.keyName, - useCtrl: true, - useWin: false, - useAlt: requestedBinding.useAlt, - useShift: requestedBinding.useShift, - ); - _hotkey = await _tryRegisterBinding( - fallbackBinding, - () => _onHotkey?.call(), - ); - if (_hotkey != null) { - await _registerPlainPasteBinding(); - return HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.fallbackRegistered, - requestedBinding: requestedBinding, - effectiveBinding: fallbackBinding, - ); - } - } - - await _registerPlainPasteBinding(); - return HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.failed, - requestedBinding: requestedBinding, - ); - } - - Future _registerWindowsHotkeys() async { - final requestedBinding = _requestedBinding; - final channel = WindowsHotkeyChannel(); - _windowsHotkeys = channel; - - try { - await channel.start((id) { - if (id == 'open') _onHotkey?.call(); - if (id == 'plainPaste') _onPlainPasteHotkey?.call(); - }); - } catch (e) { - AppLogger.error('Windows hotkey channel initialization failed: $e'); - _plainPasteRegistrationSucceeded = config.plainPasteHotkeyEnabled - ? false - : null; - return HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.failed, - requestedBinding: requestedBinding, - ); - } - - var effectiveBinding = requestedBinding; - var openResponse = await _registerWindowsBinding( - channel, - id: 'open', - binding: requestedBinding, - ); - var status = HotkeyRegistrationStatus.registered; - - if (!openResponse.success && config.hotkeyUseWin) { - final fallbackBinding = HotkeyBinding( - virtualKey: requestedBinding.virtualKey, - keyName: requestedBinding.keyName, - useCtrl: true, - useWin: false, - useAlt: requestedBinding.useAlt, - useShift: requestedBinding.useShift, - ); - openResponse = await _registerWindowsBinding( - channel, - id: 'open', - binding: fallbackBinding, - ); - if (openResponse.success) { - effectiveBinding = fallbackBinding; - status = HotkeyRegistrationStatus.fallbackRegistered; - } - } - - if (config.plainPasteHotkeyEnabled) { - final response = await _registerWindowsBinding( - channel, - id: 'plainPaste', - binding: _plainPasteBinding, - ); - _plainPasteRegistrationSucceeded = response.success; - } - - if (!openResponse.success) { - return HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.failed, - requestedBinding: requestedBinding, - ); - } - - AppLogger.info( - 'Windows open hotkey registered: ${effectiveBinding.label()}', - ); - return HotkeyRegistrationResult( - status: status, - requestedBinding: requestedBinding, - effectiveBinding: effectiveBinding, - ); - } - - Future _registerWindowsBinding( - WindowsHotkeyChannel channel, { - required String id, - required HotkeyBinding binding, - }) async { - try { - final response = await channel.register( - id: id, - virtualKey: binding.virtualKey, - useCtrl: binding.useCtrl, - useWin: binding.useWin, - useAlt: binding.useAlt, - useShift: binding.useShift, - ); - if (!response.success) { - AppLogger.error( - 'Windows hotkey registration failed: id=$id, ' - 'binding=${binding.label()}, error=${response.errorCode}, ' - 'win32=${response.win32Error}', - ); - } else if (id == 'plainPaste') { - AppLogger.info( - 'Windows plain-paste hotkey registered: ${binding.label()}', - ); - } - return response; - } catch (e) { - AppLogger.error( - 'Windows hotkey registration call failed: id=$id, ' - 'binding=${binding.label()}, error=$e', - ); - return const WindowsHotkeyRegistrationResponse( - success: false, - errorCode: 'platformCallFailed', - ); - } - } - - Future _registerPlainPasteBinding() async { - if (!config.plainPasteHotkeyEnabled) return; - _plainPasteHotkey = await _tryRegisterBinding( - _plainPasteBinding, - () => _onPlainPasteHotkey?.call(), - triggerOnKeyUp: true, - ); - _plainPasteRegistrationSucceeded = _plainPasteHotkey != null; - } - - Future unregister({bool releaseCallbacks = false}) async { - if (releaseCallbacks) { - // Break references to the owning State before platform calls. Some - // hotkey backends can fail during teardown; stale package callbacks then - // remain harmless and cannot retain the widget tree. - _onHotkey = null; - _onPlainPasteHotkey = null; - } - if (Platform.isWindows) { - final channel = _windowsHotkeys; - _windowsHotkeys = null; - _hotkey = null; - _plainPasteHotkey = null; - _plainPasteRegistrationSucceeded = null; - if (channel != null) { - try { - await channel.dispose(); - } catch (e) { - AppLogger.error('Windows hotkey cleanup failed: $e'); - } - } - return; - } - final registered = []; - if (_hotkey != null) registered.add(_hotkey!); - if (_plainPasteHotkey != null) registered.add(_plainPasteHotkey!); - _hotkey = null; - _plainPasteHotkey = null; - _plainPasteRegistrationSucceeded = null; - - var individualFailure = false; - for (final hotkey in registered) { - try { - await hotKeyManager.unregister(hotkey); - } catch (e) { - individualFailure = true; - AppLogger.error('Hotkey unregistration failed: $e'); - } - } - // hotkey_manager only removes its callback maps after the platform call - // succeeds. Clear the singleton as a fallback so a failed unregister does - // not retain this State object through an old callback. - if (individualFailure) { - try { - await hotKeyManager.unregisterAll(); - } catch (e) { - AppLogger.error('Fallback hotkey cleanup failed: $e'); - } - } - } - - Future dispose() => unregister(releaseCallbacks: true); - - static PhysicalKeyboardKey? _mapVirtualKey(int vk) { - const map = { - 0x41: PhysicalKeyboardKey.keyA, - 0x42: PhysicalKeyboardKey.keyB, - 0x43: PhysicalKeyboardKey.keyC, - 0x44: PhysicalKeyboardKey.keyD, - 0x45: PhysicalKeyboardKey.keyE, - 0x46: PhysicalKeyboardKey.keyF, - 0x47: PhysicalKeyboardKey.keyG, - 0x48: PhysicalKeyboardKey.keyH, - 0x49: PhysicalKeyboardKey.keyI, - 0x4A: PhysicalKeyboardKey.keyJ, - 0x4B: PhysicalKeyboardKey.keyK, - 0x4C: PhysicalKeyboardKey.keyL, - 0x4D: PhysicalKeyboardKey.keyM, - 0x4E: PhysicalKeyboardKey.keyN, - 0x4F: PhysicalKeyboardKey.keyO, - 0x50: PhysicalKeyboardKey.keyP, - 0x51: PhysicalKeyboardKey.keyQ, - 0x52: PhysicalKeyboardKey.keyR, - 0x53: PhysicalKeyboardKey.keyS, - 0x54: PhysicalKeyboardKey.keyT, - 0x55: PhysicalKeyboardKey.keyU, - 0x56: PhysicalKeyboardKey.keyV, - 0x57: PhysicalKeyboardKey.keyW, - 0x58: PhysicalKeyboardKey.keyX, - 0x59: PhysicalKeyboardKey.keyY, - 0x5A: PhysicalKeyboardKey.keyZ, - }; - return map[vk]; - } -} diff --git a/app/lib/shell/msix_startup_task.dart b/app/lib/shell/msix_startup_task.dart deleted file mode 100644 index 39c1291f..00000000 --- a/app/lib/shell/msix_startup_task.dart +++ /dev/null @@ -1,77 +0,0 @@ -// coverage:ignore-file -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; - -enum MsixStartupTaskState { - unknown, - disabled, - disabledByUser, - disabledByPolicy, - enabled, - enabledByPolicy, -} - -MsixStartupTaskState _parseState(Object? raw) { - switch (raw) { - case 'disabled': - return MsixStartupTaskState.disabled; - case 'disabledByUser': - return MsixStartupTaskState.disabledByUser; - case 'disabledByPolicy': - return MsixStartupTaskState.disabledByPolicy; - case 'enabled': - return MsixStartupTaskState.enabled; - case 'enabledByPolicy': - return MsixStartupTaskState.enabledByPolicy; - default: - return MsixStartupTaskState.unknown; - } -} - -class MsixStartupTask { - MsixStartupTask._(); - - static const _channel = MethodChannel('copypaste/startup_task'); - - static Future getState(String taskId) async { - try { - final raw = await _channel.invokeMethod('getState', { - 'taskId': taskId, - }); - return _parseState(raw); - } on PlatformException catch (e) { - AppLogger.error( - 'MsixStartupTask.getState failed: ${e.code} ${e.message} — ${e.details}', - ); - return null; - } - } - - static Future enable(String taskId) async { - try { - final raw = await _channel.invokeMethod('enable', { - 'taskId': taskId, - }); - return _parseState(raw); - } on PlatformException catch (e) { - AppLogger.error( - 'MsixStartupTask.enable failed: ${e.code} ${e.message} — ${e.details}', - ); - return null; - } - } - - static Future disable(String taskId) async { - try { - final raw = await _channel.invokeMethod('disable', { - 'taskId': taskId, - }); - return _parseState(raw); - } on PlatformException catch (e) { - AppLogger.error( - 'MsixStartupTask.disable failed: ${e.code} ${e.message} — ${e.details}', - ); - return null; - } - } -} diff --git a/app/lib/shell/single_instance.dart b/app/lib/shell/single_instance.dart deleted file mode 100644 index 306fbb35..00000000 --- a/app/lib/shell/single_instance.dart +++ /dev/null @@ -1,525 +0,0 @@ -// coverage:ignore-file -import 'dart:async'; -import 'dart:ffi'; -import 'dart:io'; -import 'dart:isolate'; - -import 'package:ffi/ffi.dart'; - -typedef _CreateMutexWNative = - IntPtr Function( - Pointer lpMutexAttributes, - Int32 bInitialOwner, - Pointer lpName, - ); -typedef _CreateMutexWDart = - int Function( - Pointer lpMutexAttributes, - int bInitialOwner, - Pointer lpName, - ); - -typedef _CloseHandleNative = Int32 Function(IntPtr hObject); -typedef _CloseHandleDart = int Function(int hObject); - -// Used by the pipe server isolate (cannot access _Win32 singleton). -typedef _GetLastErrorNative = Uint32 Function(); -typedef _GetLastErrorDart = int Function(); - -typedef _ReleaseMutexNative = Int32 Function(IntPtr hMutex); -typedef _ReleaseMutexDart = int Function(int hMutex); - -typedef _AllowSetForegroundWindowNative = Int32 Function(Uint32 dwProcessId); -typedef _AllowSetForegroundWindowDart = int Function(int dwProcessId); - -typedef _WaitForSingleObjectNative = - Uint32 Function(IntPtr hHandle, Uint32 dwMilliseconds); -typedef _WaitForSingleObjectDart = - int Function(int hHandle, int dwMilliseconds); - -// Named pipe FFI types -typedef _CreateNamedPipeWNative = - IntPtr Function( - Pointer lpName, - Uint32 dwOpenMode, - Uint32 dwPipeMode, - Uint32 nMaxInstances, - Uint32 nOutBufferSize, - Uint32 nInBufferSize, - Uint32 nDefaultTimeOut, - Pointer lpSecurityAttributes, - ); -typedef _CreateNamedPipeWDart = - int Function( - Pointer lpName, - int dwOpenMode, - int dwPipeMode, - int nMaxInstances, - int nOutBufferSize, - int nInBufferSize, - int nDefaultTimeOut, - Pointer lpSecurityAttributes, - ); - -typedef _ConnectNamedPipeNative = - Int32 Function(IntPtr hNamedPipe, Pointer lpOverlapped); -typedef _ConnectNamedPipeDart = - int Function(int hNamedPipe, Pointer lpOverlapped); - -typedef _DisconnectNamedPipeNative = Int32 Function(IntPtr hNamedPipe); -typedef _DisconnectNamedPipeDart = int Function(int hNamedPipe); - -typedef _CreateFileWNative = - IntPtr Function( - Pointer lpFileName, - Uint32 dwDesiredAccess, - Uint32 dwShareMode, - Pointer lpSecurityAttributes, - Uint32 dwCreationDisposition, - Uint32 dwFlagsAndAttributes, - IntPtr hTemplateFile, - ); -typedef _CreateFileWDart = - int Function( - Pointer lpFileName, - int dwDesiredAccess, - int dwShareMode, - Pointer lpSecurityAttributes, - int dwCreationDisposition, - int dwFlagsAndAttributes, - int hTemplateFile, - ); - -typedef _WriteFileNative = - Int32 Function( - IntPtr hFile, - Pointer lpBuffer, - Uint32 nNumberOfBytesToWrite, - Pointer lpNumberOfBytesWritten, - Pointer lpOverlapped, - ); -typedef _WriteFileDart = - int Function( - int hFile, - Pointer lpBuffer, - int nNumberOfBytesToWrite, - Pointer lpNumberOfBytesWritten, - Pointer lpOverlapped, - ); - -typedef _ReadFileNative = - Int32 Function( - IntPtr hFile, - Pointer lpBuffer, - Uint32 nNumberOfBytesToRead, - Pointer lpNumberOfBytesRead, - Pointer lpOverlapped, - ); -typedef _ReadFileDart = - int Function( - int hFile, - Pointer lpBuffer, - int nNumberOfBytesToRead, - Pointer lpNumberOfBytesRead, - Pointer lpOverlapped, - ); - -class _Win32 { - _Win32._() { - assert(Platform.isWindows, '_Win32 requires Windows'); - } - static _Win32? _instance; - static _Win32 get instance => _instance ??= _Win32._(); - - late final _kernel32 = DynamicLibrary.open('kernel32.dll'); - late final createMutex = _kernel32 - .lookupFunction<_CreateMutexWNative, _CreateMutexWDart>('CreateMutexW'); - late final closeHandle = _kernel32 - .lookupFunction<_CloseHandleNative, _CloseHandleDart>('CloseHandle'); - late final releaseMutex = _kernel32 - .lookupFunction<_ReleaseMutexNative, _ReleaseMutexDart>('ReleaseMutex'); - late final createNamedPipe = _kernel32 - .lookupFunction<_CreateNamedPipeWNative, _CreateNamedPipeWDart>( - 'CreateNamedPipeW', - ); - late final connectNamedPipe = _kernel32 - .lookupFunction<_ConnectNamedPipeNative, _ConnectNamedPipeDart>( - 'ConnectNamedPipe', - ); - late final disconnectNamedPipe = _kernel32 - .lookupFunction<_DisconnectNamedPipeNative, _DisconnectNamedPipeDart>( - 'DisconnectNamedPipe', - ); - late final createFile = _kernel32 - .lookupFunction<_CreateFileWNative, _CreateFileWDart>('CreateFileW'); - late final writeFile = _kernel32 - .lookupFunction<_WriteFileNative, _WriteFileDart>('WriteFile'); - late final readFile = _kernel32 - .lookupFunction<_ReadFileNative, _ReadFileDart>('ReadFile'); - late final waitForSingleObject = _kernel32 - .lookupFunction<_WaitForSingleObjectNative, _WaitForSingleObjectDart>( - 'WaitForSingleObject', - ); - - late final _user32 = DynamicLibrary.open('user32.dll'); - late final allowSetForegroundWindow = _user32 - .lookupFunction< - _AllowSetForegroundWindowNative, - _AllowSetForegroundWindowDart - >('AllowSetForegroundWindow'); -} - -// Named pipe constants -const int _pipeAccessInbound = 1; -const int _pipeTypeByte = 0; -const int _pipeWait = 0; -const int _pipeUnlimitedInstances = 255; -const int _genericWrite = 0x40000000; -const int _openExisting = 3; -const int _invalidHandleValue = -1; - -const String _pipeNameBase = r'\\.\pipe\CopyPasteSingleInstance'; - -class SingleInstance { - static const String _mutexNameBase = r'Local\CopyPaste_SingleInstance_Mutex'; - static const String _wakeupFileNameBase = 'copypaste.wakeup'; - - /// Suffix for every OS-global name this class owns. - /// - /// Tests must set it. The production names are shared with any CopyPaste - /// already running on the machine, which holds the mutex and drains the - /// wakeup signals the suite asserts on — so leaving it empty makes the - /// tests fail on exactly the developer machines that use the app. - static String namespace = ''; - - static String get _mutexName => '$_mutexNameBase$namespace'; - static String get _wakeupFileName => '$_wakeupFileNameBase$namespace'; - static String get _pipeName => '$_pipeNameBase$namespace'; - - static int _mutexHandle = 0; - static RandomAccessFile? _lockFile; - static StreamSubscription? _wakeupSubscription; - static Isolate? _pipeIsolate; - static ReceivePort? _pipeReceivePort; - static DateTime? _lastWakeup; - - static void _callWakeup(void Function() onWakeup) { - final now = DateTime.now(); - if (_lastWakeup != null && - now.difference(_lastWakeup!).inMilliseconds < 2000) { - return; - } - _lastWakeup = now; - onWakeup(); - } - - static bool acquire() { - final acquired = Platform.isWindows ? _acquireWindows() : _acquireUnix(); - if (!acquired) signalWakeup(); - return acquired; - } - - static void release() { - if (Platform.isWindows) { - _releaseWindows(); - } else { - _releaseUnix(); - } - } - - /// Writes a wakeup signal so the running instance can show its window. - /// On Windows uses a named pipe; falls back to file on other platforms. - /// Also grants foreground permission so SetForegroundWindow works. - static void signalWakeup() { - if (Platform.isWindows) { - _signalWakeupPipe(); - } else { - _signalWakeupFile(); - } - } - - static void _signalWakeupPipe() { - try { - final w = _Win32.instance; - // Grant foreground permission before connecting - w.allowSetForegroundWindow(0xFFFFFFFF); - - final name = _pipeName.toNativeUtf16(); - try { - final hPipe = w.createFile( - name, - _genericWrite, - 0, - nullptr, - _openExisting, - 0, - 0, - ); - if (hPipe == _invalidHandleValue) { - // Pipe not available, fall back to file - _signalWakeupFile(); - return; - } - final msg = 'wakeup'.codeUnits; - final buf = calloc(msg.length); - final written = calloc(1); - try { - for (var i = 0; i < msg.length; i++) { - buf[i] = msg[i]; - } - w.writeFile(hPipe, buf, msg.length, written, nullptr); - } finally { - calloc.free(buf); - calloc.free(written); - w.closeHandle(hPipe); - } - } finally { - calloc.free(name); - } - } catch (_) { - _signalWakeupFile(); - } - } - - static void _signalWakeupFile() { - try { - File(_wakeupFilePath()).writeAsStringSync('wakeup'); - if (Platform.isWindows) { - _Win32.instance.allowSetForegroundWindow(0xFFFFFFFF); - } - } catch (_) {} - } - - /// Starts listening for wakeup signals. On Windows uses a named pipe server - /// running in a separate isolate; on other platforms polls a file. - static void listenForWakeup(void Function() onWakeup) { - _wakeupSubscription?.cancel(); - if (Platform.isWindows) { - _listenForWakeupPipe(onWakeup); - } else { - _listenForWakeupFile(onWakeup); - } - } - - static void _listenForWakeupPipe(void Function() onWakeup) { - _pipeReceivePort?.close(); - _pipeIsolate?.kill(priority: Isolate.immediate); - - _pipeReceivePort = ReceivePort(); - _pipeReceivePort!.listen((message) { - if (message == 'wakeup') _callWakeup(onWakeup); - }); - - // Also keep file-based polling as safety net - _listenForWakeupFile(onWakeup); - - Isolate.spawn(_pipeServerLoop, (_pipeReceivePort!.sendPort, _pipeName)) - .then((isolate) { - _pipeIsolate = isolate; - }) - .catchError((_) { - // Isolate spawn failed; file-based fallback is already running - }); - } - - /// Runs in a dedicated isolate. Blocks on ConnectNamedPipe waiting for - /// second-instance clients, then reads their message and forwards it. - static void _pipeServerLoop((SendPort, String) args) { - final (sendPort, pipeName) = args; - final kernel32 = DynamicLibrary.open('kernel32.dll'); - final createNamedPipe = kernel32 - .lookupFunction<_CreateNamedPipeWNative, _CreateNamedPipeWDart>( - 'CreateNamedPipeW', - ); - final connectNamedPipe = kernel32 - .lookupFunction<_ConnectNamedPipeNative, _ConnectNamedPipeDart>( - 'ConnectNamedPipe', - ); - final disconnectNamedPipe = kernel32 - .lookupFunction<_DisconnectNamedPipeNative, _DisconnectNamedPipeDart>( - 'DisconnectNamedPipe', - ); - final readFile = kernel32.lookupFunction<_ReadFileNative, _ReadFileDart>( - 'ReadFile', - ); - final closeHandle = kernel32 - .lookupFunction<_CloseHandleNative, _CloseHandleDart>('CloseHandle'); - final getLastError = kernel32 - .lookupFunction<_GetLastErrorNative, _GetLastErrorDart>('GetLastError'); - - while (true) { - // Statics do not cross isolate boundaries, so the name travels as an - // argument instead of being read from `namespace` again. - final name = pipeName.toNativeUtf16(); - final hPipe = createNamedPipe( - name, - _pipeAccessInbound, - _pipeTypeByte | _pipeWait, - _pipeUnlimitedInstances, - 512, - 512, - 5000, - nullptr, - ); - calloc.free(name); - - if (hPipe == _invalidHandleValue) { - // Cannot create pipe; wait and retry - sleep(const Duration(seconds: 2)); - continue; - } - - final connected = connectNamedPipe(hPipe, nullptr); - if (connected == 0) { - const errorPipeConnected = 535; - if (getLastError() != errorPipeConnected) { - disconnectNamedPipe(hPipe); - closeHandle(hPipe); - continue; - } - } - - final buf = calloc(512); - final bytesRead = calloc(1); - try { - final ok = readFile(hPipe, buf, 512, bytesRead, nullptr); - if (ok != 0 && bytesRead.value > 0) { - final data = List.generate(bytesRead.value, (i) => buf[i]); - final msg = String.fromCharCodes(data); - if (msg.contains('wakeup')) { - sendPort.send('wakeup'); - } - } - } finally { - calloc.free(buf); - calloc.free(bytesRead); - } - - disconnectNamedPipe(hPipe); - closeHandle(hPipe); - } - } - - static void _listenForWakeupFile(void Function() onWakeup) { - try { - final stale = File(_wakeupFilePath()); - if (stale.existsSync()) { - final age = DateTime.now().difference(stale.lastModifiedSync()); - if (age.inSeconds > 30) stale.deleteSync(); - } - } catch (_) {} - _wakeupSubscription = - Stream.periodic(const Duration(milliseconds: 500)).listen((_) { - final f = File(_wakeupFilePath()); - if (f.existsSync()) { - try { - f.deleteSync(); - } catch (_) {} - _callWakeup(onWakeup); - } - }); - } - - /// Stops listening for wakeup signals. - static void stopListening() { - _wakeupSubscription?.cancel(); - _wakeupSubscription = null; - _pipeReceivePort?.close(); - _pipeReceivePort = null; - _pipeIsolate?.kill(priority: Isolate.immediate); - _pipeIsolate = null; - _lastWakeup = null; - } - - static String _wakeupFilePath() => - '${Directory.systemTemp.path}/$_wakeupFileName'; - - static bool _acquireWindows() { - if (_mutexHandle != 0) return false; - final w = _Win32.instance; - final name = _mutexName.toNativeUtf16(); - try { - final handle = w.createMutex(nullptr, 0, name); - if (handle == 0) return false; - - // WaitForSingleObject is reliable regardless of GetLastError state; - // the Dart FFI trampoline can clobber the thread-local error between - // consecutive calls, making GetLastError-based checks unreliable. - const waitObject0 = 0; - const waitAbandoned = 0x80; - final result = w.waitForSingleObject(handle, 0); - if (result == waitObject0 || result == waitAbandoned) { - _mutexHandle = handle; - return true; - } - w.closeHandle(handle); - return false; - } finally { - calloc.free(name); - } - } - - static void _releaseWindows() { - stopListening(); - if (_mutexHandle != 0) { - final w = _Win32.instance; - w.releaseMutex(_mutexHandle); - w.closeHandle(_mutexHandle); - _mutexHandle = 0; - } - } - - static bool _acquireUnix() { - final lockPath = _lockFilePath(); - try { - _lockFile = File(lockPath).openSync(mode: FileMode.write); - _lockFile!.lockSync(FileLock.exclusive); - _lockFile!.writeStringSync('$pid\n'); - _lockFile!.flushSync(); - return true; - } catch (_) { - _lockFile = null; - if (_isLockStale(lockPath)) { - try { - File(lockPath).deleteSync(); - } catch (_) {} - try { - _lockFile = File(lockPath).openSync(mode: FileMode.write); - _lockFile!.lockSync(FileLock.exclusive); - _lockFile!.writeStringSync('$pid\n'); - _lockFile!.flushSync(); - return true; - } catch (_) { - _lockFile = null; - } - } - return false; - } - } - - static bool _isLockStale(String lockPath) { - try { - final content = File(lockPath).readAsStringSync().trim(); - final existingPid = int.tryParse(content); - if (existingPid == null) return true; - final result = Process.runSync('kill', ['-0', '$existingPid']); - return result.exitCode != 0; - } catch (_) { - return true; - } - } - - static void _releaseUnix() { - try { - _lockFile?.unlockSync(); - _lockFile?.closeSync(); - File(_lockFilePath()).deleteSync(); - } catch (_) {} - _lockFile = null; - } - - static String _lockFilePath() { - final tmpDir = Directory.systemTemp.path; - return '$tmpDir/copypaste.lock'; - } -} diff --git a/app/lib/shell/startup_helper.dart b/app/lib/shell/startup_helper.dart deleted file mode 100644 index 78d18da8..00000000 --- a/app/lib/shell/startup_helper.dart +++ /dev/null @@ -1,311 +0,0 @@ -// coverage:ignore-file -import 'dart:ffi'; -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:ffi/ffi.dart'; -import 'package:flutter/foundation.dart'; - -import 'msix_startup_task.dart'; -import 'win_package_context.dart'; - -typedef _RegOpenKeyExNative = - Int32 Function( - IntPtr hKey, - Pointer lpSubKey, - Uint32 ulOptions, - Int32 samDesired, - Pointer phkResult, - ); -typedef _RegOpenKeyExDart = - int Function( - int hKey, - Pointer lpSubKey, - int ulOptions, - int samDesired, - Pointer phkResult, - ); - -typedef _RegSetValueExNative = - Int32 Function( - IntPtr hKey, - Pointer lpValueName, - Uint32 reserved, - Uint32 dwType, - Pointer lpData, - Uint32 cbData, - ); -typedef _RegSetValueExDart = - int Function( - int hKey, - Pointer lpValueName, - int reserved, - int dwType, - Pointer lpData, - int cbData, - ); - -typedef _RegDeleteValueNative = - Int32 Function(IntPtr hKey, Pointer lpValueName); -typedef _RegDeleteValueDart = - int Function(int hKey, Pointer lpValueName); - -typedef _RegCloseKeyNative = Int32 Function(IntPtr hKey); -typedef _RegCloseKeyDart = int Function(int hKey); - -class _Win32Registry { - _Win32Registry._() { - assert(Platform.isWindows, '_Win32Registry requires Windows'); - } - static _Win32Registry? _instance; - static _Win32Registry get instance => _instance ??= _Win32Registry._(); - - late final _advapi32 = DynamicLibrary.open('advapi32.dll'); - - late final regOpenKeyEx = _advapi32 - .lookupFunction<_RegOpenKeyExNative, _RegOpenKeyExDart>('RegOpenKeyExW'); - late final regSetValueEx = _advapi32 - .lookupFunction<_RegSetValueExNative, _RegSetValueExDart>( - 'RegSetValueExW', - ); - late final regDeleteValue = _advapi32 - .lookupFunction<_RegDeleteValueNative, _RegDeleteValueDart>( - 'RegDeleteValueW', - ); - late final regCloseKey = _advapi32 - .lookupFunction<_RegCloseKeyNative, _RegCloseKeyDart>('RegCloseKey'); -} - -class StartupHelper { - static const int _hkeyCurrentUser = 0x80000001; - static const int _keySetValue = 0x0002; - static const int _regSz = 1; - static const String _registryPath = - r'Software\Microsoft\Windows\CurrentVersion\Run'; - static const String _appName = 'CopyPaste'; - static const String _msixStartupTaskId = 'CopyPasteStartup'; - static const String _macOsPlistLabel = 'com.rgdevment.copypaste'; - - static Future apply( - bool runOnStartup, { - bool fromUserAction = false, - }) async { - if (Platform.isWindows) { - if (WinPackageContext.isMsix) { - // MSIX uses the StartupTask declared in AppxManifest. Make sure no - // stale HKCU\...\Run entry from a previous standalone install lingers, - // otherwise Windows shows it with a generic icon and the raw registry - // path in the Startup settings page. - _removeRegistryValue(); - await _applyMsixStartupTask( - runOnStartup, - fromUserAction: fromUserAction, - ); - } else { - if (runOnStartup) { - _setRegistryValue(stableExecutablePath(Platform.resolvedExecutable)); - } else { - _removeRegistryValue(); - } - } - } else if (Platform.isMacOS) { - if (runOnStartup) { - _installLaunchAgent(); - } else { - _removeLaunchAgent(); - } - } - } - - static Future openWindowsStartupSettings() async { - try { - await Process.start('explorer.exe', ['ms-settings:startupapps']); - } catch (e) { - AppLogger.error('openWindowsStartupSettings failed: $e'); - } - } - - static Future _applyMsixStartupTask( - bool runOnStartup, { - required bool fromUserAction, - }) async { - if (runOnStartup) { - final state = await MsixStartupTask.enable(_msixStartupTaskId); - AppLogger.info('MSIX StartupTask enable -> $state'); - // When the user has explicitly disabled the task from Settings, only - // the user can re-enable it. Surface the system page so they can act. - if (fromUserAction && state == MsixStartupTaskState.disabledByUser) { - await openWindowsStartupSettings(); - } - } else { - final state = await MsixStartupTask.disable(_msixStartupTaskId); - AppLogger.info('MSIX StartupTask disable -> $state'); - } - } - - // Writing a build-folder path to HKCU\...\Run leaves an entry Windows renders - // with a generic icon once the folder is cleaned. - @visibleForTesting - static bool isDevBuildPath(String exePath) { - final normalized = exePath.replaceAll('/', r'\').toLowerCase(); - return normalized.contains(r'\build\windows\'); - } - - static final RegExp _versionedAppDir = RegExp( - r'^(.*[\\/]apps[\\/][^\\/]+[\\/])[^\\/]+([\\/].*)$', - caseSensitive: false, - ); - - /// `Platform.resolvedExecutable` reports the versioned target behind Scoop's - /// `current` junction, and that path dies on the next `scoop cleanup`. - @visibleForTesting - static String stableExecutablePath(String exePath) { - final match = _versionedAppDir.firstMatch(exePath); - if (match == null) return exePath; - final candidate = '${match.group(1)}current${match.group(2)}'; - if (candidate == exePath || !File(candidate).existsSync()) return exePath; - return candidate; - } - - static void _setRegistryValue(String exePath) { - if (!exePath.toLowerCase().endsWith('.exe') || - !File(exePath).existsSync()) { - AppLogger.error( - 'Skipping startup registry write: executable not found at "$exePath".', - ); - _removeRegistryValue(); - return; - } - - if (isDevBuildPath(exePath)) { - AppLogger.info( - 'Skipping startup registry write: running from a Flutter build folder ("$exePath").', - ); - _removeRegistryValue(); - return; - } - - final r = _Win32Registry.instance; - final subKey = _registryPath.toNativeUtf16(allocator: malloc); - final hKeyPtr = calloc(); - - try { - final result = r.regOpenKeyEx( - _hkeyCurrentUser, - subKey, - 0, - _keySetValue, - hKeyPtr, - ); - if (result != 0) { - AppLogger.error('Failed to open registry key for set: $result'); - return; - } - - final hKey = hKeyPtr.value; - final valueName = _appName.toNativeUtf16(allocator: malloc); - final valueData = '"$exePath"'.toNativeUtf16(allocator: malloc); - final dataSize = ('"$exePath"'.length + 1) * 2; - - try { - final setResult = r.regSetValueEx( - hKey, - valueName, - 0, - _regSz, - valueData, - dataSize, - ); - if (setResult != 0) { - AppLogger.error('Failed to set registry value: $setResult'); - } - } finally { - malloc.free(valueName); - malloc.free(valueData); - r.regCloseKey(hKey); - } - } finally { - malloc.free(subKey); - calloc.free(hKeyPtr); - } - } - - static void _removeRegistryValue() { - final r = _Win32Registry.instance; - final subKey = _registryPath.toNativeUtf16(allocator: malloc); - final hKeyPtr = calloc(); - - try { - final result = r.regOpenKeyEx( - _hkeyCurrentUser, - subKey, - 0, - _keySetValue, - hKeyPtr, - ); - if (result != 0) { - AppLogger.error('Failed to open registry key for delete: $result'); - return; - } - - final hKey = hKeyPtr.value; - final valueName = _appName.toNativeUtf16(allocator: malloc); - - try { - r.regDeleteValue(hKey, valueName); - } finally { - malloc.free(valueName); - r.regCloseKey(hKey); - } - } finally { - malloc.free(subKey); - calloc.free(hKeyPtr); - } - } - - static String get _launchAgentPath { - final home = Platform.environment['HOME'] ?? '/tmp'; - return '$home/Library/LaunchAgents/$_macOsPlistLabel.plist'; - } - - static void _installLaunchAgent() { - try { - final exePath = Platform.resolvedExecutable; - final plist = - ''' - - - - Label - $_macOsPlistLabel - ProgramArguments - - $exePath - - RunAtLoad - - KeepAlive - - - -'''; - final agentDir = Directory( - '${Platform.environment['HOME']}/Library/LaunchAgents', - ); - if (!agentDir.existsSync()) agentDir.createSync(recursive: true); - File(_launchAgentPath).writeAsStringSync(plist); - } catch (e) { - AppLogger.error('Failed to install LaunchAgent: $e'); - } - } - - static void _removeLaunchAgent() { - try { - final file = File(_launchAgentPath); - if (file.existsSync()) file.deleteSync(); - } catch (e) { - AppLogger.error('Failed to remove LaunchAgent: $e'); - } - } -} diff --git a/app/lib/shell/tray_icon.dart b/app/lib/shell/tray_icon.dart deleted file mode 100644 index e1011e88..00000000 --- a/app/lib/shell/tray_icon.dart +++ /dev/null @@ -1,70 +0,0 @@ -// coverage:ignore-file -import 'dart:io'; - -import 'package:tray_manager/tray_manager.dart'; - -class TrayIcon with TrayListener { - TrayIcon({required this.onToggle, required this.onExit}); - - final void Function() onToggle; - final Future Function() onExit; - - static String get _iconPath { - if (Platform.isMacOS) return 'assets/icons/icon_mac_tray.png'; - return 'assets/icons/icon_tray.ico'; - } - - Future init() async { - trayManager.addListener(this); - await trayManager.setIcon(_iconPath); - await trayManager.setContextMenu( - Menu( - items: [ - MenuItem(key: 'toggle', label: 'Show/Hide'), - MenuItem.separator(), - MenuItem(key: 'exit', label: 'Exit'), - ], - ), - ); - } - - Future rebuild({ - required String showHideLabel, - required String exitLabel, - required String tooltip, - }) async { - await trayManager.setToolTip(tooltip); - await trayManager.setContextMenu( - Menu( - items: [ - MenuItem(key: 'toggle', label: showHideLabel), - MenuItem.separator(), - MenuItem(key: 'exit', label: exitLabel), - ], - ), - ); - } - - @override - void onTrayIconMouseDown() => onToggle(); - - @override - void onTrayIconRightMouseDown() { - trayManager.popUpContextMenu(); - } - - @override - void onTrayMenuItemClick(MenuItem menuItem) { - switch (menuItem.key) { - case 'toggle': - onToggle(); - case 'exit': - onExit(); - } - } - - Future dispose() async { - trayManager.removeListener(this); - await trayManager.destroy(); - } -} diff --git a/app/lib/shell/win_known_folders.dart b/app/lib/shell/win_known_folders.dart deleted file mode 100644 index e8baa850..00000000 --- a/app/lib/shell/win_known_folders.dart +++ /dev/null @@ -1,85 +0,0 @@ -// coverage:ignore-file -import 'dart:ffi'; -import 'dart:io'; - -import 'package:ffi/ffi.dart'; - -final class _Guid extends Struct { - @Uint32() - external int data1; - @Uint16() - external int data2; - @Uint16() - external int data3; - @Array(8) - external Array data4; -} - -typedef _SHGetKnownFolderPathNative = - Int32 Function( - Pointer<_Guid> rfid, - Uint32 dwFlags, - IntPtr hToken, - Pointer> ppszPath, - ); -typedef _SHGetKnownFolderPathDart = - int Function( - Pointer<_Guid> rfid, - int dwFlags, - int hToken, - Pointer> ppszPath, - ); - -typedef _CoTaskMemFreeNative = Void Function(Pointer pv); -typedef _CoTaskMemFreeDart = void Function(Pointer pv); - -class WinKnownFolders { - WinKnownFolders._(); - - static String? localAppData() => _resolve(_folderIdLocalAppData); - - static const _folderIdLocalAppData = ( - 0xF1B32785, - 0x6FBA, - 0x4FCF, - [0x9D, 0x55, 0x7B, 0x8E, 0x7F, 0x15, 0x70, 0x91], - ); - - static String? _resolve((int, int, int, List) guidParts) { - if (!Platform.isWindows) return null; - try { - final shell32 = DynamicLibrary.open('shell32.dll'); - final ole32 = DynamicLibrary.open('ole32.dll'); - final shGetKnownFolderPath = shell32 - .lookupFunction< - _SHGetKnownFolderPathNative, - _SHGetKnownFolderPathDart - >('SHGetKnownFolderPath'); - final coTaskMemFree = ole32 - .lookupFunction<_CoTaskMemFreeNative, _CoTaskMemFreeDart>( - 'CoTaskMemFree', - ); - - final guid = calloc<_Guid>(); - final outPtr = calloc>(); - try { - guid.ref.data1 = guidParts.$1; - guid.ref.data2 = guidParts.$2; - guid.ref.data3 = guidParts.$3; - for (var i = 0; i < 8; i++) { - guid.ref.data4[i] = guidParts.$4[i]; - } - final hr = shGetKnownFolderPath(guid, 0, 0, outPtr); - if (hr != 0) return null; - final path = outPtr.value.toDartString(); - coTaskMemFree(outPtr.value.cast()); - return path; - } finally { - calloc.free(guid); - calloc.free(outPtr); - } - } catch (_) { - return null; - } - } -} diff --git a/app/lib/shell/win_package_context.dart b/app/lib/shell/win_package_context.dart deleted file mode 100644 index ff781603..00000000 --- a/app/lib/shell/win_package_context.dart +++ /dev/null @@ -1,93 +0,0 @@ -// coverage:ignore-file -import 'dart:ffi'; -import 'dart:io'; - -import 'package:ffi/ffi.dart'; - -typedef _GetCurrentPackageFullNameNative = - Int32 Function( - Pointer packageFullNameLength, - Pointer packageFullName, - ); -typedef _GetCurrentPackageFullNameDart = - int Function( - Pointer packageFullNameLength, - Pointer packageFullName, - ); - -class WinPackageContext { - WinPackageContext._(); - - static const int _appmodelErrorNoPackage = 15700; - static const int _errorInsufficientBuffer = 122; - - static bool? _cachedIsMsix; - static String? _cachedPackageFullName; - - static bool get isMsix { - if (!Platform.isWindows) return false; - return _cachedIsMsix ??= _detect().$1; - } - - static String? get packageFullName { - if (!Platform.isWindows) return null; - if (_cachedIsMsix == null) _detect(); - return _cachedPackageFullName; - } - - static (bool, String?) _detect() { - try { - final kernel32 = DynamicLibrary.open('kernel32.dll'); - final getCurrentPackageFullName = kernel32 - .lookupFunction< - _GetCurrentPackageFullNameNative, - _GetCurrentPackageFullNameDart - >('GetCurrentPackageFullName'); - - final lenPtr = calloc(); - try { - lenPtr.value = 0; - final probe = getCurrentPackageFullName(lenPtr, nullptr); - if (probe == _appmodelErrorNoPackage) { - _cachedIsMsix = false; - _cachedPackageFullName = null; - return (false, null); - } - if (probe != _errorInsufficientBuffer && probe != 0) { - _cachedIsMsix = false; - _cachedPackageFullName = null; - return (false, null); - } - - final bufLen = lenPtr.value; - if (bufLen == 0) { - _cachedIsMsix = true; - _cachedPackageFullName = null; - return (true, null); - } - - final namePtr = calloc(bufLen).cast(); - try { - final result = getCurrentPackageFullName(lenPtr, namePtr); - if (result != 0) { - _cachedIsMsix = false; - _cachedPackageFullName = null; - return (false, null); - } - final name = namePtr.toDartString(); - _cachedIsMsix = true; - _cachedPackageFullName = name; - return (true, name); - } finally { - calloc.free(namePtr); - } - } finally { - calloc.free(lenPtr); - } - } catch (_) { - _cachedIsMsix = false; - _cachedPackageFullName = null; - return (false, null); - } - } -} diff --git a/app/lib/shell/windows_balloon.dart b/app/lib/shell/windows_balloon.dart deleted file mode 100644 index 879d2de1..00000000 --- a/app/lib/shell/windows_balloon.dart +++ /dev/null @@ -1,164 +0,0 @@ -// coverage:ignore-file -import 'dart:async'; -import 'dart:ffi'; -import 'dart:io'; - -import 'package:ffi/ffi.dart'; - -// Shell_NotifyIconW message codes -const _nimAdd = 0; -const _nimDelete = 2; - -// NIF flags -const _nifIcon = 0x02; -const _nifInfo = 0x10; - -// NIIF flags (balloon icon + silence) -const _niifUser = 0x04; // use hBalloonIcon from the extended struct -const _niifNosound = 0x10; - -// NOTIFYICONDATAW struct size (Vista+ with GUID + hBalloonIcon on x64) -const _nidSize = 976; - -// NOTIFYICONDATAW field offsets on x64 -const _offCbsize = 0; // DWORD (+0) -const _offHwnd = 8; // HWND (+8, pointer-aligned) -const _offUid = 16; // UINT (+16) -const _offUflags = 20; // UINT (+20) -const _offIcon = 24; // HICON (+24, pointer-aligned) -const _offSzinfo = 304; // WCHAR[256] (+304) -const _offSzinfotitle = 820; // WCHAR[64] (+820) -const _offDwinfoflags = 948; // DWORD (+948) -// guidItem [952..967] GUID (16 bytes) -const _offHBalloonIcon = 968; // HICON (+968, pointer-aligned) - -typedef _ShellNotifyNative = - Int32 Function(Uint32 dwMessage, Pointer lpData); -typedef _ShellNotifyDart = int Function(int dwMessage, Pointer lpData); - -typedef _FindWindowNative = - IntPtr Function(Pointer lpClassName, Pointer lpWindowName); -typedef _FindWindowDart = - int Function(Pointer lpClassName, Pointer lpWindowName); - -typedef _ExtractIconNative = - IntPtr Function( - IntPtr hInst, - Pointer pszExeFileName, - Uint32 nIconIndex, - ); -typedef _ExtractIconDart = - int Function(int hInst, Pointer pszExeFileName, int nIconIndex); - -/// Shows a Windows balloon notification near the system tray. -/// -/// Design rules: -/// - Static: no sound, standard Windows fade animation only. -/// - Non-intrusive: app icon, auto-dismisses, never blocks input. -/// - Informative: shows app name + current hotkey so user knows how to open it. -/// -/// Safe to call on any platform — no-op on non-Windows. -/// Use [unawaited] at the call site; this method awaits the cleanup timer. -class WindowsBalloon { - WindowsBalloon._(); - - static const _balloonUid = 0x4350; // 'CP' — avoids conflict with tray_manager - static const _cleanupDelayMs = - 7000; // balloon auto-dismisses around 5-15s on Win11 - - static _ShellNotifyDart? _shellNotify; - static _FindWindowDart? _findWindow; - static _ExtractIconDart? _extractIcon; - - static void _ensureLoaded() { - if (_shellNotify != null) return; - final shell32 = DynamicLibrary.open('shell32.dll'); - final user32 = DynamicLibrary.open('user32.dll'); - _shellNotify = shell32.lookupFunction<_ShellNotifyNative, _ShellNotifyDart>( - 'Shell_NotifyIconW', - ); - _findWindow = user32.lookupFunction<_FindWindowNative, _FindWindowDart>( - 'FindWindowW', - ); - _extractIcon = shell32.lookupFunction<_ExtractIconNative, _ExtractIconDart>( - 'ExtractIconW', - ); - } - - static void _writeUint32(Pointer p, int offset, int value) => - (p + offset).cast().value = value; - - static void _writeUint64(Pointer p, int offset, int value) => - (p + offset).cast().value = value; - - static void _writeWString( - Pointer p, - int offset, - String text, - int maxChars, - ) { - final units = text.codeUnits; - final len = units.length < maxChars - 1 ? units.length : maxChars - 1; - for (var i = 0; i < len; i++) { - (p + offset + i * 2).cast().value = units[i]; - } - // null-terminate - (p + offset + len * 2).cast().value = 0; - } - - /// Shows a balloon notification with [title] and [body]. - /// - /// Returns true if the notification was shown successfully, false otherwise. - /// Callers can use a false return to trigger an in-app fallback. - static Future show({ - required String title, - required String body, - }) async { - if (!Platform.isWindows) return false; - try { - _ensureLoaded(); - - final className = 'FLUTTER_RUNNER_WIN32_WINDOW'.toNativeUtf16(); - final hwnd = _findWindow!(className, nullptr); - calloc.free(className); - if (hwnd == 0) return false; - - // Extract the app's own icon from the running executable. - final exePath = Platform.resolvedExecutable.toNativeUtf16(); - final hIcon = _extractIcon!(0, exePath, 0); - calloc.free(exePath); - - // calloc zero-initialises all bytes. - final nid = calloc(_nidSize); - try { - _writeUint32(nid, _offCbsize, _nidSize); - _writeUint64(nid, _offHwnd, hwnd); - _writeUint32(nid, _offUid, _balloonUid); - _writeUint32(nid, _offUflags, _nifIcon | _nifInfo); - if (hIcon != 0) { - _writeUint64(nid, _offIcon, hIcon); - } - _writeWString(nid, _offSzinfo, body, 256); - _writeWString(nid, _offSzinfotitle, title, 64); - final iconFlags = (hIcon != 0 ? _niifUser : 0) | _niifNosound; - _writeUint32(nid, _offDwinfoflags, iconFlags); - if (hIcon != 0) { - _writeUint64(nid, _offHBalloonIcon, hIcon); - } - - final result = _shellNotify!(_nimAdd, nid); - if (result == 0) return false; - await Future.delayed( - const Duration(milliseconds: _cleanupDelayMs), - ); - return true; - } finally { - _shellNotify!(_nimDelete, nid); - calloc.free(nid); - } - } catch (_) { - // Balloon is best-effort — a failure must never affect app startup. - return false; - } - } -} diff --git a/app/lib/shell/windows_hotkey_channel.dart b/app/lib/shell/windows_hotkey_channel.dart deleted file mode 100644 index 766a2c69..00000000 --- a/app/lib/shell/windows_hotkey_channel.dart +++ /dev/null @@ -1,138 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; - -class WindowsHotkeyRegistrationResponse { - const WindowsHotkeyRegistrationResponse({ - required this.success, - this.errorCode, - this.win32Error, - }); - - final bool success; - final String? errorCode; - final int? win32Error; -} - -class WindowsPasteInputResponse { - const WindowsPasteInputResponse({ - required this.success, - this.sentInputs, - this.expectedInputs, - this.errorCode, - this.win32Error, - this.attached = false, - this.focusRepaired = false, - this.focusBefore, - }); - - final bool success; - final int? sentInputs; - final int? expectedInputs; - final String? errorCode; - final int? win32Error; - final bool attached; - final bool focusRepaired; - final int? focusBefore; -} - -/// Owns the Windows runner channel backed by RegisterHotKey/WM_HOTKEY. -/// -/// hotkey_manager's key-up callback is macOS-only. Keeping the Windows path -/// here makes registration results explicit and avoids retaining callbacks in -/// the plugin singleton after settings changes or application shutdown. -class WindowsHotkeyChannel { - WindowsHotkeyChannel({ - MethodChannel channel = const MethodChannel(_channelName), - }) : _channel = channel; - - static const _channelName = 'copypaste/windows_hotkeys'; - - final MethodChannel _channel; - void Function(String id)? _onPressed; - - Future start(void Function(String id) onPressed) async { - _onPressed = onPressed; - _channel.setMethodCallHandler(_handleNativeCall); - } - - Future _handleNativeCall(MethodCall call) async { - if (call.method != 'hotkeyPressed') return null; - final id = call.arguments; - if (id is! String) { - AppLogger.warn('Ignored Windows hotkey event with an invalid id'); - return null; - } - AppLogger.info('Windows hotkey invoked: id=$id'); - _onPressed?.call(id); - return null; - } - - Future register({ - required String id, - required int virtualKey, - required bool useCtrl, - required bool useWin, - required bool useAlt, - required bool useShift, - }) async { - final response = await _channel.invokeMethod('register', { - 'id': id, - 'virtualKey': virtualKey, - 'useCtrl': useCtrl, - 'useWin': useWin, - 'useAlt': useAlt, - 'useShift': useShift, - }); - if (response is! Map) { - return const WindowsHotkeyRegistrationResponse( - success: false, - errorCode: 'invalidNativeResponse', - ); - } - return WindowsHotkeyRegistrationResponse( - success: response['success'] == true, - errorCode: response['errorCode'] as String?, - win32Error: response['win32Error'] as int?, - ); - } - - Future dispose() async { - // Break the owner reference before crossing the platform boundary. Even if - // teardown fails, the channel can no longer retain the app State callback. - _onPressed = null; - try { - await _channel.invokeMethod('unregisterAll'); - } finally { - _channel.setMethodCallHandler(null); - } - } - - static Future sendPaste({ - int targetHwnd = 0, - int targetFocusHwnd = 0, - int targetThreadId = 0, - MethodChannel channel = const MethodChannel(_channelName), - }) async { - final response = await channel.invokeMethod('sendPaste', { - 'targetHwnd': targetHwnd, - 'targetFocusHwnd': targetFocusHwnd, - 'targetThreadId': targetThreadId, - }); - if (response is! Map) { - return const WindowsPasteInputResponse( - success: false, - errorCode: 'invalidNativeResponse', - ); - } - return WindowsPasteInputResponse( - success: response['success'] == true, - sentInputs: response['sentInputs'] as int?, - expectedInputs: response['expectedInputs'] as int?, - errorCode: response['errorCode'] as String?, - win32Error: response['win32Error'] as int?, - attached: response['attached'] == true, - focusRepaired: response['focusRepaired'] == true, - focusBefore: response['focusBefore'] as int?, - ); - } -} diff --git a/app/lib/theme/app_theme_data.dart b/app/lib/theme/app_theme_data.dart deleted file mode 100644 index 904943c9..00000000 --- a/app/lib/theme/app_theme_data.dart +++ /dev/null @@ -1,347 +0,0 @@ -import 'package:flutter/material.dart'; - -abstract class AppThemeData { - String get id; - String get name; - - AppThemeColorScheme get light; - AppThemeColorScheme get dark; - - AppThemeTypography get typography; - AppThemeSpacing get spacing; - AppThemeRadii get radii; - AppThemeSizing get sizing; - AppThemeIcons get icons; - AppThemeCardStyle get cardStyle; - AppThemeFilterStyle get filterStyle; - AppThemeSearchStyle get searchStyle; - AppThemeToolbarStyle get toolbarStyle; -} - -class AppThemeColorScheme { - const AppThemeColorScheme({ - required this.surface, - required this.surfaceVariant, - required this.background, - required this.onSurface, - required this.onSurfaceVariant, - required this.onSurfaceMuted, - required this.onSurfaceSubtle, - required this.primary, - required this.onPrimary, - required this.cardBackground, - required this.cardBorder, - required this.searchBackground, - required this.searchBorder, - required this.divider, - required this.danger, - required this.warning, - required this.accentRed, - required this.accentGreen, - required this.accentPurple, - required this.accentYellow, - required this.accentBlue, - required this.accentOrange, - }); - - final Color surface; - final Color surfaceVariant; - final Color background; - final Color onSurface; - final Color onSurfaceVariant; - final Color onSurfaceMuted; - final Color onSurfaceSubtle; - final Color primary; - final Color onPrimary; - final Color cardBackground; - final Color cardBorder; - final Color searchBackground; - final Color searchBorder; - final Color divider; - final Color danger; - final Color warning; - final Color accentRed; - final Color accentGreen; - final Color accentPurple; - final Color accentYellow; - final Color accentBlue; - final Color accentOrange; - - Color accentForIndex(int index) => switch (index) { - 1 => accentRed, - 2 => accentGreen, - 3 => accentPurple, - 4 => accentYellow, - 5 => accentBlue, - 6 => accentOrange, - _ => Colors.transparent, - }; -} - -class AppThemeTypography { - const AppThemeTypography({ - required this.fontFamily, - required this.cardContent, - required this.cardHeader, - required this.cardLabel, - required this.cardFooter, - required this.cardTimestamp, - required this.searchInput, - required this.filterChip, - required this.filterTabChip, - required this.toolbarButton, - required this.tabLabel, - required this.emptyState, - required this.emptyStateIcon, - required this.branding, - }); - - final String fontFamily; - final TextStyle cardContent; - final TextStyle cardHeader; - final TextStyle cardLabel; - final TextStyle cardFooter; - final TextStyle cardTimestamp; - final TextStyle searchInput; - final TextStyle filterChip; - final TextStyle filterTabChip; - final TextStyle toolbarButton; - final TextStyle tabLabel; - final TextStyle emptyState; - final TextStyle emptyStateIcon; - final TextStyle branding; -} - -class AppThemeSpacing { - const AppThemeSpacing({ - required this.xs, - required this.sm, - required this.md, - required this.lg, - required this.xl, - required this.cardPadding, - required this.cardGap, - required this.listPadding, - required this.searchBarPadding, - required this.titleBarHeight, - required this.bottomBarHeight, - required this.filterTabBarPadding, - required this.filterTabBarHeight, - }); - - final double xs; - final double sm; - final double md; - final double lg; - final double xl; - final EdgeInsets cardPadding; - final double cardGap; - final EdgeInsets listPadding; - final EdgeInsets searchBarPadding; - final double titleBarHeight; - final double bottomBarHeight; - final EdgeInsets filterTabBarPadding; - final double filterTabBarHeight; -} - -class AppThemeRadii { - const AppThemeRadii({ - required this.xs, - required this.sm, - required this.md, - required this.lg, - required this.card, - required this.chip, - required this.searchBox, - required this.button, - required this.thumbnail, - }); - - final double xs; - final double sm; - final double md; - final double lg; - final double card; - final double chip; - final double searchBox; - final double button; - final double thumbnail; -} - -class AppThemeSizing { - const AppThemeSizing({ - required this.cardMinHeight, - required this.cardImageHeight, - required this.cardMinLines, - required this.cardMaxLines, - required this.chipHeight, - required this.iconSizeXs, - required this.iconSizeSm, - required this.iconSizeMd, - required this.iconSizeLg, - required this.titleBarIconSize, - required this.toolbarIconSize, - required this.colorIndicatorWidth, - required this.colorDotSize, - required this.searchBoxHeight, - required this.cardTypeIconContainerSize, - }); - - final double cardMinHeight; - final double cardImageHeight; - final int cardMinLines; - final int cardMaxLines; - final double chipHeight; - final double iconSizeXs; - final double iconSizeSm; - final double iconSizeMd; - final double iconSizeLg; - final double titleBarIconSize; - final double toolbarIconSize; - final double colorIndicatorWidth; - final double colorDotSize; - final double searchBoxHeight; - final double cardTypeIconContainerSize; -} - -class AppThemeIcons { - const AppThemeIcons({ - required this.text, - required this.textRich, - required this.image, - required this.link, - required this.file, - required this.folder, - required this.audio, - required this.video, - required this.unknown, - required this.pin, - required this.pinFilled, - required this.delete, - required this.edit, - required this.copy, - required this.paste, - required this.search, - required this.filter, - required this.close, - required this.settings, - required this.help, - required this.recent, - required this.clear, - required this.warning, - required this.colorLabel, - }); - - final IconData text; - - final IconData textRich; - final IconData image; - final IconData link; - final IconData file; - final IconData folder; - final IconData audio; - final IconData video; - final IconData unknown; - final IconData pin; - final IconData pinFilled; - final IconData delete; - final IconData edit; - final IconData copy; - final IconData paste; - final IconData search; - final IconData filter; - final IconData close; - final IconData settings; - final IconData help; - final IconData recent; - final IconData clear; - final IconData warning; - final IconData colorLabel; - - IconData forContentType(int typeValue) => switch (typeValue) { - 0 => text, - 1 => image, - 2 => file, - 3 => folder, - 4 => link, - 5 => audio, - 6 => video, - 7 => Icons.alternate_email_rounded, - 8 => Icons.phone_outlined, - 9 => Icons.palette_outlined, - 10 => Icons.dns_outlined, - 11 => Icons.fingerprint_rounded, - 12 => Icons.data_object_rounded, - _ => unknown, - }; -} - -class AppThemeCardStyle { - const AppThemeCardStyle({ - required this.elevation, - required this.hoverElevation, - required this.borderWidth, - required this.colorIndicatorBorderRadius, - required this.contentLineHeight, - required this.headerOpacity, - required this.footerOpacity, - required this.timestampOpacity, - required this.contentOpacity, - required this.hoverActionOpacity, - required this.appSourceOpacity, - }); - - final double elevation; - final double hoverElevation; - final double borderWidth; - final BorderRadius colorIndicatorBorderRadius; - final double contentLineHeight; - final double headerOpacity; - final double footerOpacity; - final double timestampOpacity; - final double contentOpacity; - final double hoverActionOpacity; - final double appSourceOpacity; -} - -class AppThemeFilterStyle { - const AppThemeFilterStyle({ - required this.chipSpacing, - required this.chipPadding, - required this.selectedOpacity, - required this.unselectedOpacity, - required this.animationDuration, - }); - - final double chipSpacing; - final EdgeInsets chipPadding; - final double selectedOpacity; - final double unselectedOpacity; - final Duration animationDuration; -} - -class AppThemeSearchStyle { - const AppThemeSearchStyle({ - required this.debounceDuration, - required this.padding, - required this.iconOpacity, - }); - - final Duration debounceDuration; - final EdgeInsets padding; - final double iconOpacity; -} - -class AppThemeToolbarStyle { - const AppThemeToolbarStyle({ - required this.buttonSpacing, - required this.buttonPadding, - required this.iconOpacity, - required this.hoverOpacity, - }); - - final double buttonSpacing; - final EdgeInsets buttonPadding; - final double iconOpacity; - final double hoverOpacity; -} diff --git a/app/lib/theme/compact_theme.dart b/app/lib/theme/compact_theme.dart deleted file mode 100644 index 63fc0a10..00000000 --- a/app/lib/theme/compact_theme.dart +++ /dev/null @@ -1,164 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'app_theme_data.dart'; -import 'dark_theme.dart'; -import 'light_theme.dart'; - -class CompactTheme extends AppThemeData { - @override - String get id => 'compact'; - - @override - String get name => 'Compact'; - - @override - AppThemeColorScheme get light => lightColorScheme; - - @override - AppThemeColorScheme get dark => darkColorScheme; - - @override - AppThemeTypography get typography => const AppThemeTypography( - fontFamily: 'Inter', - cardContent: TextStyle( - fontSize: 13, - height: 1.5, - fontWeight: FontWeight.w400, - ), - cardHeader: TextStyle(fontSize: 10.5, fontWeight: FontWeight.w700), - cardLabel: TextStyle( - fontSize: 10.5, - fontWeight: FontWeight.w700, - letterSpacing: 0.06, - ), - cardFooter: TextStyle(fontSize: 10), - cardTimestamp: TextStyle(fontSize: 10), - searchInput: TextStyle(fontSize: 13, fontWeight: FontWeight.w400), - filterChip: TextStyle(fontSize: 11, fontWeight: FontWeight.w500), - filterTabChip: TextStyle(fontSize: 11, fontWeight: FontWeight.w500), - toolbarButton: TextStyle(fontSize: 11), - tabLabel: TextStyle(fontSize: 12, fontWeight: FontWeight.w500), - emptyState: TextStyle(fontSize: 12.5), - emptyStateIcon: TextStyle(fontSize: 32), - branding: TextStyle(fontSize: 11, fontWeight: FontWeight.w500), - ); - - @override - AppThemeSpacing get spacing => const AppThemeSpacing( - xs: 2, - sm: 4, - md: 8, - lg: 12, - xl: 16, - cardPadding: EdgeInsets.symmetric(horizontal: 13, vertical: 11), - cardGap: 5, - listPadding: EdgeInsets.symmetric(horizontal: 8), - searchBarPadding: EdgeInsets.fromLTRB(12, 12, 12, 10), - titleBarHeight: 56, - bottomBarHeight: 34, - filterTabBarPadding: EdgeInsets.fromLTRB(12, 0, 12, 10), - filterTabBarHeight: 34, - ); - - @override - AppThemeRadii get radii => const AppThemeRadii( - xs: 4, - sm: 6, - md: 8, - lg: 12, - card: 9, - chip: 999, - searchBox: 999, - button: 6, - thumbnail: 6, - ); - - @override - AppThemeSizing get sizing => const AppThemeSizing( - cardMinHeight: 52, - cardImageHeight: 110, - cardMinLines: 2, - cardMaxLines: 5, - chipHeight: 28, - iconSizeXs: 9, - iconSizeSm: 10, - iconSizeMd: 14, - iconSizeLg: 18, - titleBarIconSize: 16, - toolbarIconSize: 14, - colorIndicatorWidth: 3, - colorDotSize: 12, - searchBoxHeight: 34, - cardTypeIconContainerSize: 34, - ); - - @override - AppThemeIcons get icons => const AppThemeIcons( - text: Icons.text_snippet_outlined, - textRich: Icons.text_format_rounded, - image: Icons.image_outlined, - link: Icons.link_rounded, - file: Icons.insert_drive_file_outlined, - folder: Icons.folder_outlined, - audio: Icons.music_note_rounded, - video: Icons.videocam_outlined, - unknown: Icons.help_outline_rounded, - pin: Icons.push_pin_outlined, - pinFilled: Icons.push_pin_rounded, - delete: Icons.delete_outline_rounded, - edit: Icons.edit_outlined, - copy: Icons.content_copy_rounded, - paste: Icons.content_paste_rounded, - search: Icons.search_rounded, - filter: Icons.tune_rounded, - close: Icons.close_rounded, - settings: Icons.settings_outlined, - help: Icons.help_outline_rounded, - recent: Icons.access_time_rounded, - clear: Icons.clear_all_rounded, - warning: Icons.warning_amber_rounded, - colorLabel: Icons.circle, - ); - - @override - AppThemeCardStyle get cardStyle => const AppThemeCardStyle( - elevation: 0, - hoverElevation: 0, - borderWidth: 1.0, - colorIndicatorBorderRadius: BorderRadius.only( - topLeft: Radius.circular(9), - bottomLeft: Radius.circular(9), - ), - contentLineHeight: 1.45, - headerOpacity: 0.7, - footerOpacity: 0.4, - timestampOpacity: 0.38, - contentOpacity: 0.82, - hoverActionOpacity: 0.55, - appSourceOpacity: 0.45, - ); - - @override - AppThemeFilterStyle get filterStyle => const AppThemeFilterStyle( - chipSpacing: 6, - chipPadding: EdgeInsets.symmetric(horizontal: 8, vertical: 4), - selectedOpacity: 1.0, - unselectedOpacity: 0.5, - animationDuration: Duration(milliseconds: 200), - ); - - @override - AppThemeSearchStyle get searchStyle => const AppThemeSearchStyle( - debounceDuration: Duration(milliseconds: 300), - padding: EdgeInsets.symmetric(horizontal: 14, vertical: 8), - iconOpacity: 0.4, - ); - - @override - AppThemeToolbarStyle get toolbarStyle => const AppThemeToolbarStyle( - buttonSpacing: 2, - buttonPadding: EdgeInsets.all(4), - iconOpacity: 0.6, - hoverOpacity: 0.9, - ); -} diff --git a/app/lib/theme/dark_theme.dart b/app/lib/theme/dark_theme.dart deleted file mode 100644 index c8d0463d..00000000 --- a/app/lib/theme/dark_theme.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'app_theme_data.dart'; - -const darkColorScheme = AppThemeColorScheme( - surface: Color(0xFF1A1D2E), - surfaceVariant: Color(0xFF232637), - background: Color(0xFF1A1D2E), - onSurface: Color(0xFFFFFFFF), - onSurfaceVariant: Color(0x8CFFFFFF), - onSurfaceMuted: Color(0x66FFFFFF), - onSurfaceSubtle: Color(0x1AFFFFFF), - primary: Color(0xFF818CF8), - onPrimary: Color(0xFFFFFFFF), - cardBackground: Color(0xFF1E2132), - cardBorder: Color(0xFF2A2D40), - searchBackground: Color(0xFF1F2234), - searchBorder: Color(0xFF2C2F42), - divider: Color(0xFF2A2D3E), - danger: Color(0xFFFCA5A5), - warning: Color(0xFFFDE047), - accentRed: Color(0xFFFCA5A5), - accentGreen: Color(0xFF86EFAC), - accentPurple: Color(0xFFA5B4FC), - accentYellow: Color(0xFFFDE047), - accentBlue: Color(0xFFA5B4FC), - accentOrange: Color(0xFFFDBA74), -); diff --git a/app/lib/theme/light_theme.dart b/app/lib/theme/light_theme.dart deleted file mode 100644 index 25bd1296..00000000 --- a/app/lib/theme/light_theme.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'app_theme_data.dart'; - -const lightColorScheme = AppThemeColorScheme( - surface: Color(0xFFEBEBF0), - surfaceVariant: Color(0xFFE4E4EA), - background: Color(0xFFEBEBF0), - onSurface: Color(0xFF000000), - onSurfaceVariant: Color(0xFF6E6E73), - onSurfaceMuted: Color(0x80000000), - onSurfaceSubtle: Color(0x1A000000), - primary: Color(0xFF4F46E5), - onPrimary: Color(0xFFFFFFFF), - cardBackground: Color(0xFFFFFFFF), - cardBorder: Color(0x12000000), - searchBackground: Color(0x8CFFFFFF), - searchBorder: Color(0x14000000), - divider: Color(0x12000000), - danger: Color(0xFFB91C1C), - warning: Color(0xFF92400E), - accentRed: Color(0xFFDC2626), - accentGreen: Color(0xFF166534), - accentPurple: Color(0xFF3730A3), - accentYellow: Color(0xFF92400E), - accentBlue: Color(0xFF3730A3), - accentOrange: Color(0xFFC2410C), -); diff --git a/app/lib/theme/theme_provider.dart b/app/lib/theme/theme_provider.dart deleted file mode 100644 index b450104a..00000000 --- a/app/lib/theme/theme_provider.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; - -import 'app_theme_data.dart'; - -class CopyPasteTheme extends InheritedWidget { - const CopyPasteTheme({ - required this.themeData, - required super.child, - super.key, - }); - - final AppThemeData themeData; - - static AppThemeData of(BuildContext context) { - final widget = context.dependOnInheritedWidgetOfExactType(); - if (widget == null) { - throw FlutterError('No CopyPasteTheme found in context'); - } - return widget.themeData; - } - - static AppThemeColorScheme colorsOf(BuildContext context) { - final theme = of(context); - final brightness = Theme.of(context).brightness; - return brightness == Brightness.dark ? theme.dark : theme.light; - } - - @override - bool updateShouldNotify(CopyPasteTheme oldWidget) => - themeData.id != oldWidget.themeData.id; -} diff --git a/app/lib/widgets/accessibility_dialog.dart b/app/lib/widgets/accessibility_dialog.dart deleted file mode 100644 index 005c3fba..00000000 --- a/app/lib/widgets/accessibility_dialog.dart +++ /dev/null @@ -1,173 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:listener/listener.dart'; - -import '../l10n/app_localizations.dart'; - -/// Phases of the permission dialog, driving which message and actions are shown. -enum _DialogPhase { - /// First-time request — standard "you need to grant permission" message. - initial, - - /// Polling timed out — suggest restarting the app. - retryNeeded, -} - -class AccessibilityDialog extends StatefulWidget { - const AccessibilityDialog({required this.previouslyGranted, super.key}); - - /// Whether we know the user had granted permission before (stored in config). - /// When true, the dialog shows Gatekeeper-specific instructions (remove + - /// re-add in Accessibility settings) instead of the standard first-time msg. - final bool previouslyGranted; - - /// Checks accessibility status and shows the dialog if not granted. - /// - /// Returns `true` if permission is (or became) granted, `false` otherwise. - /// - /// Uses [ClipboardWriter.checkAccessibility] (read-only) to avoid triggering - /// the macOS system prompt before the user reads the explanation dialog. - /// - /// [previouslyGranted] drives which message variant is shown — see - /// [_DialogPhase] and [previouslyGranted] for details. - static Future checkAndShow( - BuildContext context, { - bool previouslyGranted = false, - }) async { - final granted = await ClipboardWriter.checkAccessibility(); - if (granted || !context.mounted) return granted; - await showDialog( - context: context, - barrierDismissible: false, - barrierColor: Colors.black26, - builder: (_) => Theme( - data: Theme.of(context), - child: AccessibilityDialog(previouslyGranted: previouslyGranted), - ), - ); - // Return final state after dialog dismissed. - return ClipboardWriter.checkAccessibility(); - } - - @override - State createState() => _AccessibilityDialogState(); -} - -class _AccessibilityDialogState extends State { - Timer? _pollTimer; - int _pollCount = 0; - _DialogPhase _phase = _DialogPhase.initial; - bool _checking = false; - - /// After this many 1-second polls without success, switch to - /// [_DialogPhase.retryNeeded] to suggest restarting the app. - static const _maxPollsBeforeRetry = 30; - - @override - void initState() { - super.initState(); - _pollTimer = Timer.periodic(const Duration(seconds: 1), (_) async { - _pollCount++; - final granted = await ClipboardWriter.checkAccessibility(); - if (granted && mounted) { - _pollTimer?.cancel(); - Navigator.of(context).pop(); - return; - } - if (_pollCount >= _maxPollsBeforeRetry && - _phase == _DialogPhase.initial && - mounted) { - setState(() => _phase = _DialogPhase.retryNeeded); - } - }); - } - - /// Manual "Check Again" action — uses [requestAccessibility] which calls - /// `AXIsProcessTrustedWithOptions(prompt: true)` to give the OS another - /// chance to recognise the current process identity. - Future _manualCheck() async { - if (_checking) return; - setState(() => _checking = true); - - final granted = await ClipboardWriter.requestAccessibility(); - - if (granted && mounted) { - _pollTimer?.cancel(); - Navigator.of(context).pop(); - } else if (mounted) { - setState(() { - _checking = false; - _phase = _DialogPhase.retryNeeded; - }); - } - } - - @override - void dispose() { - _pollTimer?.cancel(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final l = AppLocalizations.of(context); - final cs = Theme.of(context).colorScheme; - final isStale = widget.previouslyGranted; - - return AlertDialog( - backgroundColor: cs.surface, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), - icon: Icon( - isStale ? Icons.warning_amber_rounded : Icons.security, - size: 40, - color: isStale ? Colors.red : Colors.orange, - ), - title: Text( - isStale ? l.permissionsResetTitle : l.permissionsTitle, - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w600, - color: cs.onSurface, - ), - textAlign: TextAlign.center, - ), - content: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text( - isStale - ? l.permissionsResetMessage - : (_phase == _DialogPhase.retryNeeded - ? l.permissionsRestartMessage - : l.permissionsMessage), - style: TextStyle(fontSize: 13, color: cs.onSurfaceVariant), - textAlign: TextAlign.center, - ), - ], - ), - actionsAlignment: MainAxisAlignment.center, - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(), - child: Text( - l.permissionsDismiss, - style: TextStyle(color: cs.onSurfaceVariant), - ), - ), - if (_phase == _DialogPhase.retryNeeded || isStale) ...[ - const SizedBox(width: 4), - OutlinedButton( - onPressed: _checking ? null : _manualCheck, - child: Text(_checking ? '...' : l.permissionsCheckAgain), - ), - ], - const SizedBox(width: 4), - FilledButton( - onPressed: () => ClipboardWriter.openAccessibilitySettings(), - child: Text(l.permissionsOpenSettings), - ), - ], - ); - } -} diff --git a/app/lib/widgets/clipboard_card.dart b/app/lib/widgets/clipboard_card.dart deleted file mode 100644 index 8dc87e78..00000000 --- a/app/lib/widgets/clipboard_card.dart +++ /dev/null @@ -1,1769 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:listener/listener.dart'; -import '../l10n/app_localizations.dart'; -import '../theme/app_theme_data.dart'; -import '../theme/theme_provider.dart'; -import 'label_color_dialog.dart'; - -class ClipboardCard extends StatefulWidget { - const ClipboardCard({ - required this.item, - required this.onTap, - required this.onPin, - required this.onDelete, - required this.onLabelColor, - this.onPastePlain, - this.onCopy, - this.onExpandToggle, - this.onOpen, - this.onSelect, - this.onHoverChanged, - this.onRequestThumbnailRefresh, - this.isSelected = false, - this.isExpanded = false, - this.cardMinLines, - this.cardMaxLines, - super.key, - }); - - final ClipboardItem item; - final VoidCallback onTap; - final VoidCallback onPin; - final VoidCallback onDelete; - final void Function(String? label, CardColor color) onLabelColor; - final VoidCallback? onPastePlain; - final VoidCallback? onCopy; - final VoidCallback? onExpandToggle; - final VoidCallback? onOpen; - final VoidCallback? onSelect; - final ValueChanged? onHoverChanged; - final void Function(ClipboardItem item)? onRequestThumbnailRefresh; - final bool isSelected; - final bool isExpanded; - final int? cardMinLines; - final int? cardMaxLines; - - @override - State createState() => _ClipboardCardState(); -} - -class _ClipboardCardState extends State { - bool _hovering = false; - String? _resolvedImagePath; - bool _resolvedIsThumb = false; - bool _imagePathResolved = false; - DateTime? _lastPrimaryDown; - bool _isTextOverflowing = false; - Map? _cachedMetadata; - String _cachedExt = ''; - String _displayContent = ''; - bool _sourceAvailable = true; - bool _isRichText = false; - bool _hasFormatting = false; - - static const _doubleTapTimeout = Duration(milliseconds: 300); - - // Clipboard items can hold multi-MB blobs (logs, base64, minified JSON). - // Laying out the full string blocks the UI thread, so the card measures and - // paints only a bounded preview; the full content stays in the model for - // pasting and search. - static const _maxDisplayChars = 2000; - - void _handlePointerDown(PointerDownEvent event) { - if (event.buttons != kPrimaryButton) return; - widget.onSelect?.call(); - final now = DateTime.now(); - if (_lastPrimaryDown != null && - now.difference(_lastPrimaryDown!) < _doubleTapTimeout) { - _lastPrimaryDown = null; - widget.onTap(); - } else { - _lastPrimaryDown = now; - } - } - - @override - void initState() { - super.initState(); - _recomputeDerived(); - _resolveImagePath(); - _resolveSourceAvailability(); - } - - @override - void didUpdateWidget(ClipboardCard oldWidget) { - super.didUpdateWidget(oldWidget); - if (oldWidget.item.id != widget.item.id || - oldWidget.item.content != widget.item.content || - oldWidget.item.thumbPath != widget.item.thumbPath || - oldWidget.item.metadata != widget.item.metadata) { - _imagePathResolved = false; - _resolvedIsThumb = false; - _recomputeDerived(); - _resolveImagePath(); - _resolveSourceAvailability(); - } - } - - void _recomputeDerived() { - final item = widget.item; - _cachedMetadata = _parseMetadata(item); - // Both parse the metadata JSON, so they are resolved here rather than on - // every build, alongside the other derived values. - _isRichText = item.hasRichText; - _hasFormatting = item.hasFormatting; - _cachedExt = _getExtForItem(item); - _displayContent = item.content.length <= _maxDisplayChars - ? item.content - : item.content.substring(0, _maxDisplayChars); - } - - // Resolves whether the underlying source file(s) still exist off the build - // path: existsSync on every card build is blocking I/O that janks the list, - // especially for multi-path file items. The result feeds the "open" action - // and the "not found" badge. - Future _resolveSourceAvailability() async { - final item = widget.item; - bool available; - if (item.type == ClipboardContentType.image) { - final path = item.content.trim(); - available = path.isNotEmpty && await File(path).exists(); - } else if (item.isFileBasedType) { - final paths = item.content - .split('\n') - .where((s) => s.isNotEmpty) - .toList(); - available = paths.isNotEmpty; - for (final path in paths) { - if (!await File(path).exists() && !await Directory(path).exists()) { - available = false; - break; - } - } - } else { - available = true; - } - if (!mounted || available == _sourceAvailable) return; - setState(() => _sourceAvailable = available); - } - - bool _needsExpandToggle(ClipboardItem item) { - if (widget.isExpanded) return true; - final type = item.type; - if (type == ClipboardContentType.text || - type == ClipboardContentType.unknown || - type == ClipboardContentType.json) { - return _isTextOverflowing; - } - return false; - } - - bool _needsOpenAction(ClipboardItem item) { - return switch (item.type) { - ClipboardContentType.image => - _imagePathResolved && _resolvedImagePath != null && _sourceAvailable, - ClipboardContentType.file || - ClipboardContentType.folder || - ClipboardContentType.audio || - ClipboardContentType.video => _sourceAvailable, - ClipboardContentType.link || - ClipboardContentType.email || - ClipboardContentType.phone => true, - _ => false, - }; - } - - void _resolveImagePath() { - final item = widget.item; - final isImage = item.type == ClipboardContentType.image; - final isMedia = - item.type == ClipboardContentType.video || - item.type == ClipboardContentType.audio; - if (!isImage && !isMedia) { - return; - } - if (isImage) { - // Always ask the host to refresh the thumb if the source mtime is - // stale. The host is responsible for deciding (and rate-limiting). - widget.onRequestThumbnailRefresh?.call(item); - } - _checkImagePathsAsync(item, allowContentFallback: isImage); - } - - /// Resolves the best path to display for an image item: prefers - /// `item.thumbPath` (when present and the file exists), falls back to - /// `item.content`, finally null. - /// - /// When [allowContentFallback] is false (video / audio items) the - /// content path is never used as a fallback because it points to the - /// external media file, not a renderable image. - Future _checkImagePathsAsync( - ClipboardItem item, { - bool allowContentFallback = true, - }) async { - final thumb = item.thumbPath; - if (thumb != null && thumb.isNotEmpty) { - if (await File(thumb).exists()) { - if (!mounted) return; - setState(() { - _resolvedImagePath = thumb; - _resolvedIsThumb = true; - _imagePathResolved = true; - }); - return; - } - } - - if (!allowContentFallback) { - if (!mounted) return; - setState(() { - _resolvedImagePath = null; - _resolvedIsThumb = false; - _imagePathResolved = true; - }); - return; - } - - final content = item.content; - if (content.isEmpty) { - if (!mounted) return; - setState(() { - _resolvedImagePath = null; - _resolvedIsThumb = false; - _imagePathResolved = true; - }); - return; - } - final exists = await File(content).exists(); - if (!mounted) return; - setState(() { - _resolvedImagePath = exists ? content : null; - _resolvedIsThumb = false; - _imagePathResolved = true; - }); - } - - Future _editLabelColor(BuildContext context) async { - if (!mounted) return; - final result = await LabelColorDialog.show( - context, - currentLabel: widget.item.label, - currentColor: widget.item.cardColor, - ); - if (result != null && mounted) { - widget.onLabelColor(result.label, result.color); - } - } - - // Offered only when there is formatting to strip: on a clip the OS never - // gave styles to, "paste as plain text" is identical to a normal paste and - // the button is just noise. - bool get _isPlainPasteable => - _hasFormatting && - (widget.item.type == ClipboardContentType.text || - widget.item.type == ClipboardContentType.link); - - // Real on-disk paths backing this item, for drag-out. Image content is a - // single file; file/folder/audio/video may carry several paths joined by - // newlines. Other types are not file-backed and yield no paths. - List get _draggablePaths { - final item = widget.item; - switch (item.type) { - case ClipboardContentType.image: - final p = item.content.trim(); - return p.isEmpty ? const [] : [p]; - case ClipboardContentType.file: - case ClipboardContentType.folder: - case ClipboardContentType.audio: - case ClipboardContentType.video: - return item.content - .split('\n') - .map((s) => s.trim()) - .where((s) => s.isNotEmpty) - .toList(); - default: - return const []; - } - } - - // Draggable only once the backing file(s) are known to exist on disk. - bool get _canDrag => _sourceAvailable && _draggablePaths.isNotEmpty; - - // Hands the original file(s) to a native OLE drag so a drop target (e.g. a - // browser upload zone) gets their unique names instead of Chromium's fixed - // "image.png". Fire-and-forget: the native call blocks its own thread and - // must run after this gesture callback returns. - void _startDrag() { - final paths = _draggablePaths; - if (paths.isEmpty) return; - unawaited(ClipboardWriter.startFileDrag(paths)); - } - - Widget _wrapDraggable(Widget child) { - if (!_canDrag) return child; - return MouseRegion( - cursor: SystemMouseCursors.grab, - child: GestureDetector( - behavior: HitTestBehavior.opaque, - onPanStart: (_) => _startDrag(), - child: child, - ), - ); - } - - Future _showContextMenu(BuildContext ctx, Offset position) async { - final size = MediaQuery.of(ctx).size; - final item = widget.item; - final colors = CopyPasteTheme.colorsOf(ctx); - final isDark = Theme.of(ctx).brightness == Brightness.dark; - final l = AppLocalizations.of(ctx); - final action = await showMenu<_ContextAction>( - context: ctx, - position: RelativeRect.fromLTRB( - position.dx, - position.dy, - size.width - position.dx, - size.height - position.dy, - ), - elevation: 8, - color: isDark ? colors.surfaceVariant : colors.cardBackground, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), - items: [ - PopupMenuItem( - value: _ContextAction.paste, - height: 32, - child: _ContextMenuItem( - icon: Icons.content_paste_rounded, - label: l.menuPaste, - colors: colors, - ), - ), - if (_isPlainPasteable && widget.onPastePlain != null) - PopupMenuItem( - value: _ContextAction.pastePlain, - height: 32, - child: _ContextMenuItem( - icon: Icons.format_clear_rounded, - label: l.menuPastePlain, - colors: colors, - ), - ), - if (widget.onCopy != null) - PopupMenuItem( - value: _ContextAction.copy, - height: 32, - child: _ContextMenuItem( - icon: Icons.copy_rounded, - label: l.menuCopy, - colors: colors, - ), - ), - const PopupMenuDivider(height: 1), - PopupMenuItem( - value: _ContextAction.pin, - height: 32, - child: _ContextMenuItem( - icon: item.isPinned - ? Icons.push_pin_rounded - : Icons.push_pin_outlined, - label: item.isPinned ? l.menuUnpin : l.menuPin, - colors: colors, - ), - ), - PopupMenuItem( - value: _ContextAction.edit, - height: 32, - child: _ContextMenuItem( - icon: Icons.edit_rounded, - label: l.menuEdit, - colors: colors, - ), - ), - const PopupMenuDivider(height: 1), - PopupMenuItem( - value: _ContextAction.delete, - height: 32, - child: _ContextMenuItem( - icon: Icons.delete_rounded, - label: l.menuDelete, - colors: colors, - danger: true, - ), - ), - ], - ); - if (!mounted) return; - switch (action) { - case _ContextAction.paste: - widget.onTap(); - case _ContextAction.pastePlain: - widget.onPastePlain?.call(); - case _ContextAction.copy: - widget.onCopy?.call(); - case _ContextAction.pin: - widget.onPin(); - case _ContextAction.edit: - await _editLabelColor(context); - case _ContextAction.delete: - widget.onDelete(); - case null: - break; - } - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - final isDark = Theme.of(context).brightness == Brightness.dark; - final item = widget.item; - final accentColor = colors.accentForIndex(item.cardColor.value); - final hasColor = item.cardColor != CardColor.none; - - return MouseRegion( - onEnter: (_) { - setState(() => _hovering = true); - widget.onHoverChanged?.call(true); - }, - onExit: (_) { - setState(() => _hovering = false); - widget.onHoverChanged?.call(false); - }, - child: Listener( - onPointerDown: _handlePointerDown, - child: GestureDetector( - onSecondaryTapUp: (d) => _showContextMenu(context, d.globalPosition), - child: AnimatedContainer( - duration: const Duration(milliseconds: 150), - curve: Curves.easeOut, - constraints: BoxConstraints(minHeight: theme.sizing.cardMinHeight), - transform: _hovering ? Matrix4.translationValues(0, -1, 0) : null, - decoration: BoxDecoration( - color: _hovering && isDark - ? colors.surfaceVariant - : colors.cardBackground, - borderRadius: BorderRadius.circular(theme.radii.card), - border: Border.all( - color: widget.isSelected - ? colors.primary.withValues(alpha: 0.5) - : _hovering - ? colors.onSurface.withValues(alpha: isDark ? 0.1 : 0.18) - : colors.cardBorder, - width: theme.cardStyle.borderWidth, - ), - boxShadow: [ - if (widget.isSelected) - BoxShadow( - color: colors.primary.withValues(alpha: 0.2), - blurRadius: 8, - spreadRadius: 1, - ), - if (isDark) - BoxShadow( - color: Colors.black.withValues( - alpha: _hovering ? 0.3 : 0.2, - ), - blurRadius: _hovering ? 12 : 6, - offset: Offset(0, _hovering ? 3 : 1), - ) - else - BoxShadow( - color: Colors.black.withValues( - alpha: _hovering ? 0.1 : 0.07, - ), - blurRadius: _hovering ? 10 : 4, - offset: Offset(0, _hovering ? 3 : 1), - ), - ], - ), - child: Stack( - children: [ - if (hasColor) - Positioned( - left: 0, - top: 0, - bottom: 0, - child: Container( - width: theme.sizing.colorIndicatorWidth, - decoration: BoxDecoration( - color: accentColor, - borderRadius: - theme.cardStyle.colorIndicatorBorderRadius, - ), - ), - ), - Padding( - padding: theme.spacing.cardPadding.copyWith( - left: hasColor - ? theme.spacing.cardPadding.left + - theme.sizing.colorIndicatorWidth + - 2 - : theme.spacing.cardPadding.left, - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - _buildHeader(theme, colors, item), - const SizedBox(height: 4), - _buildContent(theme, colors, item), - if (_hasFooter(item)) ...[ - const SizedBox(height: 6), - _buildFooter(theme, colors, item), - ], - ], - ), - ), - ], - ), - ), - ), - ), - ); - } - - Widget _buildHeader( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final l = AppLocalizations.of(context); - final typeColor = _typeColor(item.type, colors); - final iconSize = theme.sizing.cardTypeIconContainerSize; - - final isDark = Theme.of(context).brightness == Brightness.dark; - final iconBgAlpha = isDark ? 0.2 : 0.13; - - return Stack( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Container( - width: iconSize, - height: iconSize, - decoration: BoxDecoration( - color: typeColor.withValues(alpha: iconBgAlpha), - borderRadius: BorderRadius.circular(8), - ), - child: Center( - child: Icon( - // Rich text only swaps the glyph, never the color: the tint - // stays the type's own. Restricted to plain text because for - // a link or JSON the type itself is the more useful signal. - _isRichText && item.type == ClipboardContentType.text - ? theme.icons.textRich - : theme.icons.forContentType(item.type.value), - size: 16, - color: typeColor, - ), - ), - ), - const SizedBox(width: 10), - Expanded( - child: Padding( - padding: const EdgeInsets.only(right: 40), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Text( - item.label ?? _contentTypeName(item.type, l), - style: theme.typography.cardLabel.copyWith( - color: item.label != null - ? typeColor.withValues(alpha: 0.85) - : colors.onSurface.withValues( - alpha: theme.cardStyle.headerOpacity, - ), - letterSpacing: 0.06, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - if (item.appSource != null && - item.type != ClipboardContentType.color) ...[ - const SizedBox(height: 1), - Text( - '· ${item.appSource!}', - style: theme.typography.cardFooter.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.appSourceOpacity, - ), - fontSize: 10, - letterSpacing: 0.2, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ], - ], - ), - ), - ), - ], - ), - Positioned( - right: 0, - top: 0, - bottom: 0, - child: Align( - alignment: Alignment.centerRight, - child: Stack( - alignment: Alignment.centerRight, - children: [ - AnimatedOpacity( - opacity: _hovering ? 0.0 : 1.0, - duration: const Duration(milliseconds: 120), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (item.isPinned) - Padding( - padding: const EdgeInsets.only(right: 4), - child: Icon( - theme.icons.pinFilled, - size: theme.sizing.iconSizeXs, - color: colors.primary.withValues(alpha: 0.5), - ), - ), - Text( - _formatTimestamp(item.modifiedAt, l), - style: theme.typography.cardTimestamp.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.timestampOpacity, - ), - ), - ), - ], - ), - ), - IgnorePointer( - ignoring: !_hovering, - child: AnimatedOpacity( - opacity: _hovering ? 1.0 : 0.0, - duration: const Duration(milliseconds: 120), - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - _CardActionButton( - icon: theme.icons.paste, - tooltip: l.menuPaste, - onTap: widget.onTap, - ), - const SizedBox(width: 3), - if (_isPlainPasteable && - widget.onPastePlain != null) ...[ - _CardActionButton( - icon: Icons.notes_rounded, - tooltip: l.menuPastePlain, - onTap: widget.onPastePlain!, - ), - const SizedBox(width: 3), - ], - if (widget.onCopy != null) ...[ - _CardActionButton( - icon: theme.icons.copy, - tooltip: l.menuCopy, - onTap: widget.onCopy!, - ), - const SizedBox(width: 3), - ], - _CardActionButton( - icon: theme.icons.edit, - tooltip: l.menuEdit, - onTap: () => _editLabelColor(context), - ), - const SizedBox(width: 3), - _CardActionButton( - icon: item.isPinned - ? theme.icons.pinFilled - : theme.icons.pin, - tooltip: item.isPinned ? l.menuUnpin : l.menuPin, - onTap: widget.onPin, - ), - const SizedBox(width: 3), - _CardActionButton( - icon: theme.icons.delete, - tooltip: l.menuDelete, - onTap: widget.onDelete, - isDanger: true, - ), - ], - ), - ), - ), - ], - ), - ), - ), - ], - ); - } - - Widget _buildContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final content = switch (item.type) { - ClipboardContentType.image => _buildImageContent(theme, colors, item), - ClipboardContentType.audio || - ClipboardContentType.video => _buildMediaContent(theme, colors, item), - ClipboardContentType.file || - ClipboardContentType.folder => _buildFileContent(theme, colors, item), - ClipboardContentType.link => _buildLinkContent(theme, colors, item), - ClipboardContentType.text || - ClipboardContentType.unknown || - ClipboardContentType.email || - ClipboardContentType.phone || - ClipboardContentType.ip || - ClipboardContentType.uuid || - ClipboardContentType.json => _buildTextContent(theme, colors, item), - ClipboardContentType.color => _buildColorContent(theme, colors, item), - }; - // File-backed items (image/file/folder/audio/video) become drag sources so - // a drop target gets the real, unique filename; _wrapDraggable is a no-op - // for everything else. - return _wrapDraggable(content); - } - - Widget _buildTextContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final minLines = widget.cardMinLines ?? theme.sizing.cardMinLines; - final displayMaxLines = widget.isExpanded - ? (widget.cardMaxLines ?? theme.sizing.cardMaxLines) - : minLines; - final textStyle = theme.typography.cardContent.copyWith( - color: colors.onSurface.withValues(alpha: theme.cardStyle.contentOpacity), - ); - - return LayoutBuilder( - builder: (context, constraints) { - final tp = TextPainter( - text: TextSpan(text: _displayContent, style: textStyle), - maxLines: minLines, - textDirection: Directionality.of(context), - )..layout(maxWidth: constraints.maxWidth); - final overflows = tp.didExceedMaxLines; - tp.dispose(); - if (overflows != _isTextOverflowing) { - _isTextOverflowing = overflows; - WidgetsBinding.instance.addPostFrameCallback((_) { - if (mounted) setState(() {}); - }); - } - - return Text( - _displayContent, - style: textStyle, - maxLines: displayMaxLines, - overflow: TextOverflow.ellipsis, - ); - }, - ); - } - - Widget _buildColorContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - return Text( - item.content, - style: theme.typography.cardContent.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.contentOpacity, - ), - ), - ); - } - - Widget _buildImageContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - if (!_imagePathResolved) { - return Container( - height: theme.sizing.cardImageHeight, - decoration: BoxDecoration( - color: colors.surfaceVariant, - borderRadius: BorderRadius.circular(theme.radii.thumbnail), - ), - ); - } - - final l10n = AppLocalizations.of(context); - final contentPath = item.content.trim(); - final filename = contentPath.isEmpty - ? '' - : contentPath.split(Platform.pathSeparator).last; - - // File is known to be missing: show explicit warning instead of - // letting Image.file fail silently via errorBuilder. - if (_resolvedImagePath == null) { - return Semantics( - label: filename.isEmpty - ? l10n.imageFile - : '${l10n.imageFile}: $filename, ${l10n.fileNotFound}', - child: Container( - height: theme.sizing.cardImageHeight, - decoration: BoxDecoration( - color: colors.surfaceVariant, - borderRadius: BorderRadius.circular(theme.radii.thumbnail), - ), - child: contentPath.isEmpty - ? Center( - child: Icon( - theme.icons.image, - size: theme.sizing.iconSizeLg, - color: colors.onSurfaceMuted, - ), - ) - : Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Icon( - theme.icons.warning, - size: theme.sizing.iconSizeLg, - color: colors.warning, - ), - const SizedBox(height: 4), - _ExtBadge( - label: l10n.fileNotFound, - color: colors.warning, - ), - ], - ), - ), - ), - ); - } - - return Semantics( - label: filename.isEmpty - ? l10n.imageFile - : (!_sourceAvailable - ? '${l10n.imageFile}: $filename, ${l10n.fileNotFound}' - : '${l10n.imageFile}: $filename'), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(theme.radii.thumbnail), - child: Container( - height: theme.sizing.cardImageHeight, - width: double.infinity, - color: colors.surfaceVariant, - child: Image.file( - File(_resolvedImagePath!), - fit: BoxFit.cover, - cacheWidth: _resolvedIsThumb ? 256 : 700, - errorBuilder: (_, e, s) => Center( - child: Icon( - theme.icons.warning, - color: colors.warning, - size: theme.sizing.iconSizeLg, - ), - ), - ), - ), - ), - if (!_sourceAvailable) ...[ - const SizedBox(height: 4), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - _ExtBadge(label: l10n.fileNotFound, color: colors.warning), - ], - ), - ], - ], - ), - ); - } - - Widget _buildFileContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final files = item.content.split('\n').where((s) => s.isNotEmpty).toList(); - final available = _sourceAvailable; - final firstName = files.isEmpty - ? '' - : files.first.split(Platform.pathSeparator).last; - - final semanticsLabel = [ - if (firstName.isNotEmpty) firstName else item.content, - if (!available) AppLocalizations.of(context).fileNotFound, - ].join(', '); - - return Semantics( - label: semanticsLabel, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - firstName.isEmpty ? item.content : firstName, - style: theme.typography.cardContent.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.contentOpacity, - ), - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - if (files.length > 1 || !available) ...[ - const SizedBox(height: 4), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (files.length > 1) ...[ - _ExtBadge( - label: '+${files.length - 1}', - color: colors.onSurfaceMuted, - ), - ], - if (!available) ...[ - if (files.length > 1) const SizedBox(width: 4), - _ExtBadge( - label: AppLocalizations.of(context).fileNotFound, - color: colors.warning, - ), - ], - ], - ), - ], - ], - ), - ); - } - - Widget _buildMediaContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final path = item.content.trim(); - final filename = path.isEmpty - ? '' - : path.split(Platform.pathSeparator).last; - final isAudio = item.type == ClipboardContentType.audio; - final typeColor = _typeColor(item.type, colors); - final l10n = AppLocalizations.of(context); - final typeName = isAudio ? l10n.audioFile : l10n.videoFile; - final missing = !_sourceAvailable; - - final semanticsLabel = [ - filename.isEmpty ? typeName : filename, - if (missing) l10n.fileNotFound, - ].join(', '); - - final hasThumb = _imagePathResolved && _resolvedImagePath != null; - - if (!isAudio && hasThumb) { - return Semantics( - label: semanticsLabel, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(theme.radii.thumbnail), - child: Container( - height: theme.sizing.cardImageHeight, - width: double.infinity, - color: colors.surfaceVariant, - child: Stack( - fit: StackFit.expand, - children: [ - Image.file( - File(_resolvedImagePath!), - fit: BoxFit.contain, - cacheWidth: _resolvedIsThumb ? 256 : 700, - errorBuilder: (_, e, st) => _MediaIcon( - isAudio: false, - typeColor: typeColor, - radius: theme.radii.thumbnail, - ), - ), - Center( - child: Container( - width: 28, - height: 28, - decoration: BoxDecoration( - color: Colors.black.withValues(alpha: 0.45), - shape: BoxShape.circle, - ), - child: const Center( - child: Icon( - Icons.play_arrow_rounded, - size: 16, - color: Colors.white, - ), - ), - ), - ), - ], - ), - ), - ), - const SizedBox(height: 4), - Text( - filename.isEmpty ? l10n.videoFile : filename, - style: theme.typography.cardContent.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.contentOpacity, - ), - fontSize: 11, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - if (missing) ...[ - const SizedBox(height: 4), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - _ExtBadge(label: l10n.fileNotFound, color: colors.warning), - ], - ), - ], - ], - ), - ); - } - - return Semantics( - label: semanticsLabel, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - filename.isEmpty ? typeName : filename, - style: theme.typography.cardContent.copyWith( - color: colors.onSurface.withValues( - alpha: theme.cardStyle.contentOpacity, - ), - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - if (missing) ...[ - const SizedBox(height: 4), - Row( - mainAxisSize: MainAxisSize.min, - children: [ - _ExtBadge(label: l10n.fileNotFound, color: colors.warning), - ], - ), - ], - ], - ), - ); - } - - Widget _buildLinkContent( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final uri = Uri.tryParse(item.content.trim()); - final domain = uri?.host ?? ''; - final typeColor = _typeColor(item.type, colors); - - return Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - item.content.trim(), - style: theme.typography.cardContent.copyWith( - color: colors.primary.withValues(alpha: 0.85), - decoration: TextDecoration.underline, - decorationColor: colors.primary.withValues(alpha: 0.3), - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - if (domain.isNotEmpty) ...[ - const SizedBox(height: 3), - Row( - mainAxisSize: MainAxisSize.min, - children: [_ExtBadge(label: domain, color: typeColor)], - ), - ], - ], - ), - ), - ], - ); - } - - Map? _parseMetadata(ClipboardItem item) { - if (item.metadata == null || item.metadata!.isEmpty) return null; - try { - return json.decode(item.metadata!) as Map; - } catch (_) { - return null; - } - } - - String _getExtForItem(ClipboardItem item) { - if (item.type != ClipboardContentType.file && - item.type != ClipboardContentType.folder && - item.type != ClipboardContentType.audio && - item.type != ClipboardContentType.video && - item.type != ClipboardContentType.image) { - return ''; - } - final lines = item.content.split('\n').where((s) => s.isNotEmpty).toList(); - if (lines.isEmpty) return ''; - final firstName = lines.first.split(Platform.pathSeparator).last; - return firstName.contains('.') - ? firstName.split('.').last.toUpperCase() - : ''; - } - - bool _hasFooter(ClipboardItem item) { - if (_needsExpandToggle(item)) return true; - if (_needsOpenAction(item)) return true; - if (item.pasteCount > 0) return true; - if (_cachedExt.isNotEmpty) return true; - final meta = _cachedMetadata; - if (meta == null) return false; - return meta.containsKey('file_size') || - meta.containsKey('size') || - meta.containsKey('width') || - meta.containsKey('video_width') || - meta.containsKey('duration'); - } - - Widget _buildFooter( - AppThemeData theme, - AppThemeColorScheme colors, - ClipboardItem item, - ) { - final meta = _cachedMetadata; - final footerAlpha = theme.cardStyle.footerOpacity; - final footerColor = colors.onSurface.withValues(alpha: footerAlpha); - final footerStyle = theme.typography.cardFooter.copyWith( - color: footerColor, - ); - final iconColor = colors.onSurface.withValues(alpha: footerAlpha - 0.1); - - final ext = _cachedExt; - final typeColor = _typeColor(item.type, colors); - final widgets = []; - - final w = meta?['width'] ?? meta?['video_width']; - final h = meta?['height'] ?? meta?['video_height']; - if (w != null && h != null) { - widgets.add( - _FooterChip( - icon: Icons.aspect_ratio_rounded, - label: '$w×$h', - style: footerStyle, - iconColor: iconColor, - iconSize: theme.sizing.iconSizeXs, - ), - ); - } - - final fileSize = meta?['file_size'] ?? meta?['size']; - if (fileSize != null && fileSize is num && fileSize > 0) { - widgets.add( - _FooterChip( - icon: Icons.storage_rounded, - label: _formatFileSize(fileSize.toInt()), - style: footerStyle, - iconColor: iconColor, - iconSize: theme.sizing.iconSizeXs, - ), - ); - } - - final duration = meta?['duration']; - if (duration != null && duration is num && duration > 0) { - widgets.add( - _FooterChip( - icon: Icons.timer_outlined, - label: _formatDuration(duration.toInt()), - style: footerStyle, - iconColor: iconColor, - iconSize: theme.sizing.iconSizeXs, - ), - ); - } - - if (item.pasteCount > 0) { - widgets.add( - Text( - '×${item.pasteCount}', - style: footerStyle, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ); - } - - final showExpand = _needsExpandToggle(item); - final showOpen = !showExpand && _needsOpenAction(item); - - return Row( - children: [ - if (item.type == ClipboardContentType.color) - _ColorBadge(value: item.content.trim()) - else if (item.type == ClipboardContentType.phone) ...[ - if (_resolvePhoneCountry(item.content) case final c?) - _ExtBadge(label: c, color: typeColor), - ] else if (item.type == ClipboardContentType.email) ...[ - if (_resolveEmailProvider(item.content) case final p?) - _ExtBadge(label: p, color: typeColor), - ] else if (ext.isNotEmpty) - _ExtBadge(label: ext, color: typeColor), - if (showExpand) - Padding( - padding: const EdgeInsets.only(left: 6), - child: Material( - color: Colors.transparent, - child: InkWell( - onTap: () => widget.onExpandToggle?.call(), - canRequestFocus: false, - borderRadius: BorderRadius.circular(8), - hoverColor: colors.onSurface.withValues(alpha: 0.06), - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 4, - vertical: 1, - ), - child: Icon( - widget.isExpanded - ? Icons.expand_less_rounded - : Icons.expand_more_rounded, - size: 14, - color: colors.onSurface.withValues(alpha: 0.35), - ), - ), - ), - ), - ), - if (showOpen) - Padding( - padding: EdgeInsets.only(left: ext.isNotEmpty ? 6 : 0), - child: Material( - color: Colors.transparent, - child: InkWell( - onTap: () => widget.onOpen?.call(), - canRequestFocus: false, - borderRadius: BorderRadius.circular(8), - hoverColor: colors.onSurface.withValues(alpha: 0.06), - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 4, - vertical: 1, - ), - child: Icon( - Icons.open_in_new_rounded, - size: 14, - color: colors.onSurface.withValues(alpha: 0.35), - ), - ), - ), - ), - ), - if (widgets.isNotEmpty) - Expanded( - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - for (int i = 0; i < widgets.length; i++) ...[ - if (i > 0) const SizedBox(width: 8), - Flexible(fit: FlexFit.loose, child: widgets[i]), - ], - ], - ), - ), - ], - ); - } - - static String _formatFileSize(int bytes) { - if (bytes < 1024) return '$bytes B'; - if (bytes < 1024 * 1024) return '${(bytes / 1024).toStringAsFixed(1)} KB'; - if (bytes < 1024 * 1024 * 1024) { - return '${(bytes / (1024 * 1024)).toStringAsFixed(1)} MB'; - } - return '${(bytes / (1024 * 1024 * 1024)).toStringAsFixed(2)} GB'; - } - - static String _formatDuration(int seconds) { - final h = seconds ~/ 3600; - final m = (seconds % 3600) ~/ 60; - final s = seconds % 60; - if (h > 0) { - return '$h:${m.toString().padLeft(2, '0')}:${s.toString().padLeft(2, '0')}'; - } - return '$m:${s.toString().padLeft(2, '0')}'; - } - - Color _typeColor(ClipboardContentType type, AppThemeColorScheme colors) { - final isDark = Theme.of(context).brightness == Brightness.dark; - return switch (type) { - ClipboardContentType.text => colors.accentBlue, - ClipboardContentType.image => colors.accentOrange, - ClipboardContentType.file => colors.accentYellow, - ClipboardContentType.folder => colors.accentYellow, - ClipboardContentType.link => colors.accentGreen, - ClipboardContentType.audio => - isDark ? const Color(0xFF7DD3FC) : const Color(0xFF075985), - ClipboardContentType.video => colors.accentRed, - ClipboardContentType.email => colors.accentBlue, - ClipboardContentType.phone => colors.accentGreen, - ClipboardContentType.color => colors.accentOrange, - ClipboardContentType.ip => - isDark ? const Color(0xFFD4A5F5) : const Color(0xFF6B21A8), - ClipboardContentType.uuid => - isDark ? const Color(0xFF94A3B8) : const Color(0xFF475569), - ClipboardContentType.json => colors.accentYellow, - ClipboardContentType.unknown => colors.onSurfaceMuted, - }; - } - - String _contentTypeName(ClipboardContentType type, AppLocalizations l) => - switch (type) { - ClipboardContentType.text => l.typeText, - ClipboardContentType.image => l.typeImage, - ClipboardContentType.file => l.typeFile, - ClipboardContentType.folder => l.typeFolder, - ClipboardContentType.link => l.typeLink, - ClipboardContentType.audio => l.typeAudio, - ClipboardContentType.video => l.typeVideo, - ClipboardContentType.email => l.typeEmail, - ClipboardContentType.phone => l.typePhone, - ClipboardContentType.color => l.typeColor, - ClipboardContentType.ip => l.typeIp, - ClipboardContentType.uuid => l.typeUuid, - ClipboardContentType.json => l.typeJson, - ClipboardContentType.unknown => 'Unknown', - }; - - static const _phoneCountries = { - '1': 'US/CA', - '7': 'Russia', - '20': 'Egypt', - '27': 'S.Africa', - '30': 'Greece', - '31': 'Netherlands', - '32': 'Belgium', - '33': 'France', - '34': 'Spain', - '36': 'Hungary', - '39': 'Italy', - '40': 'Romania', - '41': 'Switzerland', - '43': 'Austria', - '44': 'UK', - '45': 'Denmark', - '46': 'Sweden', - '47': 'Norway', - '48': 'Poland', - '49': 'Germany', - '51': 'Peru', - '52': 'Mexico', - '53': 'Cuba', - '54': 'Argentina', - '55': 'Brazil', - '56': 'Chile', - '57': 'Colombia', - '58': 'Venezuela', - '60': 'Malaysia', - '61': 'Australia', - '62': 'Indonesia', - '63': 'Philippines', - '64': 'NZ', - '65': 'Singapore', - '66': 'Thailand', - '81': 'Japan', - '82': 'Korea', - '84': 'Vietnam', - '86': 'China', - '90': 'Turkey', - '91': 'India', - '92': 'Pakistan', - '94': 'Sri Lanka', - '98': 'Iran', - '212': 'Morocco', - '213': 'Algeria', - '216': 'Tunisia', - '234': 'Nigeria', - '254': 'Kenya', - '351': 'Portugal', - '352': 'Luxembourg', - '353': 'Ireland', - '354': 'Iceland', - '358': 'Finland', - '380': 'Ukraine', - '381': 'Serbia', - '385': 'Croatia', - '420': 'Czech', - '421': 'Slovakia', - '502': 'Guatemala', - '503': 'El Salvador', - '504': 'Honduras', - '505': 'Nicaragua', - '506': 'Costa Rica', - '507': 'Panama', - '591': 'Bolivia', - '593': 'Ecuador', - '595': 'Paraguay', - '598': 'Uruguay', - '855': 'Cambodia', - '880': 'Bangladesh', - '886': 'Taiwan', - '961': 'Lebanon', - '962': 'Jordan', - '964': 'Iraq', - '965': 'Kuwait', - '966': 'Saudi Arabia', - '971': 'UAE', - '972': 'Israel', - '974': 'Qatar', - '977': 'Nepal', - '994': 'Azerbaijan', - '995': 'Georgia', - '998': 'Uzbekistan', - }; - - // Keyed by first domain label — covers all regional variants automatically. - // e.g. outlook.com / outlook.com.ar / outlook.cl all resolve to 'Outlook' - static const _emailPrefixes = { - 'gmail': 'Gmail', - 'googlemail': 'Gmail', - 'outlook': 'Outlook', - 'hotmail': 'Hotmail', - 'live': 'Outlook', - 'msn': 'MSN', - 'yahoo': 'Yahoo', - 'icloud': 'iCloud', - 'me': 'iCloud', - 'mac': 'iCloud', - 'proton': 'Proton', - 'protonmail': 'Proton', - 'tutanota': 'Tutanota', - 'tuta': 'Tuta', - 'zoho': 'Zoho', - 'aol': 'AOL', - 'yandex': 'Yandex', - 'gmx': 'GMX', - 'fastmail': 'FastMail', - 'hey': 'HEY', - }; - - static String? _resolvePhoneCountry(String phone) { - if (!phone.trimLeft().startsWith('+')) return null; - final digits = phone.replaceAll(RegExp(r'\D'), ''); - for (final len in [3, 2, 1]) { - if (digits.length >= len) { - final country = _phoneCountries[digits.substring(0, len)]; - if (country != null) return country; - } - } - return null; - } - - static String? _resolveEmailProvider(String email) { - final at = email.indexOf('@'); - if (at == -1 || at >= email.length - 1) return null; - final domain = email.substring(at + 1).toLowerCase(); - final prefix = domain.split('.').first; - return _emailPrefixes[prefix] ?? domain; - } - - String _formatTimestamp(DateTime dt, AppLocalizations l) { - final now = DateTime.now(); - final diff = now.difference(dt); - - if (diff.inMinutes < 1) return l.timeNow; - if (diff.inMinutes < 60) return '${diff.inMinutes}m'; - if (diff.inHours < 24) return '${diff.inHours}h'; - if (diff.inDays < 7) return '${diff.inDays}d'; - return '${dt.month}/${dt.day}'; - } -} - -class _CardActionButton extends StatelessWidget { - const _CardActionButton({ - required this.icon, - required this.onTap, - this.tooltip, - this.isDanger = false, - }); - - final IconData icon; - final VoidCallback onTap; - final String? tooltip; - final bool isDanger; - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - final isDark = Theme.of(context).brightness == Brightness.dark; - - final bg = isDark - ? colors.surfaceVariant - : Colors.white.withValues(alpha: 0.95); - - final button = SizedBox( - width: 30, - height: 30, - child: Material( - color: bg, - borderRadius: BorderRadius.circular(theme.radii.button), - child: InkWell( - onTap: onTap, - canRequestFocus: false, - borderRadius: BorderRadius.circular(theme.radii.button), - hoverColor: isDanger - ? colors.danger.withValues(alpha: 0.08) - : colors.onSurface.withValues(alpha: 0.06), - splashColor: isDanger - ? colors.danger.withValues(alpha: 0.15) - : colors.onSurface.withValues(alpha: 0.1), - child: Center( - child: Icon( - icon, - size: 13, - color: isDanger - ? colors.danger.withValues(alpha: 0.7) - : colors.onSurface.withValues(alpha: 0.5), - ), - ), - ), - ), - ); - - if (tooltip != null) { - return Tooltip( - message: tooltip!, - textStyle: const TextStyle(fontSize: 10, color: Colors.white), - decoration: BoxDecoration( - color: Colors.black.withValues(alpha: 0.75), - borderRadius: BorderRadius.circular(4), - ), - preferBelow: false, - verticalOffset: 16, - waitDuration: const Duration(milliseconds: 400), - child: button, - ); - } - return button; - } -} - -class _MediaIcon extends StatelessWidget { - const _MediaIcon({ - required this.isAudio, - required this.typeColor, - required this.radius, - }); - - final bool isAudio; - final Color typeColor; - final double radius; - - @override - Widget build(BuildContext context) { - return Container( - width: 44, - height: 44, - decoration: BoxDecoration( - color: typeColor.withValues(alpha: 0.12), - borderRadius: BorderRadius.circular(radius), - ), - child: Center( - child: Icon( - isAudio - ? Icons.music_note_rounded - : Icons.play_circle_outline_rounded, - size: 22, - color: typeColor, - ), - ), - ); - } -} - -class _ColorBadge extends StatelessWidget { - const _ColorBadge({required this.value}); - - final String value; - - static Color? _parse(String value) { - final hex = value.startsWith('#') ? value.substring(1) : null; - if (hex == null) return null; - final normalized = switch (hex.length) { - 3 => 'FF${hex[0]}${hex[0]}${hex[1]}${hex[1]}${hex[2]}${hex[2]}', - 6 => 'FF$hex', - 8 => hex, - _ => null, - }; - if (normalized == null) return null; - final int? v = int.tryParse(normalized, radix: 16); - return v != null ? Color(v) : null; - } - - static String _format(String value) { - final v = value.trimLeft().toLowerCase(); - if (v.startsWith('#')) return 'HEX'; - if (v.startsWith('rgba')) return 'RGBA'; - if (v.startsWith('rgb')) return 'RGB'; - if (v.startsWith('hsla')) return 'HSLA'; - if (v.startsWith('hsl')) return 'HSL'; - return 'COLOR'; - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - final color = _parse(value); - final label = _format(value); - - if (color == null) { - return _ExtBadge(label: label, color: colors.accentOrange); - } - - final onColor = color.computeLuminance() > 0.4 - ? Colors.black.withValues(alpha: 0.75) - : Colors.white.withValues(alpha: 0.9); - - return Container( - padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), - decoration: BoxDecoration( - color: color, - borderRadius: BorderRadius.circular(4), - ), - child: Text( - label, - style: theme.typography.cardFooter.copyWith( - fontSize: 9, - fontWeight: FontWeight.w600, - color: onColor, - letterSpacing: 0.3, - ), - ), - ); - } -} - -class _ExtBadge extends StatelessWidget { - const _ExtBadge({required this.label, required this.color}); - - final String label; - final Color color; - - @override - Widget build(BuildContext context) { - return ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 120), - child: Container( - padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 2), - decoration: BoxDecoration( - color: color.withValues(alpha: 0.12), - borderRadius: BorderRadius.circular(4), - ), - child: Text( - label, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 9, - fontWeight: FontWeight.w600, - color: color.withValues(alpha: 0.85), - letterSpacing: 0.3, - ), - ), - ), - ); - } -} - -class _FooterChip extends StatelessWidget { - const _FooterChip({ - required this.icon, - required this.label, - required this.style, - required this.iconColor, - required this.iconSize, - }); - - final IconData icon; - final String label; - final TextStyle style; - final Color iconColor; - final double iconSize; - - @override - Widget build(BuildContext context) { - return Row( - mainAxisSize: MainAxisSize.min, - children: [ - Icon(icon, size: iconSize, color: iconColor), - const SizedBox(width: 3), - Flexible( - child: Text( - label, - style: style, - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ), - ], - ); - } -} - -enum _ContextAction { paste, pastePlain, copy, pin, edit, delete } - -class _ContextMenuItem extends StatelessWidget { - const _ContextMenuItem({ - required this.icon, - required this.label, - required this.colors, - this.danger = false, - }); - - final IconData icon; - final String label; - final AppThemeColorScheme colors; - final bool danger; - - @override - Widget build(BuildContext context) { - final color = danger ? colors.danger : colors.onSurface; - return Row( - children: [ - Icon(icon, size: 13, color: color.withValues(alpha: 0.7)), - const SizedBox(width: 8), - Expanded( - child: Text(label, style: TextStyle(fontSize: 12, color: color)), - ), - ], - ); - } -} diff --git a/app/lib/widgets/empty_state.dart b/app/lib/widgets/empty_state.dart deleted file mode 100644 index 18d11ecf..00000000 --- a/app/lib/widgets/empty_state.dart +++ /dev/null @@ -1,53 +0,0 @@ -import 'package:flutter/material.dart'; - -import '../l10n/app_localizations.dart'; -import '../theme/theme_provider.dart'; - -class EmptyState extends StatelessWidget { - const EmptyState({super.key}); - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - - return Center( - child: Padding( - padding: const EdgeInsets.only(bottom: 40), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Container( - width: 64, - height: 64, - decoration: BoxDecoration( - color: colors.primary.withValues(alpha: 0.08), - borderRadius: BorderRadius.circular(16), - ), - child: Icon( - Icons.content_paste_rounded, - size: 28, - color: colors.primary.withValues(alpha: 0.4), - ), - ), - const SizedBox(height: 16), - Text( - AppLocalizations.of(context).emptyState, - style: theme.typography.emptyState.copyWith( - color: colors.onSurfaceVariant, - fontWeight: FontWeight.w500, - ), - ), - const SizedBox(height: 6), - Text( - AppLocalizations.of(context).emptyStateSubtitle, - style: theme.typography.cardFooter.copyWith( - color: colors.onSurfaceMuted, - ), - ), - ], - ), - ), - ); - } -} diff --git a/app/lib/widgets/filter_bar.dart b/app/lib/widgets/filter_bar.dart deleted file mode 100644 index 63a5fe3e..00000000 --- a/app/lib/widgets/filter_bar.dart +++ /dev/null @@ -1,247 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; - -import '../l10n/app_localizations.dart'; -import '../theme/app_theme_data.dart'; -import '../theme/theme_provider.dart'; - -class FilterBar extends StatefulWidget { - const FilterBar({ - required this.selectedTypes, - required this.selectedColors, - required this.onTypesChanged, - required this.onColorsChanged, - this.colorLabels = const {}, - this.onClear, - super.key, - }); - - final List selectedTypes; - final List selectedColors; - final void Function(List) onTypesChanged; - final void Function(List) onColorsChanged; - final Map colorLabels; - final VoidCallback? onClear; - - @override - State createState() => FilterBarState(); -} - -class FilterBarState extends State { - void openMenu() => _showFilterMenu(context); - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final hasFilters = widget.selectedColors.isNotEmpty; - - return _FilterButton( - icon: theme.icons.filter, - isActive: hasFilters, - badge: hasFilters ? widget.selectedColors.length : 0, - onTap: () => _showFilterMenu(context), - ); - } - - void _showFilterMenu(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - final l = AppLocalizations.of(context); - final renderBox = context.findRenderObject()! as RenderBox; - final offset = renderBox.localToGlobal(Offset.zero); - - showMenu( - context: context, - popUpAnimationStyle: AnimationStyle.noAnimation, - position: RelativeRect.fromLTRB( - offset.dx, - offset.dy + renderBox.size.height + 4, - offset.dx + renderBox.size.width, - 0, - ), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(theme.radii.md), - ), - color: colors.cardBackground, - items: [ - if (widget.selectedColors.isNotEmpty) - PopupMenuItem( - height: 32, - onTap: widget.onClear, - child: Row( - children: [ - Icon( - theme.icons.clear, - size: theme.sizing.iconSizeSm, - color: colors.danger, - ), - const SizedBox(width: 8), - Expanded( - child: Text( - l.clearAllFilters, - style: theme.typography.filterChip.copyWith( - color: colors.danger, - ), - overflow: TextOverflow.ellipsis, - ), - ), - ], - ), - ), - if (widget.selectedColors.isNotEmpty) const PopupMenuDivider(height: 8), - PopupMenuItem( - enabled: false, - height: 28, - child: Text( - l.colorSectionLabel, - style: theme.typography.filterChip.copyWith( - color: colors.onSurfaceMuted, - fontSize: 10, - letterSpacing: 0.8, - ), - ), - ), - ..._getColorEntries(context).map( - (entry) => - _buildColorItem(context, entry.$1, entry.$2, theme, colors), - ), - ], - ); - } - - List<(CardColor, String)> _getColorEntries(BuildContext context) { - final l = AppLocalizations.of(context); - final cl = widget.colorLabels; - return [ - (CardColor.red, cl['Red'] ?? l.colorRed), - (CardColor.green, cl['Green'] ?? l.colorGreen), - (CardColor.purple, cl['Purple'] ?? l.colorPurple), - (CardColor.yellow, cl['Yellow'] ?? l.colorYellow), - (CardColor.blue, cl['Blue'] ?? l.colorBlue), - (CardColor.orange, cl['Orange'] ?? l.colorOrange), - ]; - } - - PopupMenuItem _buildColorItem( - BuildContext context, - CardColor cardColor, - String label, - AppThemeData theme, - AppThemeColorScheme colors, - ) { - final isSelected = widget.selectedColors.contains(cardColor); - final dotColor = colors.accentForIndex(cardColor.value); - - return PopupMenuItem( - height: 32, - onTap: () { - final updated = List.from(widget.selectedColors); - if (isSelected) { - updated.remove(cardColor); - } else { - updated.add(cardColor); - } - widget.onColorsChanged(updated); - }, - child: Row( - children: [ - Container( - width: theme.sizing.colorDotSize, - height: theme.sizing.colorDotSize, - decoration: BoxDecoration( - color: dotColor, - shape: BoxShape.circle, - border: Border.all(color: dotColor.withValues(alpha: 0.5)), - ), - ), - const SizedBox(width: 8), - Expanded( - child: Text( - label, - style: theme.typography.filterChip.copyWith( - color: isSelected ? colors.onSurface : colors.onSurfaceVariant, - ), - overflow: TextOverflow.ellipsis, - ), - ), - if (isSelected) Icon(Icons.check, size: 14, color: colors.primary), - ], - ), - ); - } -} - -class _FilterButton extends StatelessWidget { - const _FilterButton({ - required this.icon, - required this.isActive, - required this.badge, - required this.onTap, - }); - - final IconData icon; - final bool isActive; - final int badge; - final VoidCallback onTap; - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - - return Padding( - padding: const EdgeInsets.only(right: 3), - child: SizedBox( - width: 30, - height: 30, - child: Material( - color: isActive - ? colors.primary.withValues(alpha: 0.1) - : Colors.transparent, - borderRadius: BorderRadius.circular(6), - child: InkWell( - onTap: onTap, - borderRadius: BorderRadius.circular(6), - hoverColor: colors.onSurface.withValues(alpha: 0.08), - splashColor: colors.primary.withValues(alpha: 0.15), - child: Stack( - alignment: Alignment.center, - children: [ - Icon( - icon, - size: theme.sizing.iconSizeMd, - color: isActive - ? colors.primary - : colors.onSurface.withValues(alpha: 0.5), - ), - if (badge > 0) - Positioned( - top: 2, - right: 2, - child: Container( - width: 14, - height: 14, - decoration: BoxDecoration( - color: colors.primary, - shape: BoxShape.circle, - ), - child: Center( - child: Text( - '$badge', - style: TextStyle( - color: colors.onPrimary, - fontSize: 8, - fontWeight: FontWeight.w600, - ), - ), - ), - ), - ), - ], - ), - ), - ), - ), - ); - } -} diff --git a/app/lib/widgets/filter_tab_bar.dart b/app/lib/widgets/filter_tab_bar.dart deleted file mode 100644 index 0811444a..00000000 --- a/app/lib/widgets/filter_tab_bar.dart +++ /dev/null @@ -1,267 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; - -import '../l10n/app_localizations.dart'; -import '../theme/theme_provider.dart'; - -class FilterTabBar extends StatefulWidget { - const FilterTabBar({ - required this.selectedTypes, - required this.onTypesChanged, - required this.isPinnedMode, - required this.onPinnedModeChanged, - super.key, - }); - - final List selectedTypes; - final void Function(List) onTypesChanged; - final bool isPinnedMode; - final void Function(bool) onPinnedModeChanged; - - @override - State createState() => _FilterTabBarState(); -} - -class _FilterTabBarState extends State { - final ScrollController _scrollController = ScrollController(); - bool _isDragging = false; - double _dragStartX = 0; - double _scrollStartOffset = 0; - - @override - void dispose() { - _scrollController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final l = AppLocalizations.of(context); - - final isAllSelected = widget.selectedTypes.isEmpty && !widget.isPinnedMode; - - final tabs = <_TabDef>[ - _TabDef(label: l.filterAll, types: const [], isPinned: false), - _TabDef(label: l.filterPinned, types: const [], isPinned: true), - _TabDef( - label: l.typeText, - types: const [ - ClipboardContentType.text, - ClipboardContentType.ip, - ClipboardContentType.uuid, - ClipboardContentType.json, - ], - isPinned: false, - ), - _TabDef( - label: l.typeImage, - types: const [ClipboardContentType.image], - isPinned: false, - ), - _TabDef( - label: l.typeFile, - types: const [ClipboardContentType.file], - isPinned: false, - ), - _TabDef( - label: l.typeFolder, - types: const [ClipboardContentType.folder], - isPinned: false, - ), - _TabDef( - label: l.typeLink, - types: const [ClipboardContentType.link], - isPinned: false, - ), - _TabDef( - label: l.typeAudio, - types: const [ClipboardContentType.audio], - isPinned: false, - ), - _TabDef( - label: l.typeVideo, - types: const [ClipboardContentType.video], - isPinned: false, - ), - _TabDef( - label: l.typeEmail, - types: const [ClipboardContentType.email], - isPinned: false, - ), - _TabDef( - label: l.typePhone, - types: const [ClipboardContentType.phone], - isPinned: false, - ), - _TabDef( - label: l.typeColor, - types: const [ClipboardContentType.color], - isPinned: false, - ), - ]; - - return SizedBox( - height: theme.spacing.filterTabBarHeight, - child: ShaderMask( - shaderCallback: (bounds) => const LinearGradient( - begin: Alignment.centerLeft, - end: Alignment.centerRight, - colors: [Colors.white, Colors.white, Colors.transparent], - stops: [0.0, 0.92, 1.0], - ).createShader(bounds), - blendMode: BlendMode.dstIn, - child: Padding( - padding: theme.spacing.filterTabBarPadding.copyWith(right: 0), - child: MouseRegion( - cursor: _isDragging - ? SystemMouseCursors.grabbing - : SystemMouseCursors.grab, - child: Listener( - onPointerDown: (e) { - setState(() { - _isDragging = true; - _dragStartX = e.position.dx; - _scrollStartOffset = _scrollController.offset; - }); - }, - onPointerMove: (e) { - if (!_isDragging) return; - final delta = _dragStartX - e.position.dx; - _scrollController.jumpTo( - (_scrollStartOffset + delta).clamp( - 0.0, - _scrollController.position.maxScrollExtent, - ), - ); - }, - onPointerUp: (_) => setState(() => _isDragging = false), - onPointerCancel: (_) => setState(() => _isDragging = false), - child: ListView.separated( - controller: _scrollController, - scrollDirection: Axis.horizontal, - physics: const BouncingScrollPhysics(), - padding: const EdgeInsets.only(right: 24), - itemCount: tabs.length, - separatorBuilder: (context, i) => const SizedBox(width: 4), - itemBuilder: (context, index) { - final tab = tabs[index]; - final tabTypes = tab.types; - final isActive = tab.isPinned - ? widget.isPinnedMode - : tabTypes.isEmpty - ? isAllSelected - : !widget.isPinnedMode && - widget.selectedTypes.length == tabTypes.length && - widget.selectedTypes.toSet().containsAll(tabTypes); - - return _FilterTab( - label: tab.label, - isActive: isActive, - onTap: () { - if (tab.isPinned) { - widget.onPinnedModeChanged(!widget.isPinnedMode); - if (!widget.isPinnedMode) widget.onTypesChanged([]); - } else if (tabTypes.isEmpty) { - widget.onPinnedModeChanged(false); - widget.onTypesChanged([]); - } else { - widget.onPinnedModeChanged(false); - final wasActive = - !widget.isPinnedMode && - widget.selectedTypes.length == tabTypes.length && - widget.selectedTypes.toSet().containsAll(tabTypes); - widget.onTypesChanged(wasActive ? [] : tabTypes); - } - }, - ); - }, - ), - ), - ), - ), - ), - ); - } -} - -class _TabDef { - const _TabDef({ - required this.label, - required this.types, - required this.isPinned, - }); - final String label; - final List types; - final bool isPinned; -} - -class _FilterTab extends StatefulWidget { - const _FilterTab({ - required this.label, - required this.isActive, - required this.onTap, - }); - - final String label; - final bool isActive; - final VoidCallback onTap; - - @override - State<_FilterTab> createState() => _FilterTabState(); -} - -class _FilterTabState extends State<_FilterTab> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - - final Color bg; - final Color borderColor; - final Color textColor; - final FontWeight weight; - - if (widget.isActive) { - bg = colors.primary.withValues(alpha: 0.13); - borderColor = colors.primary.withValues(alpha: 0.4); - textColor = colors.accentPurple; - weight = FontWeight.w600; - } else { - bg = _hovering ? colors.cardBackground : colors.searchBackground; - borderColor = _hovering - ? colors.onSurface.withValues(alpha: 0.18) - : colors.onSurface.withValues(alpha: 0.12); - textColor = colors.onSurface.withValues(alpha: 0.5); - weight = FontWeight.w500; - } - - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - child: GestureDetector( - onTap: widget.onTap, - child: AnimatedContainer( - duration: const Duration(milliseconds: 120), - padding: const EdgeInsets.symmetric(horizontal: 11, vertical: 4), - decoration: BoxDecoration( - color: bg, - borderRadius: BorderRadius.circular(theme.radii.chip), - border: Border.all(color: borderColor), - ), - child: Center( - child: Text( - widget.label, - style: theme.typography.filterTabChip.copyWith( - color: textColor, - fontWeight: weight, - ), - ), - ), - ), - ), - ); - } -} diff --git a/app/lib/widgets/label_color_dialog.dart b/app/lib/widgets/label_color_dialog.dart deleted file mode 100644 index 3aae83cb..00000000 --- a/app/lib/widgets/label_color_dialog.dart +++ /dev/null @@ -1,304 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../l10n/app_localizations.dart'; - -import '../theme/app_theme_data.dart'; -import '../theme/theme_provider.dart'; - -class LabelColorResult { - const LabelColorResult({required this.label, required this.color}); - final String? label; - final CardColor color; -} - -class LabelColorDialog extends StatefulWidget { - const LabelColorDialog({ - required this.currentLabel, - required this.currentColor, - super.key, - }); - - final String? currentLabel; - final CardColor currentColor; - - static Future show( - BuildContext context, { - String? currentLabel, - CardColor currentColor = CardColor.none, - }) { - final theme = CopyPasteTheme.of(context); - return showDialog( - context: context, - barrierColor: Colors.black26, - builder: (_) => CopyPasteTheme( - themeData: theme, - child: Theme( - data: Theme.of(context), - child: LabelColorDialog( - currentLabel: currentLabel, - currentColor: currentColor, - ), - ), - ), - ); - } - - @override - State createState() => _LabelColorDialogState(); -} - -class _LabelColorDialogState extends State { - late final TextEditingController _labelController; - late CardColor _selectedColor; - - @override - void initState() { - super.initState(); - _labelController = TextEditingController(text: widget.currentLabel ?? ''); - _selectedColor = widget.currentColor; - } - - @override - void dispose() { - _labelController.dispose(); - super.dispose(); - } - - void _submit() { - final label = _labelController.text.trim(); - Navigator.of(context).pop( - LabelColorResult( - label: label.isEmpty ? null : label, - color: _selectedColor, - ), - ); - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - final l = AppLocalizations.of(context); - - return Dialog( - backgroundColor: colors.cardBackground, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(theme.radii.lg), - ), - elevation: 8, - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 280), - child: Padding( - padding: const EdgeInsets.all(20), - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - l.editDialogTitle, - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w600, - color: colors.onSurface, - ), - ), - const SizedBox(height: 16), - SizedBox( - height: 36, - child: TextField( - controller: _labelController, - autofocus: true, - maxLength: ClipboardItem.maxLabelLength, - maxLengthEnforcement: MaxLengthEnforcement.enforced, - style: theme.typography.searchInput.copyWith( - color: colors.onSurface, - ), - decoration: InputDecoration( - hintText: l.editDialogHint, - hintStyle: theme.typography.searchInput.copyWith( - color: colors.onSurfaceMuted, - ), - counterText: '', - contentPadding: const EdgeInsets.symmetric( - horizontal: 10, - vertical: 8, - ), - filled: true, - fillColor: colors.searchBackground, - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(theme.radii.sm), - borderSide: BorderSide.none, - ), - focusedBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(theme.radii.sm), - borderSide: BorderSide( - color: colors.primary.withValues(alpha: 0.5), - width: 1.5, - ), - ), - isDense: true, - ), - onSubmitted: (_) => _submit(), - ), - ), - const SizedBox(height: 16), - Text( - l.editColorLabel, - style: TextStyle( - fontSize: 11, - fontWeight: FontWeight.w500, - color: colors.onSurfaceMuted, - letterSpacing: 0.5, - ), - ), - const SizedBox(height: 10), - _buildColorGrid(colors, theme), - const SizedBox(height: 20), - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - _DialogButton( - label: l.buttonCancel, - onTap: () => Navigator.of(context).pop(), - colors: colors, - theme: theme, - ), - const SizedBox(width: 8), - _DialogButton( - label: l.buttonSave, - onTap: _submit, - colors: colors, - theme: theme, - isPrimary: true, - ), - ], - ), - ], - ), - ), - ), - ); - } - - Widget _buildColorGrid(AppThemeColorScheme colors, AppThemeData theme) { - final l = AppLocalizations.of(context); - final entries = [ - (CardColor.none, l.colorNone), - (CardColor.red, l.colorRed), - (CardColor.green, l.colorGreen), - (CardColor.purple, l.colorPurple), - (CardColor.yellow, l.colorYellow), - (CardColor.blue, l.colorBlue), - (CardColor.orange, l.colorOrange), - ]; - - return Wrap( - spacing: 8, - runSpacing: 8, - children: entries.map((e) { - final isSelected = _selectedColor == e.$1; - final dotColor = e.$1 == CardColor.none - ? colors.onSurfaceSubtle - : colors.accentForIndex(e.$1.value); - - return GestureDetector( - onTap: () => setState(() => _selectedColor = e.$1), - child: AnimatedContainer( - duration: const Duration(milliseconds: 120), - width: 28, - height: 28, - decoration: BoxDecoration( - shape: BoxShape.circle, - border: Border.all( - color: isSelected ? colors.primary : Colors.transparent, - width: 2, - ), - ), - child: Center( - child: Container( - width: 18, - height: 18, - decoration: BoxDecoration( - color: e.$1 == CardColor.none ? Colors.transparent : dotColor, - shape: BoxShape.circle, - border: e.$1 == CardColor.none - ? Border.all(color: colors.onSurfaceSubtle, width: 1.5) - : null, - ), - child: e.$1 == CardColor.none - ? Center( - child: Icon( - Icons.close_rounded, - size: 10, - color: colors.onSurfaceSubtle, - ), - ) - : null, - ), - ), - ), - ); - }).toList(), - ); - } -} - -class _DialogButton extends StatefulWidget { - const _DialogButton({ - required this.label, - required this.onTap, - required this.colors, - required this.theme, - this.isPrimary = false, - }); - - final String label; - final VoidCallback onTap; - final AppThemeColorScheme colors; - final AppThemeData theme; - final bool isPrimary; - - @override - State<_DialogButton> createState() => _DialogButtonState(); -} - -class _DialogButtonState extends State<_DialogButton> { - bool _hovering = false; - - @override - Widget build(BuildContext context) { - return MouseRegion( - onEnter: (_) => setState(() => _hovering = true), - onExit: (_) => setState(() => _hovering = false), - child: GestureDetector( - onTap: widget.onTap, - child: AnimatedContainer( - duration: const Duration(milliseconds: 100), - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 7), - decoration: BoxDecoration( - color: widget.isPrimary - ? (_hovering - ? widget.colors.primary.withValues(alpha: 0.9) - : widget.colors.primary) - : (_hovering - ? widget.colors.onSurface.withValues(alpha: 0.08) - : Colors.transparent), - borderRadius: BorderRadius.circular(widget.theme.radii.button), - ), - child: Text( - widget.label, - style: TextStyle( - fontSize: 12, - fontWeight: FontWeight.w500, - color: widget.isPrimary - ? widget.colors.onPrimary - : widget.colors.onSurface, - ), - ), - ), - ), - ); - } -} diff --git a/app/lib/widgets/title_bar.dart b/app/lib/widgets/title_bar.dart deleted file mode 100644 index 789ec085..00000000 --- a/app/lib/widgets/title_bar.dart +++ /dev/null @@ -1,186 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:window_manager/window_manager.dart'; - -import '../l10n/app_localizations.dart'; -import '../theme/theme_provider.dart'; - -class TitleBar extends StatelessWidget { - const TitleBar({ - required this.searchController, - required this.searchFocusNode, - required this.onSearchChanged, - required this.trailing, - super.key, - }); - - final TextEditingController searchController; - final FocusNode searchFocusNode; - final void Function(String) onSearchChanged; - final Widget? trailing; - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - - return DragToMoveArea( - child: Padding( - padding: theme.spacing.searchBarPadding, - child: _SearchBar( - controller: searchController, - focusNode: searchFocusNode, - onChanged: onSearchChanged, - trailing: trailing, - ), - ), - ); - } -} - -class _SearchBar extends StatefulWidget { - const _SearchBar({ - required this.controller, - required this.focusNode, - required this.onChanged, - this.trailing, - }); - - final TextEditingController controller; - final FocusNode focusNode; - final void Function(String) onChanged; - final Widget? trailing; - - @override - State<_SearchBar> createState() => _SearchBarState(); -} - -class _SearchBarState extends State<_SearchBar> { - Timer? _debounce; - bool _focused = false; - - @override - void initState() { - super.initState(); - widget.focusNode.addListener(_onFocusChange); - } - - @override - void dispose() { - _debounce?.cancel(); - widget.focusNode.removeListener(_onFocusChange); - super.dispose(); - } - - void _onFocusChange() { - setState(() => _focused = widget.focusNode.hasFocus); - } - - void _onChanged(String value) { - _debounce?.cancel(); - _debounce = Timer(const Duration(milliseconds: 300), () { - widget.onChanged(value); - }); - } - - @override - Widget build(BuildContext context) { - final theme = CopyPasteTheme.of(context); - final colors = CopyPasteTheme.colorsOf(context); - - return Container( - height: theme.sizing.searchBoxHeight, - decoration: BoxDecoration( - color: _focused ? colors.cardBackground : colors.searchBackground, - borderRadius: BorderRadius.circular(theme.radii.searchBox), - border: Border.all( - color: _focused - ? colors.primary.withValues(alpha: 0.5) - : colors.searchBorder, - ), - boxShadow: [ - if (_focused) - BoxShadow( - color: colors.primary.withValues(alpha: 0.1), - blurRadius: 8, - spreadRadius: 2, - ) - else - BoxShadow( - color: colors.onSurface.withValues(alpha: 0.06), - blurRadius: 3, - offset: const Offset(0, 1), - ), - ], - ), - child: TextField( - controller: widget.controller, - focusNode: widget.focusNode, - onChanged: _onChanged, - textAlignVertical: TextAlignVertical.center, - style: theme.typography.searchInput.copyWith( - color: colors.onSurface.withValues(alpha: 0.8), - ), - cursorColor: colors.primary, - cursorWidth: 1.2, - decoration: InputDecoration( - hintText: AppLocalizations.of(context).searchPlaceholder, - hintStyle: theme.typography.searchInput.copyWith( - color: colors.onSurface.withValues(alpha: 0.35), - ), - prefixIcon: Padding( - padding: const EdgeInsets.only(left: 14, right: 8), - child: Icon( - theme.icons.search, - size: 14, - color: colors.onSurface.withValues( - alpha: theme.searchStyle.iconOpacity, - ), - ), - ), - prefixIconConstraints: const BoxConstraints( - minWidth: 0, - minHeight: 0, - ), - suffixIcon: Row( - mainAxisSize: MainAxisSize.min, - children: [ - if (widget.controller.text.isNotEmpty) - GestureDetector( - onTap: () { - widget.controller.clear(); - widget.onChanged(''); - }, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 4), - child: Icon( - Icons.close_rounded, - size: 12, - color: colors.onSurfaceMuted, - ), - ), - ), - if (widget.trailing != null) - Padding( - padding: const EdgeInsets.only(right: 8), - child: widget.trailing!, - ), - ], - ), - suffixIconConstraints: const BoxConstraints( - minWidth: 0, - minHeight: 0, - ), - contentPadding: EdgeInsets.symmetric( - horizontal: theme.searchStyle.padding.left, - vertical: 0, - ), - border: InputBorder.none, - enabledBorder: InputBorder.none, - focusedBorder: InputBorder.none, - isDense: true, - ), - ), - ); - } -} diff --git a/app/macos/.gitignore b/app/macos/.gitignore deleted file mode 100644 index 746adbb6..00000000 --- a/app/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/app/macos/Flutter/Flutter-Debug.xcconfig b/app/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2..00000000 --- a/app/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/app/macos/Flutter/Flutter-Release.xcconfig b/app/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d15..00000000 --- a/app/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/app/macos/Flutter/GeneratedPluginRegistrant.swift b/app/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index 413c0807..00000000 --- a/app/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import file_picker -import hotkey_manager_macos -import listener -import macos_window_utils -import screen_retriever_macos -import tray_manager -import window_manager - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) - HotkeyManagerMacosPlugin.register(with: registry.registrar(forPlugin: "HotkeyManagerMacosPlugin")) - ListenerPlugin.register(with: registry.registrar(forPlugin: "ListenerPlugin")) - MacOSWindowUtilsPlugin.register(with: registry.registrar(forPlugin: "MacOSWindowUtilsPlugin")) - ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin")) - TrayManagerPlugin.register(with: registry.registrar(forPlugin: "TrayManagerPlugin")) - WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) -} diff --git a/app/macos/Podfile b/app/macos/Podfile deleted file mode 100644 index ff5ddb3b..00000000 --- a/app/macos/Podfile +++ /dev/null @@ -1,42 +0,0 @@ -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/app/macos/Podfile.lock b/app/macos/Podfile.lock deleted file mode 100644 index 0e0d59a1..00000000 --- a/app/macos/Podfile.lock +++ /dev/null @@ -1,65 +0,0 @@ -PODS: - - file_picker (0.0.1): - - FlutterMacOS - - FlutterMacOS (1.0.0) - - HotKey (0.2.1) - - hotkey_manager_macos (0.0.1): - - FlutterMacOS - - HotKey - - listener (0.0.1): - - FlutterMacOS - - macos_window_utils (1.0.0): - - FlutterMacOS - - screen_retriever_macos (0.0.1): - - FlutterMacOS - - tray_manager (0.0.1): - - FlutterMacOS - - window_manager (0.5.0): - - FlutterMacOS - -DEPENDENCIES: - - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`) - - FlutterMacOS (from `Flutter/ephemeral`) - - hotkey_manager_macos (from `Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos`) - - listener (from `Flutter/ephemeral/.symlinks/plugins/listener/macos`) - - macos_window_utils (from `Flutter/ephemeral/.symlinks/plugins/macos_window_utils/macos`) - - screen_retriever_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos`) - - tray_manager (from `Flutter/ephemeral/.symlinks/plugins/tray_manager/macos`) - - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`) - -SPEC REPOS: - trunk: - - HotKey - -EXTERNAL SOURCES: - file_picker: - :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos - FlutterMacOS: - :path: Flutter/ephemeral - hotkey_manager_macos: - :path: Flutter/ephemeral/.symlinks/plugins/hotkey_manager_macos/macos - listener: - :path: Flutter/ephemeral/.symlinks/plugins/listener/macos - macos_window_utils: - :path: Flutter/ephemeral/.symlinks/plugins/macos_window_utils/macos - screen_retriever_macos: - :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos - tray_manager: - :path: Flutter/ephemeral/.symlinks/plugins/tray_manager/macos - window_manager: - :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos - -SPEC CHECKSUMS: - file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a - FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 - HotKey: 400beb7caa29054ea8d864c96f5ba7e5b4852277 - hotkey_manager_macos: a4317849af96d2430fa89944d3c58977ca089fbe - listener: cccbc07a6a40a6acf872fd26216410100fd83104 - macos_window_utils: 23f54331a0fd51eea9e0ed347253bf48fd379d1d - screen_retriever_macos: 452e51764a9e1cdb74b3c541238795849f21557f - tray_manager: a104b5c81b578d83f3c3d0f40a997c8b10810166 - window_manager: b729e31d38fb04905235df9ea896128991cad99e - -PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009 - -COCOAPODS: 1.16.2 diff --git a/app/macos/Runner.xcodeproj/project.pbxproj b/app/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 918713f6..00000000 --- a/app/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,801 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 27F294F2FC1A5540792290B7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A9396268EE0A613996FE54A /* Pods_Runner.framework */; }; - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 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 */; }; - EFCA9B4EC829F7F788F5D3F2 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F43A31374C6150BCB5F34B5 /* Pods_RunnerTests.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* 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 */ - 0A9396268EE0A613996FE54A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 268B456E2F3D22A3957F4964 /* 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 = ""; }; - 2F43A31374C6150BCB5F34B5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 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 /* app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = app.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 = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 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 = ""; }; - 3415E35F8C28102C6C7460E5 /* 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 = ""; }; - 5C19DFA2EF3C89A724BE20B7 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8D9EA168AA0DDFE3C8B7AFFB /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 90E70C152C504027D1E8A250 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - D6A360C0D76EE65A50035EC4 /* 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 */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - EFCA9B4EC829F7F788F5D3F2 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 27F294F2FC1A5540792290B7 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - F6AC285569FDB2BB4C045EA0 /* Pods */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* app.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 0A9396268EE0A613996FE54A /* Pods_Runner.framework */, - 2F43A31374C6150BCB5F34B5 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - F6AC285569FDB2BB4C045EA0 /* Pods */ = { - isa = PBXGroup; - children = ( - 268B456E2F3D22A3957F4964 /* Pods-Runner.debug.xcconfig */, - 3415E35F8C28102C6C7460E5 /* Pods-Runner.release.xcconfig */, - D6A360C0D76EE65A50035EC4 /* Pods-Runner.profile.xcconfig */, - 5C19DFA2EF3C89A724BE20B7 /* Pods-RunnerTests.debug.xcconfig */, - 8D9EA168AA0DDFE3C8B7AFFB /* Pods-RunnerTests.release.xcconfig */, - 90E70C152C504027D1E8A250 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - C6D2A2BBFE2539BE7F142199 /* [CP] Check Pods Manifest.lock */, - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 38CD4E7D606ED39C7AC1AA93 /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - 9FCA2631710007368872476D /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* app.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - 38CD4E7D606ED39C7AC1AA93 /* [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; - }; - 9FCA2631710007368872476D /* [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; - }; - C6D2A2BBFE2539BE7F142199 /* [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-RunnerTests-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 */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5C19DFA2EF3C89A724BE20B7 /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.app.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/app"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8D9EA168AA0DDFE3C8B7AFFB /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.app.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/app"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 90E70C152C504027D1E8A250 /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.app.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/app.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/app"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/app/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index e8559da2..00000000 --- a/app/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/macos/Runner.xcworkspace/contents.xcworkspacedata b/app/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14..00000000 --- a/app/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/app/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/app/macos/Runner/AppDelegate.swift b/app/macos/Runner/AppDelegate.swift deleted file mode 100644 index af5aedd0..00000000 --- a/app/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,44 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return false - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } - - override func applicationDidFinishLaunching(_ notification: Notification) { - super.applicationDidFinishLaunching(notification) - stripMenuBar() - } - - override func applicationShouldHandleReopen(_ sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { - let wakeupPath = (NSTemporaryDirectory() as NSString).appendingPathComponent("copypaste.wakeup") - try? "wakeup".write(toFile: wakeupPath, atomically: true, encoding: .utf8) - return true - } - - private func stripMenuBar() { - guard let menu = NSApp.mainMenu else { return } - - // Keep only App (index 0) and Edit (index 1) menus - while menu.items.count > 2 { - menu.removeItem(at: menu.items.count - 1) - } - - // Remove keyboard shortcuts that bypass Dart cleanup - if let appMenu = menu.items.first?.submenu { - for item in appMenu.items where - item.action == #selector(NSApplication.terminate(_:)) || - item.action == #selector(NSApplication.hide(_:)) || - item.action == #selector(NSApplication.hideOtherApplications(_:)) { - item.keyEquivalent = "" - item.keyEquivalentModifierMask = [] - } - } - } -} diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f1..00000000 --- a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 24279bd169f1d9832949cdc6adb8369e87e5fc87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1291616 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

lnjMe5}N}4+o2SDngHntYcnDI{geMlyZdl< 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%0A`P8Jo9P*8fLq?E*M^ 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 MY9F@qThPfvfgjNvzGQ{>`PTB0SO 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
QBS2-^%A|~{jR{8bCOK2L2Q(V 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%0A%iW3gCXR*8H^ByuU8u!Z}<##_3c%U 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 RHJtze002ovPDHLkV1fv3{aXM4 diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index 15bdd592cf2bb9bb9434d0e109c2f892a10daa6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97499 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 diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index 86af0c4d96a1157393f25a5f109fc7bdfe21af1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3380 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 KMNUMnLSTZ6H?C*^ diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index 98298e1623febcd9cc2f0c516ba9091feebda6c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351352 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

_S+OTjz$- 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�n9(t~*_frW);T)oe-GPT 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 diff --git a/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index f82dc91f7f8f85bf952504b3d450ab8220c081ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7914 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 U4jcCbOaK4?07*qoM6N<$f}>%Ya{vGU diff --git a/app/macos/Runner/Base.lproj/MainMenu.xib b/app/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index be628213..00000000 --- a/app/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/macos/Runner/Configs/AppInfo.xcconfig b/app/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index b53798f9..00000000 --- a/app/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = CopyPaste - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.rgdevment.copypaste - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2026 rgdevment. All rights reserved. diff --git a/app/macos/Runner/Configs/Debug.xcconfig b/app/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd94..00000000 --- a/app/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/app/macos/Runner/Configs/Release.xcconfig b/app/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f495..00000000 --- a/app/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/app/macos/Runner/Configs/Warnings.xcconfig b/app/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf47..00000000 --- a/app/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/app/macos/Runner/DebugProfile.entitlements b/app/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index 4fc43ef1..00000000 --- a/app/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,16 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - com.apple.security.network.client - - com.apple.security.files.user-selected.read-write - - - diff --git a/app/macos/Runner/Info.plist b/app/macos/Runner/Info.plist deleted file mode 100644 index c1e73733..00000000 --- a/app/macos/Runner/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - LSUIElement - - LSMultipleInstancesProhibited - - - diff --git a/app/macos/Runner/MainFlutterWindow.swift b/app/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb2..00000000 --- a/app/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/app/macos/Runner/Release.entitlements b/app/macos/Runner/Release.entitlements deleted file mode 100644 index 04315f36..00000000 --- a/app/macos/Runner/Release.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.network.client - - com.apple.security.files.user-selected.read-write - - - diff --git a/app/macos/RunnerTests/RunnerTests.swift b/app/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 61f3bd1f..00000000 --- a/app/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Cocoa -import FlutterMacOS -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/app/pubspec.yaml b/app/pubspec.yaml deleted file mode 100644 index dae1174a..00000000 --- a/app/pubspec.yaml +++ /dev/null @@ -1,54 +0,0 @@ -name: copypaste -description: "CopyPaste — Flutter desktop clipboard manager." -publish_to: "none" -version: 0.0.0-dev -resolution: workspace - -environment: - sdk: ^3.11.1 - -dependencies: - flutter: - sdk: flutter - flutter_localizations: - sdk: flutter - intl: any - core: - path: ../core - listener: - path: ../listener - tray_manager: ^0.5.2 - hotkey_manager: ^0.2.0 - window_manager: ^0.5.1 - ffi: ^2.2.0 - file_picker: ^11.0.0 - flutter_acrylic: ^1.1.4 - cryptography: ^2.7.0 - path: ^1.9.0 -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^6.0.0 - msix: ^3.16.8 - -msix_config: - startup_task: - task_id: CopyPasteStartup - enabled: true - -flutter: - uses-material-design: true - - assets: - - assets/icons/icon_app_256.png - - assets/icons/icon_tray_32.png - - assets/icons/icon_tray_64.png - - assets/icons/icon_notification.png - - assets/icons/icon_tray.ico - - assets/icons/icon_mac_tray.png - - assets/icons/icon_mac_tray@2x.png - - assets/icons/icon_linkunbound.png - - assets/keys/release_pubkey.txt - - generate: true - diff --git a/app/test/helpers/test_wrapper.dart b/app/test/helpers/test_wrapper.dart deleted file mode 100644 index d4d45c52..00000000 --- a/app/test/helpers/test_wrapper.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -Widget wrapWidget(Widget child, {Brightness brightness = Brightness.light}) { - return MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData(brightness: brightness), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold(body: child), - ), - ); -} diff --git a/app/test/helpers/url_helper_test.dart b/app/test/helpers/url_helper_test.dart deleted file mode 100644 index ed75ba37..00000000 --- a/app/test/helpers/url_helper_test.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/helpers/url_helper.dart'; - -void main() { - tearDown(() => UrlHelper.platformOverride = null); - - group('UrlHelper.open', () { - test('completes on current platform without throwing', () async { - try { - await UrlHelper.open(''); - } catch (_) {} - }); - - test('takes windows branch when platformOverride=windows', () async { - UrlHelper.platformOverride = 'windows'; - try { - await UrlHelper.open('about:blank'); - } catch (_) {} - }); - - test('takes macos branch when platformOverride=macos', () async { - UrlHelper.platformOverride = 'macos'; - try { - await UrlHelper.open('about:blank'); - } catch (_) {} - }); - - test('takes no-op branch when platformOverride=other', () async { - UrlHelper.platformOverride = 'other'; - await UrlHelper.open('about:blank'); - }); - }); -} diff --git a/app/test/screens/blocked_version_screen_test.dart b/app/test/screens/blocked_version_screen_test.dart deleted file mode 100644 index 992768a3..00000000 --- a/app/test/screens/blocked_version_screen_test.dart +++ /dev/null @@ -1,211 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/helpers/url_helper.dart'; -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/screens/blocked_version_screen.dart'; -import 'package:copypaste/services/install_channel.dart'; -import 'package:copypaste/services/release_manifest_service.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -Widget _wrap(Widget child) => MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme(themeData: CompactTheme(), child: child), -); - -ReleaseManifest _manifest({ - String? githubWindowsUrl, - String? homebrewCommand, - String? msStoreUrl, - String? scoopCommand, -}) { - return ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.3.0', - blockedVersions: const ['2.2.6'], - severity: ManifestSeverity.critical, - channels: { - if (githubWindowsUrl != null) - 'github_windows': ChannelInfo(url: githubWindowsUrl), - if (homebrewCommand != null) - 'homebrew': ChannelInfo(command: homebrewCommand), - if (msStoreUrl != null) 'msstore': ChannelInfo(url: msStoreUrl), - if (scoopCommand != null) 'scoop': ChannelInfo(command: scoopCommand), - if (githubWindowsUrl != null) - 'github_macos': ChannelInfo(url: githubWindowsUrl), - }, - notes: const {'en': ReleaseNotes(summary: 'Critical security fix.')}, - ); -} - -void main() { - tearDown(() { - UrlHelper.platformOverride = null; - InstallChannelDetector.platformOverride = null; - InstallChannelDetector.channelOverride = null; - }); - - group('BlockedVersionScreen', () { - testWidgets('renders title and current version', (tester) async { - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(githubWindowsUrl: 'https://example.com'), - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.textContaining('2.2.6'), findsWidgets); - expect(find.textContaining('2.3.0'), findsWidgets); - }); - - testWidgets('shows release notes summary', (tester) async { - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(githubWindowsUrl: 'https://example.com'), - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.textContaining('Critical security fix'), findsOneWidget); - }); - - testWidgets('shows Download button for github_windows channel', ( - tester, - ) async { - InstallChannelDetector.platformOverride = HostPlatform.windows; - UrlHelper.platformOverride = 'other'; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(githubWindowsUrl: 'https://example.com/latest'), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.updateActionDownload), findsOneWidget); - }); - - testWidgets('shows Copy command button for homebrew channel', ( - tester, - ) async { - InstallChannelDetector.channelOverride = InstallChannel.homebrew; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(homebrewCommand: 'brew upgrade copypaste'), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.updateActionCopyCommand('brew')), findsOneWidget); - }); - - testWidgets('shows Copy command button for scoop channel', (tester) async { - InstallChannelDetector.channelOverride = InstallChannel.scoop; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(scoopCommand: 'scoop update copypaste'), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.updateActionCopyCommand('scoop')), findsOneWidget); - }); - - testWidgets('shows fallback hint when channel has no info', (tester) async { - InstallChannelDetector.platformOverride = HostPlatform.windows; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.3.0', - blockedVersions: const [], - channels: const {}, - notes: const {}, - severity: ManifestSeverity.critical, - ), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.blockedFallbackHint), findsOneWidget); - }); - - testWidgets('shows generic reason when notes is empty', (tester) async { - InstallChannelDetector.platformOverride = HostPlatform.windows; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.3.0', - blockedVersions: const [], - channels: const { - 'github_windows': ChannelInfo(url: 'https://example.com'), - }, - notes: const {}, - severity: ManifestSeverity.critical, - ), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.blockedReasonGeneric), findsOneWidget); - }); - - testWidgets('Quit button is visible', (tester) async { - InstallChannelDetector.platformOverride = HostPlatform.windows; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(githubWindowsUrl: 'https://example.com'), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - expect(find.text(l.blockedQuit), findsOneWidget); - }); - - testWidgets('tapping Download button invokes UrlHelper', (tester) async { - InstallChannelDetector.platformOverride = HostPlatform.windows; - UrlHelper.platformOverride = 'other'; - await tester.pumpWidget( - _wrap( - BlockedVersionScreen( - currentVersion: '2.2.6', - manifest: _manifest(githubWindowsUrl: 'https://example.com/latest'), - ), - ), - ); - await tester.pumpAndSettle(); - final l = await AppLocalizations.delegate.load(const Locale('en')); - await tester.tap(find.text(l.updateActionDownload)); - await tester.pumpAndSettle(); - }); - }); -} diff --git a/app/test/screens/desktop_onboarding_screen_test.dart b/app/test/screens/desktop_onboarding_screen_test.dart deleted file mode 100644 index 44cd0c11..00000000 --- a/app/test/screens/desktop_onboarding_screen_test.dart +++ /dev/null @@ -1,210 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/screens/desktop_onboarding_screen.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -Widget _wrap(Widget child, {Locale locale = const Locale('en')}) { - return MaterialApp( - locale: locale, - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme(themeData: CompactTheme(), child: child), - ); -} - -Future _pump( - WidgetTester tester, - Widget child, { - Locale locale = const Locale('en'), -}) async { - tester.view.physicalSize = const Size(1080, 1920); - tester.view.devicePixelRatio = 2.0; - addTearDown(tester.view.reset); - await tester.pumpWidget(_wrap(child, locale: locale)); - await tester.pump(); -} - -void main() { - const hotkey = 'Ctrl+Shift+V'; - - Widget screen({VoidCallback? onDismiss, VoidCallback? onSettings}) => - DesktopOnboardingScreen( - hotkey: hotkey, - initialConfig: const AppConfig(), - onDismiss: (_) => (onDismiss ?? () {})(), - onSettings: (_) => (onSettings ?? () {})(), - ); - - group('DesktopOnboardingScreen', () { - testWidgets('renders title and subtitle', (tester) async { - await _pump(tester, screen()); - - expect(find.text('Welcome to CopyPaste'), findsOneWidget); - expect(find.text('Everything you copy, saved.'), findsOneWidget); - }); - - testWidgets('renders privacy badge with lock icon', (tester) async { - await _pump(tester, screen()); - - expect(find.byIcon(Icons.lock_outline_rounded), findsOneWidget); - expect(find.text('No cloud · No tracking · 100% local'), findsOneWidget); - }); - - testWidgets('renders hotkey chip with keyboard icon', (tester) async { - await _pump(tester, screen()); - - expect(find.byIcon(Icons.keyboard_rounded), findsOneWidget); - expect(find.text(hotkey), findsOneWidget); - }); - - testWidgets('renders tray hint text', (tester) async { - await _pump(tester, screen()); - - expect( - find.text('Look for the CP icon next to your clock.'), - findsOneWidget, - ); - }); - - testWidgets('renders description containing the hotkey', (tester) async { - await _pump(tester, screen()); - - expect(find.textContaining(hotkey), findsWidgets); - }); - - testWidgets('tapping dismiss button invokes onDismiss', (tester) async { - var dismissed = false; - await _pump(tester, screen(onDismiss: () => dismissed = true)); - - await tester.tap(find.byType(FilledButton)); - await tester.pump(); - - expect(dismissed, isTrue); - }); - - testWidgets('tapping settings button invokes onSettings', (tester) async { - var opened = false; - await _pump(tester, screen(onSettings: () => opened = true)); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - - expect(opened, isTrue); - }); - - testWidgets('renders both action buttons', (tester) async { - await _pump(tester, screen()); - - expect(find.byType(FilledButton), findsOneWidget); - expect(find.byType(OutlinedButton), findsOneWidget); - }); - - testWidgets('renders in dark mode without errors', (tester) async { - tester.view.physicalSize = const Size(1080, 1920); - tester.view.devicePixelRatio = 2.0; - addTearDown(tester.view.reset); - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData(brightness: Brightness.dark), - home: CopyPasteTheme(themeData: CompactTheme(), child: screen()), - ), - ); - await tester.pump(); - - expect(find.text('Welcome to CopyPaste'), findsOneWidget); - }); - - testWidgets('renders in Spanish locale', (tester) async { - await _pump(tester, screen(), locale: const Locale('es')); - - expect(find.text('Bienvenido a CopyPaste'), findsOneWidget); - expect(find.text('Sin nube · Sin rastreo · 100% local'), findsOneWidget); - }); - - testWidgets('app icon is displayed', (tester) async { - await _pump(tester, screen()); - - expect(find.byType(Image), findsOneWidget); - }); - - testWidgets('uses different hotkey string when provided', (tester) async { - const customHotkey = 'Ctrl+Alt+V'; - tester.view.physicalSize = const Size(1080, 1920); - tester.view.devicePixelRatio = 2.0; - addTearDown(tester.view.reset); - - await tester.pumpWidget( - _wrap( - DesktopOnboardingScreen( - hotkey: customHotkey, - initialConfig: const AppConfig(), - onDismiss: (_) {}, - onSettings: (_) {}, - ), - ), - ); - await tester.pump(); - - expect(find.text(customHotkey), findsOneWidget); - }); - - testWidgets('no Switch or Slider rendered (personalize section removed)', ( - tester, - ) async { - await _pump(tester, screen()); - - expect(find.byType(Switch), findsNothing); - expect(find.byType(Slider), findsNothing); - }); - - testWidgets('dismiss callback receives unmodified initialConfig', ( - tester, - ) async { - const config = AppConfig(); - AppConfig? received; - await _pump( - tester, - DesktopOnboardingScreen( - hotkey: hotkey, - initialConfig: config, - onDismiss: (c) => received = c, - onSettings: (_) {}, - ), - ); - - await tester.tap(find.byType(FilledButton)); - await tester.pump(); - - expect(received, equals(config)); - }); - - testWidgets('settings callback receives unmodified initialConfig', ( - tester, - ) async { - const config = AppConfig(); - AppConfig? received; - await _pump( - tester, - DesktopOnboardingScreen( - hotkey: hotkey, - initialConfig: config, - onDismiss: (_) {}, - onSettings: (c) => received = c, - ), - ); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - - expect(received, equals(config)); - }); - }); -} diff --git a/app/test/screens/main_screen_test.dart b/app/test/screens/main_screen_test.dart deleted file mode 100644 index eb932557..00000000 --- a/app/test/screens/main_screen_test.dart +++ /dev/null @@ -1,1922 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/helpers/url_helper.dart'; -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/screens/main_screen.dart'; -import 'package:copypaste/services/release_manifest_service.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; -import 'package:copypaste/widgets/clipboard_card.dart'; -import 'package:copypaste/widgets/empty_state.dart'; -import 'package:copypaste/widgets/filter_bar.dart'; - -Widget _buildApp({ - required ClipboardService service, - required void Function(ClipboardItem) onPaste, - void Function(ClipboardItem)? onPastePlain, - VoidCallback? onPlainPasteUnavailable, - VoidCallback? onExit, - VoidCallback? onSettings, - bool resetScrollOnShow = true, - bool resetSearchOnShow = true, - bool resetFiltersOnShow = true, - bool showHint = false, - VoidCallback? onDismissHint, - String? updateVersion, - ManifestSeverity? updateSeverity, - Key? key, -}) { - return MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - key: key, - clipboardService: service, - onPaste: onPaste, - onPastePlain: onPastePlain ?? (_) {}, - onPlainPasteUnavailable: onPlainPasteUnavailable, - onExit: onExit ?? () {}, - onSettings: onSettings ?? () {}, - resetScrollOnShow: resetScrollOnShow, - resetSearchOnShow: resetSearchOnShow, - resetFiltersOnShow: resetFiltersOnShow, - showHint: showHint, - onDismissHint: onDismissHint, - updateVersion: updateVersion, - updateSeverity: updateSeverity, - ), - ), - ), - ); -} - -void main() { - late SqliteRepository repo; - late ClipboardService service; - - setUp(() { - repo = SqliteRepository.inMemory(); - service = ClipboardService(repo); - }); - - tearDown(() async { - await service.dispose(); - await repo.close(); - }); - - group('MainScreen', () { - testWidgets('renders without error', (tester) async { - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('shows EmptyState and reports unavailable plain paste', ( - tester, - ) async { - var unavailableCount = 0; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPlainPasteUnavailable: () => unavailableCount++, - key: key, - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(EmptyState), findsOneWidget); - expect(key.currentState!.pasteSelectedPlainOrFirst(), isFalse); - expect(unavailableCount, 1); - }); - - testWidgets('shows ClipboardCard after items are loaded', (tester) async { - await repo.save( - ClipboardItem( - content: 'Hello clipboard', - type: ClipboardContentType.text, - ), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.text('Hello clipboard'), findsOneWidget); - }); - - testWidgets('multiple items render multiple cards', (tester) async { - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsNWidgets(3)); - }); - - testWidgets('bounds displayed text for very large content', (tester) async { - final big = 'A' * 5000; - await repo.save( - ClipboardItem(content: big, type: ClipboardContentType.text), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - expect(find.text(big), findsNothing); - final preview = tester - .widgetList(find.byType(Text)) - .firstWhere((t) => (t.data ?? '').startsWith('A')); - expect(preview.data!.length, lessThanOrEqualTo(2000)); - expect(preview.data!.length, greaterThan(0)); - }); - - testWidgets('ArrowDown from search selects first item', (tester) async { - await repo.save( - ClipboardItem(content: 'Select me', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // Card is present (selection changes visual rendering) - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('Enter fires onPaste with selected item', (tester) async { - await repo.save( - ClipboardItem(content: 'Paste me', type: ClipboardContentType.text), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // ArrowDown to select first item - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // Enter to paste - await tester.sendKeyEvent(LogicalKeyboardKey.enter); - await tester.pump(); - - expect(pasted, isNotNull); - expect(pasted!.content, equals('Paste me')); - }); - - testWidgets('Escape fires onExit when no active filters', (tester) async { - await repo.save( - ClipboardItem(content: 'Test item', type: ClipboardContentType.text), - ); - - var exitFired = false; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onExit: () => exitFired = true, - key: key, - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Move focus to list - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.escape); - await tester.pump(); - - expect(exitFired, isTrue); - }); - - testWidgets('Ctrl+1 switches to recent tab', (tester) async { - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.controlLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.digit1); - await tester.sendKeyUpEvent(LogicalKeyboardKey.controlLeft); - await tester.pump(); - - // Recent tab is active, no crash - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Ctrl+2 switches to pinned tab', (tester) async { - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.controlLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.digit2); - await tester.sendKeyUpEvent(LogicalKeyboardKey.controlLeft); - await tester.pumpAndSettle(); - - // Pinned tab has no items → EmptyState - expect(find.byType(EmptyState), findsOneWidget); - }); - - testWidgets('onWindowHide resets selected index and state', (tester) async { - await repo.save( - ClipboardItem(content: 'Test', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - key.currentState!.onWindowHide(); - await tester.pump(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('ArrowUp from first item returns focus to search', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Item', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // ArrowDown to select first item - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // ArrowUp from first item → selection cleared, search focused - await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); - await tester.pump(); - - // Screen still renders - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('search text change filters items', (tester) async { - await repo.save( - ClipboardItem(content: 'apple pie', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'banana split', type: ClipboardContentType.text), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - // Type in the search field - await tester.enterText(find.byType(TextField).first, 'apple'); - // Wait for debounce - await tester.pump(const Duration(milliseconds: 400)); - await tester.pumpAndSettle(); - - expect(find.text('apple pie'), findsOneWidget); - }); - - testWidgets('Delete key deletes selected item', (tester) async { - await repo.save( - ClipboardItem(content: 'Delete me', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.delete); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('P key pins selected item', (tester) async { - await repo.save( - ClipboardItem(content: 'Pin me', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.keyP); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('ArrowRight expands selected item', (tester) async { - await repo.save( - ClipboardItem(content: 'Expand me', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowRight); - await tester.pump(); - - // ArrowRight again collapses - await tester.sendKeyEvent(LogicalKeyboardKey.arrowRight); - await tester.pump(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Alt+C focuses search field', (tester) async { - await repo.save( - ClipboardItem(content: 'Item', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Move focus to list - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // Alt+C should return focus to search - await tester.sendKeyDownEvent(LogicalKeyboardKey.altLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyC); - await tester.sendKeyUpEvent(LogicalKeyboardKey.altLeft); - await tester.pump(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Escape with active search query clears search', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Item', type: ClipboardContentType.text), - ); - - var exitFired = false; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onExit: () => exitFired = true, - key: key, - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Enter text in search AFTER onWindowShow so it's not cleared - await tester.enterText(find.byType(TextField).first, 'search text'); - // Wait for 300ms debounce in TitleBar._SearchBarState - await tester.pump(const Duration(milliseconds: 400)); - - // Escape should clear search, not exit - await tester.sendKeyEvent(LogicalKeyboardKey.escape); - await tester.pump(); - - // Exit should NOT have fired because search was active - expect(exitFired, isFalse); - }); - - testWidgets('showHint renders hint banner', (tester) async { - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () {}, - showHint: true, - onDismissHint: () {}, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - // Hint banner icon visible - expect(find.byIcon(Icons.lightbulb_outline_rounded), findsOneWidget); - }); - - testWidgets('hint banner dismiss button calls onDismissHint', ( - tester, - ) async { - var dismissed = false; - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () {}, - showHint: true, - onDismissHint: () => dismissed = true, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.byIcon(Icons.close_rounded)); - await tester.pump(); - - expect(dismissed, isTrue); - }); - - testWidgets('hint banner settings link dismisses hint and opens settings', ( - tester, - ) async { - var dismissed = false; - var settingsOpened = false; - - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onSettings: () => settingsOpened = true, - showHint: true, - onDismissHint: () => dismissed = true, - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Settings')); - await tester.pumpAndSettle(); - - expect(dismissed, isTrue); - expect(settingsOpened, isTrue); - }); - - testWidgets('settings button triggers onSettings', (tester) async { - var settingsFired = false; - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () => settingsFired = true, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - // Find and tap settings icon - final settingsIcon = find.byIcon(Icons.settings_outlined); - if (settingsIcon.evaluate().isNotEmpty) { - await tester.tap(settingsIcon.first); - await tester.pump(); - expect(settingsFired, isTrue); - } - }); - - testWidgets('ArrowDown from selected item moves to next', (tester) async { - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Move to first - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - // Move to second - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - expect(find.byType(ClipboardCard), findsWidgets); - }); - - testWidgets('Shift+Tab returns focus from list to search', (tester) async { - await repo.save( - ClipboardItem(content: 'Item', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.tab); - await tester.sendKeyUpEvent(LogicalKeyboardKey.shiftLeft); - await tester.pump(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('onWindowHide trims items list when large', (tester) async { - // Add more than pageSize items - for (var i = 0; i < 35; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowHide(); - await tester.pump(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('item addition reloads list via stream', (tester) async { - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - expect(find.byType(EmptyState), findsOneWidget); - - // Add via service (triggers stream) - await service.processText('Stream item', ClipboardContentType.text); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsAtLeastNWidgets(1)); - }); - - testWidgets('E key on selected item shows edit dialog', (tester) async { - await repo.save( - ClipboardItem(content: 'Edit me', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // E key → shows edit dialog - await tester.sendKeyEvent(LogicalKeyboardKey.keyE); - await tester.pumpAndSettle(); - - // Label & Color dialog should appear - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('onWindowShow with resetScrollOnShow=false does not scroll', ( - tester, - ) async { - for (var i = 0; i < 5; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - key: key, - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () {}, - resetScrollOnShow: false, - resetSearchOnShow: false, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets( - 'onWindowShow keeps search text when resetSearchOnShow is false', - (tester) async { - await repo.save( - ClipboardItem( - content: 'Kept search', - type: ClipboardContentType.text, - ), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - key: key, - resetSearchOnShow: false, - ), - ); - await tester.pumpAndSettle(); - - final searchField = find.byType(TextField).first; - await tester.enterText(searchField, 'keep me'); - await tester.pump(const Duration(milliseconds: 400)); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pumpAndSettle(); - - expect(find.text('keep me'), findsOneWidget); - }, - ); - - testWidgets('keyboard navigation at bottom of list does not crash', ( - tester, - ) async { - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Navigate to last item - for (var i = 0; i < 5; i++) { - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - } - - expect(find.byType(ClipboardCard), findsWidgets); - }); - - testWidgets('pinned tab shows only pinned items', (tester) async { - await repo.save( - ClipboardItem(content: 'Normal item', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem( - content: 'Pinned item', - type: ClipboardContentType.text, - isPinned: true, - ), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Switch to pinned tab - await tester.sendKeyDownEvent(LogicalKeyboardKey.controlLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.digit2); - await tester.sendKeyUpEvent(LogicalKeyboardKey.controlLeft); - await tester.pumpAndSettle(); - - expect(find.text('Pinned item'), findsOneWidget); - }); - - testWidgets('hint banner settings link calls onSettings', (tester) async { - var settingsFired = false; - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () => settingsFired = true, - showHint: true, - onDismissHint: () {}, - ), - ), - ), - ), - ); - await tester.pump(); - await tester.pump(const Duration(seconds: 1)); - - // Find the "Settings" link text in hint banner and tap it - final settingsLinks = find.byType(GestureDetector); - // The hint banner has a GestureDetector for the settings link - if (settingsLinks.evaluate().isNotEmpty) { - await tester.tap(settingsLinks.first); - await tester.pump(); - await tester.pump(const Duration(seconds: 1)); - } - // Just verify the screen doesn't crash - expect(settingsFired || !settingsFired, isTrue); - }); - - testWidgets('tapping type filter chip calls onTypeFilterChanged', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Hello', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Tap the "Text" chip in FilterTabBar to set type filter - final textChip = find.text('Text'); - if (textChip.evaluate().isNotEmpty) { - await tester.tap(textChip.first); - await tester.pumpAndSettle(); - } - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Escape with type filter active clears filters', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Item 1', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Set a type filter by tapping "Text" chip - final textChip = find.text('Text'); - if (textChip.evaluate().isNotEmpty) { - await tester.tap(textChip.first); - await tester.pumpAndSettle(); - } - - // Move focus to list and send Escape to clear filters - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - await tester.sendKeyEvent(LogicalKeyboardKey.escape); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Alt+G opens filter bar menu', (tester) async { - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.altLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyG); - await tester.sendKeyUpEvent(LogicalKeyboardKey.altLeft); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('ArrowUp from selected item moves selection up', ( - tester, - ) async { - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Navigate down twice - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - // Then navigate up - await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); - await tester.pump(); - await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); - await tester.pump(); - - // Navigate up past first item → should return to search - await tester.sendKeyEvent(LogicalKeyboardKey.arrowUp); - await tester.pump(); - - expect(find.byType(ClipboardCard), findsWidgets); - }); - - testWidgets('Enter key on selected item triggers onPaste', (tester) async { - await repo.save( - ClipboardItem(content: 'Paste me', type: ClipboardContentType.text), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.enter); - await tester.pump(); - - expect(pasted, isNotNull); - expect(pasted!.content, 'Paste me'); - }); - - testWidgets('Ctrl+Shift+V never pastes a CopyPaste history item', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Older', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pastedPlain; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPastePlain: (item) => pastedPlain = item, - key: key, - ), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.controlLeft); - await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyV); - await tester.sendKeyUpEvent(LogicalKeyboardKey.shiftLeft); - await tester.sendKeyUpEvent(LogicalKeyboardKey.controlLeft); - await tester.pump(); - - expect(pastedPlain, isNull); - }); - - testWidgets('Ctrl+V never pastes a CopyPaste history item', (tester) async { - await repo.save( - ClipboardItem(content: 'History item', type: ClipboardContentType.text), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.controlLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyV); - await tester.sendKeyUpEvent(LogicalKeyboardKey.controlLeft); - await tester.pump(); - - expect(pasted, isNull); - }); - - testWidgets('Enter pastes first visible item without selection', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Older', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.enter); - await tester.pump(); - - expect(pasted?.content, 'Newest'); - }); - - testWidgets('normal paste prioritizes the item under the mouse', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Hovered older item', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest first item', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - - final mouse = await tester.createGesture(kind: PointerDeviceKind.mouse); - await mouse.addPointer(location: Offset.zero); - addTearDown(mouse.removePointer); - final hoveredCard = find.ancestor( - of: find.text('Hovered older item'), - matching: find.byType(ClipboardCard), - ); - await mouse.moveTo(tester.getCenter(hoveredCard)); - await tester.pump(); - - expect(key.currentState!.pasteSelectedOrFirst(), isTrue); - expect(pasted?.content, 'Hovered older item'); - }); - - testWidgets('normal paste falls back after the pointer leaves a card', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Hovered older item', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest first item', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pasted; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (item) => pasted = item, key: key), - ); - await tester.pumpAndSettle(); - - final mouse = await tester.createGesture(kind: PointerDeviceKind.mouse); - await mouse.addPointer(location: Offset.zero); - addTearDown(mouse.removePointer); - final hoveredCard = find.ancestor( - of: find.text('Hovered older item'), - matching: find.byType(ClipboardCard), - ); - await mouse.moveTo(tester.getCenter(hoveredCard)); - await tester.pump(); - await mouse.moveTo(Offset.zero); - await tester.pump(); - - expect(key.currentState!.pasteSelectedOrFirst(), isTrue); - expect(pasted?.content, 'Newest first item'); - }); - - testWidgets('plain paste reports unsupported history item', (tester) async { - await repo.save( - ClipboardItem( - content: 'C:/example/image.png', - type: ClipboardContentType.image, - ), - ); - - var unavailableCount = 0; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPlainPasteUnavailable: () => unavailableCount++, - key: key, - ), - ); - await tester.pumpAndSettle(); - - expect(key.currentState!.pasteSelectedPlainOrFirst(), isFalse); - expect(unavailableCount, 1); - }); - - testWidgets('plain paste prioritizes the item under the mouse', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Hovered older item', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest first item', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pastedPlain; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPastePlain: (item) => pastedPlain = item, - key: key, - ), - ); - await tester.pumpAndSettle(); - - final mouse = await tester.createGesture(kind: PointerDeviceKind.mouse); - await mouse.addPointer(location: Offset.zero); - addTearDown(mouse.removePointer); - final hoveredCard = find.ancestor( - of: find.text('Hovered older item'), - matching: find.byType(ClipboardCard), - ); - await mouse.moveTo(tester.getCenter(hoveredCard)); - await tester.pump(); - - expect(key.currentState!.pasteSelectedPlainOrFirst(), isTrue); - expect(pastedPlain?.content, 'Hovered older item'); - }); - - testWidgets('Shift+Enter pastes selected item as plain text', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Paste plain', type: ClipboardContentType.text), - ); - - ClipboardItem? pastedPlain; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPastePlain: (item) => pastedPlain = item, - key: key, - ), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.enter); - await tester.sendKeyUpEvent(LogicalKeyboardKey.shiftLeft); - await tester.pump(); - - expect(pastedPlain, isNotNull); - expect(pastedPlain!.content, 'Paste plain'); - }); - - testWidgets('Shift+Enter pastes first visible item without selection', ( - tester, - ) async { - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - content: 'Older plain', - type: ClipboardContentType.text, - createdAt: now.subtract(const Duration(seconds: 1)), - modifiedAt: now.subtract(const Duration(seconds: 1)), - ), - ); - await repo.save( - ClipboardItem( - content: 'Newest plain', - type: ClipboardContentType.text, - createdAt: now, - modifiedAt: now, - ), - ); - - ClipboardItem? pastedPlain; - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - onPastePlain: (item) => pastedPlain = item, - key: key, - ), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.shiftLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.enter); - await tester.sendKeyUpEvent(LogicalKeyboardKey.shiftLeft); - await tester.pump(); - - expect(pastedPlain?.content, 'Newest plain'); - }); - - testWidgets('item reactivated via stream triggers reload', (tester) async { - await repo.save( - ClipboardItem(content: 'Reactivated', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - // processText with same content twice triggers reactivation - await service.processText('Reactivated', ClipboardContentType.text); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsAtLeastNWidgets(1)); - }); - - testWidgets('search clear button clears text field', (tester) async { - await repo.save( - ClipboardItem(content: 'Clear test', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Enter text in search - final searchField = find.byType(TextField).first; - await tester.enterText(searchField, 'hello'); - // Wait for 300ms debounce → triggers _onSearchChanged → _reload → setState → rebuild shows clear button - await tester.pump(const Duration(milliseconds: 400)); - await tester.pumpAndSettle(); - - // Close/clear icon should appear in the search suffix - final closeIcons = find.byIcon(Icons.close_rounded); - expect(closeIcons, findsAtLeastNWidgets(1)); - await tester.tap(closeIcons.first); - await tester.pump(const Duration(milliseconds: 400)); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('renders correctly in Spanish locale', (tester) async { - await tester.pumpWidget( - MaterialApp( - locale: const Locale('es'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: MainScreen( - clipboardService: service, - onPaste: (_) {}, - onPastePlain: (_) {}, - onExit: () {}, - onSettings: () {}, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('color filter changes reload the list', (tester) async { - await repo.save( - ClipboardItem( - content: 'Red item', - type: ClipboardContentType.text, - cardColor: CardColor.red, - ), - ); - await repo.save( - ClipboardItem(content: 'Plain item', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - // Activate a color filter via the state directly - key.currentState!.onWindowShow(); - await tester.pump(); - - // Trigger color filter change via FilterBar - final filterBarKey = find.byType(FilterBar); - if (filterBarKey.evaluate().isNotEmpty) { - // We have a filter bar – verify screen still renders - expect(find.byType(MainScreen), findsOneWidget); - } - }); - - testWidgets( - 'clear filters via keyboard Escape removes active type filter', - (tester) async { - await repo.save( - ClipboardItem(content: 'Item', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - key.currentState!.onWindowShow(); - await tester.pump(); - - // First set a type filter (Text chip) - final textChip = find.text('Text'); - if (textChip.evaluate().isNotEmpty) { - await tester.tap(textChip.first); - await tester.pumpAndSettle(); - - // Now Escape should clear filters - await tester.sendKeyEvent(LogicalKeyboardKey.escape); - await tester.pumpAndSettle(); - } - expect(find.byType(MainScreen), findsOneWidget); - }, - ); - - testWidgets('staggered animation renders cards on first load', ( - tester, - ) async { - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem( - content: 'Animated $i', - type: ClipboardContentType.text, - ), - ); - } - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pump(); - await tester.pump(const Duration(milliseconds: 200)); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsWidgets); - }); - - testWidgets('bug report button in bottom bar is tappable', (tester) async { - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final bugIcon = find.byIcon(Icons.bug_report_outlined); - if (bugIcon.evaluate().isNotEmpty) { - // Just verify it renders; tapping would open a URL - expect(bugIcon, findsOneWidget); - } - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('update badge opens dialog and can be dismissed', ( - tester, - ) async { - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, updateVersion: '2.9.9'), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('v2.9.9 is available, please update')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsOneWidget); - expect(find.text('Update Available'), findsOneWidget); - - await tester.tap(find.text('Later')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsNothing); - }); - - testWidgets('_loadItems logs error gracefully when service throws', ( - tester, - ) async { - // Close the repo before creating the service so that every query throws. - // This triggers the catch block in _loadItems, covering - // AppLogger.error('Failed to load items: $e') and - // setState(() => _loading = false). - final closedRepo = SqliteRepository.inMemory(); - await closedRepo.close(); - final failService = ClipboardService(closedRepo); - - await tester.pumpWidget(_buildApp(service: failService, onPaste: (_) {})); - await tester.pumpAndSettle(); - - // No exception propagated — error is handled internally. - expect(find.byType(MainScreen), findsOneWidget); - - await failService.dispose(); - }); - - testWidgets( - 'color filter change via FilterBar menu calls _onColorFilterChanged', - (tester) async { - await repo.save( - ClipboardItem( - content: 'Red item', - type: ClipboardContentType.text, - cardColor: CardColor.red, - ), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - // Open the filter bar popup via Alt+G. - await tester.sendKeyDownEvent(LogicalKeyboardKey.altLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyG); - await tester.sendKeyUpEvent(LogicalKeyboardKey.altLeft); - await tester.pumpAndSettle(); - - // Tap the "Red" color chip inside the popup menu. - final redOption = find.text('Red'); - if (redOption.evaluate().isNotEmpty) { - await tester.tap(redOption.first); - await tester.pumpAndSettle(); - } - - // Screen renders correctly after applying color filter. - expect(find.byType(MainScreen), findsOneWidget); - }, - ); - - testWidgets('resetFiltersOnShow=true resets to all-items view on show', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Item A', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - resetFiltersOnShow: true, - key: key, - ), - ); - await tester.pumpAndSettle(); - - // Show — should load without crash and render the item. - key.currentState!.onWindowShow(); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - expect(find.byType(FilterBar), findsOneWidget); - }); - - testWidgets('resetFiltersOnShow=false keeps current state on show', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'Item B', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - resetFiltersOnShow: false, - key: key, - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pumpAndSettle(); - - // Screen still renders correctly. - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('Alt+T shortcut opens filter bar', (tester) async { - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.sendKeyDownEvent(LogicalKeyboardKey.altLeft); - await tester.sendKeyEvent(LogicalKeyboardKey.keyT); - await tester.sendKeyUpEvent(LogicalKeyboardKey.altLeft); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('update dialog View Release button triggers dismiss', ( - tester, - ) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, updateVersion: '3.0.0'), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('v3.0.0 is available, please update')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsOneWidget); - - final viewRelease = find.text('View Release'); - if (viewRelease.evaluate().isNotEmpty) { - await tester.tap(viewRelease.first); - await tester.pumpAndSettle(); - expect(find.byType(AlertDialog), findsNothing); - } - }); - - testWidgets( - 'update badge with critical severity uses important badge text', - (tester) async { - await tester.pumpWidget( - _buildApp( - service: service, - onPaste: (_) {}, - updateVersion: '4.0.0', - updateSeverity: ManifestSeverity.critical, - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - final badge = find.textContaining('4.0.0'); - expect(badge, findsAtLeastNWidgets(1)); - }, - ); - - testWidgets('_onItemOpen link item calls UrlHelper', (tester) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await repo.save( - ClipboardItem( - content: 'https://example.com', - type: ClipboardContentType.link, - ), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final openButton = find.byIcon(Icons.open_in_new_rounded); - expect(openButton, findsAtLeastNWidgets(1)); - await tester.tap(openButton.first); - await tester.pumpAndSettle(); - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('_onItemOpen email item calls mailto', (tester) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await repo.save( - ClipboardItem( - content: 'test@example.com', - type: ClipboardContentType.email, - ), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final openButton = find.byIcon(Icons.open_in_new_rounded); - expect(openButton, findsAtLeastNWidgets(1)); - await tester.tap(openButton.first); - await tester.pumpAndSettle(); - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('_onItemOpen phone item calls tel scheme', (tester) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await repo.save( - ClipboardItem(content: '+1234567890', type: ClipboardContentType.phone), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final openButton = find.byIcon(Icons.open_in_new_rounded); - expect(openButton, findsAtLeastNWidgets(1)); - await tester.tap(openButton.first); - await tester.pumpAndSettle(); - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets( - '_onItemOpen image with missing file returns false gracefully', - (tester) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await repo.save( - ClipboardItem( - content: '/nonexistent/path/image.png', - type: ClipboardContentType.image, - ), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final openButtons = find.byIcon(Icons.open_in_new_rounded); - if (openButtons.evaluate().isNotEmpty) { - await tester.tap(openButtons.first); - await tester.pumpAndSettle(); - } - expect(find.byType(MainScreen), findsOneWidget); - }, - ); - - testWidgets('_onItemOpen file item opens path', (tester) async { - UrlHelper.platformOverride = 'other'; - addTearDown(() => UrlHelper.platformOverride = null); - - await repo.save( - ClipboardItem( - content: '/tmp/some_file.txt', - type: ClipboardContentType.file, - ), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final openButtons = find.byIcon(Icons.open_in_new_rounded); - if (openButtons.evaluate().isNotEmpty) { - await tester.tap(openButtons.first); - await tester.pumpAndSettle(); - } - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('_onSearchKeyEvent ArrowDown moves selection to first item', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'first', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'second', type: ClipboardContentType.text), - ); - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final searchField = find.byType(TextField).first; - await tester.tap(searchField); - await tester.pumpAndSettle(); - - await tester.sendKeyEvent(LogicalKeyboardKey.arrowDown); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets('onWindowHide trims _items list when > pageSize', ( - tester, - ) async { - for (var i = 0; i < 35; i++) { - await repo.save( - ClipboardItem(content: 'Item $i', type: ClipboardContentType.text), - ); - } - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - await tester.drag(find.byType(ListView).last, const Offset(0, -5000)); - await tester.pumpAndSettle(); - - key.currentState!.onWindowHide(); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - - testWidgets( - 'second page loaded on scroll accumulates items in _items.addAll path', - (tester) async { - for (var i = 0; i < 35; i++) { - await repo.save( - ClipboardItem( - content: 'Page item $i', - type: ClipboardContentType.text, - ), - ); - } - - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - await tester.drag(find.byType(ListView).last, const Offset(0, -5000)); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }, - ); - - testWidgets('_BottomBarAction hover state changes icon opacity', ( - tester, - ) async { - await tester.pumpWidget(_buildApp(service: service, onPaste: (_) {})); - await tester.pumpAndSettle(); - - final bugIcon = find.byIcon(Icons.bug_report_outlined); - if (bugIcon.evaluate().isNotEmpty) { - final gesture = await tester.createGesture( - kind: PointerDeviceKind.mouse, - ); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - await tester.pump(); - await gesture.moveTo(tester.getCenter(bugIcon)); - await tester.pump(); - expect(find.byType(MainScreen), findsOneWidget); - await gesture.moveTo(Offset.zero); - await tester.pump(); - } - }); - - testWidgets('_loadItems with non-empty searchQuery uses query param', ( - tester, - ) async { - await repo.save( - ClipboardItem(content: 'SearchMe', type: ClipboardContentType.text), - ); - - final key = GlobalKey(); - await tester.pumpWidget( - _buildApp(service: service, onPaste: (_) {}, key: key), - ); - await tester.pumpAndSettle(); - - key.currentState!.onWindowShow(); - await tester.pump(); - - final searchField = find.byType(TextField).first; - await tester.enterText(searchField, 'SearchMe'); - await tester.pump(const Duration(milliseconds: 400)); - await tester.pumpAndSettle(); - - expect(find.byType(MainScreen), findsOneWidget); - }); - }); -} diff --git a/app/test/screens/permission_gate_screen_test.dart b/app/test/screens/permission_gate_screen_test.dart deleted file mode 100644 index 46af4e2e..00000000 --- a/app/test/screens/permission_gate_screen_test.dart +++ /dev/null @@ -1,249 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/screens/permission_gate_screen.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -void _setMockHandler( - MethodChannel channel, - Future Function(MethodCall) handler, -) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, handler); -} - -void _clearMockHandler(MethodChannel channel) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); -} - -Widget _wrap(Widget child) { - return MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme(themeData: CompactTheme(), child: child), - ); -} - -void main() { - const channel = MethodChannel('copypaste/clipboard_writer'); - - setUp(() { - _setMockHandler(channel, (call) async { - switch (call.method) { - case 'requestAccessibility': - return false; - case 'checkAccessibility': - return false; - case 'openAccessibilitySettings': - return null; - default: - return null; - } - }); - }); - - tearDown(() => _clearMockHandler(channel)); - - group('PermissionGateScreen', () { - testWidgets('renders app icon, title, and action buttons', (tester) async { - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: false, onGranted: () {})), - ); - await tester.pump(); - - expect(find.text('CopyPaste'), findsOneWidget); - expect(find.byType(FilledButton), findsOneWidget); - expect(find.byIcon(Icons.lock_outline_rounded), findsOneWidget); - }); - - testWidgets('shows stale icon when previouslyGranted is true', ( - tester, - ) async { - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: true, onGranted: () {})), - ); - await tester.pump(); - - expect(find.byIcon(Icons.warning_amber_rounded), findsOneWidget); - }); - - testWidgets('open settings button calls openAccessibilitySettings', ( - tester, - ) async { - var opened = false; - - _setMockHandler(channel, (call) async { - if (call.method == 'openAccessibilitySettings') opened = true; - if (call.method == 'checkAccessibility') return false; - return null; - }); - - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: false, onGranted: () {})), - ); - await tester.pump(); - - await tester.tap(find.byType(FilledButton)); - await tester.pump(); - - expect(opened, isTrue); - }); - - testWidgets('poll timer calls onGranted when permission is detected', ( - tester, - ) async { - var checkCount = 0; - var granted = false; - - _setMockHandler(channel, (call) async { - if (call.method == 'checkAccessibility') { - checkCount++; - return checkCount >= 3; - } - return null; - }); - - await tester.pumpWidget( - _wrap( - PermissionGateScreen( - previouslyGranted: false, - onGranted: () => granted = true, - ), - ), - ); - await tester.pump(); - - // Advance past 3 poll ticks (1s each) - for (var i = 0; i < 4; i++) { - await tester.pump(const Duration(seconds: 1)); - } - - expect(granted, isTrue); - expect(checkCount, greaterThanOrEqualTo(3)); - }); - - testWidgets('shows check-again button after timeout', (tester) async { - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: false, onGranted: () {})), - ); - await tester.pump(); - - // Should not have OutlinedButton initially - expect(find.byType(OutlinedButton), findsNothing); - - // Advance past _maxPollsBeforeHint (30s) one tick at a time - for (var i = 0; i < 31; i++) { - await tester.pump(const Duration(seconds: 1)); - } - - expect(find.byType(OutlinedButton), findsOneWidget); - }); - - testWidgets('shows check-again button immediately when stale', ( - tester, - ) async { - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: true, onGranted: () {})), - ); - await tester.pump(); - - expect(find.byType(OutlinedButton), findsOneWidget); - }); - - testWidgets('dispose cancels timer without errors', (tester) async { - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: false, onGranted: () {})), - ); - await tester.pump(); - - await tester.pumpWidget(_wrap(const SizedBox.shrink())); - await tester.pump(); - - expect(find.byType(PermissionGateScreen), findsNothing); - }); - - testWidgets('_manualCheck success calls onGranted', (tester) async { - _setMockHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return true; - if (call.method == 'checkAccessibility') return false; - return null; - }); - - var granted = false; - - await tester.pumpWidget( - _wrap( - PermissionGateScreen( - previouslyGranted: true, - onGranted: () => granted = true, - ), - ), - ); - await tester.pump(); - - expect(find.byType(OutlinedButton), findsOneWidget); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - await tester.pump(); - - expect(granted, isTrue); - }); - - testWidgets('onRestart button tap calls onRestart callback', ( - tester, - ) async { - var restarted = false; - - await tester.pumpWidget( - _wrap( - PermissionGateScreen( - previouslyGranted: true, - onGranted: () {}, - onRestart: () => restarted = true, - ), - ), - ); - await tester.pump(); - - await tester.tap(find.byType(TextButton)); - await tester.pump(); - - expect(restarted, isTrue); - }); - - testWidgets('shows ... and disables button while checking', (tester) async { - final completer = Completer(); - _setMockHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return completer.future; - if (call.method == 'checkAccessibility') return false; - return null; - }); - - await tester.pumpWidget( - _wrap(PermissionGateScreen(previouslyGranted: true, onGranted: () {})), - ); - await tester.pump(); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - - expect(find.text('...'), findsOneWidget); - final btn = tester.widget(find.byType(OutlinedButton)); - expect(btn.onPressed, isNull); - - completer.complete(false); - await tester.pump(); - await tester.pump(); - - expect(find.text('...'), findsNothing); - }); - }); -} diff --git a/app/test/screens/settings_screen_test.dart b/app/test/screens/settings_screen_test.dart deleted file mode 100644 index dab9f0d7..00000000 --- a/app/test/screens/settings_screen_test.dart +++ /dev/null @@ -1,229 +0,0 @@ -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/screens/settings_screen.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -// --------------------------------------------------------------------------- -// Helpers -// --------------------------------------------------------------------------- - -late StorageConfig _storage; -late SqliteRepository _repo; -late ClipboardService _service; - -Widget _wrap(Widget child) => MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme(themeData: CompactTheme(), child: child), -); - -Future _pump(WidgetTester tester, Widget child) async { - // Use a landscape desktop-ish size so the sidebar + content area both fit. - tester.view.physicalSize = const Size(1280, 800); - tester.view.devicePixelRatio = 1.0; - addTearDown(tester.view.reset); - await tester.pumpWidget(_wrap(child)); - await tester.pump(); -} - -Widget _screen([AppConfig config = const AppConfig()]) => SettingsScreen( - config: config, - configPath: Directory.systemTemp.path, - clipboardService: _service, - storage: _storage, - onSave: (config, changed) async {}, - onSoftReset: () async {}, - onHardReset: () async {}, -); - -// --------------------------------------------------------------------------- -// Tests -// --------------------------------------------------------------------------- - -void main() { - setUpAll(() async { - _storage = await StorageConfig.create(baseDir: Directory.systemTemp.path); - }); - - setUp(() { - _repo = SqliteRepository.inMemory(); - _service = ClipboardService(_repo); - }); - - tearDown(() async { - await _service.dispose(); - await _repo.close(); - }); - - group('SettingsScreen – smoke', () { - testWidgets('renders sidebar title and all navigation items', ( - tester, - ) async { - await _pump(tester, _screen()); - - expect(find.text('Settings'), findsOneWidget); - expect(find.text('General'), findsOneWidget); - expect(find.text('Shortcuts'), findsOneWidget); - expect(find.text('Performance'), findsOneWidget); - expect(find.text('Cleanup & Privacy'), findsOneWidget); - expect(find.text('Backup & Support'), findsOneWidget); - expect(find.text('About'), findsOneWidget); - }); - - testWidgets('General tab (default) renders without crashing', ( - tester, - ) async { - await _pump(tester, _screen()); - expect(find.byType(SettingsScreen), findsOneWidget); - }); - - testWidgets('Shortcuts tab renders without crashing', (tester) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Shortcuts')); - await tester.pump(); - expect(find.byType(SettingsScreen), findsOneWidget); - expect(find.text('Optional global plain-text paste'), findsOneWidget); - expect(find.textContaining('Disabled'), findsOneWidget); - expect( - find.text( - 'CopyPaste open: Paste the hovered, selected, or first history item as plain text', - ), - findsOneWidget, - ); - expect( - find.textContaining('CopyPaste does not intercept it'), - findsOneWidget, - ); - expect(find.text('Ctrl+Shift+V'), findsNothing); - }); - - testWidgets('enabled plain paste hotkey shows its current binding', ( - tester, - ) async { - await _pump( - tester, - _screen(const AppConfig(plainPasteHotkeyEnabled: true)), - ); - await tester.tap(find.text('Shortcuts')); - await tester.pump(); - - final binding = Platform.isMacOS ? '⌃⌥⇧V' : 'Ctrl + Alt + Shift + V'; - expect(find.textContaining('Current: $binding'), findsOneWidget); - expect( - find.text( - 'CopyPaste global: Paste the current clipboard as plain text', - ), - findsOneWidget, - ); - }); - - testWidgets('duplicate global hotkeys show a conflict warning', ( - tester, - ) async { - await _pump( - tester, - _screen( - const AppConfig( - plainPasteHotkeyEnabled: true, - plainPasteHotkeyUseCtrl: true, - plainPasteHotkeyUseAlt: true, - plainPasteHotkeyUseShift: false, - ), - ), - ); - await tester.tap(find.text('Shortcuts')); - await tester.pump(); - await tester.scrollUntilVisible( - find.text( - 'This combination is already assigned to the other CopyPaste shortcut.', - ), - 100, - scrollable: find.byType(Scrollable).last, - ); - - expect( - find.text( - 'This combination is already assigned to the other CopyPaste shortcut.', - ), - findsOneWidget, - ); - expect(find.text('Restore recommended shortcuts'), findsOneWidget); - }); - - testWidgets('Performance tab renders without crashing', (tester) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Performance')); - await tester.pump(); - expect(find.byType(SettingsScreen), findsOneWidget); - }); - - testWidgets('Performance tab shows localized paste preset dropdown items', ( - tester, - ) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Performance')); - await tester.pump(); - - // Open the DropdownButton to reveal items. - final dropdown = find.byType(DropdownButton); - expect(dropdown, findsOneWidget); - await tester.tap(dropdown); - await tester.pumpAndSettle(); - - // Localized labels should appear (not raw 'Fast'/'Slow' keys). - if (Platform.isWindows) expect(find.text('Instant'), findsWidgets); - expect(find.text('Fast'), findsWidgets); - expect(find.text('Normal'), findsWidgets); - expect(find.text('Safe'), findsWidgets); - expect(find.text('Slow'), findsWidgets); - }); - - testWidgets('Performance tab shows Switch to All on open toggle', ( - tester, - ) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Performance')); - await tester.pumpAndSettle(); - - await tester.scrollUntilVisible( - find.text('Switch to All on open'), - 100, - scrollable: find.byType(Scrollable).last, - ); - - expect(find.text('Switch to All on open'), findsOneWidget); - }); - - testWidgets('Cleanup & Privacy tab renders without crashing', ( - tester, - ) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Cleanup & Privacy')); - await tester.pump(); - expect(find.byType(SettingsScreen), findsOneWidget); - }); - - testWidgets('Backup & Support tab renders without crashing', ( - tester, - ) async { - await _pump(tester, _screen()); - await tester.tap(find.text('Backup & Support')); - await tester.pump(); - expect(find.byType(SettingsScreen), findsOneWidget); - }); - - testWidgets('About tab renders without crashing', (tester) async { - await _pump(tester, _screen()); - await tester.tap(find.text('About')); - await tester.pump(); - expect(find.byType(SettingsScreen), findsOneWidget); - }); - }); -} diff --git a/app/test/services/install_channel_test.dart b/app/test/services/install_channel_test.dart deleted file mode 100644 index 0b692e48..00000000 --- a/app/test/services/install_channel_test.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:copypaste/services/install_channel.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - group('InstallChannelDetector.detect', () { - test('detects homebrew on macOS Cellar paths', () { - final c = InstallChannelDetector.detect( - execPathOverride: '/opt/homebrew/Cellar/copypaste/2.3.0/bin/copypaste', - platformOverride: HostPlatform.macos, - ); - expect(c, InstallChannel.homebrew); - }); - - test('detects scoop installs on the default root', () { - final c = InstallChannelDetector.detect( - execPathOverride: - r'C:\Users\dev\scoop\apps\copypaste\current\CopyPaste.exe', - platformOverride: HostPlatform.windows, - ); - expect(c, InstallChannel.scoop); - }); - - test('detects scoop installs on a relocated root', () { - final c = InstallChannelDetector.detect( - execPathOverride: r'D:\tools\apps\copypaste-beta\2.9.0\CopyPaste.exe', - platformOverride: HostPlatform.windows, - ); - expect(c, InstallChannel.scoop); - }); - - test('a standalone install is still githubWindows', () { - final c = InstallChannelDetector.detect( - execPathOverride: r'C:\Users\dev\AppData\Local\CopyPaste\CopyPaste.exe', - platformOverride: HostPlatform.windows, - ); - expect(c, InstallChannel.githubWindows); - }); - }); - - group('manifestKey', () { - test('maps every channel to a non-empty key', () { - for (final c in InstallChannel.values) { - expect(InstallChannelDetector.manifestKey(c), isNotEmpty); - } - }); - }); -} diff --git a/app/test/services/manifest_signature_test.dart b/app/test/services/manifest_signature_test.dart deleted file mode 100644 index ce8e7824..00000000 --- a/app/test/services/manifest_signature_test.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'dart:convert'; - -import 'package:copypaste/services/manifest_signature.dart'; -import 'package:cryptography/cryptography.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - group('ManifestSignature', () { - late SimpleKeyPair keyPair; - late SimplePublicKey publicKey; - late List publicKeyBytes; - - setUp(() async { - keyPair = await Ed25519().newKeyPair(); - publicKey = await keyPair.extractPublicKey(); - publicKeyBytes = publicKey.bytes; - ManifestSignature.reset(); - ManifestSignature.overridePublicKey(publicKeyBytes); - }); - - tearDown(ManifestSignature.reset); - - test('verifies a valid signature', () async { - final body = utf8.encode('{"hello":"world"}'); - final sig = await Ed25519().sign(body, keyPair: keyPair); - final ok = await ManifestSignature.verify(body, base64Encode(sig.bytes)); - expect(ok, isTrue); - }); - - test('rejects a tampered payload', () async { - final body = utf8.encode('{"hello":"world"}'); - final sig = await Ed25519().sign(body, keyPair: keyPair); - final tampered = utf8.encode('{"hello":"WORLD"}'); - final ok = await ManifestSignature.verify( - tampered, - base64Encode(sig.bytes), - ); - expect(ok, isFalse); - }); - - test('rejects a malformed signature string', () async { - final body = utf8.encode('payload'); - final ok = await ManifestSignature.verify(body, '!!!not-base64!!!'); - expect(ok, isFalse); - }); - - test('rejects a signature from a different key', () async { - final otherKey = await Ed25519().newKeyPair(); - final body = utf8.encode('payload'); - final sig = await Ed25519().sign(body, keyPair: otherKey); - final ok = await ManifestSignature.verify(body, base64Encode(sig.bytes)); - expect(ok, isFalse); - }); - }); -} diff --git a/app/test/services/release_manifest_service_test.dart b/app/test/services/release_manifest_service_test.dart deleted file mode 100644 index c9cd5da8..00000000 --- a/app/test/services/release_manifest_service_test.dart +++ /dev/null @@ -1,528 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; - -import 'package:copypaste/services/release_manifest_service.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - group('ReleaseManifest.tryParse', () { - test('parses a minimal valid manifest', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, - "latest": "2.3.0", - "minimumSupported": "2.3.0", - "blockedVersions": ["2.2.6"], - "severity": "critical", - "channels": { - "github_windows": { "url": "https://example.com/x" } - }, - "releaseNotes": { - "en": { "summary": "Hello" } - } - } - '''); - expect(m, isNotNull); - expect(m!.latest, '2.3.0'); - expect(m.severity, ManifestSeverity.critical); - expect(m.blockedVersions, contains('2.2.6')); - expect(m.channels.containsKey('github_windows'), isTrue); - expect(m.notesFor('en')?.summary, 'Hello'); - }); - - test('rejects unknown schema', () { - final m = ReleaseManifest.tryParse( - '{"schema": 2, "latest":"1.0.0", "minimumSupported":"1.0.0"}', - ); - expect(m, isNull); - }); - - test('rejects invalid semver', () { - final m = ReleaseManifest.tryParse( - '{"schema": 1, "latest":"banana", "minimumSupported":"1.0.0"}', - ); - expect(m, isNull); - }); - - test('strips channel entries with non-https URLs', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, - "latest": "1.0.0", - "minimumSupported": "1.0.0", - "channels": { - "github_windows": { "url": "http://insecure.example/x" }, - "scoop": { "command": "scoop update copypaste" } - } - } - '''); - expect(m, isNotNull); - expect(m!.channels.containsKey('github_windows'), isFalse); - expect(m.channels['scoop']?.command, 'scoop update copypaste'); - }); - }); - - group('compareVersions', () { - test('orders patch versions', () { - expect( - ReleaseManifestService.compareVersions('2.3.0', '2.3.1'), - lessThan(0), - ); - expect( - ReleaseManifestService.compareVersions('2.3.1', '2.3.0'), - greaterThan(0), - ); - expect(ReleaseManifestService.compareVersions('2.3.0', '2.3.0'), 0); - }); - - test('ranks pre-release lower than the same base', () { - expect( - ReleaseManifestService.compareVersions('2.3.0-rc1', '2.3.0'), - lessThan(0), - ); - }); - }); - - group('isBlocked', () { - ManifestState stateFor({ - required String latest, - required String minimumSupported, - List blocked = const [], - ManifestSeverity severity = ManifestSeverity.patch, - bool expired = false, - }) { - return ManifestState( - manifest: ReleaseManifest( - schema: 1, - latest: latest, - minimumSupported: minimumSupported, - blockedVersions: blocked, - channels: const {}, - notes: const {}, - severity: severity, - ), - fetchedAt: DateTime.now().toUtc(), - expired: expired, - ); - } - - test('blocks when current is in blockedVersions', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.2.6', - state: stateFor( - latest: '2.3.0', - minimumSupported: '2.3.0', - blocked: ['2.2.6'], - ), - ), - isTrue, - ); - }); - - test('blocks when current < minimumSupported and severity=critical', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.2.0', - state: stateFor( - latest: '2.3.0', - minimumSupported: '2.3.0', - severity: ManifestSeverity.critical, - ), - ), - isTrue, - ); - }); - - test('does not block when severity is not critical', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.2.0', - state: stateFor( - latest: '2.3.0', - minimumSupported: '2.3.0', - severity: ManifestSeverity.major, - ), - ), - isFalse, - ); - }); - - test('never blocks when the cache is expired', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.2.6', - state: stateFor( - latest: '2.3.0', - minimumSupported: '2.3.0', - blocked: ['2.2.6'], - severity: ManifestSeverity.critical, - expired: true, - ), - ), - isFalse, - ); - }); - - test('returns false when there is no manifest at all', () { - expect( - ReleaseManifestService.isBlocked(current: '2.2.6', state: null), - isFalse, - ); - }); - }); - - group('badgeSeverity', () { - test('returns null when current is up to date', () { - final s = ManifestState( - manifest: ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.0.0', - blockedVersions: const [], - channels: const {}, - notes: const {}, - severity: ManifestSeverity.patch, - ), - fetchedAt: DateTime.now().toUtc(), - expired: false, - ); - expect( - ReleaseManifestService.badgeSeverity(current: '2.3.0', state: s), - isNull, - ); - }); - - test('returns severity when current is older than latest', () { - final s = ManifestState( - manifest: ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.0.0', - blockedVersions: const [], - channels: const {}, - notes: const {}, - severity: ManifestSeverity.minor, - ), - fetchedAt: DateTime.now().toUtc(), - expired: false, - ); - expect( - ReleaseManifestService.badgeSeverity(current: '2.2.0', state: s), - ManifestSeverity.minor, - ); - }); - }); - - group('ReleaseManifest.tryParse — edge cases', () { - test('returns null for non-JSON input', () { - expect(ReleaseManifest.tryParse('not json'), isNull); - }); - - test('returns null when root is not a Map', () { - expect(ReleaseManifest.tryParse('["array"]'), isNull); - }); - - test('returns null when minimumSupported is invalid semver', () { - final m = ReleaseManifest.tryParse( - '{"schema":1,"latest":"1.0.0","minimumSupported":"bad"}', - ); - expect(m, isNull); - }); - - test('skips blockedVersions entries that are not valid semver', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "blockedVersions": ["bad", "1.0.1", null] - } - '''); - expect(m, isNotNull); - expect(m!.blockedVersions, ['1.0.1']); - }); - - test('skips channel entries with null info', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "channels": { "bad": null, "ok": { "command": "brew upgrade x" } } - } - '''); - expect(m, isNotNull); - expect(m!.channels.containsKey('bad'), isFalse); - expect(m.channels['ok']?.command, 'brew upgrade x'); - }); - - test('parses all severity values', () { - for (final pair in [ - ('patch', ManifestSeverity.patch), - ('minor', ManifestSeverity.minor), - ('major', ManifestSeverity.major), - ('critical', ManifestSeverity.critical), - ('unknown_value', ManifestSeverity.patch), - ]) { - final m = ReleaseManifest.tryParse( - '{"schema":1,"latest":"1.0.0","minimumSupported":"1.0.0","severity":"${pair.$1}"}', - ); - expect(m?.severity, pair.$2, reason: 'severity=${pair.$1}'); - } - }); - - test('ms-windows-store URL is accepted', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "channels": { - "msstore": { "url": "ms-windows-store://pdp/?productid=XXXXX" } - } - } - '''); - expect(m, isNotNull); - expect(m!.channels['msstore']?.url, contains('ms-windows-store://')); - }); - - test('notesFor falls back to en when locale not present', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "releaseNotes": { "en": { "summary": "English note" } } - } - ''')!; - expect(m.notesFor('es')?.summary, 'English note'); - expect(m.notesFor('fr')?.summary, 'English note'); - }); - - test('notesFor returns null when notes is empty', () { - final m = ReleaseManifest( - schema: 1, - latest: '1.0.0', - minimumSupported: '1.0.0', - blockedVersions: const [], - channels: const {}, - notes: const {}, - severity: ManifestSeverity.patch, - ); - expect(m.notesFor('en'), isNull); - }); - - test('notesFor matches partial locale (es_CL -> es)', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "releaseNotes": { "es": { "summary": "Nota en español" } } - } - ''')!; - expect(m.notesFor('es_CL')?.summary, 'Nota en español'); - }); - - test('releaseNotes entries without summary are skipped', () { - final m = ReleaseManifest.tryParse(''' - { - "schema": 1, "latest": "1.0.0", "minimumSupported": "1.0.0", - "releaseNotes": { - "en": { "no_summary": "oops" }, - "es": { "summary": "Hola" } - } - } - ''')!; - expect(m.notesFor('en')?.summary, 'Hola'); - }); - }); - - group('compareVersions — extra cases', () { - test('major version wins', () { - expect( - ReleaseManifestService.compareVersions('3.0.0', '2.9.9'), - greaterThan(0), - ); - }); - test('minor version wins', () { - expect( - ReleaseManifestService.compareVersions('2.1.0', '2.0.9'), - greaterThan(0), - ); - }); - test('two pre-releases compare equal', () { - expect( - ReleaseManifestService.compareVersions('1.0.0-rc1', '1.0.0-rc2'), - 0, - ); - }); - test('pre-release is older than release', () { - expect( - ReleaseManifestService.compareVersions('1.0.0', '1.0.0-rc1'), - greaterThan(0), - ); - }); - }); - - group('isBlocked — extra cases', () { - ManifestState makeState({ - String latest = '2.3.0', - String minimumSupported = '2.3.0', - List blocked = const [], - ManifestSeverity severity = ManifestSeverity.patch, - bool expired = false, - }) => ManifestState( - manifest: ReleaseManifest( - schema: 1, - latest: latest, - minimumSupported: minimumSupported, - blockedVersions: blocked, - channels: const {}, - notes: const {}, - severity: severity, - ), - fetchedAt: DateTime.now().toUtc(), - expired: expired, - ); - - test('does not block when current >= minimumSupported', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.3.0', - state: makeState(severity: ManifestSeverity.critical), - ), - isFalse, - ); - }); - - test('does not block for major severity below minimum', () { - expect( - ReleaseManifestService.isBlocked( - current: '2.2.0', - state: makeState(severity: ManifestSeverity.major), - ), - isFalse, - ); - }); - }); - - group('cache read/write', () { - late Directory tmpDir; - - setUp(() async { - tmpDir = await Directory.systemTemp.createTemp('manifest_test_'); - await ReleaseManifestService.reset(); - ReleaseManifestService.cacheDirOverride = tmpDir.path; - }); - - tearDown(() async { - await ReleaseManifestService.reset(); - await tmpDir.delete(recursive: true); - }); - - ReleaseManifest makeManifest() => ReleaseManifest( - schema: 1, - latest: '2.3.0', - minimumSupported: '2.3.0', - blockedVersions: const ['2.2.6'], - channels: const {}, - notes: const {}, - severity: ManifestSeverity.critical, - ); - - test('initialize reads cached manifest and emits it on stream', () async { - final m = makeManifest(); - final json = jsonEncode({ - 'schema': m.schema, - 'latest': m.latest, - 'minimumSupported': m.minimumSupported, - 'blockedVersions': m.blockedVersions, - 'channels': {}, - 'releaseNotes': {}, - 'severity': 'critical', - }); - final cacheFile = File('${tmpDir.path}/release_manifest.json'); - final metaFile = File('${tmpDir.path}/release_manifest.meta'); - await cacheFile.writeAsString(json); - await metaFile.writeAsString( - jsonEncode({'fetchedAt': DateTime.now().toUtc().toIso8601String()}), - ); - - ReleaseManifestService.manifestUrlOverride = 'https://example.com/fail'; - ReleaseManifestService.signatureUrlOverride = - 'https://example.com/fail.sig'; - - final emitted = []; - // Waiting a fixed slice raced the failing fetch under a loaded suite. - final firstEmit = Completer(); - final sub = ReleaseManifestService.stream.listen((state) { - emitted.add(state); - if (!firstEmit.isCompleted) firstEmit.complete(); - }); - - await ReleaseManifestService.initialize(storageConfigDir: tmpDir.path); - await firstEmit.future.timeout(const Duration(seconds: 10)); - - unawaited(sub.cancel()); - - expect(emitted, isNotEmpty); - expect(emitted.first?.manifest.latest, '2.3.0'); - expect(emitted.first?.expired, isFalse); - }); - - test('expired flag is set when cache is older than 15 days', () async { - final m = makeManifest(); - final json = jsonEncode({ - 'schema': m.schema, - 'latest': m.latest, - 'minimumSupported': m.minimumSupported, - 'blockedVersions': m.blockedVersions, - 'channels': {}, - 'releaseNotes': {}, - 'severity': 'critical', - }); - final cacheFile = File('${tmpDir.path}/release_manifest.json'); - final metaFile = File('${tmpDir.path}/release_manifest.meta'); - await cacheFile.writeAsString(json); - final old = DateTime.now().toUtc().subtract(const Duration(days: 20)); - await metaFile.writeAsString( - jsonEncode({'fetchedAt': old.toIso8601String()}), - ); - - ReleaseManifestService.manifestUrlOverride = 'https://example.com/fail'; - ReleaseManifestService.signatureUrlOverride = - 'https://example.com/fail.sig'; - - final emitted = []; - final sub = ReleaseManifestService.stream.listen(emitted.add); - - await ReleaseManifestService.initialize(storageConfigDir: tmpDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - - unawaited(sub.cancel()); - - expect(emitted.first?.expired, isTrue); - expect( - ReleaseManifestService.isBlocked( - current: '2.2.6', - state: emitted.first, - ), - isFalse, - ); - }); - - test('returns null from cache when meta fetchedAt is missing', () async { - await File('${tmpDir.path}/release_manifest.json').writeAsString( - '{"schema":1,"latest":"1.0.0","minimumSupported":"1.0.0"}', - ); - await File( - '${tmpDir.path}/release_manifest.meta', - ).writeAsString('{"no_date": true}'); - - ReleaseManifestService.manifestUrlOverride = 'https://example.com/fail'; - ReleaseManifestService.signatureUrlOverride = - 'https://example.com/fail.sig'; - - final emitted = []; - final sub = ReleaseManifestService.stream.listen(emitted.add); - await ReleaseManifestService.initialize(storageConfigDir: tmpDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - unawaited(sub.cancel()); - - expect(emitted, isEmpty); - }); - }); -} diff --git a/app/test/shell/app_window_range_test.dart b/app/test/shell/app_window_range_test.dart deleted file mode 100644 index 075f3ce2..00000000 --- a/app/test/shell/app_window_range_test.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/app_window.dart'; - -void main() { - group('AppWindow.isPositionInSaneRange', () { - test('origin (0, 0) is valid', () { - expect(AppWindow.isPositionInSaneRange(0, 0), isTrue); - }); - - test('(-9999, -9999) is within range', () { - expect(AppWindow.isPositionInSaneRange(-9999, -9999), isTrue); - }); - - test('x below -10000 is out of range', () { - expect(AppWindow.isPositionInSaneRange(-10001, 0), isFalse); - }); - - test('y below -10000 is out of range', () { - expect(AppWindow.isPositionInSaneRange(0, -10001), isFalse); - }); - - test('x above 50000 is out of range', () { - expect(AppWindow.isPositionInSaneRange(50001, 0), isFalse); - }); - - test('y above 30000 is out of range', () { - expect(AppWindow.isPositionInSaneRange(0, 30001), isFalse); - }); - - test('NaN x is invalid', () { - expect(AppWindow.isPositionInSaneRange(double.nan, 0), isFalse); - }); - - test('NaN y is invalid', () { - expect(AppWindow.isPositionInSaneRange(0, double.nan), isFalse); - }); - - test('infinite x is invalid', () { - expect(AppWindow.isPositionInSaneRange(double.infinity, 0), isFalse); - }); - - test('(-32000, -32000) is out of range (minimized Windows position)', () { - expect(AppWindow.isPositionInSaneRange(-32000, -32000), isFalse); - }); - - test('(1920, 1080) is valid (typical secondary monitor)', () { - expect(AppWindow.isPositionInSaneRange(1920, 1080), isTrue); - }); - - test('(3840, 0) is valid (4K secondary monitor to the right)', () { - expect(AppWindow.isPositionInSaneRange(3840, 0), isTrue); - }); - }); -} diff --git a/app/test/shell/app_window_test.dart b/app/test/shell/app_window_test.dart deleted file mode 100644 index 97c2c0f5..00000000 --- a/app/test/shell/app_window_test.dart +++ /dev/null @@ -1,167 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/app_window.dart'; - -// --------------------------------------------------------------------------- -// Mock for window_manager and screen_retriever MethodChannels -// --------------------------------------------------------------------------- - -const _wmChannel = MethodChannel('window_manager'); -const _screenRetrieverChannel = MethodChannel( - 'dev.leanflutter.plugins/screen_retriever', -); - -void _setupWindowManagerMock({required List calls}) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_wmChannel, (call) async { - calls.add(call); - switch (call.method) { - case 'getBounds': - return {'x': 100.0, 'y': 100.0, 'width': 368.0, 'height': 500.0}; - case 'getSize': - return {'width': 368.0, 'height': 500.0}; - case 'getPosition': - return {'x': 100.0, 'y': 100.0}; - case 'isMinimized': - case 'isMaximized': - case 'isFullScreen': - case 'isVisible': - return false; - default: - return null; - } - }); - - // screen_retriever is used by _positionNearCursorNative - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_screenRetrieverChannel, (call) async { - switch (call.method) { - // getCursorScreenPoint returns {dx, dy} per _OffsetConverter - case 'getCursorScreenPoint': - return {'dx': 200.0, 'dy': 200.0}; - // Display JSON: id + size {width,height} + visiblePosition {dx,dy} - // visiblePosition is null-checked by calc_window_position.dart - case 'getPrimaryDisplay': - return { - 'id': 'screen1', - 'size': {'width': 1920.0, 'height': 1080.0}, - 'visiblePosition': {'dx': 0.0, 'dy': 0.0}, - 'visibleSize': {'width': 1920.0, 'height': 1040.0}, - 'scaleFactor': 1.0, - }; - case 'getAllDisplays': - return { - 'displays': [ - { - 'id': 'screen1', - 'size': {'width': 1920.0, 'height': 1080.0}, - 'visiblePosition': {'dx': 0.0, 'dy': 0.0}, - 'visibleSize': {'width': 1920.0, 'height': 1040.0}, - 'scaleFactor': 1.0, - }, - ], - }; - default: - return null; - } - }); -} - -void _teardownWindowManagerMock() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_wmChannel, null); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_screenRetrieverChannel, null); -} - -// --------------------------------------------------------------------------- -// Tests -// --------------------------------------------------------------------------- - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - group('AppWindow.show()', () { - late List calls; - - setUp(() { - calls = []; - _setupWindowManagerMock(calls: calls); - }); - - tearDown(_teardownWindowManagerMock); - - test('isVisible becomes true after show()', () async { - if (Platform.isWindows) return; - - final window = AppWindow(popupWidth: 368, popupHeight: 500); - expect(window.isVisible, isFalse); - await window.show(); - expect(window.isVisible, isTrue); - }); - - test('isVisible becomes false after hide()', () async { - if (Platform.isWindows) return; - - final window = AppWindow(popupWidth: 368, popupHeight: 500); - await window.show(); - expect(window.isVisible, isTrue); - await window.hide(); - expect(window.isVisible, isFalse); - }); - - test('hide() is no-op when already hidden', () async { - if (Platform.isWindows) return; - - final window = AppWindow(popupWidth: 368, popupHeight: 500); - // Not yet shown — hiding should do nothing. - final callCountBefore = calls.length; - await window.hide(); - expect( - calls.length, - equals(callCountBefore), - reason: 'hide() should be a no-op when already hidden', - ); - }); - - test('toggle() shows when hidden and hides when visible', () async { - if (Platform.isWindows) return; - - final window = AppWindow(popupWidth: 368, popupHeight: 500); - expect(window.isVisible, isFalse); - - await window.toggle(); // hidden → visible - expect(window.isVisible, isTrue); - - await window.toggle(); // visible → hidden - expect(window.isVisible, isFalse); - }); - - test('onVisibilityChanged callback fires on show and hide', () async { - if (Platform.isWindows) return; - - final events = []; - final window = AppWindow( - onVisibilityChanged: events.add, - popupWidth: 368, - popupHeight: 500, - ); - - await window.show(); - await window.hide(); - - expect(events, equals([true, false])); - }); - }); - - group('AppWindow.updatePopupSize', () { - test('updates width and height', () { - final window = AppWindow(popupWidth: 360, popupHeight: 500); - window.updatePopupSize(400, 600); - // No direct getters, but we can verify it doesn't throw. - }); - }); -} diff --git a/app/test/shell/desktop_notifier_test.dart b/app/test/shell/desktop_notifier_test.dart deleted file mode 100644 index 68833a68..00000000 --- a/app/test/shell/desktop_notifier_test.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/desktop_notifier.dart'; - -void main() { - group('DesktopNotifier – macOS', () { - test('returns false on macOS (no-op)', () async { - if (!Platform.isMacOS) return; - final result = await DesktopNotifier.show(title: 'Test', body: 'Body'); - expect(result, isFalse); - }); - }); - - group('DesktopNotifier – unsupported hosts', () { - test( - 'returns false when the platform has no notification channel', - () async { - if (Platform.isWindows) return; - final result = await DesktopNotifier.show(title: 'Test', body: 'Body'); - expect(result, isFalse); - }, - ); - }); -} diff --git a/app/test/shell/focus_manager_test.dart b/app/test/shell/focus_manager_test.dart deleted file mode 100644 index 5154aecd..00000000 --- a/app/test/shell/focus_manager_test.dart +++ /dev/null @@ -1,246 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/focus_manager.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - const channel = MethodChannel('copypaste/clipboard_writer'); - - setUp(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - switch (call.method) { - case 'captureFrontmostApp': - return 'com.apple.finder'; - case 'activateAndPaste': - return true; - default: - return null; - } - }); - }); - - tearDown(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); - }); - - group('WindowFocusManager – macOS', () { - test('capturePreviousWindow calls captureFrontmostApp', () async { - if (!Platform.isMacOS) return; - - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - if (call.method == 'captureFrontmostApp') return 'com.test.app'; - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); - - expect(captured, isNotNull); - expect(captured!.method, equals('captureFrontmostApp')); - }); - - test( - 'restoreAndPaste returns early when no bundle id was captured', - () async { - if (!Platform.isMacOS) return; - - bool activateCalled = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'activateAndPaste') activateCalled = true; - return true; - }); - - final manager = WindowFocusManager(); - // capturePreviousWindow NOT called → _previousBundleId is null - await manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 0, - ); - - expect(activateCalled, isFalse); - }, - ); - - test( - 'restoreAndPaste returns early when captureFrontmostApp returned null', - () async { - if (!Platform.isMacOS) return; - - bool activateCalled = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'captureFrontmostApp') return null; - if (call.method == 'activateAndPaste') activateCalled = true; - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); - await manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 0, - ); - - expect(activateCalled, isFalse); - }, - ); - - test( - 'restoreAndPaste calls activateAndPaste with correct arguments', - () async { - if (!Platform.isMacOS) return; - - final calls = []; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - calls.add(call); - if (call.method == 'captureFrontmostApp') { - return 'com.apple.safari'; - } - if (call.method == 'activateAndPaste') return true; - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); - await manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 250, - ); - - final pasteCall = calls.firstWhere( - (c) => c.method == 'activateAndPaste', - ); - expect(pasteCall.arguments['bundleId'], equals('com.apple.safari')); - expect(pasteCall.arguments['delayMs'], equals(250)); - }, - ); - - test( - 'clear() resets bundle id so restoreAndPaste becomes a no-op', - () async { - if (!Platform.isMacOS) return; - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'captureFrontmostApp') { - return 'com.apple.finder'; - } - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); - manager.clear(); - - bool activateCalled = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'activateAndPaste') activateCalled = true; - return true; - }); - - await manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 0, - ); - - expect(activateCalled, isFalse); - }, - ); - - test( - 'multiple capturePreviousWindow calls keep the last bundle id', - () async { - if (!Platform.isMacOS) return; - - int callCount = 0; - final bundleIds = ['com.first.app', 'com.second.app']; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'captureFrontmostApp') { - return bundleIds[callCount++]; - } - if (call.method == 'activateAndPaste') return true; - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); // stores com.first.app - await manager.capturePreviousWindow(); // stores com.second.app - - final calls = []; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - calls.add(call); - if (call.method == 'activateAndPaste') return true; - return null; - }); - - await manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 0, - ); - - final pasteCall = calls.firstWhere( - (c) => c.method == 'activateAndPaste', - ); - expect(pasteCall.arguments['bundleId'], equals('com.second.app')); - }, - ); - - test( - 'restoreAndPaste propagates ACCESSIBILITY_DENIED PlatformException', - () async { - if (!Platform.isMacOS) return; - - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'captureFrontmostApp') { - return 'com.apple.safari'; - } - if (call.method == 'activateAndPaste') { - throw PlatformException( - code: 'ACCESSIBILITY_DENIED', - message: 'Accessibility permission not granted', - ); - } - return null; - }); - - final manager = WindowFocusManager(); - await manager.capturePreviousWindow(); - - expect( - () => manager.restoreAndPaste( - delayBeforeFocusMs: 0, - maxFocusVerifyAttempts: 1, - delayBeforePasteMs: 0, - ), - throwsA( - isA().having( - (e) => e.code, - 'code', - equals('ACCESSIBILITY_DENIED'), - ), - ), - ); - }, - ); - }, skip: !Platform.isMacOS ? 'macOS-only' : null); -} diff --git a/app/test/shell/hotkey_binding_test.dart b/app/test/shell/hotkey_binding_test.dart deleted file mode 100644 index e2f6ac98..00000000 --- a/app/test/shell/hotkey_binding_test.dart +++ /dev/null @@ -1,110 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/hotkey_binding.dart'; - -HotkeyBinding _binding({ - int virtualKey = 0x56, - String keyName = 'V', - bool useCtrl = false, - bool useWin = false, - bool useAlt = false, - bool useShift = false, -}) => HotkeyBinding( - virtualKey: virtualKey, - keyName: keyName, - useCtrl: useCtrl, - useWin: useWin, - useAlt: useAlt, - useShift: useShift, -); - -void main() { - group('HotkeyBinding.label', () { - test('macOS order is Control, Option, Shift, Command, key', () { - final label = _binding( - useCtrl: true, - useWin: true, - useAlt: true, - useShift: true, - ).label(isMac: true); - expect(label, equals('Control+Option+Shift+Command+V')); - }); - - test('desktop order is Ctrl, Win, Alt, Shift, key', () { - if (Platform.isMacOS) return; - final label = _binding( - useCtrl: true, - useWin: true, - useAlt: true, - useShift: true, - ).label(); - expect(label, equals('Ctrl+Win+Alt+Shift+V')); - }); - - test('omits unset modifiers', () { - if (Platform.isMacOS) return; - expect( - _binding(useCtrl: true, useAlt: true).label(), - equals('Ctrl+Alt+V'), - ); - expect(_binding(useWin: true).label(), equals('Win+V')); - expect(_binding(keyName: 'C').label(), equals('C')); - }); - - test('meta renders as Command on macOS and Win elsewhere', () { - expect(_binding(useWin: true).label(isMac: true), equals('Command+V')); - if (!Platform.isMacOS) { - expect(_binding(useWin: true).label(), equals('Win+V')); - } - }); - }); - - group('HotkeyBinding equality', () { - test('identical field sets are equal and share a hashCode', () { - final a = _binding(useCtrl: true, useShift: true); - final b = _binding(useCtrl: true, useShift: true); - expect(a, equals(b)); - expect(a.hashCode, equals(b.hashCode)); - expect(identical(a, a) && a == a, isTrue); - }); - - test('any differing field breaks equality', () { - final base = _binding(useCtrl: true); - expect(base, isNot(equals(_binding(useCtrl: true, virtualKey: 0x43)))); - expect(base, isNot(equals(_binding(useCtrl: true, keyName: 'C')))); - expect(base, isNot(equals(_binding()))); - expect(base, isNot(equals(_binding(useCtrl: true, useWin: true)))); - expect(base, isNot(equals(_binding(useCtrl: true, useAlt: true)))); - expect(base, isNot(equals(_binding(useCtrl: true, useShift: true)))); - }); - - test('is not equal to a different type', () { - expect(_binding(), isNot(equals('V'))); - }); - }); - - group('HotkeyRegistrationResult', () { - test('carries the requested binding and an optional effective one', () { - final requested = _binding(useWin: true); - final effective = _binding(useCtrl: true); - const failed = HotkeyRegistrationStatus.failed; - - final result = HotkeyRegistrationResult( - status: failed, - requestedBinding: requested, - ); - expect(result.status, equals(failed)); - expect(result.requestedBinding, equals(requested)); - expect(result.effectiveBinding, isNull); - - final fallback = HotkeyRegistrationResult( - status: HotkeyRegistrationStatus.fallbackRegistered, - requestedBinding: requested, - effectiveBinding: effective, - ); - expect(fallback.effectiveBinding, equals(effective)); - }); - }); -} diff --git a/app/test/shell/msix_startup_task_test.dart b/app/test/shell/msix_startup_task_test.dart deleted file mode 100644 index 562598ca..00000000 --- a/app/test/shell/msix_startup_task_test.dart +++ /dev/null @@ -1,133 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/msix_startup_task.dart'; - -const _channel = MethodChannel('copypaste/startup_task'); - -void _setHandler(Future Function(MethodCall) handler) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_channel, handler); -} - -void _clearHandler() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_channel, null); -} - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - tearDown(_clearHandler); - - group('MsixStartupTask.getState', () { - test('returns enabled when channel replies "enabled"', () async { - _setHandler((_) async => 'enabled'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.enabled); - }); - - test('returns disabled when channel replies "disabled"', () async { - _setHandler((_) async => 'disabled'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.disabled); - }); - - test( - 'returns disabledByUser when channel replies "disabledByUser"', - () async { - _setHandler((_) async => 'disabledByUser'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.disabledByUser); - }, - ); - - test( - 'returns disabledByPolicy when channel replies "disabledByPolicy"', - () async { - _setHandler((_) async => 'disabledByPolicy'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.disabledByPolicy); - }, - ); - - test( - 'returns enabledByPolicy when channel replies "enabledByPolicy"', - () async { - _setHandler((_) async => 'enabledByPolicy'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.enabledByPolicy); - }, - ); - - test('returns unknown for unrecognised reply', () async { - _setHandler((_) async => 'someFutureState'); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, MsixStartupTaskState.unknown); - }); - - test('passes the taskId as argument', () async { - MethodCall? captured; - _setHandler((call) async { - captured = call; - return 'enabled'; - }); - await MsixStartupTask.getState('CopyPasteStartup'); - expect((captured!.arguments as Map)['taskId'], 'CopyPasteStartup'); - }); - - test('returns null on PlatformException', () async { - _setHandler((_) async => throw PlatformException(code: 'winrt_error')); - final state = await MsixStartupTask.getState('TestTaskId'); - expect(state, isNull); - }); - }); - - group('MsixStartupTask.enable', () { - test('invokes "enable" method on the channel', () async { - MethodCall? captured; - _setHandler((call) async { - captured = call; - return 'enabled'; - }); - await MsixStartupTask.enable('CopyPasteStartup'); - expect(captured!.method, 'enable'); - }); - - test('returns the state from the channel reply', () async { - _setHandler((_) async => 'disabledByUser'); - final state = await MsixStartupTask.enable('CopyPasteStartup'); - expect(state, MsixStartupTaskState.disabledByUser); - }); - - test('returns null on PlatformException', () async { - _setHandler((_) async => throw PlatformException(code: 'winrt_error')); - final state = await MsixStartupTask.enable('CopyPasteStartup'); - expect(state, isNull); - }); - }); - - group('MsixStartupTask.disable', () { - test('invokes "disable" method on the channel', () async { - MethodCall? captured; - _setHandler((call) async { - captured = call; - return 'disabled'; - }); - await MsixStartupTask.disable('CopyPasteStartup'); - expect(captured!.method, 'disable'); - }); - - test('returns the state from the channel reply', () async { - _setHandler((_) async => 'disabled'); - final state = await MsixStartupTask.disable('CopyPasteStartup'); - expect(state, MsixStartupTaskState.disabled); - }); - - test('returns null on PlatformException', () async { - _setHandler((_) async => throw PlatformException(code: 'winrt_error')); - final state = await MsixStartupTask.disable('CopyPasteStartup'); - expect(state, isNull); - }); - }); -} diff --git a/app/test/shell/single_instance_test.dart b/app/test/shell/single_instance_test.dart deleted file mode 100644 index 6d87157c..00000000 --- a/app/test/shell/single_instance_test.dart +++ /dev/null @@ -1,326 +0,0 @@ -import 'dart:async'; -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/single_instance.dart'; - -// Keeps the mutex, pipe and wakeup file off the names a CopyPaste running on -// this machine already owns; without it that instance holds the mutex and -// drains the wakeup signals these tests assert on. -final String _namespace = '_test_$pid'; - -String get _wakeupFilePath => - '${Directory.systemTemp.path}/copypaste.wakeup$_namespace'; - -void _cleanupWakeupFile() { - try { - File(_wakeupFilePath).deleteSync(); - } catch (_) {} -} - -void main() { - setUpAll(() => SingleInstance.namespace = _namespace); - - group('SingleInstance – Windows', () { - setUp(() { - if (!Platform.isWindows) return; - SingleInstance.release(); - _cleanupWakeupFile(); - }); - - tearDown(() { - if (!Platform.isWindows) return; - SingleInstance.release(); - _cleanupWakeupFile(); - }); - - test('acquire() returns true on first call', () { - if (!Platform.isWindows) return; - expect(SingleInstance.acquire(), isTrue); - }); - - test('acquire() returns false when mutex already held', () { - if (!Platform.isWindows) return; - expect(SingleInstance.acquire(), isTrue); - // Second call while already holding the mutex → false - expect(SingleInstance.acquire(), isFalse); - }); - - test('release() allows re-acquire', () { - if (!Platform.isWindows) return; - expect(SingleInstance.acquire(), isTrue); - SingleInstance.release(); - expect(SingleInstance.acquire(), isTrue); - }); - - test('release() is idempotent', () { - if (!Platform.isWindows) return; - SingleInstance.release(); - SingleInstance.release(); - // After double release, re-acquire must still work - expect(SingleInstance.acquire(), isTrue); - }); - - test('signalWakeup() writes wakeup file as fallback', () { - if (!Platform.isWindows) return; - _cleanupWakeupFile(); - // With no pipe server running, signalWakeup falls back to file - SingleInstance.signalWakeup(); - expect(File(_wakeupFilePath).existsSync(), isTrue); - }); - - test('listenForWakeup() fires callback when wakeup file appears', () async { - if (!Platform.isWindows) return; - - final completer = Completer(); - SingleInstance.listenForWakeup(() { - if (!completer.isCompleted) completer.complete(); - }); - - // Give the listener time to start, then create the file - await Future.delayed(const Duration(milliseconds: 250)); - File(_wakeupFilePath).writeAsStringSync('wakeup'); - - await completer.future.timeout( - const Duration(seconds: 5), - onTimeout: () => fail('Callback was not fired'), - ); - }); - - test('listenForWakeup() fires for fresh pre-existing file', () async { - if (!Platform.isWindows) return; - - // Write file BEFORE starting the listener - File(_wakeupFilePath).writeAsStringSync('wakeup'); - - final completer = Completer(); - SingleInstance.listenForWakeup(() { - if (!completer.isCompleted) completer.complete(); - }); - - await completer.future.timeout( - const Duration(seconds: 2), - onTimeout: () => fail('Callback was not fired for pre-existing file'), - ); - }); - - test('stopListening() prevents further callbacks', () async { - if (!Platform.isWindows) return; - - var callCount = 0; - SingleInstance.listenForWakeup(() => callCount++); - SingleInstance.stopListening(); - - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(seconds: 1)); - expect(callCount, 0); - }); - - test( - 'calling listenForWakeup() twice replaces the first listener', - () async { - if (!Platform.isWindows) return; - - var firstCallCount = 0; - SingleInstance.listenForWakeup(() => firstCallCount++); - - final completer = Completer(); - SingleInstance.listenForWakeup(() { - if (!completer.isCompleted) completer.complete(); - }); - - await Future.delayed(const Duration(milliseconds: 250)); - File(_wakeupFilePath).writeAsStringSync('wakeup'); - - await completer.future.timeout(const Duration(seconds: 5)); - expect(firstCallCount, 0); - }, - ); - - test('debounce: rapid signals fire callback only once', () async { - if (!Platform.isWindows) return; - - var callCount = 0; - SingleInstance.listenForWakeup(() => callCount++); - - await Future.delayed(const Duration(milliseconds: 250)); - - // Write, delete, write again rapidly (both within the 2 s debounce window) - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(milliseconds: 1200)); - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(milliseconds: 1200)); - - expect(callCount, 1); - }); - - test('release() cleans up pipe isolate and subscription', () async { - if (!Platform.isWindows) return; - SingleInstance.acquire(); - var callCount = 0; - SingleInstance.listenForWakeup(() => callCount++); - SingleInstance.release(); - - // Drain any in-flight periodic event before writing the file - await Future.delayed(Duration.zero); - - // After release, writing the signal must not fire the old callback - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(seconds: 1)); - expect(callCount, 0); - }); - }); - - group('SingleInstance – Unix (macOS)', () { - setUp(() { - if (Platform.isWindows) return; - SingleInstance.release(); - }); - - tearDown(() { - if (Platform.isWindows) return; - SingleInstance.release(); - }); - - test('acquire() returns true on first call', () { - if (Platform.isWindows) return; - expect(SingleInstance.acquire(), isTrue); - }); - - test('acquire() creates the lock file', () { - if (Platform.isWindows) return; - SingleInstance.acquire(); - final lockPath = '${Directory.systemTemp.path}/copypaste.lock'; - expect(File(lockPath).existsSync(), isTrue); - }); - - test('release() deletes the lock file', () { - if (Platform.isWindows) return; - SingleInstance.acquire(); - SingleInstance.release(); - final lockPath = '${Directory.systemTemp.path}/copypaste.lock'; - expect(File(lockPath).existsSync(), isFalse); - }); - - test('can re-acquire after release', () { - if (Platform.isWindows) return; - expect(SingleInstance.acquire(), isTrue); - SingleInstance.release(); - expect(SingleInstance.acquire(), isTrue); - }); - - test('release() is idempotent — safe to call without prior acquire', () { - if (Platform.isWindows) return; - SingleInstance.release(); - SingleInstance.release(); - // After double release, re-acquire must still work - expect(SingleInstance.acquire(), isTrue); - }); - - test('lock file contains the process pid', () { - if (Platform.isWindows) return; - SingleInstance.acquire(); - final lockPath = '${Directory.systemTemp.path}/copypaste.lock'; - final content = File(lockPath).readAsStringSync().trim(); - expect(content, equals('$pid')); - }); - }); - - group('SingleInstance – wakeup file (cross-platform)', () { - setUp(() { - SingleInstance.stopListening(); - _cleanupWakeupFile(); - }); - - tearDown(() { - SingleInstance.stopListening(); - _cleanupWakeupFile(); - }); - - test('signalWakeup writes the wakeup file', () { - if (Platform.isWindows) { - // On Windows, signalWakeup tries pipe first; only writes file - // as fallback. Tested in Windows-specific group instead. - return; - } - SingleInstance.signalWakeup(); - expect(File(_wakeupFilePath).existsSync(), isTrue); - }); - - test('file polling fires callback within 600ms', () async { - SingleInstance.listenForWakeup(() {}); - - final completer = Completer(); - SingleInstance.listenForWakeup(() { - if (!completer.isCompleted) completer.complete(); - }); - - await Future.delayed(const Duration(milliseconds: 250)); - File(_wakeupFilePath).writeAsStringSync('wakeup'); - - await completer.future.timeout( - const Duration(milliseconds: 3000), - onTimeout: () => fail('File polling did not fire within expected time'), - ); - }); - - test('wakeup file is deleted after callback fires', () async { - final completer = Completer(); - SingleInstance.listenForWakeup(() { - if (!completer.isCompleted) completer.complete(); - }); - - await Future.delayed(const Duration(milliseconds: 250)); - File(_wakeupFilePath).writeAsStringSync('wakeup'); - - await completer.future.timeout(const Duration(seconds: 5)); - // Allow a tick for the delete to complete - await Future.delayed(const Duration(milliseconds: 50)); - expect(File(_wakeupFilePath).existsSync(), isFalse); - }); - - test('stale file (>30s) is deleted on listenForWakeup startup', () { - // We cannot easily set mtime to 31s ago in pure Dart, so we verify - // the code path indirectly: a freshly written file is NOT deleted - // (proving the age check exists and only targets old files). - File(_wakeupFilePath).writeAsStringSync('wakeup'); - SingleInstance.listenForWakeup(() {}); - // Fresh file should still exist (not deleted by stale check) - expect(File(_wakeupFilePath).existsSync(), isTrue); - }); - - test('stopListening prevents further callbacks', () async { - var callCount = 0; - SingleInstance.listenForWakeup(() => callCount++); - SingleInstance.stopListening(); - - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(seconds: 1)); - expect(callCount, 0); - }); - - test('debounce prevents duplicate callbacks from rapid signals', () async { - var callCount = 0; - final firstFired = Completer(); - SingleInstance.listenForWakeup(() { - callCount++; - if (!firstFired.isCompleted) firstFired.complete(); - }); - - await Future.delayed(const Duration(milliseconds: 250)); - - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await firstFired.future.timeout( - const Duration(seconds: 5), - onTimeout: () => fail('First callback did not fire'), - ); - - // Second signal within 2s debounce window — must be suppressed - File(_wakeupFilePath).writeAsStringSync('wakeup'); - await Future.delayed(const Duration(milliseconds: 1500)); - - expect(callCount, 1); - }); - }); -} diff --git a/app/test/shell/startup_helper_test.dart b/app/test/shell/startup_helper_test.dart deleted file mode 100644 index c9569120..00000000 --- a/app/test/shell/startup_helper_test.dart +++ /dev/null @@ -1,104 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/startup_helper.dart'; - -String _plistPath() { - const plistLabel = 'com.rgdevment.copypaste'; - final home = Platform.environment['HOME'] ?? '/tmp'; - return '$home/Library/LaunchAgents/$plistLabel.plist'; -} - -void main() { - const plistLabel = 'com.rgdevment.copypaste'; - - // Remove any plist left over from a previous test run. - tearDown(() async { - if (!Platform.isMacOS) return; - final f = File(_plistPath()); - if (f.existsSync()) f.deleteSync(); - }); - - group('StartupHelper – macOS', () { - test('apply(true) creates the LaunchAgent plist', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - expect(File(_plistPath()).existsSync(), isTrue); - }); - - test('plist is a valid XML plist document', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final content = File(_plistPath()).readAsStringSync(); - expect(content, contains('')); - expect(content, contains('')); - }); - - test('plist contains the correct Label key', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final content = File(_plistPath()).readAsStringSync(); - expect(content, contains('Label')); - expect(content, contains('$plistLabel')); - }); - - test('plist contains RunAtLoad set to true', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final content = File(_plistPath()).readAsStringSync(); - expect(content, contains('RunAtLoad')); - expect(content, contains('')); - }); - - test('plist contains KeepAlive set to false', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final content = File(_plistPath()).readAsStringSync(); - expect(content, contains('KeepAlive')); - expect(content, contains('')); - }); - - test('plist ProgramArguments contains the executable path', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final content = File(_plistPath()).readAsStringSync(); - expect(content, contains('ProgramArguments')); - expect(content, contains(Platform.resolvedExecutable)); - }); - - test('apply(false) removes the LaunchAgent plist', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - expect(File(_plistPath()).existsSync(), isTrue); - await StartupHelper.apply(false); - expect(File(_plistPath()).existsSync(), isFalse); - }); - - test('apply(false) does not throw when plist does not exist', () async { - if (!Platform.isMacOS) return; - final f = File(_plistPath()); - if (f.existsSync()) f.deleteSync(); - await expectLater(StartupHelper.apply(false), completes); - }); - - test('apply(true) overwrites an existing plist', () async { - if (!Platform.isMacOS) return; - await StartupHelper.apply(true); - final firstModified = File(_plistPath()).lastModifiedSync(); - - // Small delay so the timestamp can differ if a write occurs. - await Future.delayed(const Duration(milliseconds: 5)); - await StartupHelper.apply(true); - final secondModified = File(_plistPath()).lastModifiedSync(); - - // The file should have been rewritten. - expect( - secondModified.isAtSameMomentAs(firstModified) || - secondModified.isAfter(firstModified), - isTrue, - ); - }); - }, skip: !Platform.isMacOS ? 'macOS-only' : null); -} diff --git a/app/test/shell/startup_helper_windows_test.dart b/app/test/shell/startup_helper_windows_test.dart deleted file mode 100644 index 822c3455..00000000 --- a/app/test/shell/startup_helper_windows_test.dart +++ /dev/null @@ -1,218 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/shell/msix_startup_task.dart'; -import 'package:copypaste/shell/startup_helper.dart'; - -const _startupChannel = MethodChannel('copypaste/startup_task'); - -void _setStartupHandler(Future Function(MethodCall) handler) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_startupChannel, handler); -} - -void _clearHandlers() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(_startupChannel, null); -} - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - tearDown(_clearHandlers); - - // --------------------------------------------------------------------------- - // isDevBuildPath — pure logic, always runs - // --------------------------------------------------------------------------- - - group('StartupHelper.isDevBuildPath', () { - test('detects a typical Debug build path', () { - expect( - StartupHelper.isDevBuildPath( - r'C:\Users\dev\CopyPaste\app\build\windows\x64\runner\Debug\copypaste.exe', - ), - isTrue, - ); - }); - - test('detects a Release build path', () { - expect( - StartupHelper.isDevBuildPath( - r'C:\Users\dev\CopyPaste\app\build\windows\x64\runner\Release\copypaste.exe', - ), - isTrue, - ); - }); - - test('detects forward-slash variant', () { - expect( - StartupHelper.isDevBuildPath( - r'C:/Users/dev/CopyPaste/app/build/windows/x64/runner/Release/copypaste.exe', - ), - isTrue, - ); - }); - - test('detects mixed slash variant', () { - expect( - StartupHelper.isDevBuildPath( - r'C:\Users\dev/CopyPaste\app\build/windows\x64\copypaste.exe', - ), - isTrue, - ); - }); - - test('is case-insensitive', () { - expect( - StartupHelper.isDevBuildPath( - r'C:\Users\Dev\CopyPaste\APP\BUILD\WINDOWS\x64\copypaste.exe', - ), - isTrue, - ); - }); - - test('returns false for a proper installed path', () { - expect( - StartupHelper.isDevBuildPath( - r'C:\Program Files\CopyPaste\CopyPaste.exe', - ), - isFalse, - ); - }); - - test( - 'returns false for a path that contains "windows" but not build path', - () { - expect( - StartupHelper.isDevBuildPath(r'C:\Users\dev\windows\CopyPaste.exe'), - isFalse, - ); - }, - ); - - test('returns false for empty string', () { - expect(StartupHelper.isDevBuildPath(''), isFalse); - }); - }); - - group('StartupHelper.stableExecutablePath', () { - late Directory root; - - setUp(() { - root = Directory.systemTemp.createTempSync('scoop_layout_'); - }); - - tearDown(() => root.deleteSync(recursive: true)); - - String seed(String versionDir, {bool withCurrent = true}) { - final versioned = Directory( - '${root.path}${Platform.pathSeparator}apps' - '${Platform.pathSeparator}copypaste' - '${Platform.pathSeparator}$versionDir', - )..createSync(recursive: true); - final exe = File( - '${versioned.path}${Platform.pathSeparator}CopyPaste.exe', - )..writeAsStringSync(''); - if (withCurrent) { - final current = Directory( - '${root.path}${Platform.pathSeparator}apps' - '${Platform.pathSeparator}copypaste' - '${Platform.pathSeparator}current', - )..createSync(recursive: true); - File( - '${current.path}${Platform.pathSeparator}CopyPaste.exe', - ).writeAsStringSync(''); - } - return exe.path; - } - - test('rewrites a versioned Scoop path to current', () { - final resolved = StartupHelper.stableExecutablePath(seed('2.9.0')); - expect(resolved, contains('current')); - expect(resolved, isNot(contains('2.9.0'))); - }); - - test('keeps the versioned path when current does not exist', () { - final versioned = seed('2.9.0', withCurrent: false); - expect(StartupHelper.stableExecutablePath(versioned), versioned); - }); - - test('leaves a path already on current untouched', () { - seed('2.9.0'); - final currentExe = - '${root.path}${Platform.pathSeparator}apps' - '${Platform.pathSeparator}copypaste' - '${Platform.pathSeparator}current' - '${Platform.pathSeparator}CopyPaste.exe'; - expect(StartupHelper.stableExecutablePath(currentExe), currentExe); - }); - - test('leaves a standalone install untouched', () { - const standalone = r'C:\Users\dev\AppData\Local\CopyPaste\CopyPaste.exe'; - expect(StartupHelper.stableExecutablePath(standalone), standalone); - }); - }); - - // --------------------------------------------------------------------------- - // apply() on Windows — MSIX path: calls enable/disable and clears registry - // --------------------------------------------------------------------------- - - group('StartupHelper.apply – MSIX StartupTask interaction', () { - test('enable is called with the correct taskId', () async { - if (!Platform.isWindows) return; - - MethodCall? captured; - _setStartupHandler((call) async { - captured = call; - return 'enabled'; - }); - - // We cannot mock WinPackageContext.isMsix directly, so this test is only - // meaningful in a real MSIX context. On a dev machine it exercises the - // channel mock plumbing at minimum. - await MsixStartupTask.enable('CopyPasteStartup'); - - expect(captured?.method, 'enable'); - expect((captured?.arguments as Map)['taskId'], 'CopyPasteStartup'); - }); - - test('disable is called with the correct taskId', () async { - if (!Platform.isWindows) return; - - MethodCall? captured; - _setStartupHandler((call) async { - captured = call; - return 'disabled'; - }); - - await MsixStartupTask.disable('CopyPasteStartup'); - - expect(captured?.method, 'disable'); - expect((captured?.arguments as Map)['taskId'], 'CopyPasteStartup'); - }); - - test( - 'enable returns disabledByUser when the user has blocked the task', - () async { - if (!Platform.isWindows) return; - - _setStartupHandler((_) async => 'disabledByUser'); - final state = await MsixStartupTask.enable('CopyPasteStartup'); - expect(state, MsixStartupTaskState.disabledByUser); - }, - ); - - test( - 'enable returns enabledByPolicy when policy forces the task on', - () async { - if (!Platform.isWindows) return; - - _setStartupHandler((_) async => 'enabledByPolicy'); - final state = await MsixStartupTask.enable('CopyPasteStartup'); - expect(state, MsixStartupTaskState.enabledByPolicy); - }, - ); - }); -} diff --git a/app/test/shell/windows_hotkey_channel_test.dart b/app/test/shell/windows_hotkey_channel_test.dart deleted file mode 100644 index 7137dd8d..00000000 --- a/app/test/shell/windows_hotkey_channel_test.dart +++ /dev/null @@ -1,208 +0,0 @@ -import 'package:copypaste/shell/windows_hotkey_channel.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - const channelName = 'copypaste/test_windows_hotkeys'; - const methodChannel = MethodChannel(channelName); - final messenger = - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger; - final calls = []; - - setUp(() { - calls.clear(); - messenger.setMockMethodCallHandler(methodChannel, (call) async { - calls.add(call); - if (call.method == 'register') { - return {'success': true}; - } - return null; - }); - }); - - tearDown(() { - messenger.setMockMethodCallHandler(methodChannel, null); - }); - - test( - 'sends the complete binding and parses successful registration', - () async { - final channel = WindowsHotkeyChannel(channel: methodChannel); - await channel.start((_) {}); - - final response = await channel.register( - id: 'plainPaste', - virtualKey: 0x56, - useCtrl: true, - useWin: false, - useAlt: true, - useShift: true, - ); - - expect(response.success, isTrue); - expect(calls, hasLength(1)); - expect(calls.single.method, 'register'); - expect(calls.single.arguments, { - 'id': 'plainPaste', - 'virtualKey': 0x56, - 'useCtrl': true, - 'useWin': false, - 'useAlt': true, - 'useShift': true, - }); - - await channel.dispose(); - expect(calls.last.method, 'unregisterAll'); - }, - ); - - test('forwards WM_HOTKEY events from the runner exactly once', () async { - final invoked = []; - final channel = WindowsHotkeyChannel(channel: methodChannel); - await channel.start(invoked.add); - - final data = const StandardMethodCodec().encodeMethodCall( - const MethodCall('hotkeyPressed', 'open'), - ); - await messenger.handlePlatformMessage(channelName, data, (_) {}); - - expect(invoked, ['open']); - await channel.dispose(); - }); - - test('preserves native registration diagnostics', () async { - messenger.setMockMethodCallHandler(methodChannel, (call) async { - if (call.method == 'register') { - return { - 'success': false, - 'errorCode': 'registerFailed', - 'win32Error': 1409, - }; - } - return null; - }); - final channel = WindowsHotkeyChannel(channel: methodChannel); - await channel.start((_) {}); - - final response = await channel.register( - id: 'open', - virtualKey: 0x43, - useCtrl: true, - useWin: false, - useAlt: true, - useShift: false, - ); - - expect(response.success, isFalse); - expect(response.errorCode, 'registerFailed'); - expect(response.win32Error, 1409); - await channel.dispose(); - }); - - test('parses verified SendInput delivery', () async { - messenger.setMockMethodCallHandler(methodChannel, (call) async { - expect(call.method, 'sendPaste'); - return { - 'success': true, - 'sentInputs': 9, - 'expectedInputs': 9, - }; - }); - - final response = await WindowsHotkeyChannel.sendPaste( - channel: methodChannel, - ); - - expect(response.success, isTrue); - expect(response.sentInputs, 9); - expect(response.expectedInputs, 9); - }); - - test('preserves SendInput failure diagnostics', () async { - messenger.setMockMethodCallHandler(methodChannel, (call) async { - return { - 'success': false, - 'sentInputs': 0, - 'expectedInputs': 9, - 'errorCode': 'sendInputFailed', - 'win32Error': 5, - }; - }); - - final response = await WindowsHotkeyChannel.sendPaste( - channel: methodChannel, - ); - - expect(response.success, isFalse); - expect(response.sentInputs, 0); - expect(response.expectedInputs, 9); - expect(response.errorCode, 'sendInputFailed'); - expect(response.win32Error, 5); - }); - - test( - 'forwards the destination window, focus and thread to the runner', - () async { - MethodCall? captured; - messenger.setMockMethodCallHandler(methodChannel, (call) async { - captured = call; - return {'success': true}; - }); - - await WindowsHotkeyChannel.sendPaste( - targetHwnd: 460450, - targetFocusHwnd: 461184, - targetThreadId: 20832, - channel: methodChannel, - ); - - expect(captured!.method, 'sendPaste'); - expect(captured!.arguments['targetHwnd'], 460450); - expect(captured!.arguments['targetFocusHwnd'], 461184); - expect(captured!.arguments['targetThreadId'], 20832); - }, - ); - - test('parses the focus repair diagnostics', () async { - messenger.setMockMethodCallHandler(methodChannel, (call) async { - return { - 'success': true, - 'sentInputs': 9, - 'expectedInputs': 9, - 'attached': true, - 'focusRepaired': true, - 'focusBefore': 0, - }; - }); - - final response = await WindowsHotkeyChannel.sendPaste( - channel: methodChannel, - ); - - expect(response.attached, isTrue); - expect(response.focusRepaired, isTrue); - expect(response.focusBefore, 0); - }); - - test( - 'surfaces a destination that lost the foreground before injection', - () async { - messenger.setMockMethodCallHandler(methodChannel, (call) async { - return { - 'success': false, - 'errorCode': 'targetNotForeground', - }; - }); - - final response = await WindowsHotkeyChannel.sendPaste( - channel: methodChannel, - ); - - expect(response.success, isFalse); - expect(response.errorCode, 'targetNotForeground'); - expect(response.focusRepaired, isFalse); - }, - ); -} diff --git a/app/test/theme/compact_theme_test.dart b/app/test/theme/compact_theme_test.dart deleted file mode 100644 index a2fb17b6..00000000 --- a/app/test/theme/compact_theme_test.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/theme/compact_theme.dart'; - -void main() { - group('CompactTheme', () { - late CompactTheme theme; - - setUp(() { - theme = CompactTheme(); - }); - - test('id returns compact', () { - expect(theme.id, 'compact'); - }); - - test('name returns Compact', () { - expect(theme.name, 'Compact'); - }); - - test('filterStyle has expected chipSpacing', () { - expect(theme.filterStyle.chipSpacing, 6); - }); - - test('toolbarStyle has expected buttonSpacing', () { - expect(theme.toolbarStyle.buttonSpacing, 2); - }); - }); -} diff --git a/app/test/theme/dark_theme_test.dart b/app/test/theme/dark_theme_test.dart deleted file mode 100644 index 1ecfd19f..00000000 --- a/app/test/theme/dark_theme_test.dart +++ /dev/null @@ -1,63 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/theme/dark_theme.dart'; - -void main() { - group('darkColorScheme', () { - test('surface is dark', () { - expect(darkColorScheme.surface, equals(const Color(0xFF1A1D2E))); - }); - - test('background matches surface', () { - expect(darkColorScheme.background, equals(const Color(0xFF1A1D2E))); - }); - - test('onSurface is white', () { - expect(darkColorScheme.onSurface, equals(const Color(0xFFFFFFFF))); - }); - - test('primary is light indigo', () { - expect(darkColorScheme.primary, equals(const Color(0xFF818CF8))); - }); - - test('cardBackground is slightly lighter than surface', () { - expect(darkColorScheme.cardBackground, equals(const Color(0xFF1E2132))); - }); - - test('danger color is light red', () { - expect(darkColorScheme.danger, equals(const Color(0xFFFCA5A5))); - }); - - test('warning color is light yellow', () { - expect(darkColorScheme.warning, equals(const Color(0xFFFDE047))); - }); - - test('accent colors are all defined', () { - expect(darkColorScheme.accentRed, equals(const Color(0xFFFCA5A5))); - expect(darkColorScheme.accentGreen, equals(const Color(0xFF86EFAC))); - expect(darkColorScheme.accentPurple, equals(const Color(0xFFA5B4FC))); - expect(darkColorScheme.accentYellow, equals(const Color(0xFFFDE047))); - expect(darkColorScheme.accentBlue, equals(const Color(0xFFA5B4FC))); - expect(darkColorScheme.accentOrange, equals(const Color(0xFFFDBA74))); - }); - - test('accentForIndex returns transparent for index 0', () { - expect(darkColorScheme.accentForIndex(0), equals(Colors.transparent)); - }); - - test('accentForIndex returns accentRed for index 1', () { - expect( - darkColorScheme.accentForIndex(1), - equals(darkColorScheme.accentRed), - ); - }); - - test('accentForIndex returns accentGreen for index 2', () { - expect( - darkColorScheme.accentForIndex(2), - equals(darkColorScheme.accentGreen), - ); - }); - }); -} diff --git a/app/test/theme/light_theme_test.dart b/app/test/theme/light_theme_test.dart deleted file mode 100644 index 3f20587b..00000000 --- a/app/test/theme/light_theme_test.dart +++ /dev/null @@ -1,60 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/theme/light_theme.dart'; - -void main() { - group('lightColorScheme', () { - test('surface is light gray', () { - expect(lightColorScheme.surface, equals(const Color(0xFFEBEBF0))); - }); - - test('background matches surface', () { - expect(lightColorScheme.background, equals(const Color(0xFFEBEBF0))); - }); - - test('onSurface is black', () { - expect(lightColorScheme.onSurface, equals(const Color(0xFF000000))); - }); - - test('primary is indigo', () { - expect(lightColorScheme.primary, equals(const Color(0xFF4F46E5))); - }); - - test('cardBackground is white', () { - expect(lightColorScheme.cardBackground, equals(const Color(0xFFFFFFFF))); - }); - - test('danger color is dark red', () { - expect(lightColorScheme.danger, equals(const Color(0xFFB91C1C))); - }); - - test('warning color is dark amber', () { - expect(lightColorScheme.warning, equals(const Color(0xFF92400E))); - }); - - test('accent colors are defined', () { - expect(lightColorScheme.accentRed, equals(const Color(0xFFDC2626))); - expect(lightColorScheme.accentGreen, equals(const Color(0xFF166534))); - expect(lightColorScheme.accentPurple, equals(const Color(0xFF3730A3))); - expect(lightColorScheme.accentYellow, equals(const Color(0xFF92400E))); - expect(lightColorScheme.accentBlue, equals(const Color(0xFF3730A3))); - expect(lightColorScheme.accentOrange, equals(const Color(0xFFC2410C))); - }); - - test('accentForIndex returns transparent for index 0', () { - expect(lightColorScheme.accentForIndex(0), equals(Colors.transparent)); - }); - - test('accentForIndex returns accentRed for index 1', () { - expect( - lightColorScheme.accentForIndex(1), - equals(lightColorScheme.accentRed), - ); - }); - - test('onPrimary is white', () { - expect(lightColorScheme.onPrimary, equals(const Color(0xFFFFFFFF))); - }); - }); -} diff --git a/app/test/theme/theme_provider_test.dart b/app/test/theme/theme_provider_test.dart deleted file mode 100644 index 13a66f81..00000000 --- a/app/test/theme/theme_provider_test.dart +++ /dev/null @@ -1,186 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/theme/app_theme_data.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; - -// Test-only subclasses to simulate different theme IDs -class _ThemeA extends CompactTheme { - @override - String get id => 'theme_a'; - @override - String get name => 'Theme A'; -} - -class _ThemeB extends CompactTheme { - @override - String get id => 'theme_b'; - @override - String get name => 'Theme B'; -} - -void main() { - group('CopyPasteTheme', () { - testWidgets('of() throws when no CopyPasteTheme in context', ( - WidgetTester tester, - ) async { - FlutterError? error; - await tester.pumpWidget( - MaterialApp( - home: Builder( - builder: (context) { - try { - CopyPasteTheme.of(context); - } on FlutterError catch (e) { - error = e; - } - return const SizedBox.shrink(); - }, - ), - ), - ); - expect(error, isNotNull); - }); - - testWidgets('of() returns correct AppThemeData', ( - WidgetTester tester, - ) async { - final themeData = _ThemeA(); - AppThemeData? result; - - await tester.pumpWidget( - MaterialApp( - home: CopyPasteTheme( - themeData: themeData, - child: Builder( - builder: (context) { - result = CopyPasteTheme.of(context); - return const SizedBox.shrink(); - }, - ), - ), - ), - ); - - expect(result, isNotNull); - expect(result!.id, equals('theme_a')); - }); - - testWidgets('updateShouldNotify notifies when theme ID changes', ( - WidgetTester tester, - ) async { - int buildCount = 0; - - await tester.pumpWidget( - MaterialApp( - home: CopyPasteTheme( - themeData: _ThemeA(), - child: Builder( - builder: (context) { - buildCount++; - CopyPasteTheme.of(context); - return const SizedBox.shrink(); - }, - ), - ), - ), - ); - - expect(buildCount, equals(1)); - - // Update to a different theme - await tester.pumpWidget( - MaterialApp( - home: CopyPasteTheme( - themeData: _ThemeB(), - child: Builder( - builder: (context) { - buildCount++; - CopyPasteTheme.of(context); - return const SizedBox.shrink(); - }, - ), - ), - ), - ); - - // Build count should increase because theme ID changed - expect(buildCount, equals(2)); - }); - - test('updateShouldNotify returns false when theme ID is the same', () { - final widget1 = CopyPasteTheme( - themeData: _ThemeA(), - child: const SizedBox.shrink(), - ); - final widget2 = CopyPasteTheme( - themeData: _ThemeA(), - child: const SizedBox.shrink(), - ); - expect(widget1.updateShouldNotify(widget2), isFalse); - }); - - test('updateShouldNotify returns true when theme ID changes', () { - final widgetA = CopyPasteTheme( - themeData: _ThemeA(), - child: const SizedBox.shrink(), - ); - final widgetB = CopyPasteTheme( - themeData: _ThemeB(), - child: const SizedBox.shrink(), - ); - expect(widgetA.updateShouldNotify(widgetB), isTrue); - }); - - testWidgets('colorsOf returns light colors in light brightness', ( - WidgetTester tester, - ) async { - AppThemeColorScheme? colors; - - await tester.pumpWidget( - MaterialApp( - theme: ThemeData(brightness: Brightness.light), - home: CopyPasteTheme( - themeData: _ThemeA(), - child: Builder( - builder: (context) { - colors = CopyPasteTheme.colorsOf(context); - return const SizedBox.shrink(); - }, - ), - ), - ), - ); - - // colorsOf should return the light scheme when Material brightness is light - expect(colors, isNotNull); - expect(colors!.surface, equals(_ThemeA().light.surface)); - }); - - testWidgets('colorsOf returns dark colors in dark brightness', ( - WidgetTester tester, - ) async { - AppThemeColorScheme? colors; - - await tester.pumpWidget( - MaterialApp( - theme: ThemeData(brightness: Brightness.dark), - home: CopyPasteTheme( - themeData: _ThemeA(), - child: Builder( - builder: (context) { - colors = CopyPasteTheme.colorsOf(context); - return const SizedBox.shrink(); - }, - ), - ), - ), - ); - - // colorsOf should return the dark scheme when Material brightness is dark - expect(colors, isNotNull); - expect(colors!.surface, equals(_ThemeA().dark.surface)); - }); - }); -} diff --git a/app/test/widgets/accessibility_dialog_test.dart b/app/test/widgets/accessibility_dialog_test.dart deleted file mode 100644 index c8d91d61..00000000 --- a/app/test/widgets/accessibility_dialog_test.dart +++ /dev/null @@ -1,381 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; -import 'package:copypaste/widgets/accessibility_dialog.dart'; - -import '../helpers/test_wrapper.dart'; - -void _setMockHandler( - MethodChannel channel, - Future Function(MethodCall) handler, -) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, handler); -} - -void _clearMockHandler(MethodChannel channel) { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); -} - -void main() { - const channel = MethodChannel('copypaste/clipboard_writer'); - - setUp(() { - _setMockHandler(channel, (call) async { - switch (call.method) { - case 'requestAccessibility': - return false; - case 'checkAccessibility': - return false; - case 'openAccessibilitySettings': - return null; - default: - return null; - } - }); - }); - - tearDown(() => _clearMockHandler(channel)); - - group('AccessibilityDialog', () { - testWidgets('renders dialog with icon and buttons', (tester) async { - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: false)), - ); - await tester.pumpAndSettle(); - - expect(find.byType(AccessibilityDialog), findsOneWidget); - expect(find.byType(AlertDialog), findsOneWidget); - expect(find.byIcon(Icons.security), findsOneWidget); - expect(find.byType(FilledButton), findsOneWidget); - expect(find.byType(TextButton), findsOneWidget); - }); - - testWidgets('dismiss TextButton pops dialog', (tester) async { - var popped = false; - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () async { - await showDialog( - context: ctx, - builder: (_) => - const AccessibilityDialog(previouslyGranted: false), - ); - popped = true; - }, - child: const Text('Open'), - ), - ), - ), - ), - ), - ); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsOneWidget); - - await tester.tap(find.byType(TextButton)); - await tester.pumpAndSettle(); - - expect(popped, isTrue); - expect(find.byType(AlertDialog), findsNothing); - }); - - testWidgets('open settings FilledButton calls openAccessibilitySettings', ( - tester, - ) async { - var settingsOpened = false; - - _setMockHandler(channel, (call) async { - if (call.method == 'openAccessibilitySettings') settingsOpened = true; - return null; - }); - - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: false)), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.byType(FilledButton)); - await tester.pump(); - - expect(settingsOpened, isTrue); - }); - - testWidgets( - 'checkAndShow skips dialog when accessibility already granted', - (tester) async { - _setMockHandler(channel, (call) async { - if (call.method == 'checkAccessibility') return true; - return null; - }); - - var completed = false; - - await tester.pumpWidget( - MaterialApp( - home: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () async { - await AccessibilityDialog.checkAndShow(ctx); - completed = true; - }, - child: const Text('Check'), - ), - ), - ), - ); - - await tester.tap(find.text('Check')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsNothing); - expect(completed, isTrue); - }, - ); - - testWidgets( - 'poll timer auto-closes dialog when accessibility becomes granted', - (tester) async { - var checkCallCount = 0; - - _setMockHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return false; - if (call.method == 'checkAccessibility') { - checkCallCount++; - return checkCallCount >= 2; - } - return null; - }); - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (ctx) => - const AccessibilityDialog(previouslyGranted: false), - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(AccessibilityDialog), findsOneWidget); - - // Advance clock past two timer ticks (1s each) - await tester.pump(const Duration(seconds: 3)); - await tester.pumpAndSettle(); - - expect(checkCallCount, greaterThanOrEqualTo(2)); - }, - ); - - testWidgets('dispose cancels poll timer without errors', (tester) async { - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: false)), - ); - await tester.pumpAndSettle(); - - // Replacing widget tree disposes the dialog state - await tester.pumpWidget(const SizedBox.shrink()); - await tester.pumpAndSettle(); - - // No exception after disposal - expect(find.byType(AccessibilityDialog), findsNothing); - }); - - testWidgets( - 'renders warning icon and stale content when previouslyGranted is true', - (tester) async { - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: true)), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.warning_amber_rounded), findsOneWidget); - expect(find.byIcon(Icons.security), findsNothing); - expect(find.byType(OutlinedButton), findsOneWidget); - }, - ); - - testWidgets('_manualCheck success path closes dialog', (tester) async { - _setMockHandler(channel, (call) async { - if (call.method == 'checkAccessibility') return false; - if (call.method == 'requestAccessibility') return true; - return null; - }); - - var popped = false; - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () async { - await showDialog( - context: ctx, - builder: (_) => - const AccessibilityDialog(previouslyGranted: true), - ); - popped = true; - }, - child: const Text('Open'), - ), - ), - ), - ), - ), - ); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - expect(find.byType(AlertDialog), findsOneWidget); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - await tester.pump(); - await tester.pumpAndSettle(); - - expect(popped, isTrue); - expect(find.byType(AlertDialog), findsNothing); - }); - - testWidgets('_manualCheck failure sets retryNeeded phase', (tester) async { - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: true)), - ); - await tester.pumpAndSettle(); - - expect(find.byType(OutlinedButton), findsOneWidget); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - await tester.pump(); - - // After failure, button is re-enabled (not showing '...') - expect(find.text('...'), findsNothing); - expect(find.byType(OutlinedButton), findsOneWidget); - }); - - testWidgets('shows ... and disables button while checking', (tester) async { - final completer = Completer(); - _setMockHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return completer.future; - if (call.method == 'checkAccessibility') return false; - return null; - }); - - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: true)), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.byType(OutlinedButton)); - await tester.pump(); - - expect(find.text('...'), findsOneWidget); - final btn = tester.widget(find.byType(OutlinedButton)); - expect(btn.onPressed, isNull); - - completer.complete(false); - await tester.pump(); - await tester.pump(); - - expect(find.text('...'), findsNothing); - }); - - testWidgets('phase transitions to retryNeeded after 30 timer ticks', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget(const AccessibilityDialog(previouslyGranted: false)), - ); - await tester.pumpAndSettle(); - - expect(find.byType(OutlinedButton), findsNothing); - - for (var i = 0; i < 31; i++) { - await tester.pump(const Duration(seconds: 1)); - } - await tester.pump(); - - expect(find.byType(OutlinedButton), findsOneWidget); - }); - - testWidgets('checkAndShow shows dialog when not initially granted', ( - tester, - ) async { - _setMockHandler(channel, (call) async { - if (call.method == 'checkAccessibility') return false; - return null; - }); - - bool? result; - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () async { - result = await AccessibilityDialog.checkAndShow(ctx); - }, - child: const Text('Check'), - ), - ), - ), - ), - ), - ); - - await tester.tap(find.text('Check')); - await tester.pump(); - await tester.pump(); - - expect(find.byType(AlertDialog), findsOneWidget); - - await tester.tap(find.byType(TextButton)); - await tester.pump(); - await tester.pumpAndSettle(); - - expect(result, isFalse); - expect(find.byType(AlertDialog), findsNothing); - }); - }); -} diff --git a/app/test/widgets/clipboard_card_test.dart b/app/test/widgets/clipboard_card_test.dart deleted file mode 100644 index ef75cf8d..00000000 --- a/app/test/widgets/clipboard_card_test.dart +++ /dev/null @@ -1,2175 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:core/core.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/widgets/clipboard_card.dart'; - -import '../helpers/test_wrapper.dart'; - -ClipboardItem _makeTextItem({ - String content = 'Sample clipboard content', - bool isPinned = false, - CardColor cardColor = CardColor.none, - String? label, -}) { - return ClipboardItem( - content: content, - type: ClipboardContentType.text, - isPinned: isPinned, - cardColor: cardColor, - label: label, - ); -} - -// Minimal valid 1x1 PNG. -const _png1x1 = [ - 0x89, - 0x50, - 0x4E, - 0x47, - 0x0D, - 0x0A, - 0x1A, - 0x0A, - 0x00, - 0x00, - 0x00, - 0x0D, - 0x49, - 0x48, - 0x44, - 0x52, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x01, - 0x08, - 0x02, - 0x00, - 0x00, - 0x00, - 0x90, - 0x77, - 0x53, - 0xDE, - 0x00, - 0x00, - 0x00, - 0x0C, - 0x49, - 0x44, - 0x41, - 0x54, - 0x08, - 0xD7, - 0x63, - 0xF8, - 0xCF, - 0xC0, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x01, - 0xE2, - 0x21, - 0xBC, - 0x33, - 0x00, - 0x00, - 0x00, - 0x00, - 0x49, - 0x45, - 0x4E, - 0x44, - 0xAE, - 0x42, - 0x60, - 0x82, -]; - -void main() { - group('ClipboardCard', () { - testWidgets('renders text content', (tester) async { - final item = _makeTextItem(content: 'Hello clipboard'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Hello clipboard'), findsOneWidget); - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('plain text uses the plain glyph', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.text_snippet_outlined), findsOneWidget); - expect(find.byIcon(Icons.text_format_rounded), findsNothing); - }); - - testWidgets('rich text swaps the glyph but keeps the type color', ( - tester, - ) async { - final plain = _makeTextItem(); - final rich = plain.copyWith(metadata: '{"rtf":"e1xydGYx"}'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: rich, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.text_format_rounded), findsOneWidget); - expect(find.byIcon(Icons.text_snippet_outlined), findsNothing); - }); - - testWidgets('html-only metadata keeps the plain glyph', (tester) async { - final item = _makeTextItem().copyWith(metadata: '{"html":"PGh0bWw+"}'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.text_snippet_outlined), findsOneWidget); - }); - - testWidgets('a styled link keeps its link glyph', (tester) async { - // The type is the stronger signal for non-plain-text kinds, so rich - // formatting must not override it. - final item = ClipboardItem( - content: 'https://example.com', - type: ClipboardContentType.link, - ).copyWith(metadata: '{"rtf":"e1xydGYx"}'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.link_rounded), findsOneWidget); - expect(find.byIcon(Icons.text_format_rounded), findsNothing); - }); - - testWidgets('glyph updates when metadata changes in place', (tester) async { - final plain = _makeTextItem(); - - Widget build(ClipboardItem item) => wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ); - - await tester.pumpWidget(build(plain)); - await tester.pumpAndSettle(); - expect(find.byIcon(Icons.text_snippet_outlined), findsOneWidget); - - // A re-copy with styles reuses the same item, so the cached flag must be - // recomputed rather than kept from the first build. - await tester.pumpWidget( - build(plain.copyWith(metadata: '{"rtf":"e1xydGYx"}')), - ); - await tester.pumpAndSettle(); - expect(find.byIcon(Icons.text_format_rounded), findsOneWidget); - }); - - testWidgets('double-tap triggers onTap', (tester) async { - var tapCount = 0; - var selectCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () => tapCount++, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onSelect: () => selectCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - // Two pointer-downs within 300ms triggers paste - final center = tester.getCenter(find.byType(ClipboardCard)); - final gesture = await tester.startGesture(center); - await gesture.up(); - await tester.pump(const Duration(milliseconds: 100)); - final gesture2 = await tester.startGesture(center); - await gesture2.up(); - await tester.pumpAndSettle(); - - expect(tapCount, equals(1)); - expect(selectCount, equals(2)); - }); - - testWidgets('single tap triggers onSelect', (tester) async { - var selectCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onSelect: () => selectCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - final center = tester.getCenter(find.byType(ClipboardCard)); - final gesture = await tester.startGesture(center); - await gesture.up(); - await tester.pumpAndSettle(); - - expect(selectCount, equals(1)); - }); - - testWidgets('expand toggle button triggers onExpandToggle', (tester) async { - var expandCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Line1\nLine2\nLine3\nLine4\nLine5'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onExpandToggle: () => expandCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - // Find and tap the expand icon button - final expandIcon = find.byIcon(Icons.expand_more_rounded); - expect(expandIcon, findsOneWidget); - await tester.tap(expandIcon); - await tester.pumpAndSettle(); - - expect(expandCount, equals(1)); - }); - - testWidgets('expand toggle hidden for short content', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Short text'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onExpandToggle: () {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.expand_more_rounded), findsNothing); - }); - - testWidgets('shows selection border when isSelected is true', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - isSelected: true, - ), - ), - ); - await tester.pumpAndSettle(); - - // Selected card should render without error - expect(find.byType(AnimatedContainer), findsAtLeastNWidgets(1)); - }); - - testWidgets('shows expanded content when isExpanded is true', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem( - content: 'Line1\nLine2\nLine3\nLine4\nLine5\nLine6', - ), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - isExpanded: true, - cardMaxLines: 5, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('link type item renders without error', (tester) async { - final item = ClipboardItem( - content: 'https://example.com', - type: ClipboardContentType.link, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('pinned item renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(isPinned: true), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('card with label renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(label: 'Work'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Work'), findsOneWidget); - }); - - testWidgets('card with color renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(cardColor: CardColor.red), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('dark mode renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - brightness: Brightness.dark, - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('onPin callback is called via action button', (tester) async { - var pinCount = 0; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () => pinCount++, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Hover to show action buttons - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - final card = find.byType(ClipboardCard); - await gesture.moveTo(tester.getCenter(card)); - await tester.pumpAndSettle(); - - // Find and tap pin button - final pinButtons = find.byIcon(Icons.push_pin_outlined); - if (pinButtons.evaluate().isNotEmpty) { - await tester.tap(pinButtons.first); - await tester.pump(); - expect(pinCount, equals(1)); - } - }); - - testWidgets('onDelete callback is called via action button', ( - tester, - ) async { - var deleteCount = 0; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () => deleteCount++, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - final card = find.byType(ClipboardCard); - await gesture.moveTo(tester.getCenter(card)); - await tester.pumpAndSettle(); - - final deleteButtons = find.byIcon(Icons.delete_rounded); - if (deleteButtons.evaluate().isNotEmpty) { - await tester.tap(deleteButtons.first); - await tester.pump(); - expect(deleteCount, equals(1)); - } - }); - - testWidgets('onPastePlain callback exposed for formatted text', ( - tester, - ) async { - var plainCount = 0; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem().copyWith(metadata: '{"rtf":"e1xydGYx"}'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onPastePlain: () => plainCount++, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.byIcon(Icons.notes_rounded), findsOneWidget); - }); - - testWidgets('plain paste button is hidden when there is no formatting', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onPastePlain: () {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.notes_rounded), findsNothing); - }); - - testWidgets('html-only metadata still offers the plain paste button', ( - tester, - ) async { - // The writer restores html too, so a normal paste would carry formatting - // even though the card shows the plain glyph. - final item = _makeTextItem().copyWith(metadata: '{"html":"PGh0bWw+"}'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onPastePlain: () {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.notes_rounded), findsOneWidget); - expect(find.byIcon(Icons.text_snippet_outlined), findsOneWidget); - }); - - testWidgets('file type item renders filename', (tester) async { - final sep = Platform.pathSeparator; - final item = ClipboardItem( - content: '${sep}home${sep}user${sep}document.pdf', - type: ClipboardContentType.file, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.text('document.pdf'), findsOneWidget); - }); - - testWidgets('folder type item renders without error', (tester) async { - final sep = Platform.pathSeparator; - final item = ClipboardItem( - content: '${sep}home${sep}user${sep}Documents', - type: ClipboardContentType.folder, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('file type with multiple files shows count badge', ( - tester, - ) async { - final sep = Platform.pathSeparator; - final item = ClipboardItem( - content: - '${sep}home${sep}user${sep}a.pdf\n${sep}home${sep}user${sep}b.txt\n${sep}home${sep}user${sep}c.docx', - type: ClipboardContentType.file, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // "+2" badge for 2 extra files - expect(find.text('+2'), findsOneWidget); - }); - - testWidgets('image type with non-existent path renders placeholder', ( - tester, - ) async { - final item = ClipboardItem( - content: 'C:\\nonexistent\\image.png', - type: ClipboardContentType.image, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('image type with empty content shows placeholder', ( - tester, - ) async { - final item = ClipboardItem(content: '', type: ClipboardContentType.image); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('image type with existing file renders Image widget', ( - tester, - ) async { - // Create a real PNG file for image rendering - final tmpDir = Directory.systemTemp.createTempSync('card_img_test_'); - final imgFile = File('${tmpDir.path}/test.png'); - // Minimal 1x1 PNG - imgFile.writeAsBytesSync([ - 0x89, - 0x50, - 0x4E, - 0x47, - 0x0D, - 0x0A, - 0x1A, - 0x0A, - 0x00, - 0x00, - 0x00, - 0x0D, - 0x49, - 0x48, - 0x44, - 0x52, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x01, - 0x08, - 0x02, - 0x00, - 0x00, - 0x00, - 0x90, - 0x77, - 0x53, - 0xDE, - 0x00, - 0x00, - 0x00, - 0x0C, - 0x49, - 0x44, - 0x41, - 0x54, - 0x08, - 0xD7, - 0x63, - 0xF8, - 0xCF, - 0xC0, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x01, - 0xE2, - 0x21, - 0xBC, - 0x33, - 0x00, - 0x00, - 0x00, - 0x00, - 0x49, - 0x45, - 0x4E, - 0x44, - 0xAE, - 0x42, - 0x60, - 0x82, - ]); - - final item = ClipboardItem( - content: imgFile.path, - type: ClipboardContentType.image, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - // Allow image path resolution - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - tmpDir.deleteSync(recursive: true); - }); - - testWidgets('image with existing file is draggable and starts native drag', ( - tester, - ) async { - const channel = MethodChannel('copypaste/clipboard_writer'); - final calls = []; - tester.binding.defaultBinaryMessenger.setMockMethodCallHandler(channel, ( - call, - ) async { - calls.add(call); - return true; - }); - addTearDown( - () => tester.binding.defaultBinaryMessenger.setMockMethodCallHandler( - channel, - null, - ), - ); - - final tmpDir = Directory.systemTemp.createTempSync('card_drag_test_'); - final imgFile = File('${tmpDir.path}/test.png') - ..writeAsBytesSync(_png1x1); - addTearDown(() => tmpDir.deleteSync(recursive: true)); - - final item = ClipboardItem( - content: imgFile.path, - type: ClipboardContentType.image, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // A grab cursor is exposed only once the backing file is confirmed on disk. - final dragHandle = find.byWidgetPredicate( - (w) => w is MouseRegion && w.cursor == SystemMouseCursors.grab, - ); - expect(dragHandle, findsOneWidget); - - await tester.drag(dragHandle, const Offset(60, 0)); - await tester.pumpAndSettle(); - - expect(calls.single.method, equals('startFileDrag')); - expect(calls.single.arguments['paths'], equals([imgFile.path])); - }); - - testWidgets('text card is not draggable (no grab cursor)', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect( - find.byWidgetPredicate( - (w) => w is MouseRegion && w.cursor == SystemMouseCursors.grab, - ), - findsNothing, - ); - }); - - testWidgets( - 'prefers thumbPath over content and invokes onRequestThumbnailRefresh', - (tester) async { - final tmpDir = Directory.systemTemp.createTempSync('card_thumb_test_'); - // Minimal valid 1x1 PNG bytes. - final png = [ - 0x89, - 0x50, - 0x4E, - 0x47, - 0x0D, - 0x0A, - 0x1A, - 0x0A, - 0x00, - 0x00, - 0x00, - 0x0D, - 0x49, - 0x48, - 0x44, - 0x52, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x01, - 0x08, - 0x02, - 0x00, - 0x00, - 0x00, - 0x90, - 0x77, - 0x53, - 0xDE, - 0x00, - 0x00, - 0x00, - 0x0C, - 0x49, - 0x44, - 0x41, - 0x54, - 0x08, - 0xD7, - 0x63, - 0xF8, - 0xCF, - 0xC0, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x01, - 0xE2, - 0x21, - 0xBC, - 0x33, - 0x00, - 0x00, - 0x00, - 0x00, - 0x49, - 0x45, - 0x4E, - 0x44, - 0xAE, - 0x42, - 0x60, - 0x82, - ]; - final source = File('${tmpDir.path}/source.png')..writeAsBytesSync(png); - final thumb = File('${tmpDir.path}/source_thumb.png') - ..writeAsBytesSync(png); - - ClipboardItem? refreshed; - final item = ClipboardItem( - content: source.path, - type: ClipboardContentType.image, - thumbPath: thumb.path, - ); - - await tester.runAsync(() async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onRequestThumbnailRefresh: (it) => refreshed = it, - ), - ), - ); - for (var i = 0; i < 10; i++) { - await Future.delayed(const Duration(milliseconds: 20)); - await tester.pump(); - } - }); - await tester.pumpAndSettle(); - - expect(refreshed?.id, equals(item.id)); - - String? imageProviderPath(ImageProvider provider) { - if (provider is FileImage) return provider.file.path; - if (provider is ResizeImage) { - return imageProviderPath(provider.imageProvider); - } - return null; - } - - final paths = tester - .widgetList(find.byType(Image)) - .map((w) => imageProviderPath(w.image)) - .whereType() - .toList(); - expect( - paths, - contains(thumb.path), - reason: 'card should render the thumbnail file when present', - ); - expect( - paths, - isNot(contains(source.path)), - reason: 'card should not render the source when a thumb is available', - ); - - tmpDir.deleteSync(recursive: true); - }, - ); - - testWidgets('falls back to content when thumbPath file is missing', ( - tester, - ) async { - final tmpDir = Directory.systemTemp.createTempSync('card_thumb_fb_'); - final png = [ - 0x89, - 0x50, - 0x4E, - 0x47, - 0x0D, - 0x0A, - 0x1A, - 0x0A, - 0x00, - 0x00, - 0x00, - 0x0D, - 0x49, - 0x48, - 0x44, - 0x52, - 0x00, - 0x00, - 0x00, - 0x01, - 0x00, - 0x00, - 0x00, - 0x01, - 0x08, - 0x02, - 0x00, - 0x00, - 0x00, - 0x90, - 0x77, - 0x53, - 0xDE, - 0x00, - 0x00, - 0x00, - 0x0C, - 0x49, - 0x44, - 0x41, - 0x54, - 0x08, - 0xD7, - 0x63, - 0xF8, - 0xCF, - 0xC0, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x01, - 0xE2, - 0x21, - 0xBC, - 0x33, - 0x00, - 0x00, - 0x00, - 0x00, - 0x49, - 0x45, - 0x4E, - 0x44, - 0xAE, - 0x42, - 0x60, - 0x82, - ]; - final source = File('${tmpDir.path}/source.png')..writeAsBytesSync(png); - final missingThumb = '${tmpDir.path}/does_not_exist_thumb.png'; - - final item = ClipboardItem( - content: source.path, - type: ClipboardContentType.image, - thumbPath: missingThumb, - ); - - await tester.runAsync(() async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - for (var i = 0; i < 10; i++) { - await Future.delayed(const Duration(milliseconds: 20)); - await tester.pump(); - } - }); - await tester.pumpAndSettle(); - - String? imageProviderPath(ImageProvider provider) { - if (provider is FileImage) return provider.file.path; - if (provider is ResizeImage) { - return imageProviderPath(provider.imageProvider); - } - return null; - } - - final paths = tester - .widgetList(find.byType(Image)) - .map((w) => imageProviderPath(w.image)) - .whereType() - .toList(); - expect(paths, contains(source.path)); - expect(paths, isNot(contains(missingThumb))); - - tmpDir.deleteSync(recursive: true); - }); - - testWidgets('audio type item renders without error', (tester) async { - final sep = Platform.pathSeparator; - final item = ClipboardItem( - content: '${sep}home${sep}user${sep}song.mp3', - type: ClipboardContentType.audio, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('video type item renders without error', (tester) async { - final sep = Platform.pathSeparator; - final item = ClipboardItem( - content: '${sep}home${sep}user${sep}clip.mp4', - type: ClipboardContentType.video, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('item with appSource displays appSource text', (tester) async { - final item = ClipboardItem( - content: 'Some text', - type: ClipboardContentType.text, - appSource: 'Notepad', - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('· Notepad'), findsOneWidget); - }); - - testWidgets('card updates when item changes', (tester) async { - final key = GlobalKey(); - final item1 = _makeTextItem(content: 'First content'); - final item2 = _makeTextItem(content: 'Second content'); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - key: key, - item: item1, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('First content'), findsOneWidget); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - key: key, - item: item2, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Second content'), findsOneWidget); - }); - - testWidgets('hover enter and exit changes card appearance', (tester) async { - final hoverChanges = []; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onHoverChanged: hoverChanges.add, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - - // Enter hover - final card = find.byType(ClipboardCard); - await gesture.moveTo(tester.getCenter(card)); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - expect(hoverChanges, [true]); - - // Exit hover - await gesture.moveTo(const Offset(-100, -100)); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - expect(hoverChanges, [true, false]); - }); - - testWidgets('file not found shows warning badge', (tester) async { - final item = ClipboardItem( - content: 'C:\\nonexistent\\file.pdf', - type: ClipboardContentType.file, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // File not found badge should appear - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('unknown type renders text content', (tester) async { - final item = ClipboardItem( - content: 'Unknown content', - type: ClipboardContentType.unknown, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Unknown content'), findsOneWidget); - }); - - testWidgets('card with all colors renders without error', (tester) async { - for (final color in CardColor.values) { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(cardColor: color), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - } - }); - - testWidgets('text item with pasteCount shows footer', (tester) async { - final item = ClipboardItem( - content: 'Pasted many times', - type: ClipboardContentType.text, - pasteCount: 5, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('×5'), findsOneWidget); - }); - - testWidgets('image item with dimensions metadata shows footer', ( - tester, - ) async { - final meta = jsonEncode({'width': 1920, 'height': 1080}); - final item = ClipboardItem( - content: '', - type: ClipboardContentType.image, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('1920×1080'), findsOneWidget); - }); - - testWidgets('file item with file_size metadata shows size footer', ( - tester, - ) async { - final sep = Platform.pathSeparator; - final meta = jsonEncode({'file_size': 512 * 1024}); // 512 KB - final item = ClipboardItem( - content: '${sep}docs${sep}report.pdf', - type: ClipboardContentType.file, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Size chip should appear - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('video item with duration metadata shows duration footer', ( - tester, - ) async { - final sep = Platform.pathSeparator; - final meta = jsonEncode({'duration': 125}); // 2m5s - final item = ClipboardItem( - content: '${sep}videos${sep}clip.mp4', - type: ClipboardContentType.video, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('link item with valid URL renders domain badge', ( - tester, - ) async { - final item = ClipboardItem( - content: 'https://github.com/user/repo', - type: ClipboardContentType.link, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('github.com'), findsOneWidget); - }); - - testWidgets('link item with URL renders full URL', (tester) async { - final item = ClipboardItem( - content: 'https://flutter.dev/docs', - type: ClipboardContentType.link, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - isExpanded: true, - cardMaxLines: 5, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('link item open action triggers onOpen callback', ( - tester, - ) async { - var openCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: ClipboardItem( - content: 'https://flutter.dev/docs', - type: ClipboardContentType.link, - ), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onOpen: () => openCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.byIcon(Icons.open_in_new_rounded)); - await tester.pumpAndSettle(); - - expect(openCount, equals(1)); - }); - - testWidgets('email item shows provider badge and open action', ( - tester, - ) async { - var openCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: ClipboardItem( - content: 'person@gmail.com', - type: ClipboardContentType.email, - ), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onOpen: () => openCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Gmail'), findsOneWidget); - - await tester.tap(find.byIcon(Icons.open_in_new_rounded)); - await tester.pumpAndSettle(); - - expect(openCount, equals(1)); - }); - - testWidgets('phone item shows country badge and open action', ( - tester, - ) async { - var openCount = 0; - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: ClipboardItem( - content: '+34 600 111 222', - type: ClipboardContentType.phone, - ), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onOpen: () => openCount++, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Spain'), findsOneWidget); - - await tester.tap(find.byIcon(Icons.open_in_new_rounded)); - await tester.pumpAndSettle(); - - expect(openCount, equals(1)); - }); - - testWidgets('right-click shows context menu', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Right click me'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Secondary tap using mouse gesture to open context menu - final card = find.byType(ClipboardCard); - final gesture = await tester.startGesture( - tester.getCenter(card), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - // Menu should have appeared with Paste option - expect(find.text('Paste'), findsOneWidget); - }); - - testWidgets('right-click menu paste action triggers onTap', (tester) async { - var tapCount = 0; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Paste via menu'), - onTap: () => tapCount++, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - // Tap Paste menu item - final paste = find.text('Paste'); - expect(paste, findsOneWidget); - await tester.tap(paste.first); - await tester.pumpAndSettle(); - - expect(tapCount, 1); - }); - - testWidgets('text item with paste plain in menu, tapping it fires', ( - tester, - ) async { - var plainPasted = false; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Plain text'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - onPastePlain: () => plainPasted = true, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - // Paste plain should appear in menu for text type - final pastePlain = find.text('Paste plain'); - if (pastePlain.evaluate().isNotEmpty) { - await tester.tap(pastePlain.first); - await tester.pumpAndSettle(); - expect(plainPasted, isTrue); - } - }); - - testWidgets('image with large file size shows GB format', (tester) async { - final meta = jsonEncode({'file_size': 2 * 1024 * 1024 * 1024}); // 2GB - final item = ClipboardItem( - content: '', - type: ClipboardContentType.image, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('image with small file size shows bytes format', ( - tester, - ) async { - final meta = jsonEncode({'file_size': 500}); // 500 bytes - final item = ClipboardItem( - content: '', - type: ClipboardContentType.image, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('video item with duration over 1 hour shows H:MM:SS format', ( - tester, - ) async { - final meta = jsonEncode({'duration': 3700}); // 1h 1m 40s - final item = ClipboardItem( - content: '/video.mp4', - type: ClipboardContentType.video, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('card with MB file size shows MB format', (tester) async { - final meta = jsonEncode({'file_size': 5 * 1024 * 1024}); // 5MB - final item = ClipboardItem( - content: '/big_file.bin', - type: ClipboardContentType.file, - metadata: meta, - ); - - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('pinned item in header shows pin icon when not hovering', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(isPinned: true), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.push_pin_rounded), findsAtLeastNWidgets(1)); - }); - - testWidgets('dark mode hover covers surfaceVariant color path', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - brightness: Brightness.dark, - ), - ); - await tester.pumpAndSettle(); - - // Hover in dark mode to trigger surfaceVariant color path - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - await gesture.moveTo(tester.getCenter(find.byType(ClipboardCard))); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('hover edit button triggers _editLabelColor and shows dialog', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Edit via hover'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Hover to show action buttons - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - await gesture.moveTo(tester.getCenter(find.byType(ClipboardCard))); - await tester.pumpAndSettle(); - - // Edit button must exist when hovering - final editButtons = find.byIcon(Icons.edit_outlined); - expect(editButtons, findsAtLeastNWidgets(1)); - await tester.tap(editButtons.first); - await tester.pumpAndSettle(); - - // Cancel dialog if shown - final cancel = find.text('Cancel'); - if (cancel.evaluate().isNotEmpty) { - await tester.tap(cancel.first); - await tester.pumpAndSettle(); - } - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('context menu dismissed without selection covers null case', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Dismiss menu'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Open context menu - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - // Verify menu is open - expect(find.text('Paste'), findsOneWidget); - - // Tap outside the menu to dismiss it (null case) - await tester.tapAt(const Offset(10, 10)); - await tester.pumpAndSettle(); - - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('right-click delete action triggers onDelete', (tester) async { - var deleted = false; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Delete me'), - onTap: () {}, - onPin: () {}, - onDelete: () => deleted = true, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - final deleteItem = find.text('Delete'); - if (deleteItem.evaluate().isNotEmpty) { - await tester.tap(deleteItem.first); - await tester.pumpAndSettle(); - expect(deleted, isTrue); - } - }); - - testWidgets('right-click pin action triggers onPin', (tester) async { - var pinned = false; - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Pin me'), - onTap: () {}, - onPin: () => pinned = true, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - final pinItem = find.text('Pin'); - if (pinItem.evaluate().isNotEmpty) { - await tester.tap(pinItem.first); - await tester.pumpAndSettle(); - expect(pinned, isTrue); - } - }); - - testWidgets('right-click edit action opens label dialog', (tester) async { - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: _makeTextItem(content: 'Edit me'), - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (label, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.startGesture( - tester.getCenter(find.byType(ClipboardCard)), - kind: PointerDeviceKind.mouse, - buttons: kSecondaryMouseButton, - ); - await gesture.up(); - await tester.pumpAndSettle(); - - // Verify context menu opened (Paste is always present) - expect(find.text('Paste'), findsOneWidget); - - // Tap 'Edit card' menu item - final editItem = find.text('Edit card'); - expect(editItem, findsOneWidget); - await tester.tap(editItem.first); - await tester.pumpAndSettle(); - - // LabelColorDialog should appear - final cancel = find.text('Cancel'); - if (cancel.evaluate().isNotEmpty) { - await tester.tap(cancel.first); - await tester.pumpAndSettle(); - } - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('timestamp for item modified 5 minutes ago shows Xm', ( - tester, - ) async { - final item = ClipboardItem( - content: 'Old item', - type: ClipboardContentType.text, - modifiedAt: DateTime.now().subtract(const Duration(minutes: 5)), - ); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.textContaining('m'), findsWidgets); - }); - - testWidgets('timestamp for item modified 3 hours ago shows Xh', ( - tester, - ) async { - final item = ClipboardItem( - content: 'Hours old', - type: ClipboardContentType.text, - modifiedAt: DateTime.now().subtract(const Duration(hours: 3)), - ); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.textContaining('h'), findsWidgets); - }); - - testWidgets('timestamp for item modified 4 days ago shows Xd', ( - tester, - ) async { - final item = ClipboardItem( - content: 'Days old', - type: ClipboardContentType.text, - modifiedAt: DateTime.now().subtract(const Duration(days: 4)), - ); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - expect(find.textContaining('d'), findsWidgets); - }); - - testWidgets('timestamp for item modified 30 days ago shows month/day', ( - tester, - ) async { - final item = ClipboardItem( - content: 'Very old', - type: ClipboardContentType.text, - modifiedAt: DateTime.now().subtract(const Duration(days: 30)), - ); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('video item without extension but with duration has footer', ( - tester, - ) async { - final meta = jsonEncode({'duration': 120}); - final item = ClipboardItem( - content: '/videos/clip', - type: ClipboardContentType.video, - metadata: meta, - ); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('audio item with empty content shows audio label', ( - tester, - ) async { - final item = ClipboardItem(content: '', type: ClipboardContentType.audio); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - }); - - testWidgets('video item with empty content shows video label', ( - tester, - ) async { - final item = ClipboardItem(content: '', type: ClipboardContentType.video); - await tester.pumpWidget( - wrapWidget( - ClipboardCard( - item: item, - onTap: () {}, - onPin: () {}, - onDelete: () {}, - onLabelColor: (_, _) {}, - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(ClipboardCard), findsOneWidget); - }); - }); -} diff --git a/app/test/widgets/empty_state_test.dart b/app/test/widgets/empty_state_test.dart deleted file mode 100644 index 4d1c75ec..00000000 --- a/app/test/widgets/empty_state_test.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/widgets/empty_state.dart'; - -import '../helpers/test_wrapper.dart'; - -void main() { - group('EmptyState', () { - testWidgets('renders without error', (tester) async { - await tester.pumpWidget(wrapWidget(const EmptyState())); - await tester.pumpAndSettle(); - - expect(find.byType(EmptyState), findsOneWidget); - }); - - testWidgets('shows paste icon', (tester) async { - await tester.pumpWidget(wrapWidget(const EmptyState())); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.content_paste_rounded), findsOneWidget); - }); - - testWidgets('renders in dark mode without error', (tester) async { - await tester.pumpWidget( - wrapWidget(const EmptyState(), brightness: Brightness.dark), - ); - await tester.pumpAndSettle(); - - expect(find.byType(EmptyState), findsOneWidget); - }); - }); -} diff --git a/app/test/widgets/filter_bar_test.dart b/app/test/widgets/filter_bar_test.dart deleted file mode 100644 index 06beac68..00000000 --- a/app/test/widgets/filter_bar_test.dart +++ /dev/null @@ -1,264 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/widgets/filter_bar.dart'; - -import '../helpers/test_wrapper.dart'; - -void main() { - group('FilterBar', () { - testWidgets('renders without error when no colors selected', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(FilterBar), findsOneWidget); - }); - - testWidgets('shows no badge when no colors selected', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // With no active filters, badge text should not appear - expect(find.text('1'), findsNothing); - expect(find.text('2'), findsNothing); - }); - - testWidgets('shows badge with count when colors selected', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [CardColor.red, CardColor.blue], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Badge should show count "2" - expect(find.text('2'), findsOneWidget); - }); - - testWidgets('shows badge count 1 for single color', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [CardColor.green], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('1'), findsOneWidget); - }); - - testWidgets('has tappable button area', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // The FilterBar renders a tappable button (GestureDetector or InkWell) - expect( - find.byWidgetPredicate( - (w) => w is GestureDetector || w is InkWell || w is MouseRegion, - ), - findsAtLeastNWidgets(1), - ); - }); - - testWidgets('openMenu can be called via GlobalKey', (tester) async { - final key = GlobalKey(); - - await tester.pumpWidget( - wrapWidget( - FilterBar( - key: key, - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Should not throw - key.currentState!.openMenu(); - await tester.pumpAndSettle(); - }); - - testWidgets('dark mode renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [CardColor.red], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - brightness: Brightness.dark, - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(FilterBar), findsOneWidget); - }); - - testWidgets('openMenu with active color shows clear option', ( - tester, - ) async { - final key = GlobalKey(); - var clearCalled = false; - - await tester.pumpWidget( - wrapWidget( - FilterBar( - key: key, - selectedTypes: const [], - selectedColors: const [CardColor.red], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - onClear: () => clearCalled = true, - ), - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.openMenu(); - await tester.pumpAndSettle(); - - // Menu is open - clear option should be first item - final menuItems = find.byType(PopupMenuItem); - expect(menuItems, findsAtLeastNWidgets(1)); - - // Tap first menu item (Clear all filters) - await tester.tap(menuItems.first); - await tester.pumpAndSettle(); - - expect(clearCalled, isTrue); - }); - - testWidgets('openMenu with active color, tap color removes it', ( - tester, - ) async { - final key = GlobalKey(); - List? updated; - - await tester.pumpWidget( - wrapWidget( - FilterBar( - key: key, - selectedTypes: const [], - selectedColors: const [CardColor.red], - onTypesChanged: (_) {}, - onColorsChanged: (c) => updated = c, - onClear: () {}, - ), - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.openMenu(); - await tester.pumpAndSettle(); - - // Menu items when selectedColors=[red]: - // 0: "Clear all filters" - // 1: Color section label (disabled) - // 2: Red (selected) ← tapping this removes red - // 3: Green, 4: Purple, 5: Yellow, 6: Blue, 7: Orange - final menuItems = find.byType(PopupMenuItem); - if (menuItems.evaluate().length >= 3) { - await tester.tap(menuItems.at(2)); // Red = selected → removes it - await tester.pumpAndSettle(); - expect(updated, isNotNull); - expect(updated!.contains(CardColor.red), isFalse); - } - }); - - testWidgets('openMenu, tap unselected color adds it', (tester) async { - final key = GlobalKey(); - List? updated; - - await tester.pumpWidget( - wrapWidget( - FilterBar( - key: key, - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (c) => updated = c, - onClear: () {}, - ), - ), - ); - await tester.pumpAndSettle(); - - key.currentState!.openMenu(); - await tester.pumpAndSettle(); - - // No clear item since no active filters - first PopupMenuItems are label + color - final menuItems = find.byType(PopupMenuItem); - // Skip label item (0), tap color item (1) - if (menuItems.evaluate().length >= 2) { - await tester.tap(menuItems.at(1)); - await tester.pumpAndSettle(); - expect(updated, isNotNull); - expect(updated!.length, 1); - } - }); - - testWidgets('tapping filter button opens menu', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterBar( - selectedTypes: const [], - selectedColors: const [], - onTypesChanged: (_) {}, - onColorsChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Tap the InkWell (filter button) - await tester.tap(find.byType(InkWell).first); - await tester.pumpAndSettle(); - - // Menu should be shown (PopupMenuItems rendered) - expect(find.byType(PopupMenuItem), findsAtLeastNWidgets(1)); - }); - }); -} diff --git a/app/test/widgets/filter_tab_bar_test.dart b/app/test/widgets/filter_tab_bar_test.dart deleted file mode 100644 index 60bee74a..00000000 --- a/app/test/widgets/filter_tab_bar_test.dart +++ /dev/null @@ -1,228 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/widgets/filter_tab_bar.dart'; - -import '../helpers/test_wrapper.dart'; - -void main() { - group('FilterTabBar', () { - testWidgets('renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(FilterTabBar), findsOneWidget); - }); - - testWidgets('shows multiple tab items', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // At least 3 Text widgets for the tabs (All, Pinned, Text, Image, etc.) - expect(find.byType(Text), findsAtLeastNWidgets(3)); - }); - - testWidgets('tapping a type tab fires onTypesChanged', (tester) async { - List? result; - - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (t) => result = t, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - // Tap on "Text" tab (3rd tab in list) - final textFinder = find.text('Text'); - if (textFinder.evaluate().isNotEmpty) { - await tester.tap(textFinder.first); - await tester.pump(); - expect(result, isNotNull); - expect(result, contains(ClipboardContentType.text)); - } - }); - - testWidgets('tapping Pinned tab fires onPinnedModeChanged with true', ( - tester, - ) async { - bool? pinnedResult; - - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (p) => pinnedResult = p, - ), - ), - ); - await tester.pumpAndSettle(); - - final pinnedFinder = find.text('Pinned'); - if (pinnedFinder.evaluate().isNotEmpty) { - await tester.tap(pinnedFinder.first); - await tester.pump(); - expect(pinnedResult, isTrue); - } - }); - - testWidgets('tapping active type tab deselects (fires empty list)', ( - tester, - ) async { - List? result; - - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [ - ClipboardContentType.text, - ClipboardContentType.ip, - ClipboardContentType.uuid, - ClipboardContentType.json, - ], - isPinnedMode: false, - onTypesChanged: (t) => result = t, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final textFinder = find.text('Text'); - if (textFinder.evaluate().isNotEmpty) { - await tester.tap(textFinder.first); - await tester.pump(); - expect(result, isNotNull); - expect(result, isEmpty); - } - }); - - testWidgets('tapping All tab fires onTypesChanged with empty list', ( - tester, - ) async { - List? result; - - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [ClipboardContentType.text], - isPinnedMode: false, - onTypesChanged: (t) => result = t, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final allFinder = find.text('All'); - if (allFinder.evaluate().isNotEmpty) { - await tester.tap(allFinder.first); - await tester.pump(); - expect(result, isNotNull); - expect(result, isEmpty); - } - }); - - testWidgets('dark mode renders without error', (tester) async { - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (_) {}, - ), - brightness: Brightness.dark, - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(FilterTabBar), findsOneWidget); - }); - - testWidgets('hovering over an inactive tab changes its appearance', ( - tester, - ) async { - await tester.pumpWidget( - wrapWidget( - FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (_) {}, - ), - ), - ); - await tester.pumpAndSettle(); - - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - - final tabFinder = find.text('All'); - if (tabFinder.evaluate().isNotEmpty) { - await gesture.moveTo(tester.getCenter(tabFinder.first)); - await tester.pumpAndSettle(); - await gesture.moveTo(Offset.zero); - await tester.pumpAndSettle(); - } - expect(find.byType(FilterTabBar), findsOneWidget); - }); - - testWidgets('drag scroll pointer events do not crash', (tester) async { - await tester.pumpWidget( - wrapWidget( - SizedBox( - width: 200, - child: FilterTabBar( - selectedTypes: const [], - isPinnedMode: false, - onTypesChanged: (_) {}, - onPinnedModeChanged: (_) {}, - ), - ), - ), - ); - await tester.pumpAndSettle(); - - final tabBar = find.byType(FilterTabBar); - final center = tester.getCenter(tabBar); - - final gesture = await tester.startGesture(center); - await gesture.moveBy(const Offset(-50, 0)); - await tester.pump(); - await gesture.moveBy(const Offset(-20, 0)); - await tester.pump(); - await gesture.up(); - await tester.pumpAndSettle(); - - expect(find.byType(FilterTabBar), findsOneWidget); - }); - }); -} diff --git a/app/test/widgets/label_color_dialog_test.dart b/app/test/widgets/label_color_dialog_test.dart deleted file mode 100644 index 4cd9ce48..00000000 --- a/app/test/widgets/label_color_dialog_test.dart +++ /dev/null @@ -1,333 +0,0 @@ -import 'package:core/core.dart'; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/theme/compact_theme.dart'; -import 'package:copypaste/theme/theme_provider.dart'; -import 'package:copypaste/l10n/app_localizations.dart'; -import 'package:copypaste/widgets/label_color_dialog.dart'; - -Widget _buildApp(Widget child) { - return MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold(body: child), - ), - ); -} - -Widget _buildDialogApp({ - required void Function(LabelColorResult?) onResult, - String? currentLabel, - CardColor currentColor = CardColor.none, -}) { - return MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (context) => Center( - child: ElevatedButton( - onPressed: () async { - final result = await LabelColorDialog.show( - context, - currentLabel: currentLabel, - currentColor: currentColor, - ); - onResult(result); - }, - child: const Text('Open'), - ), - ), - ), - ), - ), - ); -} - -void main() { - group('LabelColorDialog', () { - testWidgets('renders with title and text field', (tester) async { - await tester.pumpWidget( - _buildApp( - const LabelColorDialog( - currentLabel: 'My Label', - currentColor: CardColor.none, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Label & Color'), findsOneWidget); - expect(find.byType(TextField), findsOneWidget); - }); - - testWidgets('pre-fills existing label in text field', (tester) async { - await tester.pumpWidget( - _buildApp( - const LabelColorDialog( - currentLabel: 'Work', - currentColor: CardColor.red, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.text('Work'), findsOneWidget); - }); - - testWidgets('renders color grid with multiple options', (tester) async { - await tester.pumpWidget( - _buildApp( - const LabelColorDialog( - currentLabel: null, - currentColor: CardColor.none, - ), - ), - ); - await tester.pumpAndSettle(); - - // 7 color chips rendered (none, red, green, purple, yellow, blue, orange) - expect(find.byType(GestureDetector), findsAtLeastNWidgets(3)); - }); - - testWidgets('tapping a color chip selects it', (tester) async { - await tester.pumpWidget( - _buildApp( - const LabelColorDialog( - currentLabel: null, - currentColor: CardColor.none, - ), - ), - ); - await tester.pumpAndSettle(); - - // Find animated containers in the color grid (color circles) - final containers = find.byType(AnimatedContainer); - expect(containers, findsAtLeastNWidgets(2)); - - // Tap colour circle (first one after dialog container) - await tester.tap(containers.at(1)); - await tester.pumpAndSettle(); - - // No crash means the setState worked - expect(find.byType(LabelColorDialog), findsOneWidget); - }); - - testWidgets('Save button returns result with label and color', ( - tester, - ) async { - LabelColorResult? result; - - await tester.pumpWidget( - _buildDialogApp( - onResult: (r) => result = r, - currentLabel: 'Initial', - currentColor: CardColor.blue, - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - // Verify dialog opened - expect(find.text('Label & Color'), findsOneWidget); - - // Clear and enter new text - await tester.enterText(find.byType(TextField), 'New Label'); - await tester.pumpAndSettle(); - - // Tap Save - await tester.tap(find.text('Save')); - await tester.pumpAndSettle(); - - expect(result, isNotNull); - expect(result!.label, equals('New Label')); - }); - - testWidgets('Save with empty label returns null label', (tester) async { - LabelColorResult? result; - - await tester.pumpWidget( - _buildDialogApp(onResult: (r) => result = r, currentLabel: null), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Save')); - await tester.pumpAndSettle(); - - expect(result, isNotNull); - expect(result!.label, isNull); - }); - - testWidgets('Cancel returns null result', (tester) async { - LabelColorResult? result; - var resultSet = false; - - await tester.pumpWidget( - _buildDialogApp( - onResult: (r) { - result = r; - resultSet = true; - }, - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - expect(find.text('Cancel'), findsOneWidget); - await tester.tap(find.text('Cancel')); - await tester.pumpAndSettle(); - - expect(resultSet, isTrue); - expect(result, isNull); - }); - - testWidgets('Enter in text field submits the dialog', (tester) async { - LabelColorResult? result; - - await tester.pumpWidget(_buildDialogApp(onResult: (r) => result = r)); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - await tester.enterText(find.byType(TextField), 'Via Enter'); - await tester.testTextInput.receiveAction(TextInputAction.done); - await tester.pumpAndSettle(); - - expect(result, isNotNull); - expect(result!.label, equals('Via Enter')); - }); - - testWidgets('returns selected color in result', (tester) async { - LabelColorResult? result; - - await tester.pumpWidget( - _buildDialogApp( - onResult: (r) => result = r, - currentColor: CardColor.none, - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - // Tap a color chip to change selection - final containers = find.byType(AnimatedContainer); - await tester.tap(containers.at(2)); // tap second color chip - await tester.pumpAndSettle(); - - await tester.tap(find.text('Save')); - await tester.pumpAndSettle(); - - expect(result, isNotNull); - // color was changed from none - expect(result!.color, isA()); - }); - - testWidgets('shows with no label and none color by default via show()', ( - tester, - ) async { - LabelColorResult? result; - - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.light(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: Scaffold( - body: Builder( - builder: (ctx) => ElevatedButton( - onPressed: () async { - result = await LabelColorDialog.show(ctx); // defaults only - }, - child: const Text('Open'), - ), - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Open')); - await tester.pumpAndSettle(); - - await tester.tap(find.text('Save')); - await tester.pumpAndSettle(); - - expect(result, isNotNull); - expect(result!.color, equals(CardColor.none)); - }); - - testWidgets('dark mode renders without error', (tester) async { - await tester.pumpWidget( - MaterialApp( - locale: const Locale('en'), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - theme: ThemeData.dark(), - home: CopyPasteTheme( - themeData: CompactTheme(), - child: const Scaffold( - body: LabelColorDialog( - currentLabel: null, - currentColor: CardColor.none, - ), - ), - ), - ), - ); - await tester.pumpAndSettle(); - expect(find.byType(LabelColorDialog), findsOneWidget); - }); - - testWidgets('button hover state changes appearance', (tester) async { - await tester.pumpWidget( - _buildApp( - const LabelColorDialog( - currentLabel: null, - currentColor: CardColor.none, - ), - ), - ); - await tester.pumpAndSettle(); - - // Hover over Save button - final saveButton = find.text('Save'); - expect(saveButton, findsOneWidget); - final gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); - await gesture.addPointer(location: Offset.zero); - addTearDown(gesture.removePointer); - await gesture.moveTo(tester.getCenter(saveButton)); - await tester.pumpAndSettle(); - - // Hover over Cancel button - final cancelButton = find.text('Cancel'); - await gesture.moveTo(tester.getCenter(cancelButton)); - await tester.pumpAndSettle(); - - expect(find.byType(LabelColorDialog), findsOneWidget); - }); - }); -} diff --git a/app/test/widgets/title_bar_test.dart b/app/test/widgets/title_bar_test.dart deleted file mode 100644 index e904edd0..00000000 --- a/app/test/widgets/title_bar_test.dart +++ /dev/null @@ -1,202 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:copypaste/widgets/title_bar.dart'; - -import '../helpers/test_wrapper.dart'; - -void _setupWindowManagerMock() { - const channel = MethodChannel('window_manager'); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); -} - -void _clearWindowManagerMock() { - const channel = MethodChannel('window_manager'); - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); -} - -void main() { - setUp(_setupWindowManagerMock); - tearDown(_clearWindowManagerMock); - - group('TitleBar', () { - testWidgets('renders search box', (tester) async { - final controller = TextEditingController(); - final focusNode = FocusNode(); - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: (_) {}, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byType(TextField), findsOneWidget); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('shows trailing widget when provided', (tester) async { - final controller = TextEditingController(); - final focusNode = FocusNode(); - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: (_) {}, - trailing: const Icon(Icons.settings, key: Key('trailing')), - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byKey(const Key('trailing')), findsOneWidget); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('onSearchChanged fires after 300ms debounce', (tester) async { - final controller = TextEditingController(); - final focusNode = FocusNode(); - final captured = []; - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: captured.add, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - await tester.enterText(find.byType(TextField), 'hello'); - // Before debounce fires — nothing yet - await tester.pump(const Duration(milliseconds: 100)); - expect(captured, isEmpty); - - // After debounce - await tester.pump(const Duration(milliseconds: 300)); - expect(captured, ['hello']); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('clear button appears when text is non-empty', (tester) async { - final controller = TextEditingController(text: 'abc'); - final focusNode = FocusNode(); - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: (_) {}, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.close_rounded), findsOneWidget); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('tapping clear button clears text and fires onChanged', ( - tester, - ) async { - final controller = TextEditingController(text: 'abc'); - final focusNode = FocusNode(); - final captured = []; - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: captured.add, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - await tester.tap(find.byIcon(Icons.close_rounded)); - // DragToMoveArea has onDoubleTap on Windows, which delays single-tap - // resolution by ~300ms. Advance past that timeout. - await tester.pump(const Duration(milliseconds: 350)); - - expect(controller.text, isEmpty); - expect(captured, contains('')); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('focus changes visual state', (tester) async { - final controller = TextEditingController(); - final focusNode = FocusNode(); - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: (_) {}, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - // Request focus directly — tapping inside DragToMoveArea has a - // double-tap delay on Windows that makes tap-to-focus unreliable. - focusNode.requestFocus(); - await tester.pump(); - - expect(focusNode.hasFocus, isTrue); - - controller.dispose(); - focusNode.dispose(); - }); - - testWidgets('clear button not shown when text is empty', (tester) async { - final controller = TextEditingController(); - final focusNode = FocusNode(); - - await tester.pumpWidget( - wrapWidget( - TitleBar( - searchController: controller, - searchFocusNode: focusNode, - onSearchChanged: (_) {}, - trailing: null, - ), - ), - ); - await tester.pumpAndSettle(); - - expect(find.byIcon(Icons.close_rounded), findsNothing); - - controller.dispose(); - focusNode.dispose(); - }); - }); -} diff --git a/app/test_output.txt b/app/test_output.txt deleted file mode 100644 index 118b8055..00000000 --- a/app/test_output.txt +++ /dev/null @@ -1,32 +0,0 @@ -Resolving dependencies in `Z:\Code\Personal\CopyPaste`... -Downloading packages... - _fe_analyzer_shared 93.0.0 (100.0.0 available) - analyzer 10.0.1 (13.0.0 available) - build_runner 2.13.1 (2.14.0 available) - cli_util 0.4.2 (0.5.0 available) - dart_style 3.1.7 (3.1.8 available) - file_picker 10.3.10 (11.0.2 available) - hooks 1.0.2 (1.0.3 available) - meta 1.17.0 (1.18.2 available) - native_toolchain_c 0.17.6 (0.18.0 available) - sqlite3_flutter_libs 0.5.42 (0.6.0+eol available) - test 1.30.0 (1.31.0 available) - test_api 0.7.10 (0.7.11 available) - test_core 0.6.16 (0.6.17 available) - vector_math 2.2.0 (2.3.0 available) - win32 5.15.0 (6.1.0 available) -Got dependencies in `Z:\Code\Personal\CopyPaste`! -15 packages have newer versions incompatible with dependency constraints. -Try `flutter pub outdated` for more information. - -Oops; flutter has exited unexpectedly: "PathExistsException: Cannot copy file to 'Z:\Code\Personal\CopyPaste\app\build\native_assets\windows\sqlite3.dll', path = 'Z:\Code\Personal\CopyPaste\.dart_tool\hooks_runner\shared\sqlite3\build\download-41b7e2c\sqlite3.dll' (OS Error: No se puede crear un archivo que ya existe, errno = 183)". -A crash report has been written to Z:\Code\Personal\CopyPaste\app\flutter_12.log -This crash may already be reported. Check GitHub for similar crashes. -https://github.com/flutter/flutter/issues?q=is%3Aissue+PathExistsException%3A+Cannot+copy+file+to+%27Z%3A%5CCode%5CPersonal%5CCopyPaste%5Capp%5Cbuild%5Cnative_assets%5Cwindows%5Csqlite3.dll%27%2C+path+%3D+%27Z%3A%5CCode%5CPersonal%5CCopyPaste%5C.dart_tool%5Chooks_runner%5Cshared%5Csqlite3%5Cbuild%5Cdownload-41b7e2c%5Csqlite3.dll%27+%28OS+Error%3A+No+se+puede+crear+un+archivo+que+ya+existe%2C+errno+%3D+183%29 - -To report your crash to the Flutter team, first read the guide to filing a bug. -https://flutter.dev/to/report-bugs - -Create a new GitHub issue by pasting this link into your browser and completing the issue template. Thank you! -https://github.com/flutter/flutter/issues/new?title=%5Btool_crash%5D+FileSystemException%3A+Cannot+copy+file+to+%27Z%3A%5CCode%5CPersonal%5CCopyPaste%5Capp%5Cbuild%5Cnative_assets%5Cwindows%5Csqlite3.dll%27%2C+OS+Error%3A+No+se+puede+crear+un+archivo+que+ya+existe%2C+errno+%3D+183&body=%23%23+Command%0A%60%60%60sh%0Aflutter+test%0A%60%60%60%0A%0A%23%23+Steps+to+Reproduce%0A1.+...%0A2.+...%0A3.+...%0A%0A%23%23+Logs%0AFileSystemException%3A+Cannot+copy+file+to+%27Z%3A%5CCode%5CPersonal%5CCopyPaste%5Capp%5Cbuild%5Cnative_assets%5Cwindows%5Csqlite3.dll%27%2C+OS+Error%3A+No+se+puede+crear+un+archivo+que+ya+existe%2C+errno+%3D+183%0A%60%60%60console%0A%230++++++_checkForErrorResponse+%28dart%3Aio%2Fcommon.dart%3A58%3A9%29%0A%231++++++_File.copy.%3Canonymous+closure%3E+%28dart%3Aio%2Ffile_impl.dart%3A406%3A7%29%0A%232++++++_rootRunUnary+%28dart%3Aasync%2Fzone_root.dart%3A48%3A47%29%0A%233++++++_CustomZone.runUnary+%28dart%3Aasync%2Fzone.dart%3A733%3A19%29%0A%3Casynchronous+suspension%3E%0A%234++++++ForwardingFile.copy+%28package%3Afile%2Fsrc%2Fforwarding%2Fforwarding_file.dart%3A29%3A51%29%0A%3Casynchronous+suspension%3E%0A%235++++++ForwardingFile.copy+%28package%3Afile%2Fsrc%2Fforwarding%2Fforwarding_file.dart%3A29%3A51%29%0A%3Casynchronous+suspension%3E%0A%236++++++_copyNativeCodeAssetsToBundleOnWindowsLinux+%28package%3Aflutter_tools%2Fsrc%2Fisolated%2Fnative_assets%2Fnative_assets.dart%3A649%3A5%29%0A%3Casynchronous+suspension%3E%0A%237++++++_copyNativeCodeAssetsForOS+%28package%3Aflutter_tools%2Fsrc%2Fisolated%2Fnative_assets%2Fnative_assets.dart%3A463%3A7%29%0A%3Casynchronous+suspension%3E%0A%238++++++installCodeAssets+%28package%3Aflutter_tools%2Fsrc%2Fisolated%2Fnative_assets%2Fnative_assets.dart%3A119%3A3%29%0A%3Casynchronous+suspension%3E%0A%239++++++testCompilerBuildNativeAssets+%28package%3Aflutter_tools%2Fsrc%2Fisolated%2Fnative_assets%2Ftest%2Fnative_assets.dart%3A79%3A3%29%0A%3Casynchronous+suspension%3E%0A%2310+++++TestCommand.runCommand+%28package%3Aflutter_tools%2Fsrc%2Fcommands%2Ftest.dart%3A484%3A11%29%0A%3Casynchronous+suspension%3E%0A%2311+++++FlutterCommand.run.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Frunner%2Fflutter_command.dart%3A1590%3A27%29%0A%3Casynchronous+suspension%3E%0A%2312+++++AppContext.run.%3Canonymous+closure%3E+%28package%3Aflutter_tools%2Fsrc%2Fbase%2Fcontext.dart%3A154%3A19%29%0A%3Casynchronous+suspension%3E%0A%2313+++++CommandRunner.runCommand+%28package%3Aargs%2Fcommand_runner.dart%3A212%3A13%29%0A%3Casynchronous+suspension%3E%0A%60%60%60%0A%60%60%60console%0A%5B%E2%9C%93%5D+Flutter+%28Channel+stable%2C+3.41.6%2C+on+Microsoft+Windows+%5BVersi%C2%A2n+10.0.26200.8246%5D%2C+locale+es-CL%29+%5B165ms%5D%0A++++%E2%80%A2+Flutter+version+3.41.6+on+channel+stable+at+Z%3A%5Cflutter%0A++++%E2%80%A2+Upstream+repository+https%3A%2F%2Fgithub.com%2Fflutter%2Fflutter.git%0A++++%E2%80%A2+Framework+revision+db50e20168+%284+weeks+ago%29%2C+2026-03-25+16%3A21%3A00+-0700%0A++++%E2%80%A2+Engine+revision+425cfb54d0%0A++++%E2%80%A2+Dart+version+3.11.4%0A++++%E2%80%A2+DevTools+version+2.54.2%0A++++%E2%80%A2+Feature+flags%3A+enable-web%2C+enable-linux-desktop%2C+enable-macos-desktop%2C+enable-windows-desktop%2C+enable-android%2C+enable-ios%2C+cli-animations%2C+enable-native-assets%2C+omit-legacy-version-file%2C+enable-lldb-debugging%2C+enable-uiscene-migration%0A%0A%5B%E2%9C%93%5D+Windows+Version+%28Windows+11+or+higher%2C+25H2%2C+2009%29+%5B401ms%5D%0A%0A%5B%E2%9C%97%5D+Android+toolchain+-+develop+for+Android+devices+%5B59ms%5D%0A++++%E2%9C%97+Unable+to+locate+Android+SDK.%0A++++++Install+Android+Studio+from%3A+https%3A%2F%2Fdeveloper.android.com%2Fstudio%2Findex.html%0A++++++On+first+launch+it+will+assist+you+in+installing+the+Android+SDK+components.%0A++++++%28or+visit+https%3A%2F%2Fflutter.dev%2Fto%2Fwindows-android-setup+for+detailed+instructions%29.%0A++++++If+the+Android+SDK+has+been+installed+to+a+custom+location%2C+please+use%0A++++++%60flutter+config+--android-sdk%60+to+update+to+that+location.%0A%0A%0A%5B%E2%9C%93%5D+Chrome+-+develop+for+the+web+%5B48ms%5D%0A++++%E2%80%A2+Chrome+at+C%3A%5CProgram+Files%5CGoogle%5CChrome%5CApplication%5Cchrome.exe%0A%0A%5B%E2%9C%93%5D+Visual+Studio+-+develop+Windows+apps+%28Visual+Studio+Community+2026+18.4.4%29+%5B48ms%5D%0A++++%E2%80%A2+Visual+Studio+at+C%3A%5CProgram+Files%5CMicrosoft+Visual+Studio%5C18%5CCommunity%0A++++%E2%80%A2+Visual+Studio+Community+2026+version+18.4.11702.344%0A++++%E2%80%A2+Windows+10+SDK+version+10.0.26100.0%0A%0A%5B%E2%9C%93%5D+Connected+device+%282+available%29+%5B53ms%5D%0A++++%E2%80%A2+Windows+%28desktop%29+%E2%80%A2+windows+%E2%80%A2+windows-x64++++%E2%80%A2+Microsoft+Windows+%5BVersi%C2%A2n+10.0.26200.8246%5D%0A++++%E2%80%A2+Chrome+%28web%29++++++%E2%80%A2+chrome++%E2%80%A2+web-javascript+%E2%80%A2+Google+Chrome+147.0.7727.116%0A%0A%5B%E2%9C%93%5D+Network+resources+%5B261ms%5D%0A++++%E2%80%A2+All+expected+network+resources+are+available.%0A%0A%21+Doctor+found+issues+in+1+category.%0A%0A%60%60%60%0A%0A%23%23+Flutter+Application+Metadata%0A%2A%2AType%2A%2A%3A+app%0A%2A%2AVersion%2A%2A%3A+0.0.0-dev%0A%2A%2AMaterial%2A%2A%3A+true%0A%2A%2AAndroid+X%2A%2A%3A+false%0A%2A%2AModule%2A%2A%3A+false%0A%2A%2APlugin%2A%2A%3A+false%0A%2A%2AAndroid+package%2A%2A%3A+null%0A%2A%2AiOS+bundle+identifier%2A%2A%3A+null%0A%2A%2ACreation+channel%2A%2A%3A+stable%0A%2A%2ACreation+framework+version%2A%2A%3A+48c32af0345e9ad5747f78ddce828c7f795f7159%0A%23%23%23+Plugins%0Afile_picker-10.3.10%0Apath_provider_foundation-2.6.0%0Asqlite3_flutter_libs-0.5.42%0Aflutter_plugin_android_lifecycle-2.0.34%0Ajni-1.0.0%0Ajni_flutter-1.0.1%0Apath_provider_android-2.3.1%0Aauto_updater_macos-1.0.0%0Ahotkey_manager_macos-0.2.0%0Alistener%0Amacos_window_utils-1.9.1%0Ascreen_retriever_macos-0.2.0%0Atray_manager-0.5.2%0Awindow_manager-0.5.1%0Aflutter_acrylic-1.1.4%0Ahotkey_manager_linux-0.2.0%0Apath_provider_linux-2.2.1%0Ascreen_retriever_linux-0.2.0%0Aauto_updater_windows-1.0.0%0Ahotkey_manager_windows-0.2.0%0Apath_provider_windows-2.3.0%0Ascreen_retriever_windows-0.2.0%0A%0A&labels=tool%2Csevere%3A+crash - diff --git a/app/tool/windows_plain_paste_e2e.ps1 b/app/tool/windows_plain_paste_e2e.ps1 deleted file mode 100644 index 6e29cc4d..00000000 --- a/app/tool/windows_plain_paste_e2e.ps1 +++ /dev/null @@ -1,459 +0,0 @@ -param( - [string]$ExpectedText = "CopyPaste plain-text hotkey E2E", - [switch]$BaselineCtrlV, - [switch]$PanelPlainPaste, - [switch]$PanelGlobalPlainPaste, - [ValidateRange(0, 1400)] - [int]$HoldModifiersMs = 400, - [string]$ConfigPath = (Join-Path $env:LOCALAPPDATA 'CopyPaste\config\config.json') -) - -$ErrorActionPreference = 'Stop' -if (($BaselineCtrlV -and $PanelPlainPaste) -or - ($BaselineCtrlV -and $PanelGlobalPlainPaste) -or - ($PanelPlainPaste -and $PanelGlobalPlainPaste)) { - throw 'BaselineCtrlV, PanelPlainPaste, and PanelGlobalPlainPaste are mutually exclusive.' -} -Add-Type -AssemblyName System.Windows.Forms -Add-Type -AssemblyName System.Drawing -$probeSource = @' -using System; -using System.Drawing; -using System.Runtime.InteropServices; -using System.Windows.Forms; - -public sealed class CopyPasteHotkeyProbeForm : Form { - private const uint KeyUpFlag = 0x0002; - private readonly string expected; - private readonly byte virtualKey; - private readonly bool useCtrl; - private readonly bool useWin; - private readonly bool useAlt; - private readonly bool useShift; - private readonly int holdModifiersMs; - private readonly bool panelPlainPaste; - private readonly bool panelGlobalPlainPaste; - private readonly byte followupVirtualKey; - private readonly bool followupUseCtrl; - private readonly bool followupUseWin; - private readonly bool followupUseAlt; - private readonly bool followupUseShift; - private readonly TextBox input; - private readonly Timer trigger; - private readonly Timer releaseModifiers; - private readonly Timer panelPasteTrigger; - private readonly Timer panelGlobalPasteTrigger; - private readonly Timer verify; - private string actualText = ""; - private string diagnostics = "not triggered"; - private DateTime hotkeyTriggeredAt; - private int pasteElapsedMs = -1; - - [DllImport("user32.dll")] - private static extern bool SetForegroundWindow(IntPtr window); - - [DllImport("user32.dll")] - private static extern IntPtr GetForegroundWindow(); - - [DllImport("user32.dll")] - private static extern uint GetWindowThreadProcessId( - IntPtr window, - IntPtr processId); - - [DllImport("kernel32.dll")] - private static extern uint GetCurrentThreadId(); - - [DllImport("user32.dll")] - private static extern bool AttachThreadInput( - uint attachThread, - uint attachToThread, - bool attach); - - [DllImport("user32.dll")] - private static extern bool BringWindowToTop(IntPtr window); - - [DllImport("user32.dll")] - private static extern IntPtr SetFocus(IntPtr window); - - [DllImport("user32.dll")] - private static extern void keybd_event( - byte virtualKey, - byte scanCode, - uint flags, - UIntPtr extraInfo); - - public CopyPasteHotkeyProbeForm( - string expected, - int virtualKey, - bool useCtrl, - bool useWin, - bool useAlt, - bool useShift, - int holdModifiersMs, - bool panelPlainPaste, - bool panelGlobalPlainPaste, - int followupVirtualKey, - bool followupUseCtrl, - bool followupUseWin, - bool followupUseAlt, - bool followupUseShift) { - if (virtualKey <= 0 || virtualKey > 0xFF) { - throw new ArgumentOutOfRangeException("virtualKey"); - } - this.expected = expected; - this.virtualKey = (byte)virtualKey; - this.useCtrl = useCtrl; - this.useWin = useWin; - this.useAlt = useAlt; - this.useShift = useShift; - this.holdModifiersMs = holdModifiersMs; - this.panelPlainPaste = panelPlainPaste; - this.panelGlobalPlainPaste = panelGlobalPlainPaste; - this.followupVirtualKey = (byte)followupVirtualKey; - this.followupUseCtrl = followupUseCtrl; - this.followupUseWin = followupUseWin; - this.followupUseAlt = followupUseAlt; - this.followupUseShift = followupUseShift; - Text = "CopyPaste hotkey E2E probe"; - Size = new Size(620, 180); - StartPosition = FormStartPosition.CenterScreen; - TopMost = true; - - input = new TextBox { - Multiline = true, - Dock = DockStyle.Fill, - Font = new Font("Segoe UI", 14) - }; - Controls.Add(input); - - trigger = new Timer { Interval = 700 }; - trigger.Tick += TriggerHotkey; - releaseModifiers = new Timer { Interval = Math.Max(1, holdModifiersMs) }; - releaseModifiers.Tick += delegate { - releaseModifiers.Stop(); - ReleaseShortcutModifiers(); - }; - panelPasteTrigger = new Timer { - Interval = Math.Max(800, holdModifiersMs + 200) - }; - panelPasteTrigger.Tick += delegate { - panelPasteTrigger.Stop(); - if (panelPlainPaste) { - hotkeyTriggeredAt = DateTime.UtcNow; - Press(0x10); - Press(0x0D); - Release(0x0D); - Release(0x10); - diagnostics += ", shiftEnterSent=true"; - } - else if (panelGlobalPlainPaste) { - // Move away from the popup so hover cannot outrank the - // keyboard selection. Select the second history item; the - // global follow-up must still paste the current clipboard. - Cursor.Position = new Point(0, 0); - Press(0x28); - Release(0x28); - Press(0x28); - Release(0x28); - panelGlobalPasteTrigger.Start(); - } - }; - panelGlobalPasteTrigger = new Timer { Interval = 250 }; - panelGlobalPasteTrigger.Tick += delegate { - panelGlobalPasteTrigger.Stop(); - hotkeyTriggeredAt = DateTime.UtcNow; - if (followupUseCtrl) Press(0x11); - if (followupUseWin) Press(0x5B); - if (followupUseAlt) Press(0x12); - if (followupUseShift) Press(0x10); - Press(this.followupVirtualKey); - Release(this.followupVirtualKey); - if (followupUseShift) Release(0x10); - if (followupUseAlt) Release(0x12); - if (followupUseWin) Release(0x5B); - if (followupUseCtrl) Release(0x11); - diagnostics += ", secondItemSelected=true, globalPlainSent=true"; - }; - verify = new Timer { Interval = 3200 }; - verify.Tick += delegate { - verify.Stop(); - actualText = input.Text; - Close(); - }; - Shown += delegate { - Clipboard.SetText(expected); - input.Focus(); - trigger.Start(); - verify.Start(); - }; - } - - public string ActualText { get { return actualText; } } - public string Diagnostics { get { return diagnostics; } } - public int PasteElapsedMs { get { return pasteElapsedMs; } } - - private void TriggerHotkey(object sender, EventArgs args) { - trigger.Stop(); - Activate(); - bool accepted = ForceForeground(); - diagnostics = "accepted=" + accepted - + ", form=" + Handle - + ", foreground=" + GetForegroundWindow() - + ", inputFocused=" + input.Focused - + ", clipboard=" + Clipboard.GetText(); - hotkeyTriggeredAt = DateTime.UtcNow; - - if (useCtrl) Press(0x11); - if (useWin) Press(0x5B); - if (useAlt) Press(0x12); - if (useShift) Press(0x10); - Press(virtualKey); - Release(virtualKey); - if (holdModifiersMs > 0) { - releaseModifiers.Start(); - } - else { - ReleaseShortcutModifiers(); - } - if (panelPlainPaste || panelGlobalPlainPaste) { - panelPasteTrigger.Start(); - } - } - - private void ReleaseShortcutModifiers() { - if (useShift) Release(0x10); - if (useAlt) Release(0x12); - if (useWin) Release(0x5B); - if (useCtrl) Release(0x11); - } - - private bool ForceForeground() { - IntPtr foreground = GetForegroundWindow(); - uint foregroundThread = GetWindowThreadProcessId(foreground, IntPtr.Zero); - uint currentThread = GetCurrentThreadId(); - bool attached = foregroundThread != 0 - && foregroundThread != currentThread - && AttachThreadInput(currentThread, foregroundThread, true); - try { - BringWindowToTop(Handle); - bool accepted = SetForegroundWindow(Handle); - SetFocus(input.Handle); - return accepted || GetForegroundWindow() == Handle; - } - finally { - if (attached) AttachThreadInput(currentThread, foregroundThread, false); - } - } - - private static void Press(byte key) { - keybd_event(key, 0, 0, UIntPtr.Zero); - } - - private static void Release(byte key) { - keybd_event(key, 0, KeyUpFlag, UIntPtr.Zero); - } - - protected override bool ProcessCmdKey(ref Message message, Keys keyData) { - if (keyData == (Keys.Control | Keys.V)) { - pasteElapsedMs = (int)(DateTime.UtcNow - hotkeyTriggeredAt).TotalMilliseconds; - input.Text = Clipboard.GetText(); - diagnostics += ", ctrlVReceived=true"; - return true; - } - return base.ProcessCmdKey(ref message, keyData); - } - - protected override void Dispose(bool disposing) { - if (disposing) { - trigger.Dispose(); - releaseModifiers.Dispose(); - panelPasteTrigger.Dispose(); - panelGlobalPasteTrigger.Dispose(); - verify.Dispose(); - input.Dispose(); - } - base.Dispose(disposing); - } -} - -public static class CopyPasteHotkeyProbe { - public static CopyPasteHotkeyProbeResult Run( - string expected, - int virtualKey, - bool useCtrl, - bool useWin, - bool useAlt, - bool useShift, - int holdModifiersMs, - bool panelPlainPaste, - bool panelGlobalPlainPaste, - int followupVirtualKey, - bool followupUseCtrl, - bool followupUseWin, - bool followupUseAlt, - bool followupUseShift) { - using (var form = new CopyPasteHotkeyProbeForm( - expected, virtualKey, useCtrl, useWin, useAlt, useShift, - holdModifiersMs, panelPlainPaste, panelGlobalPlainPaste, - followupVirtualKey, followupUseCtrl, followupUseWin, - followupUseAlt, followupUseShift)) { - Application.Run(form); - return new CopyPasteHotkeyProbeResult { - Actual = form.ActualText, - Diagnostics = form.Diagnostics, - PasteElapsedMs = form.PasteElapsedMs - }; - } - } -} - -public sealed class CopyPasteHotkeyProbeResult { - public string Actual { get; set; } - public string Diagnostics { get; set; } - public int PasteElapsedMs { get; set; } -} -'@ - -if ($PSVersionTable.PSEdition -eq 'Core') { - $references = @( - ([AppContext]::GetData('TRUSTED_PLATFORM_ASSEMBLIES') -split [IO.Path]::PathSeparator) - [System.Windows.Forms.Form].Assembly.Location - [System.Drawing.Font].Assembly.Location - [System.Drawing.Point].Assembly.Location - ) | Select-Object -Unique - Add-Type -TypeDefinition $probeSource -ReferencedAssemblies $references -} -else { - Add-Type -TypeDefinition $probeSource -ReferencedAssemblies System.Windows.Forms,System.Drawing -} - -$virtualKey = 0x56 -$useCtrl = $true -$useWin = $false -$useAlt = $false -$useShift = $false -$followupVirtualKey = 0x56 -$followupUseCtrl = $true -$followupUseWin = $false -$followupUseAlt = $true -$followupUseShift = $false -$binding = 'Ctrl+V (baseline)' -if ($PanelPlainPaste -or $PanelGlobalPlainPaste) { - if (-not (Test-Path -LiteralPath $ConfigPath -PathType Leaf)) { - throw "CopyPaste config not found: $ConfigPath" - } - $config = Get-Content -LiteralPath $ConfigPath -Raw | ConvertFrom-Json - $virtualKey = [int]$config.hotkeyVirtualKey - $useCtrl = [bool]$config.hotkeyUseCtrl - $useWin = [bool]$config.hotkeyUseWin - $useAlt = [bool]$config.hotkeyUseAlt - $useShift = [bool]$config.hotkeyUseShift - $followupVirtualKey = [int]$config.plainPasteHotkeyVirtualKey - $followupUseCtrl = [bool]$config.plainPasteHotkeyUseCtrl - $followupUseWin = [bool]$config.plainPasteHotkeyUseWin - $followupUseAlt = [bool]$config.plainPasteHotkeyUseAlt - $followupUseShift = [bool]$config.plainPasteHotkeyUseShift - $parts = @() - if ($useCtrl) { $parts += 'Ctrl' } - if ($useWin) { $parts += 'Win' } - if ($useAlt) { $parts += 'Alt' } - if ($useShift) { $parts += 'Shift' } - $parts += [string]$config.hotkeyKeyName - $panelAction = if ($PanelPlainPaste) { - ' -> Shift+Enter' - } else { - ' -> select second -> global plain paste' - } - $binding = ($parts -join '+') + $panelAction -} -elseif (-not $BaselineCtrlV) { - if (-not (Test-Path -LiteralPath $ConfigPath -PathType Leaf)) { - throw "CopyPaste config not found: $ConfigPath" - } - $config = Get-Content -LiteralPath $ConfigPath -Raw | ConvertFrom-Json - if ($config.plainPasteHotkeyEnabled -ne $true) { - throw 'The global plain-paste hotkey must be enabled before running this probe.' - } - $virtualKey = [int]$config.plainPasteHotkeyVirtualKey - $useCtrl = [bool]$config.plainPasteHotkeyUseCtrl - $useWin = [bool]$config.plainPasteHotkeyUseWin - $useAlt = [bool]$config.plainPasteHotkeyUseAlt - $useShift = [bool]$config.plainPasteHotkeyUseShift - $parts = @() - if ($useCtrl) { $parts += 'Ctrl' } - if ($useWin) { $parts += 'Win' } - if ($useAlt) { $parts += 'Alt' } - if ($useShift) { $parts += 'Shift' } - $parts += [string]$config.plainPasteHotkeyKeyName - $binding = $parts -join '+' -} - -function Copy-ClipboardDataObject { - $source = [System.Windows.Forms.Clipboard]::GetDataObject() - if ($null -eq $source) { return $null } - $snapshot = [System.Windows.Forms.DataObject]::new() - foreach ($format in $source.GetFormats($false)) { - try { - $data = $source.GetData($format, $false) - if ($null -ne $data) { $snapshot.SetData($format, $false, $data) } - } - catch { - Write-Verbose "Could not snapshot clipboard format '$format'." - } - } - return $snapshot -} - -$originalClipboard = Copy-ClipboardDataObject -try { - $result = [CopyPasteHotkeyProbe]::Run( - $ExpectedText, - $virtualKey, - $useCtrl, - $useWin, - $useAlt, - $useShift, - $HoldModifiersMs, - [bool]$PanelPlainPaste, - [bool]$PanelGlobalPlainPaste, - $followupVirtualKey, - $followupUseCtrl, - $followupUseWin, - $followupUseAlt, - $followupUseShift) - $actual = $result.Actual - $pasteBeforeModifierRelease = $PanelPlainPaste -or - $PanelGlobalPlainPaste -or $HoldModifiersMs -eq 0 -or ( - $result.PasteElapsedMs -ge 0 -and - $result.PasteElapsedMs -lt $HoldModifiersMs - ) - $success = $actual -eq $ExpectedText -and $pasteBeforeModifierRelease - [pscustomobject]@{ - success = $success - expected = $ExpectedText - actual = $actual - binding = $binding - holdModifiersMs = $HoldModifiersMs - pasteElapsedMs = $result.PasteElapsedMs - pasteBeforeModifierRelease = $pasteBeforeModifierRelease - panelPlainPaste = [bool]$PanelPlainPaste - panelGlobalPlainPaste = [bool]$PanelGlobalPlainPaste - diagnostics = $result.Diagnostics - } | ConvertTo-Json -Compress - if (-not $success) { exit 1 } -} -finally { - if ($null -ne $originalClipboard) { - try { - [System.Windows.Forms.Clipboard]::SetDataObject( - $originalClipboard, - $true, - 20, - 150 - ) - } - catch { - Write-Warning 'Could not restore the original clipboard.' - } - } -} diff --git a/app/tools/generate_release_keys.dart b/app/tools/generate_release_keys.dart deleted file mode 100644 index 68f7f9cd..00000000 --- a/app/tools/generate_release_keys.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:cryptography/cryptography.dart'; -import 'package:path/path.dart' as p; - -Future main() async { - final algorithm = Ed25519(); - final keyPair = await algorithm.newKeyPair(); - final pub = await keyPair.extractPublicKey(); - final priv = await keyPair.extractPrivateKeyBytes(); - - final pubB64 = base64Encode(pub.bytes); - final privB64 = base64Encode(priv); - - final repoRoot = Directory.current.path; - final pubFile = File( - p.join(repoRoot, 'app', 'assets', 'keys', 'release_pubkey.txt'), - ); - final distDir = Directory(p.join(repoRoot, 'dist')); - if (!distDir.existsSync()) distDir.createSync(recursive: true); - final privFile = File(p.join(distDir.path, 'release_privkey.txt')); - - pubFile.parent.createSync(recursive: true); - pubFile.writeAsStringSync('$pubB64\n'); - privFile.writeAsStringSync('$privB64\n'); - - if (!Platform.isWindows) { - Process.runSync('chmod', ['600', privFile.path]); - } - - // ignore: avoid_print - print('Public key: ${pubFile.path}'); - // ignore: avoid_print - print('Private key: ${privFile.path}'); - // ignore: avoid_print - print(''); - // ignore: avoid_print - print('Upload the private key as the GitHub secret RELEASE_PRIVATE_KEY:'); - // ignore: avoid_print - print(' gh secret set RELEASE_PRIVATE_KEY < ${privFile.path}'); -} diff --git a/app/tools/sign_manifest.dart b/app/tools/sign_manifest.dart deleted file mode 100644 index 82560d5a..00000000 --- a/app/tools/sign_manifest.dart +++ /dev/null @@ -1,45 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:cryptography/cryptography.dart'; - -Future main(List args) async { - if (args.length < 2) { - stderr.writeln( - 'Usage: dart run app/tools/sign_manifest.dart ', - ); - stderr.writeln('Reads the base64 Ed25519 private key from stdin.'); - exit(64); - } - - final inputPath = args[0]; - final outputPath = args[1]; - - final inputFile = File(inputPath); - if (!inputFile.existsSync()) { - stderr.writeln('Input file not found: $inputPath'); - exit(66); - } - - final privKeyB64 = stdin - .transform(utf8.decoder) - .transform(const LineSplitter()) - .where((l) => l.trim().isNotEmpty); - final privLines = await privKeyB64.toList(); - if (privLines.isEmpty) { - stderr.writeln('No private key on stdin.'); - exit(65); - } - final privBytes = base64Decode(privLines.first.trim()); - - final algorithm = Ed25519(); - final keyPair = await algorithm.newKeyPairFromSeed(privBytes); - final bytes = await inputFile.readAsBytes(); - final signature = await algorithm.sign(bytes, keyPair: keyPair); - - final sigB64 = base64Encode(signature.bytes); - await File(outputPath).writeAsString('$sigB64\n'); - - // ignore: avoid_print - print('Signed $inputPath -> $outputPath'); -} diff --git a/app/windows/.gitignore b/app/windows/.gitignore deleted file mode 100644 index d492d0d9..00000000 --- a/app/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ephemeral/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/app/windows/CMakeLists.txt b/app/windows/CMakeLists.txt deleted file mode 100644 index 0d84a858..00000000 --- a/app/windows/CMakeLists.txt +++ /dev/null @@ -1,114 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(CopyPaste LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "CopyPaste") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# C++/WinRT (used by the runner's startup-task channel) pulls in -# when compiled as C++17. MSVC 14.51+ turned that -# header's deprecation into a hard error (STL1011); silence it until the runner -# moves to the C++20 header. -add_definitions(-D_SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS) - -# 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 -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Copy the native assets provided by the build.dart from all packages. -set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") -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") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/app/windows/flutter/CMakeLists.txt b/app/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899..00000000 --- a/app/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/app/windows/flutter/generated_plugin_registrant.cc b/app/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 02846a29..00000000 --- a/app/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,29 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include -#include -#include -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - FlutterAcrylicPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterAcrylicPlugin")); - HotkeyManagerWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("HotkeyManagerWindowsPluginCApi")); - ListenerPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("ListenerPluginCApi")); - ScreenRetrieverWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi")); - TrayManagerPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("TrayManagerPlugin")); - WindowManagerPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("WindowManagerPlugin")); -} diff --git a/app/windows/flutter/generated_plugin_registrant.h b/app/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d85..00000000 --- a/app/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/app/windows/flutter/generated_plugins.cmake b/app/windows/flutter/generated_plugins.cmake deleted file mode 100644 index 5241f1ba..00000000 --- a/app/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - flutter_acrylic - hotkey_manager_windows - listener - screen_retriever_windows - tray_manager - window_manager -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST - jni -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/app/windows/packaging/exe/make_config.yaml b/app/windows/packaging/exe/make_config.yaml deleted file mode 100644 index 0f45ffae..00000000 --- a/app/windows/packaging/exe/make_config.yaml +++ /dev/null @@ -1,12 +0,0 @@ -app_id: "A1B2C3D4-E5F6-7890-ABCD-EF1234567890" -script_template: setup_template.iss -display_name: CopyPaste -executable_name: CopyPaste -publisher_name: RGDevment -publisher_url: https://github.com/rgdevment/CopyPaste -install_dir_name: "{localappdata}\\CopyPaste" -privileges_required: lowest -setup_icon_file: windows/runner/resources/app_icon.ico -locales: - - en - - es diff --git a/app/windows/packaging/exe/setup_template.iss b/app/windows/packaging/exe/setup_template.iss deleted file mode 100644 index 7ba91edd..00000000 --- a/app/windows/packaging/exe/setup_template.iss +++ /dev/null @@ -1,43 +0,0 @@ -[Setup] -AppId={{APP_ID}} -AppVersion={{APP_VERSION}} -AppName={{DISPLAY_NAME}} -AppPublisher={{PUBLISHER_NAME}} -AppPublisherURL={{PUBLISHER_URL}} -AppSupportURL={{PUBLISHER_URL}} -AppUpdatesURL={{PUBLISHER_URL}} -DefaultDirName={{INSTALL_DIR_NAME}} -DisableProgramGroupPage=yes -DisableWelcomePage=yes -DisableDirPage=yes -DisableReadyPage=yes -DisableFinishedPage=yes -OutputDir=. -OutputBaseFilename={{OUTPUT_BASE_FILENAME}} -Compression=lzma -SolidCompression=yes -SetupIconFile={{SETUP_ICON_FILE}} -WizardStyle=modern -PrivilegesRequired={{PRIVILEGES_REQUIRED}} -ArchitecturesAllowed=x64 -ArchitecturesInstallIn64BitMode=x64 -Uninstallable=yes -CreateUninstallRegKey=yes - -[Languages] -{% for locale in LOCALES %} -{% if locale == 'en' %}Name: "english"; MessagesFile: "compiler:Default.isl"{% endif %} -{% if locale == 'es' %}Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"{% endif %} -{% endfor %} - -[Files] -Source: "{{SOURCE_DIR}}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs - -[Icons] -Name: "{autoprograms}\{{DISPLAY_NAME}}"; Filename: "{app}\{{EXECUTABLE_NAME}}" - -[Registry] -Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: none; ValueName: "CopyPaste"; Flags: uninsdeletevalue - -[Run] -Filename: "{app}\{{EXECUTABLE_NAME}}"; Flags: nowait postinstall skipifsilent diff --git a/app/windows/packaging/msix/make_config.yaml b/app/windows/packaging/msix/make_config.yaml deleted file mode 100644 index 9d3678c7..00000000 --- a/app/windows/packaging/msix/make_config.yaml +++ /dev/null @@ -1,12 +0,0 @@ -display_name: CopyPaste - Clipboard Manager -publisher_display_name: RGDevment -publisher: CN=AC154EDC-DBFC-482B-AF3B-A1A6FF12DA84 -identity_name: rgdevment.CopyPaste-ClipboardManager -logo_path: assets/icons/icon_app_256.png -store: "true" -build_windows: "false" -languages: en-us, es-es -capabilities: internetClient -startup_task: - task_id: CopyPasteStartup - enabled: true diff --git a/app/windows/runner/CMakeLists.txt b/app/windows/runner/CMakeLists.txt deleted file mode 100644 index a8e04817..00000000 --- a/app/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "startup_task_channel.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_link_libraries(${BINARY_NAME} PRIVATE "windowsapp.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/app/windows/runner/Runner.rc b/app/windows/runner/Runner.rc deleted file mode 100644 index a78a1d2c..00000000 --- a/app/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "CopyPaste" "\0" - VALUE "FileDescription", "CopyPaste — Clipboard Manager" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "CopyPaste" "\0" - VALUE "LegalCopyright", "Copyright (C) 2026 CopyPaste. All rights reserved." "\0" - VALUE "OriginalFilename", "CopyPaste.exe" "\0" - VALUE "ProductName", "CopyPaste" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/app/windows/runner/flutter_window.cpp b/app/windows/runner/flutter_window.cpp deleted file mode 100644 index c5ce3a16..00000000 --- a/app/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,412 +0,0 @@ -#include "flutter_window.h" - -#include - -#include -#include -#include -#include - -#include "flutter/generated_plugin_registrant.h" -#include "startup_task_channel.h" - -namespace { - -constexpr char kHotkeyChannelName[] = "copypaste/windows_hotkeys"; -constexpr int kOpenHotkeyId = 0x4301; -constexpr int kPlainPasteHotkeyId = 0x4302; -constexpr UINT kModNoRepeat = 0x4000; - -const flutter::EncodableValue* FindArgument( - const flutter::EncodableMap& arguments, const char* name) { - const auto it = arguments.find(flutter::EncodableValue(name)); - return it == arguments.end() ? nullptr : &it->second; -} - -bool ReadBool(const flutter::EncodableMap& arguments, const char* name) { - const auto* value = FindArgument(arguments, name); - const auto* boolean = value == nullptr ? nullptr : std::get_if(value); - return boolean != nullptr && *boolean; -} - -bool ReadInt(const flutter::EncodableMap& arguments, const char* name, - int* result) { - const auto* value = FindArgument(arguments, name); - if (value == nullptr) return false; - if (const auto* int32 = std::get_if(value)) { - *result = *int32; - return true; - } - if (const auto* int64 = std::get_if(value)) { - *result = static_cast(*int64); - return true; - } - return false; -} - -int64_t ReadInt64(const flutter::EncodableMap& arguments, const char* name) { - const auto* value = FindArgument(arguments, name); - if (value == nullptr) return 0; - if (const auto* int32 = std::get_if(value)) return *int32; - if (const auto* int64 = std::get_if(value)) return *int64; - return 0; -} - -std::string ReadString(const flutter::EncodableMap& arguments, - const char* name) { - const auto* value = FindArgument(arguments, name); - const auto* string = - value == nullptr ? nullptr : std::get_if(value); - return string == nullptr ? std::string() : *string; -} - -flutter::EncodableValue RegistrationResponse(bool success, - DWORD win32_error = ERROR_SUCCESS) { - flutter::EncodableMap response; - response[flutter::EncodableValue("success")] = - flutter::EncodableValue(success); - if (!success) { - response[flutter::EncodableValue("errorCode")] = - flutter::EncodableValue("registerFailed"); - response[flutter::EncodableValue("win32Error")] = - flutter::EncodableValue(static_cast(win32_error)); - } - return flutter::EncodableValue(response); -} - -// Mandatory integrity level of a process, or 0 when it cannot be read. -DWORD ProcessIntegrityLevel(DWORD pid) { - if (pid == 0) return 0; - HANDLE process = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid); - if (process == nullptr) return 0; - - DWORD level = 0; - HANDLE token = nullptr; - if (OpenProcessToken(process, TOKEN_QUERY, &token)) { - DWORD size = 0; - GetTokenInformation(token, TokenIntegrityLevel, nullptr, 0, &size); - if (size > 0) { - std::vector buffer(size); - if (GetTokenInformation(token, TokenIntegrityLevel, buffer.data(), size, - &size)) { - auto* label = reinterpret_cast(buffer.data()); - const UCHAR* count = GetSidSubAuthorityCount(label->Label.Sid); - if (count != nullptr && *count > 0) { - level = *GetSidSubAuthority(label->Label.Sid, *count - 1); - } - } - } - CloseHandle(token); - } - CloseHandle(process); - return level; -} - -// An active window is not the same as a usable focus: Chromium hosts (VS Code -// webviews) and XAML-island hosts (Windows Terminal) restore the focus of their -// inner child HWND asynchronously after WM_ACTIVATE, so a Ctrl+V timed on -// activation alone lands nowhere while every call still reports success. -// Attaching to the destination's input queue lets SetFocus target that child -// directly; the detach must happen after SendInput, because detaching resets -// the keyboard focus Windows had just restored. -flutter::EncodableValue SendPasteInput(HWND target, HWND target_focus, - DWORD target_thread) { - flutter::EncodableMap response; - if (target != nullptr && GetForegroundWindow() != target) { - response[flutter::EncodableValue("success")] = - flutter::EncodableValue(false); - response[flutter::EncodableValue("errorCode")] = - flutter::EncodableValue("targetNotForeground"); - return flutter::EncodableValue(response); - } - - // UIPI drops injected input at a higher integrity level and reports nothing: - // SendInput still returns the full count. Without this check an elevated - // destination is a permanent, undiagnosable "paste does nothing". - if (target != nullptr) { - DWORD target_pid = 0; - GetWindowThreadProcessId(target, &target_pid); - const DWORD target_level = ProcessIntegrityLevel(target_pid); - const DWORD self_level = ProcessIntegrityLevel(GetCurrentProcessId()); - if (target_level != 0 && self_level != 0 && target_level > self_level) { - response[flutter::EncodableValue("success")] = - flutter::EncodableValue(false); - response[flutter::EncodableValue("errorCode")] = - flutter::EncodableValue("targetElevated"); - return flutter::EncodableValue(response); - } - } - - const DWORD self_thread = GetCurrentThreadId(); - const bool attached = target_thread != 0 && target_thread != self_thread && - AttachThreadInput(self_thread, target_thread, TRUE); - - bool focus_repaired = false; - HWND focus_before = nullptr; - if (attached) { - GUITHREADINFO gui = {}; - gui.cbSize = sizeof(gui); - if (GetGUIThreadInfo(target_thread, &gui)) { - focus_before = gui.hwndFocus; - } - if (target_focus != nullptr && focus_before != target_focus && - IsWindow(target_focus)) { - // SetFocus on a foreign HWND is a blocking cross-thread send, so probe - // the destination first: a hung target would otherwise freeze our UI. - DWORD_PTR probe = 0; - if (SendMessageTimeoutW(target_focus, WM_NULL, 0, 0, - SMTO_ABORTIFHUNG | SMTO_BLOCK, 200, - &probe) != 0) { - focus_repaired = SetFocus(target_focus) != nullptr; - } - } - } - - // WM_HOTKEY arrives on key-down, so physical shortcut modifiers may still - // be held. Release every contaminating modifier before Ctrl+V. SendInput - // inserts this array atomically; later physical key-up events are harmless. - INPUT inputs[9] = {}; - inputs[0].type = INPUT_KEYBOARD; - inputs[0].ki.wVk = VK_MENU; - inputs[0].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[1].type = INPUT_KEYBOARD; - inputs[1].ki.wVk = VK_SHIFT; - inputs[1].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[2].type = INPUT_KEYBOARD; - inputs[2].ki.wVk = VK_LWIN; - inputs[2].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[3].type = INPUT_KEYBOARD; - inputs[3].ki.wVk = VK_RWIN; - inputs[3].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[4].type = INPUT_KEYBOARD; - inputs[4].ki.wVk = VK_CONTROL; - inputs[4].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[5].type = INPUT_KEYBOARD; - inputs[5].ki.wVk = VK_CONTROL; - inputs[6].type = INPUT_KEYBOARD; - inputs[6].ki.wVk = 'V'; - inputs[7].type = INPUT_KEYBOARD; - inputs[7].ki.wVk = 'V'; - inputs[7].ki.dwFlags = KEYEVENTF_KEYUP; - inputs[8].type = INPUT_KEYBOARD; - inputs[8].ki.wVk = VK_CONTROL; - inputs[8].ki.dwFlags = KEYEVENTF_KEYUP; - - constexpr UINT kInputCount = sizeof(inputs) / sizeof(inputs[0]); - - SetLastError(ERROR_SUCCESS); - const UINT sent = SendInput(kInputCount, inputs, sizeof(INPUT)); - const DWORD send_error = GetLastError(); - - if (attached) { - AttachThreadInput(self_thread, target_thread, FALSE); - } - - response[flutter::EncodableValue("success")] = - flutter::EncodableValue(sent == kInputCount); - response[flutter::EncodableValue("sentInputs")] = - flutter::EncodableValue(static_cast(sent)); - response[flutter::EncodableValue("expectedInputs")] = - flutter::EncodableValue(static_cast(kInputCount)); - response[flutter::EncodableValue("attached")] = - flutter::EncodableValue(attached); - response[flutter::EncodableValue("focusRepaired")] = - flutter::EncodableValue(focus_repaired); - response[flutter::EncodableValue("focusBefore")] = flutter::EncodableValue( - static_cast(reinterpret_cast(focus_before))); - if (sent != kInputCount) { - response[flutter::EncodableValue("errorCode")] = - flutter::EncodableValue("sendInputFailed"); - response[flutter::EncodableValue("win32Error")] = - flutter::EncodableValue(static_cast(send_error)); - } - return flutter::EncodableValue(response); -} - -} // namespace - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - RegisterStartupTaskChannel(flutter_controller_.get()); - RegisterHotkeyChannel(); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { - // Window visibility is managed by window_manager plugin (Dart side). - // Do NOT call Show() here — it causes a visible flash on startup. - }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - - return true; -} - -void FlutterWindow::OnDestroy() { - UnregisterAllHotkeys(); - if (hotkey_channel_) { - // MethodChannel destruction does not unregister its messenger callback. - // Remove the handler before releasing the lambda that captures this. - hotkey_channel_->SetMethodCallHandler(nullptr); - } - hotkey_channel_.reset(); - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_HOTKEY && hotkey_channel_) { - const char* id = nullptr; - if (static_cast(wparam) == kOpenHotkeyId) { - id = "open"; - } else if (static_cast(wparam) == kPlainPasteHotkeyId) { - id = "plainPaste"; - } - if (id != nullptr) { - hotkey_channel_->InvokeMethod( - "hotkeyPressed", - std::make_unique(std::string(id))); - return 0; - } - } - - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - if (flutter_controller_) { - flutter_controller_->engine()->ReloadSystemFonts(); - } - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} - -void FlutterWindow::RegisterHotkeyChannel() { - hotkey_channel_ = - std::make_unique>( - flutter_controller_->engine()->messenger(), kHotkeyChannelName, - &flutter::StandardMethodCodec::GetInstance()); - - hotkey_channel_->SetMethodCallHandler( - [this](const flutter::MethodCall& call, - std::unique_ptr> - result) { - if (call.method_name() == "sendPaste") { - const auto* paste_args = - std::get_if(call.arguments()); - HWND target = nullptr; - HWND target_focus = nullptr; - DWORD target_thread = 0; - if (paste_args != nullptr) { - target = reinterpret_cast( - static_cast(ReadInt64(*paste_args, "targetHwnd"))); - target_focus = reinterpret_cast(static_cast( - ReadInt64(*paste_args, "targetFocusHwnd"))); - target_thread = static_cast( - ReadInt64(*paste_args, "targetThreadId")); - } - result->Success(SendPasteInput(target, target_focus, target_thread)); - return; - } - if (call.method_name() == "unregisterAll") { - UnregisterAllHotkeys(); - result->Success(); - return; - } - if (call.method_name() != "register") { - result->NotImplemented(); - return; - } - - const auto* arguments = - std::get_if(call.arguments()); - int virtual_key = 0; - if (arguments == nullptr || - !ReadInt(*arguments, "virtualKey", &virtual_key) || - virtual_key <= 0 || virtual_key > 0xFF) { - result->Error("invalid_args", "A valid virtualKey is required"); - return; - } - - const std::string id = ReadString(*arguments, "id"); - int native_id = 0; - bool* is_registered = nullptr; - if (id == "open") { - native_id = kOpenHotkeyId; - is_registered = &open_hotkey_registered_; - } else if (id == "plainPaste") { - native_id = kPlainPasteHotkeyId; - is_registered = &plain_paste_hotkey_registered_; - } else { - result->Error("invalid_args", "Unknown hotkey id"); - return; - } - - if (*is_registered) { - UnregisterHotKey(GetHandle(), native_id); - *is_registered = false; - } - - UINT modifiers = kModNoRepeat; - if (ReadBool(*arguments, "useCtrl")) modifiers |= MOD_CONTROL; - if (ReadBool(*arguments, "useWin")) modifiers |= MOD_WIN; - if (ReadBool(*arguments, "useAlt")) modifiers |= MOD_ALT; - if (ReadBool(*arguments, "useShift")) modifiers |= MOD_SHIFT; - - if (!RegisterHotKey(GetHandle(), native_id, modifiers, - static_cast(virtual_key))) { - result->Success(RegistrationResponse(false, GetLastError())); - return; - } - *is_registered = true; - result->Success(RegistrationResponse(true)); - }); -} - -void FlutterWindow::UnregisterAllHotkeys() { - if (open_hotkey_registered_) { - UnregisterHotKey(GetHandle(), kOpenHotkeyId); - open_hotkey_registered_ = false; - } - if (plain_paste_hotkey_registered_) { - UnregisterHotKey(GetHandle(), kPlainPasteHotkeyId); - plain_paste_hotkey_registered_ = false; - } -} diff --git a/app/windows/runner/flutter_window.h b/app/windows/runner/flutter_window.h deleted file mode 100644 index 6822ae79..00000000 --- a/app/windows/runner/flutter_window.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - void RegisterHotkeyChannel(); - void UnregisterAllHotkeys(); - - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; - - // Owned for the full engine lifetime so neither the platform channel nor - // its callbacks leak when the runner shuts down. - std::unique_ptr> - hotkey_channel_; - bool open_hotkey_registered_ = false; - bool plain_paste_hotkey_registered_ = false; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/app/windows/runner/main.cpp b/app/windows/runner/main.cpp deleted file mode 100644 index 623467ec..00000000 --- a/app/windows/runner/main.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -// Signals the running instance so it can show its window. -// Best-effort: failures are silently ignored. -static void SignalRunningInstance() { - ::AllowSetForegroundWindow(ASFW_ANY); - - HANDLE hPipe = ::CreateFileW( - L"\\\\.\\pipe\\CopyPasteSingleInstance", - GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, 0, nullptr); - if (hPipe != INVALID_HANDLE_VALUE) { - DWORD written = 0; - ::WriteFile(hPipe, "wakeup", 6, &written, nullptr); - ::CloseHandle(hPipe); - } else { - wchar_t tempPath[MAX_PATH]; - if (::GetTempPathW(MAX_PATH, tempPath) > 0) { - wchar_t wakeupPath[MAX_PATH]; - swprintf_s(wakeupPath, MAX_PATH, L"%scopypaste.wakeup", tempPath); - HANDLE hFile = ::CreateFileW(wakeupPath, GENERIC_WRITE, 0, nullptr, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); - if (hFile != INVALID_HANDLE_VALUE) { - DWORD written = 0; - ::WriteFile(hFile, "wakeup", 6, &written, nullptr); - ::CloseHandle(hFile); - } - } - } -} - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t *command_line, _In_ int show_command) { - // Native single-instance guard: detect an existing instance BEFORE creating - // the Flutter window so the user never sees a second window at all. - // Uses OpenMutexW (check-only); the authoritative mutex is managed by Dart. - HANDLE hExisting = ::OpenMutexW(SYNCHRONIZE, FALSE, - L"Local\\CopyPaste_SingleInstance_Mutex"); - if (hExisting != nullptr) { - ::CloseHandle(hExisting); - SignalRunningInstance(); - return 0; - } - - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = - GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"CopyPaste", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/app/windows/runner/resource.h b/app/windows/runner/resource.h deleted file mode 100644 index 66a65d1e..00000000 --- a/app/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/app/windows/runner/resources/app_icon.ico b/app/windows/runner/resources/app_icon.ico deleted file mode 100644 index 88367a833e29688d2955d8999d1c0bc40ebe5bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73876 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 VgyWU*c*49d1sPT8I!Uvj{{Xud_^ki{ diff --git a/app/windows/runner/runner.exe.manifest b/app/windows/runner/runner.exe.manifest deleted file mode 100644 index 153653e8..00000000 --- a/app/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,14 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - diff --git a/app/windows/runner/startup_task_channel.cpp b/app/windows/runner/startup_task_channel.cpp deleted file mode 100644 index 409a1906..00000000 --- a/app/windows/runner/startup_task_channel.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "startup_task_channel.h" - -#include -#include - -#include -#include - -#include -#include -#include - -namespace { - -constexpr const char kChannelName[] = "copypaste/startup_task"; - -std::string StateToString(winrt::Windows::ApplicationModel::StartupTaskState state) { - using winrt::Windows::ApplicationModel::StartupTaskState; - switch (state) { - case StartupTaskState::Disabled: - return "disabled"; - case StartupTaskState::DisabledByUser: - return "disabledByUser"; - case StartupTaskState::DisabledByPolicy: - return "disabledByPolicy"; - case StartupTaskState::Enabled: - return "enabled"; - case StartupTaskState::EnabledByPolicy: - return "enabledByPolicy"; - } - return "unknown"; -} - -std::wstring Utf8ToWide(const std::string& input) { - if (input.empty()) return L""; - int wlen = MultiByteToWideChar(CP_UTF8, 0, input.c_str(), - static_cast(input.size()), nullptr, 0); - std::wstring result(wlen, L'\0'); - MultiByteToWideChar(CP_UTF8, 0, input.c_str(), static_cast(input.size()), - result.data(), wlen); - return result; -} - -} // namespace - -void RegisterStartupTaskChannel(flutter::FlutterViewController* controller) { - auto channel = - std::make_unique>( - controller->engine()->messenger(), kChannelName, - &flutter::StandardMethodCodec::GetInstance()); - - // The channel must outlive the engine. Leak intentionally. - auto* leaked_channel = channel.release(); - - leaked_channel->SetMethodCallHandler( - [](const flutter::MethodCall& call, - std::unique_ptr> - result) { - const std::string method = call.method_name(); - - std::string task_id; - if (const auto* args = - std::get_if(call.arguments())) { - auto it = args->find(flutter::EncodableValue("taskId")); - if (it != args->end()) { - if (const auto* s = std::get_if(&it->second)) { - task_id = *s; - } - } - } - - if (task_id.empty()) { - result->Error("invalid_args", "taskId required"); - return; - } - - std::wstring wtask_id = Utf8ToWide(task_id); - std::shared_ptr> - shared_result(result.release()); - - std::thread([method, wtask_id, shared_result]() { - try { - winrt::init_apartment(); - using namespace winrt::Windows::ApplicationModel; - auto task = StartupTask::GetAsync(wtask_id).get(); - if (!task) { - shared_result->Error( - "task_not_found", - "StartupTask not found in manifest", - flutter::EncodableValue( - "No startup task with id '" + - winrt::to_string(wtask_id) + - "' is declared in the AppxManifest.")); - return; - } - if (method == "getState") { - shared_result->Success( - flutter::EncodableValue(StateToString(task.State()))); - } else if (method == "enable") { - auto state = task.RequestEnableAsync().get(); - shared_result->Success( - flutter::EncodableValue(StateToString(state))); - } else if (method == "disable") { - task.Disable(); - shared_result->Success( - flutter::EncodableValue(StateToString(task.State()))); - } else { - shared_result->NotImplemented(); - } - } catch (const winrt::hresult_error& e) { - char code_buf[32]; - snprintf(code_buf, sizeof(code_buf), "0x%08X", - static_cast(e.code())); - // E_INVALIDARG (0x80070057) from GetAsync means the TaskId is not - // declared in the AppxManifest. Ensure windows.startupTask is - // present in the manifest with a matching TaskId attribute. - shared_result->Error("winrt_error", code_buf, - flutter::EncodableValue( - winrt::to_string(e.message()))); - } catch (...) { - shared_result->Error("unknown_error", "Unknown failure"); - } - }).detach(); - }); -} diff --git a/app/windows/runner/startup_task_channel.h b/app/windows/runner/startup_task_channel.h deleted file mode 100644 index d666a0a9..00000000 --- a/app/windows/runner/startup_task_channel.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef RUNNER_STARTUP_TASK_CHANNEL_H_ -#define RUNNER_STARTUP_TASK_CHANNEL_H_ - -#include - -void RegisterStartupTaskChannel(flutter::FlutterViewController* controller); - -#endif // RUNNER_STARTUP_TASK_CHANNEL_H_ diff --git a/app/windows/runner/utils.cpp b/app/windows/runner/utils.cpp deleted file mode 100644 index 3a0b4651..00000000 --- a/app/windows/runner/utils.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE *unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - unsigned int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr) - -1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length == 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - input_length, utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/app/windows/runner/utils.h b/app/windows/runner/utils.h deleted file mode 100644 index 3879d547..00000000 --- a/app/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/app/windows/runner/win32_window.cpp b/app/windows/runner/win32_window.cpp deleted file mode 100644 index 60608d0f..00000000 --- a/app/windows/runner/win32_window.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { - ++g_active_window_count; -} - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, - const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { - return ShowWindow(window_handle_, SW_SHOWNORMAL); -} - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { - return window_handle_; -} - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, - RRF_RT_REG_DWORD, nullptr, &light_mode, - &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/app/windows/runner/win32_window.h b/app/windows/runner/win32_window.h deleted file mode 100644 index e901dde6..00000000 --- a/app/windows/runner/win32_window.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index c48a7627..00000000 --- a/codecov.yml +++ /dev/null @@ -1,31 +0,0 @@ -coverage: - precision: 2 - round: down - status: - project: - default: - target: auto - threshold: 0% - removed_code_behavior: adjust_base - patch: - default: - target: auto - ignore: - - "core/lib/repository/sqlite_repository.g.dart" - - "app/lib/l10n/app_localizations_en.dart" - - "app/lib/l10n/app_localizations_es.dart" - - "app/lib/shell" - - "app/lib/services" - - "app/lib/screens/settings_screen.dart" - - "app/lib/main.dart" - - "app/lib/helpers/url_helper.dart" - -codecov: - notify: - after_n_builds: 3 - -comment: - layout: "reach,diff,flags,files" - behavior: default - require_changes: true - after_n_builds: 3 diff --git a/core/.gitignore b/core/.gitignore deleted file mode 100644 index dd5eb989..00000000 --- a/core/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.flutter-plugins-dependencies -/build/ -/coverage/ diff --git a/core/.metadata b/core/.metadata deleted file mode 100644 index 45e8bdaf..00000000 --- a/core/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "48c32af0345e9ad5747f78ddce828c7f795f7159" - channel: "stable" - -project_type: package diff --git a/core/analysis_options.yaml b/core/analysis_options.yaml deleted file mode 100644 index 5e2133eb..00000000 --- a/core/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: ../analysis_options.yaml diff --git a/core/lib/config/app_config.dart b/core/lib/config/app_config.dart deleted file mode 100644 index 6e27424b..00000000 --- a/core/lib/config/app_config.dart +++ /dev/null @@ -1,601 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import '../services/app_logger.dart'; - -const _sentinel = Object(); - -class AppConfig { - const AppConfig({ - this.preferredLanguage = 'auto', - this.runOnStartup = true, - this.hotkeyUseCtrl = true, - this.hotkeyUseWin = false, - this.hotkeyUseAlt = true, - this.hotkeyUseShift = false, - this.hotkeyVirtualKey = 0x56, - this.hotkeyKeyName = 'V', - this.plainPasteHotkeyEnabled = false, - this.plainPasteHotkeyUseCtrl = true, - this.plainPasteHotkeyUseWin = false, - this.plainPasteHotkeyUseAlt = true, - this.plainPasteHotkeyUseShift = true, - this.plainPasteHotkeyVirtualKey = 0x56, - this.plainPasteHotkeyKeyName = 'V', - this.pageSize = 30, - this.maxItemsBeforeCleanup = 100, - this.scrollLoadThreshold = 400, - this.retentionDays = 30, - this.keepBrokenItemsDays = 30, - this.colorLabels = const {}, - this.duplicateIgnoreWindowMs = 450, - this.delayBeforeFocusMs = 100, - this.delayBeforePasteMs = 180, - this.maxFocusVerifyAttempts = 15, - this.lastBackupDateUtc, - this.popupWidth = 380, - this.popupHeight = 500, - this.cardMinLines = 2, - this.cardMaxLines = 5, - this.hideOnDeactivate = true, - this.resetScrollOnShow = true, - this.resetSearchOnShow = true, - this.resetFiltersOnShow = true, - this.hasSeenHint = false, - this.themeMode = 'dark', - this.accessibilityWasGranted = false, - this.lastRunVersion = '', - this.hasSeenOnboarding = false, - this.generateImageThumbnails = true, - this.generateVideoThumbnails = true, - this.generateAudioThumbnails = true, - this.maxImageProcessingSizeMB = 25, - this.imagesQuotaMB = 0, - this.rememberWindowPosition = false, - this.lastWindowX, - this.lastWindowY, - }); - - /// [platform] overrides the host OS so migrations can be exercised off the - /// platform they target; coverage runs on the Linux CI runner, where the - /// Windows branches would otherwise never execute. - factory AppConfig.fromJson(Map json, {String? platform}) { - final os = platform ?? Platform.operatingSystem; - final isWindows = os == 'windows'; - final defaults = defaultForPlatform(os); - final hotkeyUseCtrl = - json['hotkeyUseCtrl'] as bool? ?? defaults.hotkeyUseCtrl; - final hotkeyUseWin = json['hotkeyUseWin'] as bool? ?? defaults.hotkeyUseWin; - final hotkeyUseAlt = json['hotkeyUseAlt'] as bool? ?? defaults.hotkeyUseAlt; - final hotkeyUseShift = - json['hotkeyUseShift'] as bool? ?? defaults.hotkeyUseShift; - var hotkeyVirtualKey = - json['hotkeyVirtualKey'] as int? ?? defaults.hotkeyVirtualKey; - var hotkeyKeyName = - json['hotkeyKeyName'] as String? ?? defaults.hotkeyKeyName; - var plainPasteHotkeyEnabled = - // Missing means this is a pre-feature config. Do not unexpectedly - // claim a new global shortcut for an existing user. - json['plainPasteHotkeyEnabled'] as bool? ?? false; - var plainPasteHotkeyUseCtrl = - json['plainPasteHotkeyUseCtrl'] as bool? ?? - defaults.plainPasteHotkeyUseCtrl; - var plainPasteHotkeyUseWin = - json['plainPasteHotkeyUseWin'] as bool? ?? - defaults.plainPasteHotkeyUseWin; - var plainPasteHotkeyUseAlt = - json['plainPasteHotkeyUseAlt'] as bool? ?? - defaults.plainPasteHotkeyUseAlt; - var plainPasteHotkeyUseShift = - json['plainPasteHotkeyUseShift'] as bool? ?? - defaults.plainPasteHotkeyUseShift; - var plainPasteHotkeyVirtualKey = - json['plainPasteHotkeyVirtualKey'] as int? ?? - defaults.plainPasteHotkeyVirtualKey; - var plainPasteHotkeyKeyName = - json['plainPasteHotkeyKeyName'] as String? ?? - defaults.plainPasteHotkeyKeyName; - - final shortcutDefaultsVersion = - json['shortcutDefaultsVersion'] as int? ?? 1; - if (shortcutDefaultsVersion < 2) { - final legacyPlainBinding = - plainPasteHotkeyEnabled && - plainPasteHotkeyVirtualKey == 0x56 && - ((Platform.isMacOS && - !plainPasteHotkeyUseCtrl && - plainPasteHotkeyUseWin && - plainPasteHotkeyUseAlt && - plainPasteHotkeyUseShift) || - (!Platform.isMacOS && - plainPasteHotkeyUseCtrl && - !plainPasteHotkeyUseWin && - !plainPasteHotkeyUseAlt && - plainPasteHotkeyUseShift)); - if (legacyPlainBinding) { - plainPasteHotkeyEnabled = false; - plainPasteHotkeyUseCtrl = defaults.plainPasteHotkeyUseCtrl; - plainPasteHotkeyUseWin = defaults.plainPasteHotkeyUseWin; - plainPasteHotkeyUseAlt = defaults.plainPasteHotkeyUseAlt; - plainPasteHotkeyUseShift = defaults.plainPasteHotkeyUseShift; - plainPasteHotkeyVirtualKey = defaults.plainPasteHotkeyVirtualKey; - plainPasteHotkeyKeyName = defaults.plainPasteHotkeyKeyName; - } - if (legacyPlainBinding) { - AppLogger.info('Migrated the legacy plain-paste shortcut default'); - } - } - - // Version 2 briefly changed the Windows opening default from Ctrl+Alt+C - // to Ctrl+Alt+V. Revert only that exact automatic binding; version 1 - // custom bindings and every other versioned combination remain untouched. - final versionTwoWindowsOpen = - isWindows && - shortcutDefaultsVersion == 2 && - hotkeyUseCtrl && - !hotkeyUseWin && - hotkeyUseAlt && - !hotkeyUseShift && - hotkeyVirtualKey == 0x56; - if (versionTwoWindowsOpen) { - hotkeyVirtualKey = 0x43; - hotkeyKeyName = 'C'; - AppLogger.info('Restored the Windows opening shortcut to Ctrl+Alt+C'); - } - - // Ctrl+Alt+Shift+V proved uncomfortable. Version 4 briefly tried the - // application-level Ctrl+Shift+V convention, but a global registration - // would shadow it in VS Code, terminals, and other apps. Migrate only - // those two exact automatic Windows bindings to Ctrl+Alt+V; bindings from - // versions where they could have been user-defined remain untouched. - final legacyWindowsPlainPaste = - isWindows && - plainPasteHotkeyUseCtrl && - !plainPasteHotkeyUseWin && - plainPasteHotkeyVirtualKey == 0x56 && - ((shortcutDefaultsVersion == 3 && - plainPasteHotkeyUseAlt && - plainPasteHotkeyUseShift) || - (shortcutDefaultsVersion == 4 && - !plainPasteHotkeyUseAlt && - plainPasteHotkeyUseShift)); - if (legacyWindowsPlainPaste) { - plainPasteHotkeyUseAlt = true; - plainPasteHotkeyUseShift = false; - AppLogger.info('Updated the Windows plain-paste shortcut to Ctrl+Alt+V'); - } - - var duplicateIgnoreWindowMs = - json['duplicateIgnoreWindowMs'] as int? ?? - defaults.duplicateIgnoreWindowMs; - var delayBeforeFocusMs = - json['delayBeforeFocusMs'] as int? ?? defaults.delayBeforeFocusMs; - var delayBeforePasteMs = - json['delayBeforePasteMs'] as int? ?? defaults.delayBeforePasteMs; - var maxFocusVerifyAttempts = - json['maxFocusVerifyAttempts'] as int? ?? - defaults.maxFocusVerifyAttempts; - final storedPasteDefaultsVersion = - json['pasteDefaultsVersion'] as int? ?? 1; - - // v2 moved Windows onto the Instant preset, assuming native focus - // verification made fixed delays unnecessary. It does not: the check only - // proves the destination is the active top-level window, so the paste can - // still outrun apps that route keyboard focus internally. Undo it for - // anyone left on those exact values; tuned tuples are preserved. - final untouchedInstantPaste = - isWindows && - storedPasteDefaultsVersion < pasteDefaultsVersion && - duplicateIgnoreWindowMs == 300 && - delayBeforeFocusMs == 0 && - delayBeforePasteMs == 20 && - maxFocusVerifyAttempts == 15; - if (untouchedInstantPaste) { - duplicateIgnoreWindowMs = 350; - delayBeforeFocusMs = 80; - delayBeforePasteMs = 120; - maxFocusVerifyAttempts = 12; - AppLogger.info('Updated Windows paste timing to the Normal preset'); - } - - return AppConfig( - preferredLanguage: - json['preferredLanguage'] as String? ?? defaults.preferredLanguage, - runOnStartup: json['runOnStartup'] as bool? ?? defaults.runOnStartup, - hotkeyUseCtrl: hotkeyUseCtrl, - hotkeyUseWin: hotkeyUseWin, - hotkeyUseAlt: hotkeyUseAlt, - hotkeyUseShift: hotkeyUseShift, - hotkeyVirtualKey: hotkeyVirtualKey, - hotkeyKeyName: hotkeyKeyName, - plainPasteHotkeyEnabled: plainPasteHotkeyEnabled, - plainPasteHotkeyUseCtrl: plainPasteHotkeyUseCtrl, - plainPasteHotkeyUseWin: plainPasteHotkeyUseWin, - plainPasteHotkeyUseAlt: plainPasteHotkeyUseAlt, - plainPasteHotkeyUseShift: plainPasteHotkeyUseShift, - plainPasteHotkeyVirtualKey: plainPasteHotkeyVirtualKey, - plainPasteHotkeyKeyName: plainPasteHotkeyKeyName, - pageSize: json['pageSize'] as int? ?? defaults.pageSize, - maxItemsBeforeCleanup: - json['maxItemsBeforeCleanup'] as int? ?? - defaults.maxItemsBeforeCleanup, - scrollLoadThreshold: - json['scrollLoadThreshold'] as int? ?? defaults.scrollLoadThreshold, - retentionDays: json['retentionDays'] as int? ?? defaults.retentionDays, - keepBrokenItemsDays: - json['keepBrokenItemsDays'] as int? ?? defaults.keepBrokenItemsDays, - colorLabels: - (json['colorLabels'] as Map?)?.map( - (k, v) => MapEntry(k, v as String), - ) ?? - const {}, - duplicateIgnoreWindowMs: duplicateIgnoreWindowMs, - delayBeforeFocusMs: delayBeforeFocusMs, - delayBeforePasteMs: delayBeforePasteMs, - maxFocusVerifyAttempts: maxFocusVerifyAttempts, - lastBackupDateUtc: json['lastBackupDateUtc'] != null - ? DateTime.tryParse(json['lastBackupDateUtc'] as String) - : null, - popupWidth: json['popupWidth'] as int? ?? defaults.popupWidth, - popupHeight: json['popupHeight'] as int? ?? defaults.popupHeight, - cardMinLines: json['cardMinLines'] as int? ?? defaults.cardMinLines, - cardMaxLines: json['cardMaxLines'] as int? ?? defaults.cardMaxLines, - hideOnDeactivate: - json['hideOnDeactivate'] as bool? ?? defaults.hideOnDeactivate, - resetScrollOnShow: - json['resetScrollOnShow'] as bool? ?? defaults.resetScrollOnShow, - resetSearchOnShow: - json['resetSearchOnShow'] as bool? ?? defaults.resetSearchOnShow, - resetFiltersOnShow: - json['resetFiltersOnShow'] as bool? ?? defaults.resetFiltersOnShow, - hasSeenHint: json['hasSeenHint'] as bool? ?? defaults.hasSeenHint, - themeMode: json['themeMode'] as String? ?? defaults.themeMode, - accessibilityWasGranted: - json['accessibilityWasGranted'] as bool? ?? - defaults.accessibilityWasGranted, - lastRunVersion: - json['lastRunVersion'] as String? ?? defaults.lastRunVersion, - hasSeenOnboarding: - json['hasSeenOnboarding'] as bool? ?? - json['hasSeenWindowsOnboarding'] as bool? ?? - defaults.hasSeenOnboarding, - generateImageThumbnails: - json['generateImageThumbnails'] as bool? ?? - defaults.generateImageThumbnails, - generateVideoThumbnails: - json['generateVideoThumbnails'] as bool? ?? - defaults.generateVideoThumbnails, - generateAudioThumbnails: - json['generateAudioThumbnails'] as bool? ?? - defaults.generateAudioThumbnails, - maxImageProcessingSizeMB: - json['maxImageProcessingSizeMB'] as int? ?? - defaults.maxImageProcessingSizeMB, - imagesQuotaMB: json['imagesQuotaMB'] as int? ?? defaults.imagesQuotaMB, - rememberWindowPosition: - json['rememberWindowPosition'] as bool? ?? - defaults.rememberWindowPosition, - lastWindowX: (json['lastWindowX'] as num?)?.toDouble(), - lastWindowY: (json['lastWindowY'] as num?)?.toDouble(), - ); - } - - static const int shortcutDefaultsVersion = 5; - static const int pasteDefaultsVersion = 3; - - static AppConfig defaultForCurrentPlatform() => - defaultForPlatform(Platform.operatingSystem); - - // Kept for tests that pass a platform string explicitly. - static AppConfig defaultForPlatform(String platform) => switch (platform) { - // Ctrl+Alt+C keeps the established CopyPaste opening gesture. The optional - // system-wide plain-paste shortcut shares the modifiers for muscle memory - // without shadowing the common application-level Ctrl+Shift+V gesture. - 'windows' => const AppConfig( - hotkeyUseCtrl: true, - hotkeyUseAlt: true, - hotkeyUseShift: false, - hotkeyVirtualKey: 0x43, - hotkeyKeyName: 'C', - plainPasteHotkeyEnabled: false, - plainPasteHotkeyUseCtrl: true, - plainPasteHotkeyUseAlt: true, - plainPasteHotkeyUseShift: false, - duplicateIgnoreWindowMs: 350, - delayBeforeFocusMs: 80, - delayBeforePasteMs: 120, - maxFocusVerifyAttempts: 12, - ), - // Control+Shift+V opens the panel. The optional global plain-paste binding - // includes every modifier and stays disabled until explicitly enabled. - 'macos' => const AppConfig( - hotkeyUseCtrl: true, - hotkeyUseAlt: false, - hotkeyUseShift: true, - plainPasteHotkeyEnabled: false, - plainPasteHotkeyUseCtrl: true, - plainPasteHotkeyUseWin: true, - plainPasteHotkeyUseAlt: true, - plainPasteHotkeyUseShift: true, - ), - _ => const AppConfig(), - }; - - static const String fileName = 'config.json'; - static const String appVersion = String.fromEnvironment( - 'APP_VERSION', - defaultValue: '2.0.0', - ); - - // Language & Startup - final String preferredLanguage; - final bool runOnStartup; - - // Hotkey - final bool hotkeyUseCtrl; - final bool hotkeyUseWin; - final bool hotkeyUseAlt; - final bool hotkeyUseShift; - final int hotkeyVirtualKey; - final String hotkeyKeyName; - final bool plainPasteHotkeyEnabled; - final bool plainPasteHotkeyUseCtrl; - final bool plainPasteHotkeyUseWin; - final bool plainPasteHotkeyUseAlt; - final bool plainPasteHotkeyUseShift; - final int plainPasteHotkeyVirtualKey; - final String plainPasteHotkeyKeyName; - - // Performance - final int pageSize; - final int maxItemsBeforeCleanup; - final int scrollLoadThreshold; - - // Storage - final int retentionDays; - final int keepBrokenItemsDays; - final Map colorLabels; - - // Paste behavior - final int duplicateIgnoreWindowMs; - final int delayBeforeFocusMs; - final int delayBeforePasteMs; - final int maxFocusVerifyAttempts; - - // Backup - final DateTime? lastBackupDateUtc; - - // Appearance - final int popupWidth; - final int popupHeight; - final int cardMinLines; - final int cardMaxLines; - final bool hideOnDeactivate; - final bool resetScrollOnShow; - final bool resetSearchOnShow; - final bool resetFiltersOnShow; - final bool hasSeenHint; - final String themeMode; - final bool accessibilityWasGranted; - final String lastRunVersion; - final bool hasSeenOnboarding; - - // Multimedia & thumbnails - final bool generateImageThumbnails; - final bool generateVideoThumbnails; - final bool generateAudioThumbnails; - final int maxImageProcessingSizeMB; - - // Storage quota (total bytes allowed under images/). 0 disables the cap; - // anything > 0 triggers an LRU purge during the periodic cleanup until the - // owned bytes drop back below the limit. Pinned items are never purged. - final int imagesQuotaMB; - - final bool rememberWindowPosition; - final double? lastWindowX; - final double? lastWindowY; - - AppConfig copyWith({ - String? preferredLanguage, - bool? runOnStartup, - bool? hotkeyUseCtrl, - bool? hotkeyUseWin, - bool? hotkeyUseAlt, - bool? hotkeyUseShift, - int? hotkeyVirtualKey, - String? hotkeyKeyName, - bool? plainPasteHotkeyEnabled, - bool? plainPasteHotkeyUseCtrl, - bool? plainPasteHotkeyUseWin, - bool? plainPasteHotkeyUseAlt, - bool? plainPasteHotkeyUseShift, - int? plainPasteHotkeyVirtualKey, - String? plainPasteHotkeyKeyName, - int? pageSize, - int? maxItemsBeforeCleanup, - int? scrollLoadThreshold, - int? retentionDays, - int? keepBrokenItemsDays, - Map? colorLabels, - int? duplicateIgnoreWindowMs, - int? delayBeforeFocusMs, - int? delayBeforePasteMs, - int? maxFocusVerifyAttempts, - Object? lastBackupDateUtc = _sentinel, - int? popupWidth, - int? popupHeight, - int? cardMinLines, - int? cardMaxLines, - bool? hideOnDeactivate, - bool? resetScrollOnShow, - bool? resetSearchOnShow, - bool? resetFiltersOnShow, - bool? hasSeenHint, - String? themeMode, - bool? accessibilityWasGranted, - String? lastRunVersion, - bool? hasSeenOnboarding, - bool? generateImageThumbnails, - bool? generateVideoThumbnails, - bool? generateAudioThumbnails, - int? maxImageProcessingSizeMB, - int? imagesQuotaMB, - bool? rememberWindowPosition, - Object? lastWindowX = _sentinel, - Object? lastWindowY = _sentinel, - }) => AppConfig( - preferredLanguage: preferredLanguage ?? this.preferredLanguage, - runOnStartup: runOnStartup ?? this.runOnStartup, - hotkeyUseCtrl: hotkeyUseCtrl ?? this.hotkeyUseCtrl, - hotkeyUseWin: hotkeyUseWin ?? this.hotkeyUseWin, - hotkeyUseAlt: hotkeyUseAlt ?? this.hotkeyUseAlt, - hotkeyUseShift: hotkeyUseShift ?? this.hotkeyUseShift, - hotkeyVirtualKey: hotkeyVirtualKey ?? this.hotkeyVirtualKey, - hotkeyKeyName: hotkeyKeyName ?? this.hotkeyKeyName, - plainPasteHotkeyEnabled: - plainPasteHotkeyEnabled ?? this.plainPasteHotkeyEnabled, - plainPasteHotkeyUseCtrl: - plainPasteHotkeyUseCtrl ?? this.plainPasteHotkeyUseCtrl, - plainPasteHotkeyUseWin: - plainPasteHotkeyUseWin ?? this.plainPasteHotkeyUseWin, - plainPasteHotkeyUseAlt: - plainPasteHotkeyUseAlt ?? this.plainPasteHotkeyUseAlt, - plainPasteHotkeyUseShift: - plainPasteHotkeyUseShift ?? this.plainPasteHotkeyUseShift, - plainPasteHotkeyVirtualKey: - plainPasteHotkeyVirtualKey ?? this.plainPasteHotkeyVirtualKey, - plainPasteHotkeyKeyName: - plainPasteHotkeyKeyName ?? this.plainPasteHotkeyKeyName, - pageSize: pageSize ?? this.pageSize, - maxItemsBeforeCleanup: maxItemsBeforeCleanup ?? this.maxItemsBeforeCleanup, - scrollLoadThreshold: scrollLoadThreshold ?? this.scrollLoadThreshold, - retentionDays: retentionDays ?? this.retentionDays, - keepBrokenItemsDays: keepBrokenItemsDays ?? this.keepBrokenItemsDays, - colorLabels: colorLabels ?? this.colorLabels, - duplicateIgnoreWindowMs: - duplicateIgnoreWindowMs ?? this.duplicateIgnoreWindowMs, - delayBeforeFocusMs: delayBeforeFocusMs ?? this.delayBeforeFocusMs, - delayBeforePasteMs: delayBeforePasteMs ?? this.delayBeforePasteMs, - maxFocusVerifyAttempts: - maxFocusVerifyAttempts ?? this.maxFocusVerifyAttempts, - lastBackupDateUtc: lastBackupDateUtc == _sentinel - ? this.lastBackupDateUtc - : lastBackupDateUtc as DateTime?, - popupWidth: popupWidth ?? this.popupWidth, - popupHeight: popupHeight ?? this.popupHeight, - cardMinLines: cardMinLines ?? this.cardMinLines, - cardMaxLines: cardMaxLines ?? this.cardMaxLines, - hideOnDeactivate: hideOnDeactivate ?? this.hideOnDeactivate, - resetScrollOnShow: resetScrollOnShow ?? this.resetScrollOnShow, - resetSearchOnShow: resetSearchOnShow ?? this.resetSearchOnShow, - resetFiltersOnShow: resetFiltersOnShow ?? this.resetFiltersOnShow, - hasSeenHint: hasSeenHint ?? this.hasSeenHint, - themeMode: themeMode ?? this.themeMode, - accessibilityWasGranted: - accessibilityWasGranted ?? this.accessibilityWasGranted, - lastRunVersion: lastRunVersion ?? this.lastRunVersion, - hasSeenOnboarding: hasSeenOnboarding ?? this.hasSeenOnboarding, - generateImageThumbnails: - generateImageThumbnails ?? this.generateImageThumbnails, - generateVideoThumbnails: - generateVideoThumbnails ?? this.generateVideoThumbnails, - generateAudioThumbnails: - generateAudioThumbnails ?? this.generateAudioThumbnails, - maxImageProcessingSizeMB: - maxImageProcessingSizeMB ?? this.maxImageProcessingSizeMB, - imagesQuotaMB: imagesQuotaMB ?? this.imagesQuotaMB, - rememberWindowPosition: - rememberWindowPosition ?? this.rememberWindowPosition, - lastWindowX: lastWindowX == _sentinel - ? this.lastWindowX - : lastWindowX as double?, - lastWindowY: lastWindowY == _sentinel - ? this.lastWindowY - : lastWindowY as double?, - ); - - Map toJson() => { - 'shortcutDefaultsVersion': shortcutDefaultsVersion, - 'pasteDefaultsVersion': pasteDefaultsVersion, - 'preferredLanguage': preferredLanguage, - 'runOnStartup': runOnStartup, - 'hotkeyUseCtrl': hotkeyUseCtrl, - 'hotkeyUseWin': hotkeyUseWin, - 'hotkeyUseAlt': hotkeyUseAlt, - 'hotkeyUseShift': hotkeyUseShift, - 'hotkeyVirtualKey': hotkeyVirtualKey, - 'hotkeyKeyName': hotkeyKeyName, - 'plainPasteHotkeyEnabled': plainPasteHotkeyEnabled, - 'plainPasteHotkeyUseCtrl': plainPasteHotkeyUseCtrl, - 'plainPasteHotkeyUseWin': plainPasteHotkeyUseWin, - 'plainPasteHotkeyUseAlt': plainPasteHotkeyUseAlt, - 'plainPasteHotkeyUseShift': plainPasteHotkeyUseShift, - 'plainPasteHotkeyVirtualKey': plainPasteHotkeyVirtualKey, - 'plainPasteHotkeyKeyName': plainPasteHotkeyKeyName, - 'pageSize': pageSize, - 'maxItemsBeforeCleanup': maxItemsBeforeCleanup, - 'scrollLoadThreshold': scrollLoadThreshold, - 'retentionDays': retentionDays, - 'keepBrokenItemsDays': keepBrokenItemsDays, - 'colorLabels': colorLabels, - 'duplicateIgnoreWindowMs': duplicateIgnoreWindowMs, - 'delayBeforeFocusMs': delayBeforeFocusMs, - 'delayBeforePasteMs': delayBeforePasteMs, - 'maxFocusVerifyAttempts': maxFocusVerifyAttempts, - if (lastBackupDateUtc != null) - 'lastBackupDateUtc': lastBackupDateUtc!.toIso8601String(), - 'popupWidth': popupWidth, - 'popupHeight': popupHeight, - 'cardMinLines': cardMinLines, - 'cardMaxLines': cardMaxLines, - 'hideOnDeactivate': hideOnDeactivate, - 'resetScrollOnShow': resetScrollOnShow, - 'resetSearchOnShow': resetSearchOnShow, - 'resetFiltersOnShow': resetFiltersOnShow, - 'hasSeenHint': hasSeenHint, - 'themeMode': themeMode, - 'accessibilityWasGranted': accessibilityWasGranted, - 'lastRunVersion': lastRunVersion, - 'hasSeenOnboarding': hasSeenOnboarding, - 'generateImageThumbnails': generateImageThumbnails, - 'generateVideoThumbnails': generateVideoThumbnails, - 'generateAudioThumbnails': generateAudioThumbnails, - 'maxImageProcessingSizeMB': maxImageProcessingSizeMB, - 'imagesQuotaMB': imagesQuotaMB, - 'rememberWindowPosition': rememberWindowPosition, - if (lastWindowX != null) 'lastWindowX': lastWindowX, - if (lastWindowY != null) 'lastWindowY': lastWindowY, - }; - - static Future load(String configPath) async { - final file = File(configPath); - if (!file.existsSync()) return AppConfig.defaultForCurrentPlatform(); - try { - final json = jsonDecode(file.readAsStringSync()) as Map; - final config = AppConfig.fromJson(json); - final storedShortcutVersion = - json['shortcutDefaultsVersion'] as int? ?? 1; - final storedPasteVersion = json['pasteDefaultsVersion'] as int? ?? 1; - if (storedShortcutVersion < shortcutDefaultsVersion || - storedPasteVersion < pasteDefaultsVersion) { - try { - await config.save(configPath); - } catch (e) { - AppLogger.warn('Failed to persist config migration: $e'); - } - } - return config; - } catch (e) { - AppLogger.error('Failed to load config: $e'); - return AppConfig.defaultForCurrentPlatform(); - } - } - - Future save(String configPath) async { - final file = File(configPath); - await file.create(recursive: true); - await file.writeAsString( - const JsonEncoder.withIndent(' ').convert(toJson()), - ); - } -} diff --git a/core/lib/config/storage_config.dart b/core/lib/config/storage_config.dart deleted file mode 100644 index 2e89f3e5..00000000 --- a/core/lib/config/storage_config.dart +++ /dev/null @@ -1,96 +0,0 @@ -import 'dart:io'; - -import '../services/app_logger.dart'; -import 'app_config.dart'; - -import 'package:path/path.dart' as p; -import 'package:path_provider/path_provider.dart'; - -class StorageConfig { - StorageConfig._({required this.baseDir}) - : databasePath = p.join(baseDir, 'clipboard.db'), - imagesPath = p.join(baseDir, 'images'), - configPath = p.join(baseDir, 'config'), - logsPath = p.join(baseDir, 'logs'); - - final String baseDir; - final String databasePath; - final String imagesPath; - final String configPath; - final String logsPath; - - String get configFilePath => p.join(configPath, AppConfig.fileName); - - String get _initFlagPath => p.join(baseDir, '.initialized'); - - static Future create({ - String? baseDir, - String? Function()? windowsLocalAppDataResolver, - }) async { - final String base; - if (baseDir != null) { - base = baseDir; - } else if (Platform.isWindows) { - // coverage:ignore-start - final resolved = - windowsLocalAppDataResolver?.call() ?? - Platform.environment['LOCALAPPDATA']; - base = resolved != null - ? p.join(resolved, 'CopyPaste') - : p.join((await getApplicationSupportDirectory()).path, 'CopyPaste'); - } else { - // coverage:ignore-end - base = p.join((await getApplicationSupportDirectory()).path, 'CopyPaste'); - } - return StorageConfig._(baseDir: base); - } - - Future ensureDirectories() async { - for (final dir in [baseDir, imagesPath, configPath, logsPath]) { - await Directory(dir).create(recursive: true); - } - } - - bool get isFirstRun => !File(_initFlagPath).existsSync(); - - void markAsInitialized() { - try { - File(_initFlagPath) - ..createSync(recursive: true) - ..writeAsStringSync(DateTime.now().toUtc().toIso8601String()); - } catch (e) { - AppLogger.error('Failed to mark as initialized: $e'); - } - } - - void clearInitialized() { - try { - final f = File(_initFlagPath); - if (f.existsSync()) f.deleteSync(); - // coverage:ignore-start - } catch (e) { - AppLogger.error('Failed to clear initialized flag: $e'); - // coverage:ignore-end - } - } - - void cleanOrphanImages(List validImagePaths) { - _cleanDirectory(imagesPath, validImagePaths.toSet()); - } - - void _cleanDirectory(String dirPath, Set validFiles) { - final dir = Directory(dirPath); - if (!dir.existsSync()) return; - for (final file in dir.listSync().whereType()) { - if (!validFiles.contains(file.path)) { - try { - file.deleteSync(); - // coverage:ignore-start - } catch (e) { - AppLogger.error('Failed to delete orphan file: $e'); - // coverage:ignore-end - } - } - } - } -} diff --git a/core/lib/core.dart b/core/lib/core.dart deleted file mode 100644 index 3bc0b050..00000000 --- a/core/lib/core.dart +++ /dev/null @@ -1,16 +0,0 @@ -export 'config/app_config.dart'; -export 'config/storage_config.dart'; -export 'models/card_color.dart'; -export 'models/clipboard_content_type.dart'; -export 'models/clipboard_item.dart'; -export 'repository/sqlite_repository.dart'; -export 'services/app_logger.dart'; -export 'services/backup_service.dart'; -export 'services/cleanup_service.dart'; -export 'services/clipboard_service.dart'; -export 'services/crash_logger.dart'; -export 'services/native_thumbnail_provider.dart'; -export 'services/support_service.dart'; -export 'services/text_classifier.dart'; -export 'services/thumbnail_queue.dart'; -export 'services/thumbnail_service.dart'; diff --git a/core/lib/models/.gitkeep b/core/lib/models/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/core/lib/models/card_color.dart b/core/lib/models/card_color.dart deleted file mode 100644 index 370877cf..00000000 --- a/core/lib/models/card_color.dart +++ /dev/null @@ -1,17 +0,0 @@ -enum CardColor { - none(0, 0x00000000), - red(1, 0xFFE74C3C), - green(2, 0xFF2ECC71), - purple(3, 0xFF9B59B6), - yellow(4, 0xFFF1C40F), - blue(5, 0xFF3498DB), - orange(6, 0xFFE67E22); - - const CardColor(this.value, this.argb); - - final int value; - final int argb; - - static CardColor fromValue(int value) => - CardColor.values.firstWhere((c) => c.value == value, orElse: () => none); -} diff --git a/core/lib/models/clipboard_content_type.dart b/core/lib/models/clipboard_content_type.dart deleted file mode 100644 index 46857a21..00000000 --- a/core/lib/models/clipboard_content_type.dart +++ /dev/null @@ -1,50 +0,0 @@ -enum ClipboardContentType { - unknown, - text, - image, - file, - folder, - link, - audio, - video, - email, - phone, - color, - ip, - uuid, - json; - - static ClipboardContentType fromValue(int value) => switch (value) { - 0 => text, - 1 => image, - 2 => file, - 3 => folder, - 4 => link, - 5 => audio, - 6 => video, - 7 => email, - 8 => phone, - 9 => color, - 10 => ip, - 11 => uuid, - 12 => json, - _ => unknown, - }; - - int get value => switch (this) { - unknown => -1, - text => 0, - image => 1, - file => 2, - folder => 3, - link => 4, - audio => 5, - video => 6, - email => 7, - phone => 8, - color => 9, - ip => 10, - uuid => 11, - json => 12, - }; -} diff --git a/core/lib/models/clipboard_item.dart b/core/lib/models/clipboard_item.dart deleted file mode 100644 index 6b774356..00000000 --- a/core/lib/models/clipboard_item.dart +++ /dev/null @@ -1,133 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:uuid/uuid.dart'; - -import 'card_color.dart'; -import 'clipboard_content_type.dart'; - -const _uuid = Uuid(); -const _sentinel = Object(); - -class ClipboardItem { - ClipboardItem({ - String? id, - required this.content, - required this.type, - DateTime? createdAt, - DateTime? modifiedAt, - this.appSource, - this.isPinned = false, - this.label, - this.cardColor = CardColor.none, - this.metadata, - this.pasteCount = 0, - this.contentHash, - this.thumbPath, - this.sourceModifiedAt, - this.brokenSince, - }) : id = id ?? _uuid.v4(), - createdAt = createdAt ?? DateTime.now().toUtc(), - modifiedAt = modifiedAt ?? DateTime.now().toUtc(); - - static const int maxLabelLength = 50; - - final String id; - final String content; - final ClipboardContentType type; - final DateTime createdAt; - final DateTime modifiedAt; - final String? appSource; - final bool isPinned; - final String? label; - final CardColor cardColor; - final String? metadata; - final int pasteCount; - final String? contentHash; - - final String? thumbPath; - - final DateTime? sourceModifiedAt; - - final DateTime? brokenSince; - - bool get isFileBasedType => - type == ClipboardContentType.file || - type == ClipboardContentType.folder || - type == ClipboardContentType.audio || - type == ClipboardContentType.video; - - bool get hasRichText => _hasMetadataPayload('rtf'); - - bool get hasFormatting => - _hasMetadataPayload('rtf') || _hasMetadataPayload('html'); - - bool _hasMetadataPayload(String key) { - final raw = metadata; - if (raw == null || raw.isEmpty) return false; - try { - final decoded = jsonDecode(raw); - if (decoded is! Map) return false; - final value = decoded[key]; - return value is String && value.isNotEmpty; - } catch (_) { - return false; - } - } - - ClipboardItem copyWith({ - String? content, - ClipboardContentType? type, - DateTime? createdAt, - DateTime? modifiedAt, - Object? appSource = _sentinel, - bool? isPinned, - Object? label = _sentinel, - CardColor? cardColor, - Object? metadata = _sentinel, - int? pasteCount, - Object? contentHash = _sentinel, - Object? thumbPath = _sentinel, - Object? sourceModifiedAt = _sentinel, - Object? brokenSince = _sentinel, - }) => ClipboardItem( - id: id, - content: content ?? this.content, - type: type ?? this.type, - createdAt: createdAt ?? this.createdAt, - modifiedAt: modifiedAt ?? this.modifiedAt, - appSource: appSource == _sentinel ? this.appSource : appSource as String?, - isPinned: isPinned ?? this.isPinned, - label: label == _sentinel ? this.label : label as String?, - cardColor: cardColor ?? this.cardColor, - metadata: metadata == _sentinel ? this.metadata : metadata as String?, - pasteCount: pasteCount ?? this.pasteCount, - contentHash: contentHash == _sentinel - ? this.contentHash - : contentHash as String?, - thumbPath: thumbPath == _sentinel ? this.thumbPath : thumbPath as String?, - sourceModifiedAt: sourceModifiedAt == _sentinel - ? this.sourceModifiedAt - : sourceModifiedAt as DateTime?, - brokenSince: brokenSince == _sentinel - ? this.brokenSince - : brokenSince as DateTime?, - ); - - bool isFileAvailable() { - if (!isFileBasedType) return true; - if (content.isEmpty) return false; - final paths = content.split('\n').where((s) => s.isNotEmpty).toList(); - if (paths.isEmpty) return false; - return paths.every( - (p) => File(p).existsSync() || Directory(p).existsSync(), - ); - } - - @override - bool operator ==(Object other) => - identical(this, other) || other is ClipboardItem && id == other.id; - - @override - int get hashCode => id.hashCode; -} diff --git a/core/lib/repository/.gitkeep b/core/lib/repository/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/core/lib/repository/i_clipboard_repository.dart b/core/lib/repository/i_clipboard_repository.dart deleted file mode 100644 index 8d69f815..00000000 --- a/core/lib/repository/i_clipboard_repository.dart +++ /dev/null @@ -1,37 +0,0 @@ -import '../models/card_color.dart'; -import '../models/clipboard_content_type.dart'; -import '../models/clipboard_item.dart'; - -abstract interface class IClipboardRepository { - Future save(ClipboardItem item); - Future update(ClipboardItem item); - Future getById(String id); - Future getLatest(); - Future findByContentAndType( - String content, - ClipboardContentType type, - ); - Future findByContentHash(String contentHash); - Future> getAll(); - Future delete(String id); - Future clearOldItems(int days, {bool excludePinned = true}); - Future deleteAllUnpinned(); - Future count(); - Future> search( - String query, { - int limit = 50, - int skip = 0, - }); - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }); - Future> getImagePaths(); - Future> getThumbPaths(); - Future walCheckpoint(); - Future close(); -} diff --git a/core/lib/repository/sqlite_repository.dart b/core/lib/repository/sqlite_repository.dart deleted file mode 100644 index 7d8ae89c..00000000 --- a/core/lib/repository/sqlite_repository.dart +++ /dev/null @@ -1,588 +0,0 @@ -import 'dart:io'; - -import 'package:drift/drift.dart'; -import 'package:drift/native.dart'; - -import '../models/card_color.dart'; -import '../models/clipboard_content_type.dart'; -import '../models/clipboard_item.dart'; -import '../search/search_helper.dart'; -import '../services/app_logger.dart'; -import 'i_clipboard_repository.dart'; - -part 'sqlite_repository.g.dart'; - -@DataClassName('ClipboardRow') -class ClipboardItems extends Table { - TextColumn get id => text()(); - TextColumn get content => text()(); - IntColumn get type => integer()(); - DateTimeColumn get createdAt => dateTime()(); - DateTimeColumn get modifiedAt => dateTime()(); - TextColumn get appSource => text().nullable()(); - BoolColumn get isPinned => boolean().withDefault(const Constant(false))(); - TextColumn get label => text().nullable()(); - IntColumn get cardColor => integer().withDefault(const Constant(0))(); - TextColumn get metadata => text().nullable()(); - IntColumn get pasteCount => integer().withDefault(const Constant(0))(); - TextColumn get contentHash => text().nullable()(); - TextColumn get thumbPath => text().nullable()(); - DateTimeColumn get sourceModifiedAt => dateTime().nullable()(); - DateTimeColumn get brokenSince => dateTime().nullable()(); - - @override - Set get primaryKey => {id}; -} - -@DriftDatabase(tables: [ClipboardItems]) -class _AppDatabase extends _$_AppDatabase { - _AppDatabase(super.e); - - @override - int get schemaVersion => 4; - - @override - MigrationStrategy get migration => MigrationStrategy( - onCreate: (m) async { - await m.createAll(); - await _createIndexes(); - }, - onUpgrade: (m, from, to) async { - if (from < 2) { - await _createIndexes(); - } - if (from < 3) { - await m.addColumn(clipboardItems, clipboardItems.thumbPath); - await m.addColumn(clipboardItems, clipboardItems.sourceModifiedAt); - } - if (from < 4) { - await m.addColumn(clipboardItems, clipboardItems.brokenSince); - } - }, - beforeOpen: (details) async { - await customStatement('PRAGMA journal_mode = WAL'); - await customStatement('PRAGMA synchronous = NORMAL'); - await customStatement('PRAGMA cache_size = -2000'); - // Overwrite freed pages instead of leaving copied passwords readable in - // the file after a delete. Unlike auto_vacuum this applies at any time. - await customStatement('PRAGMA secure_delete = ON'); - await _ensureIncrementalVacuum(); - - await customStatement(''' - CREATE VIRTUAL TABLE IF NOT EXISTS ClipboardItems_fts USING fts5( - content, - app_source, - label, - content='clipboard_items', - content_rowid='rowid' - ) - '''); - - await customStatement(''' - CREATE TRIGGER IF NOT EXISTS clipboard_items_ai AFTER INSERT ON clipboard_items BEGIN - INSERT INTO ClipboardItems_fts(rowid, content, app_source, label) - VALUES (NEW.rowid, NEW.content, NEW.app_source, NEW.label); - END - '''); - - await customStatement(''' - CREATE TRIGGER IF NOT EXISTS clipboard_items_ad AFTER DELETE ON clipboard_items BEGIN - INSERT INTO ClipboardItems_fts(ClipboardItems_fts, rowid, content, app_source, label) - VALUES ('delete', OLD.rowid, OLD.content, OLD.app_source, OLD.label); - END - '''); - - await customStatement(''' - CREATE TRIGGER IF NOT EXISTS clipboard_items_au AFTER UPDATE ON clipboard_items BEGIN - INSERT INTO ClipboardItems_fts(ClipboardItems_fts, rowid, content, app_source, label) - VALUES ('delete', OLD.rowid, OLD.content, OLD.app_source, OLD.label); - INSERT INTO ClipboardItems_fts(rowid, content, app_source, label) - VALUES (NEW.rowid, NEW.content, NEW.app_source, NEW.label); - END - '''); - }, - ); - - /// SQLite silently ignores `auto_vacuum` on a database that already has - /// tables, and beforeOpen runs after onCreate — so the pragma never took and - /// every `incremental_vacuum` below was a no-op. Switching it needs a full - /// VACUUM, which is why this only runs when the mode is still NONE. - Future _ensureIncrementalVacuum() async { - try { - final rows = await customSelect('PRAGMA auto_vacuum').get(); - final mode = rows.isEmpty - ? null - : rows.first.data.values.first as int? ?? 0; - if (mode == 2) return; - await customStatement('PRAGMA auto_vacuum = INCREMENTAL'); - if (mode == 0) await customStatement('VACUUM'); - // coverage:ignore-start - } catch (e) { - AppLogger.warn('auto_vacuum setup failed: $e'); - // coverage:ignore-end - } - } - - Future _createIndexes() async { - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_content_hash ON clipboard_items(content_hash)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_content_type ON clipboard_items(content, type)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_modified_at ON clipboard_items(modified_at DESC)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_created_at ON clipboard_items(created_at)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_is_pinned ON clipboard_items(is_pinned)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_card_color ON clipboard_items(card_color)', - ); - await customStatement( - 'CREATE INDEX IF NOT EXISTS idx_type_modified ON clipboard_items(type, modified_at DESC)', - ); - } -} - -class SqliteRepository implements IClipboardRepository { - SqliteRepository._(this._db); - - factory SqliteRepository.fromPath(String dbPath) { - final db = _AppDatabase( - LazyDatabase(() async { - try { - return NativeDatabase.createInBackground(File(dbPath)); - } catch (e, s) { - AppLogger.exception( - e, - s, - 'SqliteRepository.fromPath — attempting recovery', - ); - _handleCorruptDatabase(dbPath); - return NativeDatabase.createInBackground(File(dbPath)); - } - }), - ); - return SqliteRepository._(db); - } - - factory SqliteRepository.inMemory() => - SqliteRepository._(_AppDatabase(NativeDatabase.memory())); - - final _AppDatabase _db; - - static void _handleCorruptDatabase(String dbPath) { - final file = File(dbPath); - if (!file.existsSync()) return; - try { - final timestamp = DateTime.now().toUtc().millisecondsSinceEpoch; - final backupPath = '$dbPath.backup.$timestamp'; - file.renameSync(backupPath); - AppLogger.warn( - '_handleCorruptDatabase: renamed corrupt DB to $backupPath', - ); - } catch (e) { - AppLogger.error('_handleCorruptDatabase: could not rename DB: $e'); - } - try { - File('$dbPath-wal').deleteSync(); - } catch (e) { - AppLogger.warn('_handleCorruptDatabase: could not delete WAL: $e'); - } - try { - File('$dbPath-shm').deleteSync(); - } catch (e) { - AppLogger.warn('_handleCorruptDatabase: could not delete SHM: $e'); - } - } - - ClipboardItem _fromRow(ClipboardRow row) => ClipboardItem( - id: row.id, - content: row.content, - type: ClipboardContentType.fromValue(row.type), - createdAt: row.createdAt, - modifiedAt: row.modifiedAt, - appSource: row.appSource, - isPinned: row.isPinned, - label: row.label, - cardColor: CardColor.fromValue(row.cardColor), - metadata: row.metadata, - pasteCount: row.pasteCount, - contentHash: row.contentHash, - thumbPath: row.thumbPath, - sourceModifiedAt: row.sourceModifiedAt, - brokenSince: row.brokenSince, - ); - - ClipboardItemsCompanion _toCompanion(ClipboardItem item) => - ClipboardItemsCompanion( - id: Value(item.id), - content: Value(item.content), - type: Value(item.type.value), - createdAt: Value(item.createdAt), - modifiedAt: Value(item.modifiedAt), - appSource: Value(item.appSource), - isPinned: Value(item.isPinned), - label: Value(item.label), - cardColor: Value(item.cardColor.value), - metadata: Value(item.metadata), - pasteCount: Value(item.pasteCount), - contentHash: Value(item.contentHash), - thumbPath: Value(item.thumbPath), - sourceModifiedAt: Value(item.sourceModifiedAt), - brokenSince: Value(item.brokenSince), - ); - - ClipboardItem _fromQueryRow(QueryRow row) => ClipboardItem( - id: row.read('id'), - content: row.read('content'), - type: ClipboardContentType.fromValue(row.read('type')), - createdAt: row.read('created_at'), - modifiedAt: row.read('modified_at'), - appSource: row.readNullable('app_source'), - isPinned: row.read('is_pinned'), - label: row.readNullable('label'), - cardColor: CardColor.fromValue(row.read('card_color')), - metadata: row.readNullable('metadata'), - pasteCount: row.read('paste_count'), - contentHash: row.readNullable('content_hash'), - thumbPath: row.readNullable('thumb_path'), - sourceModifiedAt: row.readNullable('source_modified_at'), - brokenSince: row.readNullable('broken_since'), - ); - - @override - Future save(ClipboardItem item) => - _db.into(_db.clipboardItems).insert(_toCompanion(item)); - - @override - Future update(ClipboardItem item) async { - await (_db.update( - _db.clipboardItems, - )..where((t) => t.id.equals(item.id))).write(_toCompanion(item)); - } - - @override - Future getById(String id) async { - final row = await (_db.select( - _db.clipboardItems, - )..where((t) => t.id.equals(id))).getSingleOrNull(); - return row == null ? null : _fromRow(row); - } - - @override - Future getLatest() async { - final row = - await (_db.select(_db.clipboardItems) - ..orderBy([(t) => OrderingTerm.desc(t.modifiedAt)]) - ..limit(1)) - .getSingleOrNull(); - return row == null ? null : _fromRow(row); - } - - @override - Future findByContentAndType( - String content, - ClipboardContentType type, - ) async { - final row = - await (_db.select(_db.clipboardItems)..where( - (t) => t.content.equals(content) & t.type.equals(type.value), - )) - .getSingleOrNull(); - return row == null ? null : _fromRow(row); - } - - @override - Future findByContentHash(String contentHash) async { - final row = await (_db.select( - _db.clipboardItems, - )..where((t) => t.contentHash.equals(contentHash))).getSingleOrNull(); - return row == null ? null : _fromRow(row); - } - - @override - Future> getAll() async { - final rows = await (_db.select( - _db.clipboardItems, - )..orderBy([(t) => OrderingTerm.desc(t.modifiedAt)])).get(); - return rows.map(_fromRow).toList(); - } - - @override - Future delete(String id) => - (_db.delete(_db.clipboardItems)..where((t) => t.id.equals(id))).go(); - - @override - Future clearOldItems(int days, {bool excludePinned = true}) async { - final cutoff = DateTime.now().toUtc().subtract(Duration(days: days)); - final deleted = - await (_db.delete(_db.clipboardItems)..where((t) { - final isOld = t.createdAt.isSmallerThanValue(cutoff); - return excludePinned ? isOld & t.isPinned.equals(false) : isOld; - })) - .go(); - - if (deleted > 50) { - try { - await _db.customStatement('PRAGMA incremental_vacuum'); - } catch (e) { - AppLogger.error('incremental_vacuum failed: $e'); - } - // The deleted rows survive in the -wal until it is truncated. - await walCheckpoint(); - } - - return deleted; - } - - @override - Future deleteAllUnpinned() async { - final deleted = await (_db.delete( - _db.clipboardItems, - )..where((t) => t.isPinned.equals(false))).go(); - if (deleted > 50) { - try { - await _db.customStatement('PRAGMA incremental_vacuum'); - } catch (e) { - AppLogger.error('incremental_vacuum failed: $e'); - } - // The deleted rows survive in the -wal until it is truncated. - await walCheckpoint(); - } - return deleted; - } - - @override - Future count() async { - final result = await _db - .customSelect('SELECT COUNT(*) AS c FROM clipboard_items') - .getSingle(); - return result.read('c'); - } - - @override - Future> search( - String query, { - int limit = 50, - int skip = 0, - }) => searchAdvanced(query: query, limit: limit, skip: skip); - - @override - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }) async { - final normalized = (query != null && query.isNotEmpty) - ? SearchHelper.normalize(query) - : null; - - final hasTextQuery = normalized != null && normalized.isNotEmpty; - final hasTypeFilter = types != null && types.isNotEmpty; - final hasColorFilter = colors != null && colors.isNotEmpty; - - final conditions = []; - final variables = []; - - if (isPinned != null) { - conditions.add('c.is_pinned = ?'); - variables.add(Variable.withBool(isPinned)); - } - - final effectiveTypes = hasTypeFilter ? types : null; - if (effectiveTypes != null) { - final placeholders = List.filled(effectiveTypes.length, '?').join(', '); - conditions.add('c.type IN ($placeholders)'); - for (final t in effectiveTypes) { - variables.add(Variable.withInt(t.value)); - } - } - - final effectiveColors = hasColorFilter ? colors : null; - if (effectiveColors != null) { - final placeholders = List.filled(effectiveColors.length, '?').join(', '); - conditions.add('c.card_color IN ($placeholders)'); - for (final c in effectiveColors) { - variables.add(Variable.withInt(c.value)); - } - } - - final filterClause = conditions.isEmpty ? '1=1' : conditions.join(' AND '); - - if (hasTextQuery) { - // Strip everything that isn't alphanumeric or whitespace for the FTS - // query. FTS5 unicode61 tokenizer treats punctuation as delimiters, so - // passing ".pdf*" or "@*" causes a syntax error or zero matches. - // The full normalized string (with symbols) is kept for the LIKE pattern. - final ftsSafe = normalized - .replaceAll(RegExp(r'[^a-zA-Z0-9\s]'), '') - .replaceAll(RegExp(r'\s+'), ' ') - .trim(); - final likePattern = '%$normalized%'; - - // If nothing alphanumeric remains, skip FTS entirely and use LIKE only. - final hasFtsTokens = ftsSafe.isNotEmpty; - - if (hasFtsTokens) { - final ftsQuery = '$ftsSafe*'; - final ftsFilterVars = [...variables]; - final likeFilterVars = [...variables]; - - // LIKE rows always sort after FTS rows, so only the newest (skip+limit) - // of them can reach the page; bounding the CTE keeps the result exact - // while avoiding a full-table scan into memory on every keystroke. - final likeBound = skip + limit; - final allVariables = [ - Variable.withString(ftsQuery), - ...ftsFilterVars, - ...likeFilterVars, - Variable.withString(likePattern), - Variable.withString(likePattern), - Variable.withString(likePattern), - Variable.withInt(likeBound), - Variable.withInt(limit), - Variable.withInt(skip), - ]; - - final sql = - ''' - WITH fts_results AS ( - SELECT c.*, bm25(ClipboardItems_fts) AS rank, 1 AS source - FROM clipboard_items c - INNER JOIN ClipboardItems_fts fts ON c.rowid = fts.rowid - WHERE ClipboardItems_fts MATCH ? AND $filterClause - ), - like_results AS ( - SELECT c.*, 0.0 AS rank, 2 AS source - FROM clipboard_items c - WHERE $filterClause - AND (LOWER(c.content) LIKE ? OR LOWER(c.label) LIKE ? OR LOWER(c.app_source) LIKE ?) - AND c.id NOT IN (SELECT id FROM fts_results) - ORDER BY c.modified_at DESC - LIMIT ? - ) - SELECT * FROM ( - SELECT * FROM fts_results - UNION ALL - SELECT * FROM like_results - ) - ORDER BY source ASC, rank ASC, modified_at DESC - LIMIT ? OFFSET ? - '''; - - final expectedCount = '?'.allMatches(sql).length; - assert( - allVariables.length == expectedCount, - 'SQL variable count mismatch: expected $expectedCount, got ${allVariables.length}', - ); - - final results = await _db - .customSelect( - sql, - variables: allVariables, - readsFrom: {_db.clipboardItems}, - ) - .get(); - - return results.map((row) => _fromQueryRow(row)).toList(); - } - - // LIKE-only path: query is pure punctuation/symbols (e.g. "@", ".", "+"). - // FTS5 would produce no results for these, so skip it entirely. - final allVariables = [ - ...variables, - Variable.withString(likePattern), - Variable.withString(likePattern), - Variable.withString(likePattern), - Variable.withInt(limit), - Variable.withInt(skip), - ]; - - final sql = - ''' - SELECT c.*, 0.0 AS rank - FROM clipboard_items c - WHERE $filterClause - AND (LOWER(c.content) LIKE ? OR LOWER(c.label) LIKE ? OR LOWER(c.app_source) LIKE ?) - ORDER BY c.modified_at DESC - LIMIT ? OFFSET ? - '''; - - final expectedCount = '?'.allMatches(sql).length; - assert( - allVariables.length == expectedCount, - 'SQL variable count mismatch: expected $expectedCount, got ${allVariables.length}', - ); - - final results = await _db - .customSelect( - sql, - variables: allVariables, - readsFrom: {_db.clipboardItems}, - ) - .get(); - - return results.map((row) => _fromQueryRow(row)).toList(); - } - - final results = await _db - .customSelect( - ''' - SELECT c.* FROM clipboard_items c - WHERE $filterClause - ORDER BY c.modified_at DESC - LIMIT ? OFFSET ? - ''', - variables: [ - ...variables, - Variable.withInt(limit), - Variable.withInt(skip), - ], - readsFrom: {_db.clipboardItems}, - ) - .get(); - - return results.map((row) => _fromQueryRow(row)).toList(); - } - - @override - Future> getImagePaths() async { - final rows = - await (_db.select(_db.clipboardItems) - ..where((t) => t.type.equals(ClipboardContentType.image.value)) - ..where((t) => t.content.length.isBiggerThanValue(0))) - .get(); - return rows.map((r) => r.content).toList(); - } - - @override - Future> getThumbPaths() async { - final rows = await (_db.select( - _db.clipboardItems, - )..where((t) => t.thumbPath.isNotNull())).get(); - return [ - for (final r in rows) - if (r.thumbPath != null && r.thumbPath!.isNotEmpty) r.thumbPath!, - ]; - } - - @override - Future walCheckpoint() async { - try { - await _db.customStatement('PRAGMA wal_checkpoint(TRUNCATE)'); - } catch (e) { - AppLogger.error('walCheckpoint failed: $e'); - } - } - - @override - Future close() => _db.close(); -} diff --git a/core/lib/repository/sqlite_repository.g.dart b/core/lib/repository/sqlite_repository.g.dart deleted file mode 100644 index 7c286480..00000000 --- a/core/lib/repository/sqlite_repository.g.dart +++ /dev/null @@ -1,1297 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'sqlite_repository.dart'; - -// ignore_for_file: type=lint -class $ClipboardItemsTable extends ClipboardItems - with TableInfo<$ClipboardItemsTable, ClipboardRow> { - @override - final GeneratedDatabase attachedDatabase; - final String? _alias; - $ClipboardItemsTable(this.attachedDatabase, [this._alias]); - static const VerificationMeta _idMeta = const VerificationMeta('id'); - @override - late final GeneratedColumn id = GeneratedColumn( - 'id', - aliasedName, - false, - type: DriftSqlType.string, - requiredDuringInsert: true, - ); - static const VerificationMeta _contentMeta = const VerificationMeta( - 'content', - ); - @override - late final GeneratedColumn content = GeneratedColumn( - 'content', - aliasedName, - false, - type: DriftSqlType.string, - requiredDuringInsert: true, - ); - static const VerificationMeta _typeMeta = const VerificationMeta('type'); - @override - late final GeneratedColumn type = GeneratedColumn( - 'type', - aliasedName, - false, - type: DriftSqlType.int, - requiredDuringInsert: true, - ); - static const VerificationMeta _createdAtMeta = const VerificationMeta( - 'createdAt', - ); - @override - late final GeneratedColumn createdAt = GeneratedColumn( - 'created_at', - aliasedName, - false, - type: DriftSqlType.dateTime, - requiredDuringInsert: true, - ); - static const VerificationMeta _modifiedAtMeta = const VerificationMeta( - 'modifiedAt', - ); - @override - late final GeneratedColumn modifiedAt = GeneratedColumn( - 'modified_at', - aliasedName, - false, - type: DriftSqlType.dateTime, - requiredDuringInsert: true, - ); - static const VerificationMeta _appSourceMeta = const VerificationMeta( - 'appSource', - ); - @override - late final GeneratedColumn appSource = GeneratedColumn( - 'app_source', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); - static const VerificationMeta _isPinnedMeta = const VerificationMeta( - 'isPinned', - ); - @override - late final GeneratedColumn isPinned = GeneratedColumn( - 'is_pinned', - aliasedName, - false, - type: DriftSqlType.bool, - requiredDuringInsert: false, - defaultConstraints: GeneratedColumn.constraintIsAlways( - 'CHECK ("is_pinned" IN (0, 1))', - ), - defaultValue: const Constant(false), - ); - static const VerificationMeta _labelMeta = const VerificationMeta('label'); - @override - late final GeneratedColumn label = GeneratedColumn( - 'label', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); - static const VerificationMeta _cardColorMeta = const VerificationMeta( - 'cardColor', - ); - @override - late final GeneratedColumn cardColor = GeneratedColumn( - 'card_color', - aliasedName, - false, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultValue: const Constant(0), - ); - static const VerificationMeta _metadataMeta = const VerificationMeta( - 'metadata', - ); - @override - late final GeneratedColumn metadata = GeneratedColumn( - 'metadata', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); - static const VerificationMeta _pasteCountMeta = const VerificationMeta( - 'pasteCount', - ); - @override - late final GeneratedColumn pasteCount = GeneratedColumn( - 'paste_count', - aliasedName, - false, - type: DriftSqlType.int, - requiredDuringInsert: false, - defaultValue: const Constant(0), - ); - static const VerificationMeta _contentHashMeta = const VerificationMeta( - 'contentHash', - ); - @override - late final GeneratedColumn contentHash = GeneratedColumn( - 'content_hash', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); - static const VerificationMeta _thumbPathMeta = const VerificationMeta( - 'thumbPath', - ); - @override - late final GeneratedColumn thumbPath = GeneratedColumn( - 'thumb_path', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); - static const VerificationMeta _sourceModifiedAtMeta = const VerificationMeta( - 'sourceModifiedAt', - ); - @override - late final GeneratedColumn sourceModifiedAt = - GeneratedColumn( - 'source_modified_at', - aliasedName, - true, - type: DriftSqlType.dateTime, - requiredDuringInsert: false, - ); - static const VerificationMeta _brokenSinceMeta = const VerificationMeta( - 'brokenSince', - ); - @override - late final GeneratedColumn brokenSince = GeneratedColumn( - 'broken_since', - aliasedName, - true, - type: DriftSqlType.dateTime, - requiredDuringInsert: false, - ); - @override - List get $columns => [ - id, - content, - type, - createdAt, - modifiedAt, - appSource, - isPinned, - label, - cardColor, - metadata, - pasteCount, - contentHash, - thumbPath, - sourceModifiedAt, - brokenSince, - ]; - @override - String get aliasedName => _alias ?? actualTableName; - @override - String get actualTableName => $name; - static const String $name = 'clipboard_items'; - @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { - final context = VerificationContext(); - final data = instance.toColumns(true); - if (data.containsKey('id')) { - context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); - } else if (isInserting) { - context.missing(_idMeta); - } - if (data.containsKey('content')) { - context.handle( - _contentMeta, - content.isAcceptableOrUnknown(data['content']!, _contentMeta), - ); - } else if (isInserting) { - context.missing(_contentMeta); - } - if (data.containsKey('type')) { - context.handle( - _typeMeta, - type.isAcceptableOrUnknown(data['type']!, _typeMeta), - ); - } else if (isInserting) { - context.missing(_typeMeta); - } - if (data.containsKey('created_at')) { - context.handle( - _createdAtMeta, - createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), - ); - } else if (isInserting) { - context.missing(_createdAtMeta); - } - if (data.containsKey('modified_at')) { - context.handle( - _modifiedAtMeta, - modifiedAt.isAcceptableOrUnknown(data['modified_at']!, _modifiedAtMeta), - ); - } else if (isInserting) { - context.missing(_modifiedAtMeta); - } - if (data.containsKey('app_source')) { - context.handle( - _appSourceMeta, - appSource.isAcceptableOrUnknown(data['app_source']!, _appSourceMeta), - ); - } - if (data.containsKey('is_pinned')) { - context.handle( - _isPinnedMeta, - isPinned.isAcceptableOrUnknown(data['is_pinned']!, _isPinnedMeta), - ); - } - if (data.containsKey('label')) { - context.handle( - _labelMeta, - label.isAcceptableOrUnknown(data['label']!, _labelMeta), - ); - } - if (data.containsKey('card_color')) { - context.handle( - _cardColorMeta, - cardColor.isAcceptableOrUnknown(data['card_color']!, _cardColorMeta), - ); - } - if (data.containsKey('metadata')) { - context.handle( - _metadataMeta, - metadata.isAcceptableOrUnknown(data['metadata']!, _metadataMeta), - ); - } - if (data.containsKey('paste_count')) { - context.handle( - _pasteCountMeta, - pasteCount.isAcceptableOrUnknown(data['paste_count']!, _pasteCountMeta), - ); - } - if (data.containsKey('content_hash')) { - context.handle( - _contentHashMeta, - contentHash.isAcceptableOrUnknown( - data['content_hash']!, - _contentHashMeta, - ), - ); - } - if (data.containsKey('thumb_path')) { - context.handle( - _thumbPathMeta, - thumbPath.isAcceptableOrUnknown(data['thumb_path']!, _thumbPathMeta), - ); - } - if (data.containsKey('source_modified_at')) { - context.handle( - _sourceModifiedAtMeta, - sourceModifiedAt.isAcceptableOrUnknown( - data['source_modified_at']!, - _sourceModifiedAtMeta, - ), - ); - } - if (data.containsKey('broken_since')) { - context.handle( - _brokenSinceMeta, - brokenSince.isAcceptableOrUnknown( - data['broken_since']!, - _brokenSinceMeta, - ), - ); - } - return context; - } - - @override - Set get $primaryKey => {id}; - @override - ClipboardRow map(Map data, {String? tablePrefix}) { - final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return ClipboardRow( - id: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}id'], - )!, - content: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}content'], - )!, - type: attachedDatabase.typeMapping.read( - DriftSqlType.int, - data['${effectivePrefix}type'], - )!, - createdAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}created_at'], - )!, - modifiedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}modified_at'], - )!, - appSource: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}app_source'], - ), - isPinned: attachedDatabase.typeMapping.read( - DriftSqlType.bool, - data['${effectivePrefix}is_pinned'], - )!, - label: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}label'], - ), - cardColor: attachedDatabase.typeMapping.read( - DriftSqlType.int, - data['${effectivePrefix}card_color'], - )!, - metadata: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}metadata'], - ), - pasteCount: attachedDatabase.typeMapping.read( - DriftSqlType.int, - data['${effectivePrefix}paste_count'], - )!, - contentHash: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}content_hash'], - ), - thumbPath: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}thumb_path'], - ), - sourceModifiedAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}source_modified_at'], - ), - brokenSince: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}broken_since'], - ), - ); - } - - @override - $ClipboardItemsTable createAlias(String alias) { - return $ClipboardItemsTable(attachedDatabase, alias); - } -} - -class ClipboardRow extends DataClass implements Insertable { - final String id; - final String content; - final int type; - final DateTime createdAt; - final DateTime modifiedAt; - final String? appSource; - final bool isPinned; - final String? label; - final int cardColor; - final String? metadata; - final int pasteCount; - final String? contentHash; - final String? thumbPath; - final DateTime? sourceModifiedAt; - final DateTime? brokenSince; - const ClipboardRow({ - required this.id, - required this.content, - required this.type, - required this.createdAt, - required this.modifiedAt, - this.appSource, - required this.isPinned, - this.label, - required this.cardColor, - this.metadata, - required this.pasteCount, - this.contentHash, - this.thumbPath, - this.sourceModifiedAt, - this.brokenSince, - }); - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - map['id'] = Variable(id); - map['content'] = Variable(content); - map['type'] = Variable(type); - map['created_at'] = Variable(createdAt); - map['modified_at'] = Variable(modifiedAt); - if (!nullToAbsent || appSource != null) { - map['app_source'] = Variable(appSource); - } - map['is_pinned'] = Variable(isPinned); - if (!nullToAbsent || label != null) { - map['label'] = Variable(label); - } - map['card_color'] = Variable(cardColor); - if (!nullToAbsent || metadata != null) { - map['metadata'] = Variable(metadata); - } - map['paste_count'] = Variable(pasteCount); - if (!nullToAbsent || contentHash != null) { - map['content_hash'] = Variable(contentHash); - } - if (!nullToAbsent || thumbPath != null) { - map['thumb_path'] = Variable(thumbPath); - } - if (!nullToAbsent || sourceModifiedAt != null) { - map['source_modified_at'] = Variable(sourceModifiedAt); - } - if (!nullToAbsent || brokenSince != null) { - map['broken_since'] = Variable(brokenSince); - } - return map; - } - - ClipboardItemsCompanion toCompanion(bool nullToAbsent) { - return ClipboardItemsCompanion( - id: Value(id), - content: Value(content), - type: Value(type), - createdAt: Value(createdAt), - modifiedAt: Value(modifiedAt), - appSource: appSource == null && nullToAbsent - ? const Value.absent() - : Value(appSource), - isPinned: Value(isPinned), - label: label == null && nullToAbsent - ? const Value.absent() - : Value(label), - cardColor: Value(cardColor), - metadata: metadata == null && nullToAbsent - ? const Value.absent() - : Value(metadata), - pasteCount: Value(pasteCount), - contentHash: contentHash == null && nullToAbsent - ? const Value.absent() - : Value(contentHash), - thumbPath: thumbPath == null && nullToAbsent - ? const Value.absent() - : Value(thumbPath), - sourceModifiedAt: sourceModifiedAt == null && nullToAbsent - ? const Value.absent() - : Value(sourceModifiedAt), - brokenSince: brokenSince == null && nullToAbsent - ? const Value.absent() - : Value(brokenSince), - ); - } - - factory ClipboardRow.fromJson( - Map json, { - ValueSerializer? serializer, - }) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return ClipboardRow( - id: serializer.fromJson(json['id']), - content: serializer.fromJson(json['content']), - type: serializer.fromJson(json['type']), - createdAt: serializer.fromJson(json['createdAt']), - modifiedAt: serializer.fromJson(json['modifiedAt']), - appSource: serializer.fromJson(json['appSource']), - isPinned: serializer.fromJson(json['isPinned']), - label: serializer.fromJson(json['label']), - cardColor: serializer.fromJson(json['cardColor']), - metadata: serializer.fromJson(json['metadata']), - pasteCount: serializer.fromJson(json['pasteCount']), - contentHash: serializer.fromJson(json['contentHash']), - thumbPath: serializer.fromJson(json['thumbPath']), - sourceModifiedAt: serializer.fromJson( - json['sourceModifiedAt'], - ), - brokenSince: serializer.fromJson(json['brokenSince']), - ); - } - @override - Map toJson({ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return { - 'id': serializer.toJson(id), - 'content': serializer.toJson(content), - 'type': serializer.toJson(type), - 'createdAt': serializer.toJson(createdAt), - 'modifiedAt': serializer.toJson(modifiedAt), - 'appSource': serializer.toJson(appSource), - 'isPinned': serializer.toJson(isPinned), - 'label': serializer.toJson(label), - 'cardColor': serializer.toJson(cardColor), - 'metadata': serializer.toJson(metadata), - 'pasteCount': serializer.toJson(pasteCount), - 'contentHash': serializer.toJson(contentHash), - 'thumbPath': serializer.toJson(thumbPath), - 'sourceModifiedAt': serializer.toJson(sourceModifiedAt), - 'brokenSince': serializer.toJson(brokenSince), - }; - } - - ClipboardRow copyWith({ - String? id, - String? content, - int? type, - DateTime? createdAt, - DateTime? modifiedAt, - Value appSource = const Value.absent(), - bool? isPinned, - Value label = const Value.absent(), - int? cardColor, - Value metadata = const Value.absent(), - int? pasteCount, - Value contentHash = const Value.absent(), - Value thumbPath = const Value.absent(), - Value sourceModifiedAt = const Value.absent(), - Value brokenSince = const Value.absent(), - }) => ClipboardRow( - id: id ?? this.id, - content: content ?? this.content, - type: type ?? this.type, - createdAt: createdAt ?? this.createdAt, - modifiedAt: modifiedAt ?? this.modifiedAt, - appSource: appSource.present ? appSource.value : this.appSource, - isPinned: isPinned ?? this.isPinned, - label: label.present ? label.value : this.label, - cardColor: cardColor ?? this.cardColor, - metadata: metadata.present ? metadata.value : this.metadata, - pasteCount: pasteCount ?? this.pasteCount, - contentHash: contentHash.present ? contentHash.value : this.contentHash, - thumbPath: thumbPath.present ? thumbPath.value : this.thumbPath, - sourceModifiedAt: sourceModifiedAt.present - ? sourceModifiedAt.value - : this.sourceModifiedAt, - brokenSince: brokenSince.present ? brokenSince.value : this.brokenSince, - ); - ClipboardRow copyWithCompanion(ClipboardItemsCompanion data) { - return ClipboardRow( - id: data.id.present ? data.id.value : this.id, - content: data.content.present ? data.content.value : this.content, - type: data.type.present ? data.type.value : this.type, - createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, - modifiedAt: data.modifiedAt.present - ? data.modifiedAt.value - : this.modifiedAt, - appSource: data.appSource.present ? data.appSource.value : this.appSource, - isPinned: data.isPinned.present ? data.isPinned.value : this.isPinned, - label: data.label.present ? data.label.value : this.label, - cardColor: data.cardColor.present ? data.cardColor.value : this.cardColor, - metadata: data.metadata.present ? data.metadata.value : this.metadata, - pasteCount: data.pasteCount.present - ? data.pasteCount.value - : this.pasteCount, - contentHash: data.contentHash.present - ? data.contentHash.value - : this.contentHash, - thumbPath: data.thumbPath.present ? data.thumbPath.value : this.thumbPath, - sourceModifiedAt: data.sourceModifiedAt.present - ? data.sourceModifiedAt.value - : this.sourceModifiedAt, - brokenSince: data.brokenSince.present - ? data.brokenSince.value - : this.brokenSince, - ); - } - - @override - String toString() { - return (StringBuffer('ClipboardRow(') - ..write('id: $id, ') - ..write('content: $content, ') - ..write('type: $type, ') - ..write('createdAt: $createdAt, ') - ..write('modifiedAt: $modifiedAt, ') - ..write('appSource: $appSource, ') - ..write('isPinned: $isPinned, ') - ..write('label: $label, ') - ..write('cardColor: $cardColor, ') - ..write('metadata: $metadata, ') - ..write('pasteCount: $pasteCount, ') - ..write('contentHash: $contentHash, ') - ..write('thumbPath: $thumbPath, ') - ..write('sourceModifiedAt: $sourceModifiedAt, ') - ..write('brokenSince: $brokenSince') - ..write(')')) - .toString(); - } - - @override - int get hashCode => Object.hash( - id, - content, - type, - createdAt, - modifiedAt, - appSource, - isPinned, - label, - cardColor, - metadata, - pasteCount, - contentHash, - thumbPath, - sourceModifiedAt, - brokenSince, - ); - @override - bool operator ==(Object other) => - identical(this, other) || - (other is ClipboardRow && - other.id == this.id && - other.content == this.content && - other.type == this.type && - other.createdAt == this.createdAt && - other.modifiedAt == this.modifiedAt && - other.appSource == this.appSource && - other.isPinned == this.isPinned && - other.label == this.label && - other.cardColor == this.cardColor && - other.metadata == this.metadata && - other.pasteCount == this.pasteCount && - other.contentHash == this.contentHash && - other.thumbPath == this.thumbPath && - other.sourceModifiedAt == this.sourceModifiedAt && - other.brokenSince == this.brokenSince); -} - -class ClipboardItemsCompanion extends UpdateCompanion { - final Value id; - final Value content; - final Value type; - final Value createdAt; - final Value modifiedAt; - final Value appSource; - final Value isPinned; - final Value label; - final Value cardColor; - final Value metadata; - final Value pasteCount; - final Value contentHash; - final Value thumbPath; - final Value sourceModifiedAt; - final Value brokenSince; - final Value rowid; - const ClipboardItemsCompanion({ - this.id = const Value.absent(), - this.content = const Value.absent(), - this.type = const Value.absent(), - this.createdAt = const Value.absent(), - this.modifiedAt = const Value.absent(), - this.appSource = const Value.absent(), - this.isPinned = const Value.absent(), - this.label = const Value.absent(), - this.cardColor = const Value.absent(), - this.metadata = const Value.absent(), - this.pasteCount = const Value.absent(), - this.contentHash = const Value.absent(), - this.thumbPath = const Value.absent(), - this.sourceModifiedAt = const Value.absent(), - this.brokenSince = const Value.absent(), - this.rowid = const Value.absent(), - }); - ClipboardItemsCompanion.insert({ - required String id, - required String content, - required int type, - required DateTime createdAt, - required DateTime modifiedAt, - this.appSource = const Value.absent(), - this.isPinned = const Value.absent(), - this.label = const Value.absent(), - this.cardColor = const Value.absent(), - this.metadata = const Value.absent(), - this.pasteCount = const Value.absent(), - this.contentHash = const Value.absent(), - this.thumbPath = const Value.absent(), - this.sourceModifiedAt = const Value.absent(), - this.brokenSince = const Value.absent(), - this.rowid = const Value.absent(), - }) : id = Value(id), - content = Value(content), - type = Value(type), - createdAt = Value(createdAt), - modifiedAt = Value(modifiedAt); - static Insertable custom({ - Expression? id, - Expression? content, - Expression? type, - Expression? createdAt, - Expression? modifiedAt, - Expression? appSource, - Expression? isPinned, - Expression? label, - Expression? cardColor, - Expression? metadata, - Expression? pasteCount, - Expression? contentHash, - Expression? thumbPath, - Expression? sourceModifiedAt, - Expression? brokenSince, - Expression? rowid, - }) { - return RawValuesInsertable({ - if (id != null) 'id': id, - if (content != null) 'content': content, - if (type != null) 'type': type, - if (createdAt != null) 'created_at': createdAt, - if (modifiedAt != null) 'modified_at': modifiedAt, - if (appSource != null) 'app_source': appSource, - if (isPinned != null) 'is_pinned': isPinned, - if (label != null) 'label': label, - if (cardColor != null) 'card_color': cardColor, - if (metadata != null) 'metadata': metadata, - if (pasteCount != null) 'paste_count': pasteCount, - if (contentHash != null) 'content_hash': contentHash, - if (thumbPath != null) 'thumb_path': thumbPath, - if (sourceModifiedAt != null) 'source_modified_at': sourceModifiedAt, - if (brokenSince != null) 'broken_since': brokenSince, - if (rowid != null) 'rowid': rowid, - }); - } - - ClipboardItemsCompanion copyWith({ - Value? id, - Value? content, - Value? type, - Value? createdAt, - Value? modifiedAt, - Value? appSource, - Value? isPinned, - Value? label, - Value? cardColor, - Value? metadata, - Value? pasteCount, - Value? contentHash, - Value? thumbPath, - Value? sourceModifiedAt, - Value? brokenSince, - Value? rowid, - }) { - return ClipboardItemsCompanion( - id: id ?? this.id, - content: content ?? this.content, - type: type ?? this.type, - createdAt: createdAt ?? this.createdAt, - modifiedAt: modifiedAt ?? this.modifiedAt, - appSource: appSource ?? this.appSource, - isPinned: isPinned ?? this.isPinned, - label: label ?? this.label, - cardColor: cardColor ?? this.cardColor, - metadata: metadata ?? this.metadata, - pasteCount: pasteCount ?? this.pasteCount, - contentHash: contentHash ?? this.contentHash, - thumbPath: thumbPath ?? this.thumbPath, - sourceModifiedAt: sourceModifiedAt ?? this.sourceModifiedAt, - brokenSince: brokenSince ?? this.brokenSince, - rowid: rowid ?? this.rowid, - ); - } - - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - if (id.present) { - map['id'] = Variable(id.value); - } - if (content.present) { - map['content'] = Variable(content.value); - } - if (type.present) { - map['type'] = Variable(type.value); - } - if (createdAt.present) { - map['created_at'] = Variable(createdAt.value); - } - if (modifiedAt.present) { - map['modified_at'] = Variable(modifiedAt.value); - } - if (appSource.present) { - map['app_source'] = Variable(appSource.value); - } - if (isPinned.present) { - map['is_pinned'] = Variable(isPinned.value); - } - if (label.present) { - map['label'] = Variable(label.value); - } - if (cardColor.present) { - map['card_color'] = Variable(cardColor.value); - } - if (metadata.present) { - map['metadata'] = Variable(metadata.value); - } - if (pasteCount.present) { - map['paste_count'] = Variable(pasteCount.value); - } - if (contentHash.present) { - map['content_hash'] = Variable(contentHash.value); - } - if (thumbPath.present) { - map['thumb_path'] = Variable(thumbPath.value); - } - if (sourceModifiedAt.present) { - map['source_modified_at'] = Variable(sourceModifiedAt.value); - } - if (brokenSince.present) { - map['broken_since'] = Variable(brokenSince.value); - } - if (rowid.present) { - map['rowid'] = Variable(rowid.value); - } - return map; - } - - @override - String toString() { - return (StringBuffer('ClipboardItemsCompanion(') - ..write('id: $id, ') - ..write('content: $content, ') - ..write('type: $type, ') - ..write('createdAt: $createdAt, ') - ..write('modifiedAt: $modifiedAt, ') - ..write('appSource: $appSource, ') - ..write('isPinned: $isPinned, ') - ..write('label: $label, ') - ..write('cardColor: $cardColor, ') - ..write('metadata: $metadata, ') - ..write('pasteCount: $pasteCount, ') - ..write('contentHash: $contentHash, ') - ..write('thumbPath: $thumbPath, ') - ..write('sourceModifiedAt: $sourceModifiedAt, ') - ..write('brokenSince: $brokenSince, ') - ..write('rowid: $rowid') - ..write(')')) - .toString(); - } -} - -abstract class _$_AppDatabase extends GeneratedDatabase { - _$_AppDatabase(QueryExecutor e) : super(e); - $_AppDatabaseManager get managers => $_AppDatabaseManager(this); - late final $ClipboardItemsTable clipboardItems = $ClipboardItemsTable(this); - @override - Iterable> get allTables => - allSchemaEntities.whereType>(); - @override - List get allSchemaEntities => [clipboardItems]; -} - -typedef $$ClipboardItemsTableCreateCompanionBuilder = - ClipboardItemsCompanion Function({ - required String id, - required String content, - required int type, - required DateTime createdAt, - required DateTime modifiedAt, - Value appSource, - Value isPinned, - Value label, - Value cardColor, - Value metadata, - Value pasteCount, - Value contentHash, - Value thumbPath, - Value sourceModifiedAt, - Value brokenSince, - Value rowid, - }); -typedef $$ClipboardItemsTableUpdateCompanionBuilder = - ClipboardItemsCompanion Function({ - Value id, - Value content, - Value type, - Value createdAt, - Value modifiedAt, - Value appSource, - Value isPinned, - Value label, - Value cardColor, - Value metadata, - Value pasteCount, - Value contentHash, - Value thumbPath, - Value sourceModifiedAt, - Value brokenSince, - Value rowid, - }); - -class $$ClipboardItemsTableFilterComposer - extends Composer<_$_AppDatabase, $ClipboardItemsTable> { - $$ClipboardItemsTableFilterComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - ColumnFilters get id => $composableBuilder( - column: $table.id, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get content => $composableBuilder( - column: $table.content, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get type => $composableBuilder( - column: $table.type, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get modifiedAt => $composableBuilder( - column: $table.modifiedAt, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get appSource => $composableBuilder( - column: $table.appSource, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get isPinned => $composableBuilder( - column: $table.isPinned, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get label => $composableBuilder( - column: $table.label, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get cardColor => $composableBuilder( - column: $table.cardColor, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get metadata => $composableBuilder( - column: $table.metadata, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get pasteCount => $composableBuilder( - column: $table.pasteCount, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get contentHash => $composableBuilder( - column: $table.contentHash, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get thumbPath => $composableBuilder( - column: $table.thumbPath, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get sourceModifiedAt => $composableBuilder( - column: $table.sourceModifiedAt, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get brokenSince => $composableBuilder( - column: $table.brokenSince, - builder: (column) => ColumnFilters(column), - ); -} - -class $$ClipboardItemsTableOrderingComposer - extends Composer<_$_AppDatabase, $ClipboardItemsTable> { - $$ClipboardItemsTableOrderingComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get content => $composableBuilder( - column: $table.content, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get type => $composableBuilder( - column: $table.type, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get modifiedAt => $composableBuilder( - column: $table.modifiedAt, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get appSource => $composableBuilder( - column: $table.appSource, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get isPinned => $composableBuilder( - column: $table.isPinned, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get label => $composableBuilder( - column: $table.label, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get cardColor => $composableBuilder( - column: $table.cardColor, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get metadata => $composableBuilder( - column: $table.metadata, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get pasteCount => $composableBuilder( - column: $table.pasteCount, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get contentHash => $composableBuilder( - column: $table.contentHash, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get thumbPath => $composableBuilder( - column: $table.thumbPath, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get sourceModifiedAt => $composableBuilder( - column: $table.sourceModifiedAt, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get brokenSince => $composableBuilder( - column: $table.brokenSince, - builder: (column) => ColumnOrderings(column), - ); -} - -class $$ClipboardItemsTableAnnotationComposer - extends Composer<_$_AppDatabase, $ClipboardItemsTable> { - $$ClipboardItemsTableAnnotationComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); - - GeneratedColumn get content => - $composableBuilder(column: $table.content, builder: (column) => column); - - GeneratedColumn get type => - $composableBuilder(column: $table.type, builder: (column) => column); - - GeneratedColumn get createdAt => - $composableBuilder(column: $table.createdAt, builder: (column) => column); - - GeneratedColumn get modifiedAt => $composableBuilder( - column: $table.modifiedAt, - builder: (column) => column, - ); - - GeneratedColumn get appSource => - $composableBuilder(column: $table.appSource, builder: (column) => column); - - GeneratedColumn get isPinned => - $composableBuilder(column: $table.isPinned, builder: (column) => column); - - GeneratedColumn get label => - $composableBuilder(column: $table.label, builder: (column) => column); - - GeneratedColumn get cardColor => - $composableBuilder(column: $table.cardColor, builder: (column) => column); - - GeneratedColumn get metadata => - $composableBuilder(column: $table.metadata, builder: (column) => column); - - GeneratedColumn get pasteCount => $composableBuilder( - column: $table.pasteCount, - builder: (column) => column, - ); - - GeneratedColumn get contentHash => $composableBuilder( - column: $table.contentHash, - builder: (column) => column, - ); - - GeneratedColumn get thumbPath => - $composableBuilder(column: $table.thumbPath, builder: (column) => column); - - GeneratedColumn get sourceModifiedAt => $composableBuilder( - column: $table.sourceModifiedAt, - builder: (column) => column, - ); - - GeneratedColumn get brokenSince => $composableBuilder( - column: $table.brokenSince, - builder: (column) => column, - ); -} - -class $$ClipboardItemsTableTableManager - extends - RootTableManager< - _$_AppDatabase, - $ClipboardItemsTable, - ClipboardRow, - $$ClipboardItemsTableFilterComposer, - $$ClipboardItemsTableOrderingComposer, - $$ClipboardItemsTableAnnotationComposer, - $$ClipboardItemsTableCreateCompanionBuilder, - $$ClipboardItemsTableUpdateCompanionBuilder, - ( - ClipboardRow, - BaseReferences<_$_AppDatabase, $ClipboardItemsTable, ClipboardRow>, - ), - ClipboardRow, - PrefetchHooks Function() - > { - $$ClipboardItemsTableTableManager( - _$_AppDatabase db, - $ClipboardItemsTable table, - ) : super( - TableManagerState( - db: db, - table: table, - createFilteringComposer: () => - $$ClipboardItemsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$ClipboardItemsTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$ClipboardItemsTableAnnotationComposer($db: db, $table: table), - updateCompanionCallback: - ({ - Value id = const Value.absent(), - Value content = const Value.absent(), - Value type = const Value.absent(), - Value createdAt = const Value.absent(), - Value modifiedAt = const Value.absent(), - Value appSource = const Value.absent(), - Value isPinned = const Value.absent(), - Value label = const Value.absent(), - Value cardColor = const Value.absent(), - Value metadata = const Value.absent(), - Value pasteCount = const Value.absent(), - Value contentHash = const Value.absent(), - Value thumbPath = const Value.absent(), - Value sourceModifiedAt = const Value.absent(), - Value brokenSince = const Value.absent(), - Value rowid = const Value.absent(), - }) => ClipboardItemsCompanion( - id: id, - content: content, - type: type, - createdAt: createdAt, - modifiedAt: modifiedAt, - appSource: appSource, - isPinned: isPinned, - label: label, - cardColor: cardColor, - metadata: metadata, - pasteCount: pasteCount, - contentHash: contentHash, - thumbPath: thumbPath, - sourceModifiedAt: sourceModifiedAt, - brokenSince: brokenSince, - rowid: rowid, - ), - createCompanionCallback: - ({ - required String id, - required String content, - required int type, - required DateTime createdAt, - required DateTime modifiedAt, - Value appSource = const Value.absent(), - Value isPinned = const Value.absent(), - Value label = const Value.absent(), - Value cardColor = const Value.absent(), - Value metadata = const Value.absent(), - Value pasteCount = const Value.absent(), - Value contentHash = const Value.absent(), - Value thumbPath = const Value.absent(), - Value sourceModifiedAt = const Value.absent(), - Value brokenSince = const Value.absent(), - Value rowid = const Value.absent(), - }) => ClipboardItemsCompanion.insert( - id: id, - content: content, - type: type, - createdAt: createdAt, - modifiedAt: modifiedAt, - appSource: appSource, - isPinned: isPinned, - label: label, - cardColor: cardColor, - metadata: metadata, - pasteCount: pasteCount, - contentHash: contentHash, - thumbPath: thumbPath, - sourceModifiedAt: sourceModifiedAt, - brokenSince: brokenSince, - rowid: rowid, - ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), - prefetchHooksCallback: null, - ), - ); -} - -typedef $$ClipboardItemsTableProcessedTableManager = - ProcessedTableManager< - _$_AppDatabase, - $ClipboardItemsTable, - ClipboardRow, - $$ClipboardItemsTableFilterComposer, - $$ClipboardItemsTableOrderingComposer, - $$ClipboardItemsTableAnnotationComposer, - $$ClipboardItemsTableCreateCompanionBuilder, - $$ClipboardItemsTableUpdateCompanionBuilder, - ( - ClipboardRow, - BaseReferences<_$_AppDatabase, $ClipboardItemsTable, ClipboardRow>, - ), - ClipboardRow, - PrefetchHooks Function() - >; - -class $_AppDatabaseManager { - final _$_AppDatabase _db; - $_AppDatabaseManager(this._db); - $$ClipboardItemsTableTableManager get clipboardItems => - $$ClipboardItemsTableTableManager(_db, _db.clipboardItems); -} diff --git a/core/lib/search/.gitkeep b/core/lib/search/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/core/lib/search/search_helper.dart b/core/lib/search/search_helper.dart deleted file mode 100644 index 983df96d..00000000 --- a/core/lib/search/search_helper.dart +++ /dev/null @@ -1,138 +0,0 @@ -class SearchHelper { - SearchHelper._(); - - static final _combiningDiacritics = RegExp(r'[\u0300-\u036f]'); - - static String normalize(String text) { - // Unicode NFD decomposition splits base chars from combining marks, - // then we strip the combining diacritical marks (U+0300–U+036F). - // Finally, handle special ligatures that NFD doesn't decompose. - var result = text.toLowerCase(); - - // NFD decomposes e.g. 'é' → 'e' + '\u0301' - // Dart strings are UTF-16; we can approximate NFD by using - // the runes-based approach with the combining marks regex. - // Dart doesn't have a built-in normalize(), so we use a manual - // decomposition for the most common cases plus strip combining marks. - result = _expandLigatures(result); - result = _decomposeToNfd(result); - result = result.replaceAll(_combiningDiacritics, ''); - - return result; - } - - static String _expandLigatures(String text) { - return text - .replaceAll('ß', 'ss') - .replaceAll('æ', 'ae') - .replaceAll('œ', 'oe') - .replaceAll('ð', 'd') - .replaceAll('þ', 'th') - .replaceAll('ł', 'l') - .replaceAll('đ', 'd'); - } - - static String _decomposeToNfd(String text) { - final buffer = StringBuffer(); - for (final rune in text.runes) { - final decomposed = _nfdMap[rune]; - if (decomposed != null) { - buffer.write(decomposed); - } else { - buffer.writeCharCode(rune); - } - } - return buffer.toString(); - } - - // NFD decomposition map for common accented characters. - // Maps composed Unicode codepoint → base char + combining mark(s). - // The combining marks are then stripped by _combiningDiacritics regex. - static final Map _nfdMap = { - // Latin lowercase - 0x00E0: 'a\u0300', // à - 0x00E1: 'a\u0301', // á - 0x00E2: 'a\u0302', // â - 0x00E3: 'a\u0303', // ã - 0x00E4: 'a\u0308', // ä - 0x00E5: 'a\u030A', // å - 0x00E7: 'c\u0327', // ç - 0x00E8: 'e\u0300', // è - 0x00E9: 'e\u0301', // é - 0x00EA: 'e\u0302', // ê - 0x00EB: 'e\u0308', // ë - 0x00EC: 'i\u0300', // ì - 0x00ED: 'i\u0301', // í - 0x00EE: 'i\u0302', // î - 0x00EF: 'i\u0308', // ï - 0x00F1: 'n\u0303', // ñ - 0x00F2: 'o\u0300', // ò - 0x00F3: 'o\u0301', // ó - 0x00F4: 'o\u0302', // ô - 0x00F5: 'o\u0303', // õ - 0x00F6: 'o\u0308', // ö - 0x00F8: 'o', // ø (no combining mark, just strip) - 0x00F9: 'u\u0300', // ù - 0x00FA: 'u\u0301', // ú - 0x00FB: 'u\u0302', // û - 0x00FC: 'u\u0308', // ü - 0x00FD: 'y\u0301', // ý - 0x00FF: 'y\u0308', // ÿ - // Extended Latin - 0x0100: 'a', // Ā - 0x0101: 'a', // ā - 0x0102: 'a', // Ă - 0x0103: 'a', // ă - 0x0104: 'a', // Ą - 0x0105: 'a', // ą - 0x0106: 'c', // Ć - 0x0107: 'c', // ć - 0x010C: 'c', // Č - 0x010D: 'c', // č - 0x010E: 'd', // Ď - 0x010F: 'd', // ď - 0x0112: 'e', // Ē - 0x0113: 'e', // ē - 0x0116: 'e', // Ė - 0x0117: 'e', // ė - 0x0118: 'e', // Ę - 0x0119: 'e', // ę - 0x011A: 'e', // Ě - 0x011B: 'e', // ě - 0x011E: 'g', // Ğ - 0x011F: 'g', // ğ - 0x0130: 'i', // İ - 0x0131: 'i', // ı - - 0x0143: 'n', // Ń - 0x0144: 'n', // ń - 0x0147: 'n', // Ň - 0x0148: 'n', // ň - 0x0150: 'o', // Ő - 0x0151: 'o', // ő - 0x0154: 'r', // Ŕ - 0x0155: 'r', // ŕ - 0x0158: 'r', // Ř - 0x0159: 'r', // ř - 0x015A: 's', // Ś - 0x015B: 's', // ś - 0x015E: 's', // Ş - 0x015F: 's', // ş - 0x0160: 's', // Š - 0x0161: 's', // š - 0x0162: 't', // Ţ - 0x0163: 't', // ţ - 0x0164: 't', // Ť - 0x0165: 't', // ť - 0x016E: 'u', // Ů - 0x016F: 'u', // ů - 0x0170: 'u', // Ű - 0x0171: 'u', // ű - 0x017D: 'z', // Ž - 0x017E: 'z', // ž - 0x0179: 'z', // Ź - 0x017A: 'z', // ź - 0x017B: 'z', // Ż - 0x017C: 'z', // ż - }; -} diff --git a/core/lib/services/.gitkeep b/core/lib/services/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/core/lib/services/app_logger.dart b/core/lib/services/app_logger.dart deleted file mode 100644 index b6574a26..00000000 --- a/core/lib/services/app_logger.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'dart:io'; - -import 'package:path/path.dart' as p; - -class AppLogger { - AppLogger._(); - - static String? _logDirectory; - static String? _logFilePath; - static bool _isInitialized = false; - static bool isEnabled = true; - - static const int _maxLogAgeDays = 7; - static const int _maxLogSizeBytes = 10 * 1024 * 1024; - - static String? get logFilePath => _logFilePath; - static String? get logDirectory => _logDirectory; - - static void initialize(String logsPath) { - if (_isInitialized) return; - try { - _logDirectory = logsPath; - final now = DateTime.now(); - final dateStr = '${now.year}-${_pad(now.month)}-${_pad(now.day)}'; - _logFilePath = p.join(logsPath, 'copypaste_$dateStr.log'); - Directory(logsPath).createSync(recursive: true); - _cleanOldLogs(); - _isInitialized = true; - info('Logger initialized'); - } catch (e) { - isEnabled = false; - // Can't use AppLogger here — write a fallback stderr line so the failure - // is at least visible when running in debug mode. - // ignore: avoid_print - print('[AppLogger] initialization failed, logging disabled: $e'); - } - } - - static void info(String message) => _log('INFO', message); - - static void warn(String message) => _log('WARN', message); - - static void error(String message) => _log('ERROR', message); - - static void exception( - Object? error, [ - StackTrace? stackTrace, - String context = '', - ]) { - if (!isEnabled || !_isInitialized || error == null) return; - final sb = StringBuffer(); - if (context.isNotEmpty) sb.write('$context - '); - sb.write(error.toString()); - if (stackTrace != null) sb.write('\n$stackTrace'); - _log('ERROR', sb.toString()); - } - - static void _log(String level, String message) { - if (!isEnabled || !_isInitialized || _logFilePath == null) return; - try { - final now = DateTime.now(); - final timestamp = - '${_pad(now.hour)}:${_pad(now.minute)}:${_pad(now.second)}.${_pad3(now.millisecond)}'; - final entry = '[$timestamp] [$level] $message\n'; - final file = File(_logFilePath!); - if (file.existsSync() && file.lengthSync() > _maxLogSizeBytes) { - _rotateLog(); - } - file.writeAsStringSync(entry, mode: FileMode.append); - } catch (_) {} - } - - static void _rotateLog() { - if (_logFilePath == null || _logDirectory == null) return; - try { - final now = DateTime.now(); - final rotatedName = - 'copypaste_${now.year}-${_pad(now.month)}-${_pad(now.day)}_${_pad(now.hour)}${_pad(now.minute)}${_pad(now.second)}.log'; - File(_logFilePath!).renameSync(p.join(_logDirectory!, rotatedName)); - } catch (_) { - try { - File(_logFilePath!).deleteSync(); - } catch (_) {} - } - } - - static void _cleanOldLogs() { - if (_logDirectory == null) return; - try { - final cutoff = DateTime.now().subtract( - const Duration(days: _maxLogAgeDays), - ); - final dir = Directory(_logDirectory!); - if (!dir.existsSync()) return; - for (final file in dir.listSync().whereType()) { - if (p.basename(file.path).startsWith('copypaste_') && - file.path.endsWith('.log')) { - if (file.lastModifiedSync().isBefore(cutoff)) { - file.deleteSync(); - } - } - } - } catch (_) {} - } - - static String _pad(int n) => n.toString().padLeft(2, '0'); - static String _pad3(int n) => n.toString().padLeft(3, '0'); -} diff --git a/core/lib/services/backup_service.dart b/core/lib/services/backup_service.dart deleted file mode 100644 index 84b8b204..00000000 --- a/core/lib/services/backup_service.dart +++ /dev/null @@ -1,314 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:archive/archive.dart'; -import 'package:path/path.dart' as p; - -import '../config/storage_config.dart'; -import 'app_logger.dart'; - -class BackupManifest { - const BackupManifest({ - required this.version, - required this.appVersion, - required this.createdAtUtc, - required this.itemCount, - required this.imageCount, - required this.hasPinnedItems, - required this.machineName, - }); - - factory BackupManifest.fromJson(Map json) => BackupManifest( - version: json['version'] as int? ?? 1, - appVersion: json['appVersion'] as String? ?? '', - createdAtUtc: - DateTime.tryParse(json['createdAtUtc'] as String? ?? '') ?? - DateTime.now().toUtc(), - itemCount: json['itemCount'] as int? ?? 0, - imageCount: json['imageCount'] as int? ?? 0, - hasPinnedItems: json['hasPinnedItems'] as bool? ?? false, - machineName: json['machineName'] as String? ?? '', - ); - - static const int currentVersion = 1; - - final int version; - final String appVersion; - final DateTime createdAtUtc; - final int itemCount; - final int imageCount; - final bool hasPinnedItems; - final String machineName; - - Map toJson() => { - 'version': version, - 'appVersion': appVersion, - 'createdAtUtc': createdAtUtc.toIso8601String(), - 'itemCount': itemCount, - 'imageCount': imageCount, - 'hasPinnedItems': hasPinnedItems, - 'machineName': machineName, - }; -} - -class BackupService { - BackupService._(); - - static Future createBackup( - String outputPath, - StorageConfig storage, - String appVersion, { - int itemCount = 0, - bool hasPinnedItems = false, - Future Function()? walCheckpoint, - }) async { - if (walCheckpoint != null) { - await walCheckpoint(); - } - - final archive = Archive(); - var imageCount = 0; - - final dbFile = File(storage.databasePath); - if (dbFile.existsSync()) { - archive.addFile( - ArchiveFile( - 'clipboard.db', - dbFile.lengthSync(), - dbFile.readAsBytesSync(), - ), - ); - } - - final imagesDir = Directory(storage.imagesPath); - if (imagesDir.existsSync()) { - for (final file in imagesDir.listSync().whereType()) { - archive.addFile( - ArchiveFile( - 'images/${file.uri.pathSegments.last}', - file.lengthSync(), - file.readAsBytesSync(), - ), - ); - imageCount++; - } - } - - final configDir = Directory(storage.configPath); - if (configDir.existsSync()) { - for (final file in configDir.listSync().whereType()) { - archive.addFile( - ArchiveFile( - 'config/${file.uri.pathSegments.last}', - file.lengthSync(), - file.readAsBytesSync(), - ), - ); - } - } - - final manifest = BackupManifest( - version: BackupManifest.currentVersion, - appVersion: appVersion, - createdAtUtc: DateTime.now().toUtc(), - itemCount: itemCount, - imageCount: imageCount, - hasPinnedItems: hasPinnedItems, - machineName: _hostName(), - ); - - final manifestBytes = utf8.encode( - const JsonEncoder.withIndent(' ').convert(manifest.toJson()), - ); - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - - final zipData = ZipEncoder().encode(archive); - - final tempDir = Directory.systemTemp.createTempSync('copypaste_backup_'); - final tempFile = File(p.join(tempDir.path, 'backup.zip')); - await tempFile.writeAsBytes(zipData); - try { - await tempFile.copy(outputPath); - } finally { - try { - tempDir.deleteSync(recursive: true); - } catch (_) {} - } - - return manifest; - } - - static Future restoreBackup( - String backupPath, - StorageConfig storage, { - Future Function()? onBeforeRestore, - }) async { - final backupFile = File(backupPath); - if (!backupFile.existsSync()) return null; - - String? snapshotDir; - - try { - final archive = ZipDecoder().decodeBytes(backupFile.readAsBytesSync()); - - final manifestEntry = archive.findFile('manifest.json'); - if (manifestEntry == null) return null; - - final manifestJson = - jsonDecode(utf8.decode(manifestEntry.content as List)) - as Map; - - final manifest = BackupManifest.fromJson(manifestJson); - if (manifest.version > BackupManifest.currentVersion) return null; - - if (onBeforeRestore != null) { - await onBeforeRestore(); - } - - snapshotDir = await _createPreRestoreSnapshot(storage); - - _deleteWalFiles(storage.databasePath); - - await storage.ensureDirectories(); - - for (final file in archive) { - if (file.isFile && file.name != 'manifest.json') { - if (file.name.contains('..')) continue; - final outPath = p.normalize(p.join(storage.baseDir, file.name)); - final baseWithSep = storage.baseDir.endsWith(p.separator) - ? storage.baseDir - : '${storage.baseDir}${p.separator}'; - if (!outPath.startsWith(baseWithSep)) continue; - final outFile = File(outPath); - await outFile.create(recursive: true); - await outFile.writeAsBytes(file.content as List); - } - } - - _cleanupSnapshot(snapshotDir); - return manifest; - } catch (e) { - AppLogger.error('restoreBackup failed: $e'); - if (snapshotDir != null) { - await _rollbackFromSnapshot(snapshotDir, storage); - } - return null; - } - } - - static Future validateBackup(String backupPath) async { - final backupFile = File(backupPath); - if (!backupFile.existsSync()) return null; - - try { - final archive = ZipDecoder().decodeBytes(backupFile.readAsBytesSync()); - - final manifestEntry = archive.findFile('manifest.json'); - if (manifestEntry == null) return null; - - final manifestJson = - jsonDecode(utf8.decode(manifestEntry.content as List)) - as Map; - - final manifest = BackupManifest.fromJson(manifestJson); - if (manifest.version > BackupManifest.currentVersion) return null; - - return manifest; - } catch (e) { - AppLogger.error('validateBackup failed: $e'); - return null; - } - } - - static void _deleteWalFiles(String dbPath) { - try { - final walFile = File('$dbPath-wal'); - final shmFile = File('$dbPath-shm'); - if (walFile.existsSync()) walFile.deleteSync(); - if (shmFile.existsSync()) shmFile.deleteSync(); - } catch (e) { - AppLogger.error('deleteWalFiles failed: $e'); - } - } - - static Future _createPreRestoreSnapshot(StorageConfig storage) async { - final timestamp = DateTime.now().toUtc().millisecondsSinceEpoch; - final snapshotDir = p.join(storage.baseDir, '.pre-restore-$timestamp'); - final dir = Directory(snapshotDir); - await dir.create(recursive: true); - - final dbFile = File(storage.databasePath); - if (dbFile.existsSync()) { - await dbFile.copy(p.join(snapshotDir, 'clipboard.db')); - } - - final imagesDir = Directory(storage.imagesPath); - if (imagesDir.existsSync()) { - final snapImagesDir = Directory(p.join(snapshotDir, 'images')); - await snapImagesDir.create(); - for (final file in imagesDir.listSync().whereType()) { - await file.copy(p.join(snapImagesDir.path, p.basename(file.path))); - } - } - - final configDir = Directory(storage.configPath); - if (configDir.existsSync()) { - final snapConfigDir = Directory(p.join(snapshotDir, 'config')); - await snapConfigDir.create(); - for (final file in configDir.listSync().whereType()) { - await file.copy(p.join(snapConfigDir.path, p.basename(file.path))); - } - } - - return snapshotDir; - } - - static Future _rollbackFromSnapshot( - String snapshotDir, - StorageConfig storage, - ) async { - try { - final snapDb = File(p.join(snapshotDir, 'clipboard.db')); - if (snapDb.existsSync()) { - await snapDb.copy(storage.databasePath); - } - - final snapImages = Directory(p.join(snapshotDir, 'images')); - if (snapImages.existsSync()) { - for (final file in snapImages.listSync().whereType()) { - await file.copy(p.join(storage.imagesPath, p.basename(file.path))); - } - } - - final snapConfig = Directory(p.join(snapshotDir, 'config')); - if (snapConfig.existsSync()) { - for (final file in snapConfig.listSync().whereType()) { - await file.copy(p.join(storage.configPath, p.basename(file.path))); - } - } - } catch (e) { - AppLogger.error('rollbackFromSnapshot failed: $e'); - } finally { - _cleanupSnapshot(snapshotDir); - } - } - - static void _cleanupSnapshot(String snapshotDir) { - try { - Directory(snapshotDir).deleteSync(recursive: true); - } catch (e) { - AppLogger.error('cleanupSnapshot failed: $e'); - } - } - - static String _hostName() { - try { - return Platform.localHostname; - } catch (e) { - AppLogger.error('hostName failed: $e'); - return 'unknown'; - } - } -} diff --git a/core/lib/services/cleanup_service.dart b/core/lib/services/cleanup_service.dart deleted file mode 100644 index a7e25085..00000000 --- a/core/lib/services/cleanup_service.dart +++ /dev/null @@ -1,440 +0,0 @@ -import 'dart:async'; -import 'dart:io'; - -import 'package:path/path.dart' as p; - -import '../config/storage_config.dart'; -import '../models/clipboard_item.dart'; -import '../repository/i_clipboard_repository.dart'; -import 'app_logger.dart'; - -class CleanupService { - CleanupService( - this._repository, - this._getRetentionDays, { - StorageConfig? storage, - int Function()? getKeepBrokenDays, - int Function()? getImagesQuotaMB, - bool Function(String)? probePath, - }) : _storage = storage, - _getKeepBrokenDays = getKeepBrokenDays ?? (() => 30), - _getImagesQuotaMB = getImagesQuotaMB ?? (() => 0), - _probePath = probePath ?? _probePathOnDisk; - - static const Duration _checkInterval = Duration(hours: 18); - static const String _lastCleanupFileName = 'last_cleanup.txt'; - static const String _tempDirPrefix = 'copypaste_'; - static const Duration _tempDirMaxAge = Duration(days: 1); - - final IClipboardRepository _repository; - int Function() _getRetentionDays; - int Function() _getKeepBrokenDays; - int Function() _getImagesQuotaMB; - final StorageConfig? _storage; - final bool Function(String) _probePath; - Timer? _timer; - bool _disposed = false; - - String? _baseDirPath; - - String get _cleanupFilePath => - p.join(_baseDirPath ?? '', _lastCleanupFileName); - - void start(String baseDirPath) { - _baseDirPath = baseDirPath; - _timer = Timer.periodic(_checkInterval, (_) => runCleanupIfNeeded()); - runCleanupIfNeeded(); - } - - Future runCleanupIfNeeded() async { - if (_disposed) return; - - final lastCleanup = _loadLastCleanupDate(); - final now = DateTime.now().toUtc(); - if (lastCleanup.year == now.year && - lastCleanup.month == now.month && - lastCleanup.day == now.day) { - return; - } - - try { - final retentionDays = _getRetentionDays(); - if (retentionDays > 0) { - await _repository.clearOldItems(retentionDays, excludePinned: true); - } - _saveLastCleanupDate(now); - await _cleanOrphanImages(); - await _enforceImagesQuota(); - _cleanStaleTempDirs(); - } catch (e) { - AppLogger.error('Cleanup failed: $e'); - } - } - - /// Removes leftover `copypaste_*` temp dirs created when opening an image in - /// an external viewer. Only dirs older than [_tempDirMaxAge] are touched, so - /// a viewer that still holds a freshly-copied file open is never disturbed. - void _cleanStaleTempDirs() { - try { - final tempRoot = Directory.systemTemp; - if (!tempRoot.existsSync()) return; - final cutoff = DateTime.now().subtract(_tempDirMaxAge); - for (final entity in tempRoot.listSync(followLinks: false)) { - if (entity is! Directory) continue; - if (!p.basename(entity.path).startsWith(_tempDirPrefix)) continue; - try { - if (entity.statSync().modified.isAfter(cutoff)) continue; - entity.deleteSync(recursive: true); - } catch (_) {} - } - } catch (e) { - AppLogger.warn('[CleanupService] temp dir cleanup failed: $e'); - } - } - - DateTime _loadLastCleanupDate() { - try { - final file = File(_cleanupFilePath); - if (file.existsSync()) { - final content = file.readAsStringSync().trim(); - final parsed = DateTime.tryParse(content); - if (parsed != null) return parsed.toUtc(); - } - } catch (_) {} - return DateTime.utc(2000); - } - - void _saveLastCleanupDate(DateTime date) { - try { - final file = File(_cleanupFilePath); - file.parent.createSync(recursive: true); - file.writeAsStringSync(date.toIso8601String()); - } catch (_) {} - } - - void updateRetentionCallback(int Function() getter) { - _getRetentionDays = getter; - } - - void updateKeepBrokenCallback(int Function() getter) { - _getKeepBrokenDays = getter; - } - - void updateImagesQuotaCallback(int Function() getter) { - _getImagesQuotaMB = getter; - } - - void dispose() { - _disposed = true; - _timer?.cancel(); - } - - Future _cleanOrphanImages() async { - final storage = _storage; - if (storage == null) return; - // Kept apart from the sweep below: tracking walks user-supplied paths that - // can live on flaky volumes, and its failure must not strand orphan files - // on disk forever. - try { - await _trackBrokenExternalRefs(); - } catch (e) { - AppLogger.error('Broken reference tracking failed: $e'); - } - - try { - final allImageItems = await _repository.getImagePaths(); - final allThumbPaths = await _repository.getThumbPaths(); - final canonicalImagesDir = p.canonicalize(storage.imagesPath); - final baseWithSep = canonicalImagesDir.endsWith(p.separator) - ? canonicalImagesDir - : '$canonicalImagesDir${p.separator}'; - - // Items whose content is inside images/ (own captures): pass to orphan - // cleanup so files without a matching item get deleted. - // Items with external paths are never deleted — only logged if broken. - final ownedPaths = []; - for (final path in allImageItems) { - if (p.canonicalize(path).startsWith(baseWithSep)) { - ownedPaths.add(path); - } - } - - // Own thumbnails generated by ThumbnailService live inside images/ as - // `_thumb.png`. They must be preserved by the orphan sweep. - for (final tp in allThumbPaths) { - if (p.canonicalize(tp).startsWith(baseWithSep)) { - ownedPaths.add(tp); - } - } - - storage.cleanOrphanImages(ownedPaths); - } catch (e) { - AppLogger.error('Orphan image cleanup failed: $e'); - } - } - - /// Walks all items with external file references; updates `brokenSince` - /// when the source disappears and the volume is present, clears it when - /// the source comes back, and purges items whose `brokenSince` exceeds - /// `keepBrokenItemsDays`. The external file is never touched. - Future _trackBrokenExternalRefs() async { - final storage = _storage; - if (storage == null) return; - final keepDays = _getKeepBrokenDays(); - final now = DateTime.now().toUtc(); - final cutoff = now.subtract(Duration(days: keepDays)); - final canonicalImagesDir = p.canonicalize(storage.imagesPath); - final baseWithSep = canonicalImagesDir.endsWith(p.separator) - ? canonicalImagesDir - : '$canonicalImagesDir${p.separator}'; - - final all = await _repository.getAll(); - for (final item in all) { - final path = _externalPathForCheck(item, baseWithSep); - if (path == null) continue; - - if (!isVolumePresent(path)) { - // Volume offline: assume the file still exists. Keep brokenSince as - // is so a temporary disconnection does not advance the purge clock. - continue; - } - - final exists = _pathExists(path); - // Probe failed rather than reported absence: same meaning as an offline - // volume, so leave brokenSince untouched instead of starting the clock. - if (exists == null) continue; - if (exists) { - if (item.brokenSince != null) { - await _repository.update(item.copyWith(brokenSince: null)); - } - continue; - } - - // File missing with volume present. - if (item.brokenSince == null) { - AppLogger.warn('[CleanupService] broken external reference: "$path"'); - await _repository.update(item.copyWith(brokenSince: now)); - continue; - } - if (keepDays > 0 && item.brokenSince!.isBefore(cutoff)) { - await _purgeBrokenItem(item); - } - } - } - - /// Returns the external path to validate, or null when the item has no - /// external file reference (own captures live inside `images/`). - String? _externalPathForCheck(ClipboardItem item, String baseWithSep) { - if (item.isPinned) return null; - if (item.content.isEmpty) return null; - final paths = item.content.split('\n').where((s) => s.isNotEmpty).toList(); - if (paths.length != 1) return null; - final candidate = paths.first; - if (!item.isFileBasedType) { - // Image type: only treat as external when the path is outside images/. - // Plain text/code/etc. never carry filesystem references. - if (!_looksLikeFilesystemPath(candidate)) return null; - } - try { - if (p.canonicalize(candidate).startsWith(baseWithSep)) return null; - } catch (_) { - return null; - } - return candidate; - } - - bool _looksLikeFilesystemPath(String value) { - if (value.length < 2) return false; - if (value.contains('\n')) return false; - if (Platform.isWindows) { - return RegExp(r'^[a-zA-Z]:[\\/]').hasMatch(value) || - value.startsWith(r'\\'); - } - return value.startsWith('/'); - } - - Future _purgeBrokenItem(ClipboardItem item) async { - AppLogger.warn( - '[CleanupService] purging item with broken external reference ' - 'beyond keepBrokenItemsDays: id=${item.id}', - ); - final storage = _storage; - if (storage != null) { - final thumb = item.thumbPath; - if (thumb != null) { - try { - final f = File(thumb); - if (f.existsSync()) f.deleteSync(); - } catch (e) { - AppLogger.warn('[CleanupService] could not delete thumb: $e'); - } - } - } - await _repository.delete(item.id); - } - - /// Enforces the user-configured `imagesQuotaMB` cap. When the total bytes - /// stored under `images/` exceed the limit, deletes items from oldest to - /// newest (by `createdAt`) until the directory drops back below the cap. - /// Pinned items are never purged. Owned files are removed via the same - /// canonical path validation used elsewhere — external paths referenced by - /// items are never touched. - Future _enforceImagesQuota() async { - final storage = _storage; - if (storage == null) return; - final quotaMB = _getImagesQuotaMB(); - if (quotaMB <= 0) return; - final quotaBytes = quotaMB * 1024 * 1024; - - final canonicalImagesDir = p.canonicalize(storage.imagesPath); - final baseWithSep = canonicalImagesDir.endsWith(p.separator) - ? canonicalImagesDir - : '$canonicalImagesDir${p.separator}'; - - int currentBytes = _measureDirectoryBytes(canonicalImagesDir); - if (currentBytes <= quotaBytes) return; - - AppLogger.warn( - '[CleanupService] images/ ${(currentBytes / 1024 / 1024).toStringAsFixed(1)}MB ' - 'exceeds quota ${quotaMB}MB; starting LRU purge', - ); - - final all = await _repository.getAll(); - final eligible = all.where((it) => !it.isPinned).toList() - ..sort((a, b) => a.createdAt.compareTo(b.createdAt)); - - var purged = 0; - for (final item in eligible) { - if (currentBytes <= quotaBytes) break; - final freed = await _purgeOwnedFiles(item, baseWithSep); - if (freed <= 0) continue; - try { - await _repository.delete(item.id); - } catch (e) { - AppLogger.warn('[CleanupService] quota: delete row failed: $e'); - continue; - } - currentBytes -= freed; - purged++; - } - - if (purged > 0) { - AppLogger.warn( - '[CleanupService] quota purge done: removed $purged items, ' - 'now ${(currentBytes / 1024 / 1024).toStringAsFixed(1)}MB', - ); - } - } - - /// Sums the byte size of regular files directly inside [dir]. Recursion - /// is intentionally omitted — `images/` is flat by design. - int _measureDirectoryBytes(String dir) { - try { - final d = Directory(dir); - if (!d.existsSync()) return 0; - var total = 0; - for (final entity in d.listSync(followLinks: false)) { - if (entity is File) { - try { - total += entity.lengthSync(); - } catch (_) {} - } - } - return total; - } catch (_) { - return 0; - } - } - - /// Deletes the per-item files this app owns (`.png`, `.bmp`, - /// `_thumb.png`, plus any path declared by the item that resolves - /// inside `images/`). Returns the freed bytes. The external file pointed - /// to by an item is never touched. - Future _purgeOwnedFiles(ClipboardItem item, String baseWithSep) async { - final storage = _storage; - if (storage == null) return 0; - final candidates = { - p.join(storage.imagesPath, '${item.id}.png'), - p.join(storage.imagesPath, '${item.id}.bmp'), - p.join(storage.imagesPath, '${item.id}_thumb.png'), - }; - final declared = item.thumbPath; - if (declared != null && declared.isNotEmpty) candidates.add(declared); - if (item.content.isNotEmpty) { - for (final entry in item.content.split('\n')) { - if (entry.isNotEmpty) candidates.add(entry); - } - } - - var freed = 0; - for (final path in candidates) { - try { - final canonical = p.canonicalize(path); - if (!canonical.startsWith(baseWithSep)) continue; - final f = File(canonical); - if (!f.existsSync()) continue; - final bytes = f.lengthSync(); - f.deleteSync(); - freed += bytes; - } catch (e) { - AppLogger.warn('[CleanupService] quota: delete file failed: $e'); - } - } - return freed; - } - - /// Best-effort check that the volume/mount carrying [path] is currently - /// present. When the volume is offline (drive not mounted, NAS down, - /// removable disk unplugged), callers should skip purge logic so the user - /// does not lose history entries on a temporary disconnection. - static bool _probePathOnDisk(String path) => - File(path).existsSync() || Directory(path).existsSync(); - - /// Whether [path] is on disk, or null when the probe itself failed. - /// - /// An unreachable network share throws instead of reporting absence, and - /// [isVolumePresent] cannot tell the two apart either: its own catch assumes - /// the volume is present, which lands here. - bool? _pathExists(String path) { - try { - return _probePath(path); - } catch (e) { - AppLogger.warn('[CleanupService] path probe failed for "$path": $e'); - return null; - } - } - - static bool isVolumePresent(String path) { - try { - if (Platform.isWindows) { - if (path.startsWith(r'\\')) { - // UNC: \\server\share\... — require server+share to be reachable. - final parts = path.substring(2).split(RegExp(r'[\\/]')); - if (parts.length < 2 || parts[0].isEmpty || parts[1].isEmpty) { - return false; - } - final share = '\\\\${parts[0]}\\${parts[1]}'; - return Directory(share).existsSync(); - } - final m = RegExp(r'^([a-zA-Z]):').firstMatch(path); - if (m == null) return true; - return Directory('${m.group(1)}:\\').existsSync(); - } - if (Platform.isMacOS) { - if (path.startsWith('/Volumes/')) { - final rest = path.substring('/Volumes/'.length); - final slash = rest.indexOf('/'); - final mount = slash < 0 ? rest : rest.substring(0, slash); - if (mount.isEmpty) return false; - return Directory('/Volumes/$mount').existsSync(); - } - return true; - } - // Other platforms: best-effort; mount discovery is out of scope. Treat - // as present so purge proceeds when the file is genuinely missing. - return true; - } catch (_) { - return true; - } - } -} diff --git a/core/lib/services/clipboard_service.dart b/core/lib/services/clipboard_service.dart deleted file mode 100644 index 8469b84d..00000000 --- a/core/lib/services/clipboard_service.dart +++ /dev/null @@ -1,566 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; - -import 'package:path/path.dart' as p; - -import '../models/card_color.dart'; -import '../models/clipboard_content_type.dart'; -import '../models/clipboard_item.dart'; -import '../repository/i_clipboard_repository.dart'; -import 'app_logger.dart'; -import 'image_processing_queue.dart'; -import 'native_thumbnail_provider.dart'; -import 'text_classifier.dart'; -import 'thumbnail_queue.dart'; -import 'thumbnail_service.dart'; - -class ClipboardService { - ClipboardService( - this._repository, { - String? imagesPath, - NativeThumbnailProvider? nativeThumbnailProvider, - bool Function(ClipboardContentType type)? isThumbnailTypeEnabled, - int Function()? getMaxImageBytes, - }) : _imagesPath = imagesPath, - _thumbnailService = (imagesPath != null && imagesPath.isNotEmpty) - ? ThumbnailService( - imagesPath: imagesPath, - nativeProvider: nativeThumbnailProvider, - isTypeEnabled: isThumbnailTypeEnabled, - ) - : null { - _imageQueue = ImageProcessingQueue( - repository: _repository, - onItemUpdated: _onImageItemUpdated, - getMaxImageBytes: getMaxImageBytes, - ); - final service = _thumbnailService; - _thumbQueue = service == null - ? null - : ThumbnailQueue( - repository: _repository, - service: service, - onItemUpdated: _onThumbItemUpdated, - ); - } - - final IClipboardRepository _repository; - final String? _imagesPath; - late final ImageProcessingQueue _imageQueue; - final ThumbnailService? _thumbnailService; - late final ThumbnailQueue? _thumbQueue; - final _itemAdded = StreamController.broadcast(); - final _itemReactivated = StreamController.broadcast(); - bool _disposed = false; - - void _onImageItemUpdated(ClipboardItem item) { - if (!_disposed) { - try { - _itemReactivated.add(item); - } on StateError catch (_) {} - } - } - - void _onThumbItemUpdated(ClipboardItem item) { - if (_disposed) return; - try { - _itemReactivated.add(item); - } on StateError catch (_) {} - } - - /// Requests background regeneration of [item]'s thumbnail if the source - /// file's `mtime` no longer matches the recorded `sourceModifiedAt`. - /// No-op when no `imagesPath` was configured. Safe to call from `build()` - /// — work is enqueued asynchronously. - void requestThumbnailIfStale(ClipboardItem item) { - _thumbQueue?.enqueueIfStale(item); - } - - /// Forces an enqueue regardless of staleness (e.g. the user explicitly - /// asked to refresh the thumb). - void requestThumbnailRefresh(ClipboardItem item) { - _thumbQueue?.enqueue(item, reason: ThumbnailJobReason.manualRefresh); - } - - void updateThumbnailTypeGate(bool Function(ClipboardContentType type)? gate) { - _thumbnailService?.isTypeEnabled = gate; - } - - void updateMaxImageBytesGate(int Function()? gate) { - _imageQueue.getMaxImageBytes = gate; - } - - Stream get onItemAdded => _itemAdded.stream; - Stream get onItemReactivated => _itemReactivated.stream; - - int pasteIgnoreWindowMs = 450; - - Stopwatch? _pasteStopwatch; - String? _lastPastedContent; - - static const Duration _suppressionTtl = Duration(seconds: 5); - final Map _suppressedKeys = {}; - - String? _suppressionKeyForItem(ClipboardItem item) { - if (item.type == ClipboardContentType.image) { - final hash = item.contentHash; - if (hash == null || hash.isEmpty) return null; - return 'i:$hash'; - } - if (item.content.isEmpty) return null; - return 'c:${item.content}'; - } - - void _markSuppressed(ClipboardItem item) { - final key = _suppressionKeyForItem(item); - if (key == null) return; - _suppressedKeys[key] = DateTime.now().toUtc(); - } - - bool _consumeSuppression(String? key) { - if (key == null || key.isEmpty) return false; - const expiry = _suppressionTtl; - final now = DateTime.now().toUtc(); - _suppressedKeys.removeWhere((_, ts) => now.difference(ts) > expiry); - return _suppressedKeys.remove(key) != null; - } - - Future notifyPasteInitiated(String itemId) async { - _pasteStopwatch = Stopwatch()..start(); - final item = await _repository.getById(itemId); - _lastPastedContent = item?.content; - } - - /// Suppresses the clipboard rewrite performed by direct plain-text paste. - /// This variant does not require the listener to have persisted the current - /// clipboard item yet (for example, when the hotkey follows Copy immediately). - void notifyDirectPasteInitiated(String content) { - _pasteStopwatch = Stopwatch()..start(); - _lastPastedContent = content; - } - - bool _shouldIgnore(String? content) { - final sw = _pasteStopwatch; - if (sw == null) return false; - final elapsed = sw.elapsedMilliseconds; - if (content != null) { - // Text/file events carry their content, so suppress only the echo we - // wrote. A blanket time window can silently lose a genuinely new copy - // made immediately after a paste. - return content == _lastPastedContent && elapsed < pasteIgnoreWindowMs * 2; - } - // Image callbacks have no comparable text payload and still need the - // short time-based guard. - return elapsed < pasteIgnoreWindowMs; - } - - /// A plain copy leaves `rtf`/`html` untouched: styles are a layer over - /// `content` and "paste as plain text" already serves the unstyled view, so - /// dropping them would be an irreversible loss. A copy that does carry styles - /// replaces both keys at once, or the item would mix two sources. - String? _mergeFormatMetadata( - String? current, - List? rtfBytes, - List? htmlBytes, - ) { - final meta = {}; - if (current != null && current.isNotEmpty) { - try { - final decoded = jsonDecode(current); - if (decoded is Map) meta.addAll(decoded); - } catch (_) {} - } - final carriesFormat = - (rtfBytes != null && rtfBytes.isNotEmpty) || - (htmlBytes != null && htmlBytes.isNotEmpty); - if (!carriesFormat) return meta.isEmpty ? null : jsonEncode(meta); - meta.remove('rtf'); - meta.remove('html'); - if (rtfBytes != null) meta['rtf'] = base64Encode(rtfBytes); - if (htmlBytes != null) meta['html'] = base64Encode(htmlBytes); - return meta.isEmpty ? null : jsonEncode(meta); - } - - Future processText( - String content, - ClipboardContentType type, { - String? source, - List? rtfBytes, - List? htmlBytes, - }) async { - if (_shouldIgnore(content)) return null; - if (_consumeSuppression('c:$content')) return null; - - final resolvedType = type == ClipboardContentType.text - ? TextClassifier.classify(content) - : type; - - final existing = await _repository.findByContentAndType( - content, - resolvedType, - ); - if (existing != null) { - final updated = existing.copyWith( - modifiedAt: DateTime.now().toUtc(), - metadata: _mergeFormatMetadata(existing.metadata, rtfBytes, htmlBytes), - ); - await _repository.update(updated); - _itemReactivated.add(updated); - return updated; - } - - if (resolvedType != ClipboardContentType.text) { - final legacy = await _repository.findByContentAndType( - content, - ClipboardContentType.text, - ); - if (legacy != null) { - final updated = legacy.copyWith( - type: resolvedType, - modifiedAt: DateTime.now().toUtc(), - metadata: _mergeFormatMetadata(legacy.metadata, rtfBytes, htmlBytes), - ); - await _repository.update(updated); - _itemReactivated.add(updated); - return updated; - } - } - - final item = ClipboardItem( - content: content, - type: resolvedType, - appSource: source, - metadata: _mergeFormatMetadata(null, rtfBytes, htmlBytes), - ); - await _repository.save(item); - _itemAdded.add(item); - return item; - } - - /// Reactivating an entry whose file is gone would swallow the incoming - /// capture: the payload is dropped and the user keeps a broken item. Only - /// rejects the match when there are bytes to lose — without them, keeping - /// the existing entry preserves history. Size cannot be compared: the - /// processing queue rewrites `content` to a PNG. - bool _matchesStoredImage(ClipboardItem existing, List? imageBytes) { - if (imageBytes == null || imageBytes.isEmpty) return true; - if (existing.content.isEmpty) return true; - try { - return File(existing.content).existsSync(); - // coverage:ignore-start - } catch (e) { - AppLogger.warn('processImage: could not stat ${existing.content}: $e'); - return true; - // coverage:ignore-end - } - } - - Future processImage( - String contentHash, { - String? source, - String? imagePath, - List? imageBytes, - }) async { - if (_shouldIgnore(null)) return null; - if (_consumeSuppression('i:$contentHash')) return null; - - final existing = await _repository.findByContentHash(contentHash); - if (existing != null && _matchesStoredImage(existing, imageBytes)) { - final updated = existing.copyWith(modifiedAt: DateTime.now().toUtc()); - await _repository.update(updated); - _itemReactivated.add(updated); - // Items captured before the native thumb provider was wired may - // have no thumbPath yet. enqueueIfStale is a no-op when thumb is - // already up-to-date. - _thumbQueue?.enqueueIfStale(updated); - return updated; - } - - final item = ClipboardItem( - content: imagePath ?? '', - type: ClipboardContentType.image, - appSource: source, - contentHash: contentHash, - ); - - var savedItem = item; - if (imageBytes != null && imageBytes.isNotEmpty && _imagesPath != null) { - try { - final tempPath = p.join(_imagesPath, '${item.id}.bmp'); - await File(tempPath).writeAsBytes(imageBytes); - savedItem = item.copyWith(content: tempPath); - } catch (e) { - AppLogger.warn( - 'processImage: could not write temp BMP for ${item.id}: $e', - ); - } - } - - await _repository.save(savedItem); - _itemAdded.add(savedItem); - - if (imageBytes != null && imageBytes.isNotEmpty && _imagesPath != null) { - _imageQueue.enqueue( - item: savedItem, - imageBytes: imageBytes, - imagesPath: _imagesPath, - ); - } else { - // External image referenced by path: schedule thumb generation. - // (When imageBytes is non-empty the result will land inside - // imagesPath and ThumbnailService skips it by design.) - _thumbQueue?.enqueue(savedItem); - } - - return savedItem; - } - - Future processFiles( - List files, - ClipboardContentType type, { - String? source, - }) async { - if (files.isEmpty) return null; - if (_shouldIgnore(null)) return null; - // Reject self-referential captures: an HDROP whose paths all live inside our - // own images store is our own write echoed back, never a real user file. - if (files.every(_isInsideImagesDir)) return null; - - final content = files.join('\n'); - if (_consumeSuppression('c:$content')) return null; - final existing = await _repository.findByContentAndType(content, type); - if (existing != null) { - final updated = existing.copyWith(modifiedAt: DateTime.now().toUtc()); - await _repository.update(updated); - _itemReactivated.add(updated); - // Cover items captured before the native thumb provider was wired. - if (files.length == 1) { - _thumbQueue?.enqueueIfStale(updated); - } - return updated; - } - - final firstFile = files.first; - final meta = { - 'file_count': files.length, - 'file_name': p.basename(firstFile), - 'first_ext': p.extension(firstFile), - 'is_directory': type == ClipboardContentType.folder, - }; - - if (files.length == 1) { - try { - final fileSize = File(firstFile).lengthSync(); - meta['file_size'] = fileSize; - } catch (e) { - AppLogger.warn('processFiles: could not read size of $firstFile: $e'); - } - } - - final item = ClipboardItem( - content: content, - type: type, - appSource: source, - metadata: jsonEncode(meta), - ); - await _repository.save(item); - _itemAdded.add(item); - - // Native-backed thumbs cover video/audio (and image when the path is - // external). The queue ignores types it cannot handle, so this is a - // safe fire-and-forget call. - if (files.length == 1) { - _thumbQueue?.enqueue(item); - } - - return item; - } - - Future recordPaste(String itemId) async { - final now = DateTime.now().toUtc(); - final item = await _repository.getById(itemId); - if (item == null) return null; - final updated = item.copyWith( - pasteCount: item.pasteCount + 1, - modifiedAt: now, - ); - await _repository.update(updated); - return updated; - } - - /// Bumps [itemId] to the top and emits a reactivation event. Unlike - /// [recordPaste], the copy action keeps the window open, so the list must be - /// told to reorder; paste count is left untouched. - Future recordCopy(String itemId) async { - final item = await _repository.getById(itemId); - if (item == null) return null; - final updated = item.copyWith(modifiedAt: DateTime.now().toUtc()); - await _repository.update(updated); - if (!_disposed) _itemReactivated.add(updated); - return updated; - } - - Future removeItem(String id) async { - final item = await _repository.getById(id); - if (item != null) { - _markSuppressed(item); - } - await _repository.delete(id); - if (item != null) { - _cleanupItemFiles(item); - } - } - - /// Deletes a file only if [path] is canonically contained inside the app's - /// own images directory. Any path outside is refused and logged. - /// - /// This is the single entry point for file deletion in this service. Never - /// call `File.delete*` directly on a path that comes from user input, item - /// content, or any source outside the app's own path builder. - /// True when [path] resolves to a location inside the app's own images - /// directory. Used both to scope deletions and to reject self-referential - /// clipboard captures (e.g. an HDROP pointing back at our PNG store). - bool _isInsideImagesDir(String path) { - final imagesPath = _imagesPath; - if (imagesPath == null || imagesPath.isEmpty) return false; - final String canonicalBase; - final String canonicalTarget; - try { - canonicalBase = p.canonicalize(imagesPath); - canonicalTarget = p.canonicalize(path); - } catch (e) { - AppLogger.warn('_isInsideImagesDir: canonicalize failed for "$path": $e'); - return false; - } - final baseWithSep = canonicalBase.endsWith(p.separator) - ? canonicalBase - : '$canonicalBase${p.separator}'; - return canonicalTarget.startsWith(baseWithSep); - } - - bool _deleteAppFile(String path) { - final imagesPath = _imagesPath; - if (imagesPath == null || imagesPath.isEmpty) return false; - if (!_isInsideImagesDir(path)) { - AppLogger.error( - '_deleteAppFile: refused to delete out-of-scope path "$path"', - ); - return false; - } - try { - final file = File(p.canonicalize(path)); - if (file.existsSync()) file.deleteSync(); - return true; - } catch (e) { - AppLogger.warn('_deleteAppFile: delete failed for "$path": $e'); - return false; - } - } - - void _cleanupItemFiles(ClipboardItem item) { - if (item.type == ClipboardContentType.image && item.content.isNotEmpty) { - _deleteAppFile(item.content); - } - final thumb = item.thumbPath; - if (thumb != null && thumb.isNotEmpty) { - _deleteAppFile(thumb); - } - } - - Future> getHistoryAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - int limit = 50, - int skip = 0, - }) => _repository.searchAdvanced( - query: query, - types: types, - colors: colors, - isPinned: isPinned, - limit: limit, - skip: skip, - ); - - Future updatePin(String id, bool isPinned) async { - final item = await _repository.getById(id); - if (item == null) return; - await _repository.update( - item.copyWith(isPinned: isPinned, modifiedAt: DateTime.now().toUtc()), - ); - } - - Future updateLabelAndColor( - String id, - String? label, - CardColor color, - ) async { - final item = await _repository.getById(id); - if (item == null) return; - await _repository.update( - item.copyWith( - label: label, - cardColor: color, - modifiedAt: DateTime.now().toUtc(), - ), - ); - } - - Future clearUnpinnedHistory() async { - final unpinned = await _repository.searchAdvanced( - isPinned: false, - limit: 100000, - skip: 0, - ); - for (final item in unpinned) { - _markSuppressed(item); - } - return _repository.deleteAllUnpinned(); - } - - Future getItemCount() => _repository.count(); - - Future reclassifyLegacyTextItems() async { - const batchSize = 50; - var skip = 0; - while (true) { - if (_disposed) return; - final batch = await _repository.searchAdvanced( - types: [ClipboardContentType.text], - limit: batchSize, - skip: skip, - ); - if (batch.isEmpty) return; - for (final item in batch) { - if (_disposed) return; - final resolved = TextClassifier.classify(item.content); - if (resolved != ClipboardContentType.text) { - await _repository.update(item.copyWith(type: resolved)); - } - } - if (batch.length < batchSize) return; - skip += batchSize; - } - } - - Future walCheckpoint() => _repository.walCheckpoint(); - - Future updateMetadata(String id, String metadata) async { - final item = await _repository.getById(id); - if (item == null) return; - final updated = item.copyWith(metadata: metadata); - await _repository.update(updated); - if (!_disposed) _itemReactivated.add(updated); - } - - Future dispose() async { - _disposed = true; - _suppressedKeys.clear(); - await _imageQueue.dispose(); - await _thumbQueue?.dispose(); - await _itemAdded.close(); - await _itemReactivated.close(); - } -} diff --git a/core/lib/services/crash_logger.dart b/core/lib/services/crash_logger.dart deleted file mode 100644 index bbc1d1ba..00000000 --- a/core/lib/services/crash_logger.dart +++ /dev/null @@ -1,130 +0,0 @@ -import 'dart:io'; - -import 'package:path/path.dart' as p; - -class CrashLogger { - CrashLogger._(); // coverage:ignore-line - - static const String fileName = 'crash.log'; - static const int _maxSizeBytes = 512 * 1024; - - static String? _filePath; - - static String? get filePath => _filePath; - - static void initialize(String baseDir) { - try { - Directory(baseDir).createSync(recursive: true); - _filePath = p.join(baseDir, fileName); - } catch (_) { - _filePath = null; - } - } - - static String? resolveBootstrapPath() { - try { - final base = _bootstrapBaseDir(); - if (base == null) return null; - Directory(base).createSync(recursive: true); - return p.join(base, fileName); - } catch (_) { - return null; - } - } - - static void report( - Object error, - StackTrace? stack, { - String context = '', - String? overridePath, - }) { - final target = overridePath ?? _filePath ?? resolveBootstrapPath(); - if (target == null) return; - try { - final file = File(target); - if (file.existsSync() && file.lengthSync() > _maxSizeBytes) { - file.writeAsStringSync('', flush: true); - } - final ts = DateTime.now().toUtc().toIso8601String(); - final sb = StringBuffer() - ..writeln('==== $ts ====') - ..writeln( - 'Platform: ${Platform.operatingSystem} ' - '${Platform.operatingSystemVersion}', - ) - ..writeln('Dart: ${Platform.version}'); - if (context.isNotEmpty) sb.writeln('Context: $context'); - sb.writeln('Error: ${redact(error.toString())}'); - if (stack != null) { - sb.writeln('Stack:'); - sb.writeln(redact(stack.toString())); - } - sb.writeln(); - file.writeAsStringSync(sb.toString(), mode: FileMode.append, flush: true); - } catch (_) {} - } - - static String redact(String input) { - var out = input; - final userProfile = Platform.environment['USERPROFILE']; - final home = Platform.environment['HOME']; - final username = - Platform.environment['USERNAME'] ?? Platform.environment['USER']; - for (final raw in [userProfile, home]) { - if (raw != null && raw.isNotEmpty) { - out = out.replaceAll(raw, ''); - } - } - if (username != null && username.isNotEmpty && username.length > 1) { - out = out.replaceAll( - RegExp(r'\\Users\\' + RegExp.escape(username), caseSensitive: false), - r'\Users\', - ); - out = out.replaceAll( - RegExp(r'/Users/' + RegExp.escape(username)), - '/Users/', - ); - out = out.replaceAll( - RegExp(r'/home/' + RegExp.escape(username)), - '/home/', - ); - } - out = out.replaceAll( - RegExp(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}'), - '', - ); - return out; - } - - static String? _bootstrapBaseDir() { - // coverage:ignore-start - if (Platform.isWindows) { - final local = Platform.environment['LOCALAPPDATA']; - if (local != null && local.isNotEmpty) { - return p.join(local, 'CopyPaste'); - } - final profile = Platform.environment['USERPROFILE']; - if (profile != null && profile.isNotEmpty) { - return p.join(profile, 'AppData', 'Local', 'CopyPaste'); - } - return p.join(Directory.systemTemp.path, 'CopyPaste'); - } - // coverage:ignore-end - final home = Platform.environment['HOME']; - if (home != null && home.isNotEmpty) { - if (Platform.isMacOS) { - return p.join( - home, - 'Library', - 'Application Support', - 'CopyPaste', - ); // coverage:ignore-line - } - return p.join(home, '.local', 'share', 'CopyPaste'); - } - return p.join( - Directory.systemTemp.path, - 'CopyPaste', - ); // coverage:ignore-line - } -} diff --git a/core/lib/services/image_processing_queue.dart b/core/lib/services/image_processing_queue.dart deleted file mode 100644 index 65f537f7..00000000 --- a/core/lib/services/image_processing_queue.dart +++ /dev/null @@ -1,235 +0,0 @@ -import 'dart:async'; -import 'dart:io'; -import 'dart:isolate'; -import 'dart:typed_data'; - -import 'package:flutter/foundation.dart' show visibleForTesting; -import 'package:path/path.dart' as p; - -import '../models/clipboard_item.dart'; -import '../repository/i_clipboard_repository.dart'; -import 'app_logger.dart'; -import 'image_processor.dart'; - -/// A job submitted to [ImageProcessingQueue]. -class _ImageJob { - _ImageJob({ - required this.item, - required this.imageBytes, - required this.imagesPath, - }); - - final ClipboardItem item; - final Uint8List imageBytes; - final String imagesPath; -} - -/// Serial queue for image processing jobs. -/// -/// Processes one job at a time to avoid saturating CPU and disk. -/// Each job runs [ImageProcessor.processSync] in a dedicated isolate -/// with a configurable [jobTimeout]. -/// -/// If a job exceeds [jobTimeout], the isolate is killed. The BMP fallback -/// written before launching the job is preserved so the item remains -/// pasteable. The event is logged and the queue moves on. -/// -/// Call [dispose] on app shutdown to cancel pending work and release resources. -class ImageProcessingQueue { - ImageProcessingQueue({ - required IClipboardRepository repository, - this.jobTimeout = const Duration(seconds: 10), - this.onItemUpdated, - this.getMaxImageBytes, - }) : _repository = repository; - - final IClipboardRepository _repository; - final Duration jobTimeout; - - /// Called on the main isolate after a job completes and the repository - /// entry has been updated with the final PNG path and dimensions. - final void Function(ClipboardItem item)? onItemUpdated; - - int Function()? getMaxImageBytes; - - final _queue = <_ImageJob>[]; - bool _processing = false; - bool _disposed = false; - - /// Enqueues an image processing job. Returns immediately; the job runs when - /// the queue reaches it. Silently drops jobs after [dispose] is called. - void enqueue({ - required ClipboardItem item, - required List imageBytes, - required String imagesPath, - }) { - if (_disposed) return; - final bytes = imageBytes is Uint8List - ? imageBytes - : Uint8List.fromList(imageBytes); - final maxBytes = getMaxImageBytes?.call() ?? 0; - if (maxBytes > 0 && bytes.length > maxBytes) { - AppLogger.info( - '[ImageQueue] skip ${item.id}: ${bytes.length}B exceeds cap ${maxBytes}B' - ' (BMP fallback kept)', - ); - return; - } - _queue.add( - _ImageJob(item: item, imageBytes: bytes, imagesPath: imagesPath), - ); - if (_queue.length > 10) { - AppLogger.warn('[ImageQueue] queue depth: ${_queue.length}'); - } - _scheduleNext(); - } - - void _scheduleNext() { - if (_processing || _queue.isEmpty || _disposed) return; - _processing = true; - final job = _queue.removeAt(0); - _runJob(job).whenComplete(() { - _processing = false; - _scheduleNext(); - }); - } - - Future _runJob(_ImageJob job) async { - final resultPort = ReceivePort(); - Isolate? isolate; - - try { - final resultCompleter = Completer(); - - resultPort.listen((msg) { - if (!resultCompleter.isCompleted) { - resultCompleter.complete(msg is ImageProcessResult ? msg : null); - } - }); - - isolate = await Isolate.spawn( - _isolateWorker, - _IsolateParams( - imageBytes: job.imageBytes, - id: job.item.id, - imagesDir: job.imagesPath, - resultPort: resultPort.sendPort, - ), - debugName: 'ImageWorker:${job.item.id}', - errorsAreFatal: false, - ); - - ImageProcessResult? result; - try { - result = await resultCompleter.future.timeout(jobTimeout); - } on TimeoutException { - AppLogger.warn( - '[ImageQueue] timeout (${jobTimeout.inSeconds}s) for ${job.item.id}' - ' — keeping BMP fallback', - ); - return; // BMP on disk stays; item remains pasteable. - } - - if (result == null) { - AppLogger.warn( - '[ImageQueue] null result for ${job.item.id}' - ' (unsupported format) — keeping BMP fallback', - ); - return; - } - - // Remove BMP fallback now that the final PNG exists. - final bmpPath = p.join(job.imagesPath, '${job.item.id}.bmp'); - await deleteOwned(bmpPath, job.imagesPath); - - if (_disposed) return; - - final meta = - '{"width":${result.width},"height":${result.height},' - '"size":${result.fileSize}}'; - final updated = job.item.copyWith( - content: result.imagePath, - metadata: meta, - ); - await _repository.update(updated); - if (!_disposed) onItemUpdated?.call(updated); - } catch (e, s) { - AppLogger.error('[ImageQueue] job failed for ${job.item.id}: $e\n$s'); - } finally { - resultPort.close(); - isolate?.kill(priority: Isolate.beforeNextEvent); - } - } - - /// Cancels pending jobs and waits up to 1500 ms for the active job to finish. - /// After this call the queue refuses new jobs. - Future dispose() async { - if (_disposed) return; - _disposed = true; - _queue.clear(); - if (_processing) { - await Future.delayed(const Duration(milliseconds: 1500)); - } - } - - /// Deletes a file only if it is canonically inside [imagesDir]. - /// - /// [delete] replaces the filesystem call so the retry path can be exercised - /// without depending on OS-specific ways of locking a file. - @visibleForTesting - static Future deleteOwned( - String path, - String imagesDir, { - void Function(File)? delete, - }) async { - try { - final base = p.canonicalize(imagesDir); - final target = p.canonicalize(path); - final sep = base.endsWith(p.separator) ? base : '$base${p.separator}'; - if (!target.startsWith(sep)) return; - final f = File(target); - final remove = delete ?? (File file) => file.deleteSync(); - // Windows denies the delete while a scanner or the clipboard watcher - // still holds the handle it just opened. One-shot deletion leaked the - // fallback BMP permanently, so give the handle time to close. - for (var attempt = 0; ; attempt++) { - try { - if (f.existsSync()) remove(f); - return; - } on FileSystemException { - if (attempt == 2) rethrow; - await Future.delayed(const Duration(milliseconds: 150)); - } - } - } catch (e) { - AppLogger.warn('[ImageQueue] deleteOwned failed for "$path": $e'); - } - } -} - -// --------------------------------------------------------------------------- -// Isolate worker — runs in a separate isolate, no access to singletons. -// --------------------------------------------------------------------------- - -class _IsolateParams { - _IsolateParams({ - required this.imageBytes, - required this.id, - required this.imagesDir, - required this.resultPort, - }); - - final Uint8List imageBytes; - final String id; - final String imagesDir; - final SendPort resultPort; -} - -void _isolateWorker(_IsolateParams params) { - final result = ImageProcessor.processSync( - imageBytes: params.imageBytes, - id: params.id, - imagesDir: params.imagesDir, - ); - params.resultPort.send(result); -} diff --git a/core/lib/services/image_processor.dart b/core/lib/services/image_processor.dart deleted file mode 100644 index 5f9b45a6..00000000 --- a/core/lib/services/image_processor.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'dart:io'; -import 'dart:isolate'; -import 'dart:typed_data'; - -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -class ImageProcessResult { - const ImageProcessResult({ - required this.imagePath, - required this.width, - required this.height, - required this.fileSize, - }); - - final String imagePath; - final int width; - final int height; - final int fileSize; -} - -class ImageProcessor { - static Future processAndSave({ - required Uint8List imageBytes, - required String id, - required String imagesDir, - }) async { - return Isolate.run( - () => processSync(imageBytes: imageBytes, id: id, imagesDir: imagesDir), - ); - } - - static ImageProcessResult? processSync({ - required Uint8List imageBytes, - required String id, - required String imagesDir, - }) { - // Decode failures (unsupported format, truncated data) → return null so the - // caller can distinguish "format not supported" from I/O errors below. - final img.Image? decoded; - try { - decoded = img.decodeImage(imageBytes); - } catch (_) { - return null; - } - if (decoded == null) return null; - - if (decoded.numChannels == 4 && decoded.bitsPerChannel == 8) { - var allTransparent = true; - for (final px in decoded) { - if (px.a != 0) { - allTransparent = false; - break; - } - } - if (allTransparent) { - for (final px in decoded) { - px.a = 255; - } - } - } - - // Encoding and file-write errors (disk full, permissions) are NOT silenced — - // they propagate out of the Isolate and are caught + logged by the caller. - final pngBytes = img.encodePng(decoded); - final imagePath = p.join(imagesDir, '$id.png'); - File(imagePath).writeAsBytesSync(pngBytes); - - return ImageProcessResult( - imagePath: imagePath, - width: decoded.width, - height: decoded.height, - fileSize: pngBytes.length, - ); - } -} diff --git a/core/lib/services/native_thumbnail_provider.dart b/core/lib/services/native_thumbnail_provider.dart deleted file mode 100644 index e850cf9b..00000000 --- a/core/lib/services/native_thumbnail_provider.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'dart:typed_data'; - -/// Contract for OS-backed thumbnail providers. Implementations request a -/// thumbnail bitmap from the native shell (Windows `IShellItemImageFactory`, -/// macOS `QLThumbnailGenerator`) and return the encoded PNG bytes ready to -/// be written to disk. -/// -/// Implementations are expected to: -/// - Return `null` when the OS has no usable thumbnail (no error). -/// - Treat icon-only fallbacks as `null` (e.g. discard if the bitmap is -/// ≤ 64 px on either side when 256 px were requested). -/// - Time out fast (≤ 2 s) so the queue stays responsive. -/// - Never throw for "missing thumb" cases. Throw only for genuine -/// programming errors (invalid arguments, channel not registered). -/// -/// Returned bytes must be a valid PNG. The caller writes them verbatim -/// inside the app's `images/` directory and is responsible for the path -/// safety checks. -abstract class NativeThumbnailProvider { - /// Requests a thumbnail of [path] sized at [sizePx] on the longest side. - /// HiDPI scaling is the implementation's responsibility. - Future request(String path, {int sizePx = 256}); -} - -/// Default no-op implementation. Used on platforms with no native backend -/// wired yet, and in tests that want to exercise only the Dart fallback. -class NoopNativeThumbnailProvider implements NativeThumbnailProvider { - const NoopNativeThumbnailProvider(); - - @override - Future request(String path, {int sizePx = 256}) async => null; -} diff --git a/core/lib/services/support_service.dart b/core/lib/services/support_service.dart deleted file mode 100644 index 3580001b..00000000 --- a/core/lib/services/support_service.dart +++ /dev/null @@ -1,159 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:archive/archive.dart'; -import 'package:flutter/foundation.dart' show visibleForTesting; -import 'package:path/path.dart' as p; - -import '../config/storage_config.dart'; -import 'app_logger.dart'; -import 'crash_logger.dart'; - -class SupportService { - SupportService._(); // coverage:ignore-line - - /// Exports all log files into a zip archive saved at [savePath]. - /// - /// The zip includes: - /// - All `.log` files from [StorageConfig.logsPath]. - /// - A `device_info.txt` with basic platform and version details. - /// - /// Returns the number of log files included, or throws on failure. - static Future exportLogs( - StorageConfig storage, - String appVersion, - String savePath, - ) async { - AppLogger.info('exportLogs: starting — savePath=$savePath'); - final logsDir = Directory(storage.logsPath); - final archive = Archive(); - - final logFiles = logsDir.existsSync() - ? logsDir - .listSync() - .whereType() - .where((f) => f.path.endsWith('.log')) - .toList() - : []; - - if (logFiles.isEmpty) { - AppLogger.warn('exportLogs: no .log files found in ${storage.logsPath}'); - } - - for (final file in logFiles) { - try { - final raw = await file.readAsString(); - final redacted = CrashLogger.redact(raw); - final bytes = utf8.encode(redacted); - archive.addFile( - ArchiveFile(p.basename(file.path), bytes.length, bytes), - ); - } catch (e) { - AppLogger.error('exportLogs: failed to read ${file.path}: $e'); - } - } - - final crashFile = File(p.join(storage.baseDir, CrashLogger.fileName)); - if (crashFile.existsSync()) { - try { - final raw = await crashFile.readAsString(); - final redacted = CrashLogger.redact(raw); - final bytes = utf8.encode(redacted); - archive.addFile(ArchiveFile(CrashLogger.fileName, bytes.length, bytes)); - } catch (e) { - AppLogger.error('exportLogs: failed to read crash.log: $e'); - } - } - - // Add device info so the report is self-contained - final info = _buildDeviceInfo(appVersion); - final infoBytes = utf8.encode(info); - archive.addFile( - ArchiveFile('device_info.txt', infoBytes.length, infoBytes), - ); - - final zipData = ZipEncoder().encode(archive); - if (zipData.isEmpty) { - AppLogger.error('exportLogs: ZipEncoder returned empty data'); - throw StateError('Zip encoding produced no output'); - } - - await File(savePath).writeAsBytes(zipData); - AppLogger.info( - 'exportLogs: done — ${logFiles.length} log file(s) → $savePath', - ); - return logFiles.length; - } - - /// Reveals [filePath] in the system file browser (Finder, Explorer, etc.). - static Future revealFile(String filePath) async { - AppLogger.info('revealFile: $filePath'); - try { - // coverage:ignore-start - if (Platform.isWindows) { - // explorer requires the flag and path as one contiguous token; - // splitting them makes it ignore the selection and open Documents. - await Process.run('explorer', ['/select,$filePath']); - } else if (Platform.isMacOS) { - await Process.run('open', ['-R', filePath]); - } - // coverage:ignore-end - } catch (e, s) { - AppLogger.exception(e, s, 'revealFile'); - } - } - - /// Opens the logs directory in the system file browser. - static Future openLogsFolder(StorageConfig storage) async { - final logsDir = Directory(storage.logsPath); - if (!logsDir.existsSync()) { - AppLogger.info('openLogsFolder: logs dir missing, creating it'); - await logsDir.create(recursive: true); - } - - AppLogger.info('openLogsFolder: opening ${logsDir.path}'); - try { - // coverage:ignore-start - if (Platform.isWindows) { - // Process.run('explorer', path) silently fails in MSIX packages because - // Windows routes the open request via DDE to the existing shell process, - // and the AppContainer blocks cross-process DDE. Using cmd's start - // command calls ShellExecuteEx instead, which works correctly in MSIX. - await Process.run('cmd', ['/c', 'start', '', logsDir.path]); - } else if (Platform.isMacOS) { - await Process.run('open', [logsDir.path]); - } - // coverage:ignore-end - } catch (e, s) { - AppLogger.exception(e, s, 'openLogsFolder'); - rethrow; - } - } - - static String _buildDeviceInfo(String appVersion) { - final osVersion = Platform.isWindows - ? correctWindowsVersion(Platform.operatingSystemVersion) - : Platform.operatingSystemVersion; - final lines = [ - 'CopyPaste v$appVersion', - 'Generated: ${DateTime.now().toUtc().toIso8601String()}', - '', - 'Platform : ${Platform.operatingSystem}', - 'OS : $osVersion', - 'Locale : ${Platform.localeName}', - 'Dart : ${Platform.version}', - ]; - return lines.join('\n'); - } - - // Dart/Flutter always reports "Windows 10" even on Windows 11 due to Win32 - // backwards-compat shim. Windows 11 starts at build 22000. - @visibleForTesting - static String correctWindowsVersion(String raw) { - if (!raw.contains('Windows 10')) return raw; - final match = RegExp(r'Build (\d+)').firstMatch(raw); - if (match == null) return raw; - final build = int.tryParse(match.group(1) ?? '') ?? 0; - return build >= 22000 ? raw.replaceFirst('Windows 10', 'Windows 11') : raw; - } -} diff --git a/core/lib/services/text_classifier.dart b/core/lib/services/text_classifier.dart deleted file mode 100644 index ced83937..00000000 --- a/core/lib/services/text_classifier.dart +++ /dev/null @@ -1,78 +0,0 @@ -import 'dart:convert'; - -import '../models/clipboard_content_type.dart'; - -abstract final class TextClassifier { - static final _email = RegExp( - r'^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$', - ); - - static final _phone = RegExp( - r'^\+\d[\d\s\(\)\-]{4,18}$' - r'|' - r'^\(\+?\d{1,4}\)[\d\s\-]{4,14}$', - ); - - static final _hexColor = RegExp( - r'^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$', - ); - - static final _rgbColor = RegExp( - r'^rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(\s*,\s*[\d.]+)?\s*\)$', - caseSensitive: false, - ); - - static final _hslColor = RegExp( - r'^hsla?\(\s*\d{1,3}\s*,\s*\d{1,3}%\s*,\s*\d{1,3}%(\s*,\s*[\d.]+)?\s*\)$', - caseSensitive: false, - ); - - static final _ip = RegExp( - r'^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$', - ); - - static final _uuid = RegExp( - r'^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$', - caseSensitive: false, - ); - - static ClipboardContentType classify(String content) { - final t = content.trim(); - if (t.isEmpty) return ClipboardContentType.text; - - if (!t.contains('\n')) { - if (_email.hasMatch(t)) return ClipboardContentType.email; - if (_isPhone(t)) return ClipboardContentType.phone; - if (_hexColor.hasMatch(t) || - _rgbColor.hasMatch(t) || - _hslColor.hasMatch(t)) { - return ClipboardContentType.color; - } - if (_ip.hasMatch(t)) return ClipboardContentType.ip; - if (_uuid.hasMatch(t)) return ClipboardContentType.uuid; - } - - if (_isJson(t)) return ClipboardContentType.json; - return ClipboardContentType.text; - } - - static bool _isPhone(String value) { - if (!_phone.hasMatch(value)) return false; - final digits = value.replaceAll(RegExp(r'\D'), ''); - return digits.length >= 7 && digits.length <= 15; - } - - static bool _isJson(String value) { - final t = value.trim(); - if (!((t.startsWith('{') && t.endsWith('}')) || - (t.startsWith('[') && t.endsWith(']')))) { - return false; - } - try { - jsonDecode(t); - return true; - } catch (_) { - return false; - } - } -} diff --git a/core/lib/services/thumbnail_queue.dart b/core/lib/services/thumbnail_queue.dart deleted file mode 100644 index 59f5afab..00000000 --- a/core/lib/services/thumbnail_queue.dart +++ /dev/null @@ -1,213 +0,0 @@ -import 'dart:async'; -import 'dart:io'; - -import 'package:path/path.dart' as p; - -import '../models/clipboard_item.dart'; -import '../repository/i_clipboard_repository.dart'; -import 'app_logger.dart'; -import 'thumbnail_service.dart'; - -/// Reasons a [ThumbnailQueue] job can be enqueued. Used only for logging. -enum ThumbnailJobReason { freshItem, staleRegeneration, manualRefresh } - -class _ThumbJob { - _ThumbJob(this.itemId, this.reason); - - final String itemId; - final ThumbnailJobReason reason; -} - -/// Serial queue that generates 256-px PNG thumbnails for image items via -/// [ThumbnailService] and persists the result back to the repository. -/// -/// Responsibilities: -/// - Single in-flight job at a time (no CPU/disk thrash). -/// - Race-safe persistence: the item is re-fetched right before update, -/// and if it has been deleted in the meantime the generated thumb file -/// is removed and the update is skipped. -/// - mtime-based staleness check: [enqueueIfStale] re-encodes when the -/// source file's `mtime` no longer matches the recorded -/// `sourceModifiedAt`. -/// - Best-effort emit of the updated item via [onItemUpdated] so the UI -/// can rebuild the affected card. -/// -/// All file writes happen inside [ThumbnailService.imagesPath]. Cleanup of -/// orphan thumbs is owned by `CleanupService` (see `getThumbPaths()`). -class ThumbnailQueue { - ThumbnailQueue({ - required IClipboardRepository repository, - required ThumbnailService service, - this.onItemUpdated, - }) : _repository = repository, - _service = service; - - final IClipboardRepository _repository; - final ThumbnailService _service; - - /// Called on the main isolate after a job successfully writes a thumb and - /// updates the repository row. Never called for skipped or failed jobs. - final void Function(ClipboardItem item)? onItemUpdated; - - final _queue = <_ThumbJob>[]; - final _enqueuedIds = {}; - bool _processing = false; - bool _disposed = false; - - /// Visible for tests: number of jobs currently waiting (excludes the - /// one being processed, if any). - int get pendingCount => _queue.length; - - /// Visible for tests: `true` when there are no queued jobs **and** no - /// job is currently being processed. Use this to wait for full quiescence - /// instead of [pendingCount], which goes to zero as soon as a job is - /// taken off the queue (before encoding finishes). - bool get isIdle => _queue.isEmpty && !_processing; - - /// Enqueues a thumbnail job for [item]. No-ops if the queue is disposed, - /// the item type is not eligible, or the same id is already queued. - /// - /// Returns synchronously; the actual generation runs asynchronously. - void enqueue(ClipboardItem item, {ThumbnailJobReason? reason}) { - if (_disposed) return; - if (!_isEligible(item)) return; - if (_enqueuedIds.contains(item.id)) return; - _enqueuedIds.add(item.id); - _queue.add(_ThumbJob(item.id, reason ?? ThumbnailJobReason.freshItem)); - if (_queue.length > 20) { - AppLogger.warn('[ThumbQueue] queue depth: ${_queue.length}'); - } - _scheduleNext(); - } - - /// Enqueues a regeneration only if the source file's current `mtime` - /// differs from `item.sourceModifiedAt`. Items without a recorded - /// `sourceModifiedAt` are also enqueued (we have no baseline to compare). - /// - /// Safe to call from the UI thread; the file `stat` runs synchronously - /// but is cheap and only invoked when the card is being resolved. - void enqueueIfStale(ClipboardItem item) { - if (_disposed) return; - if (!_isEligible(item)) return; - - final sourcePath = _singleSourcePath(item); - if (sourcePath == null) return; - - final file = File(sourcePath); - if (!file.existsSync()) return; - - final FileStat stat; - try { - stat = file.statSync(); - } catch (_) { - return; - } - - final recorded = item.sourceModifiedAt; - final currentUtc = stat.modified.toUtc(); - final isStale = - recorded == null || - currentUtc.millisecondsSinceEpoch != recorded.millisecondsSinceEpoch; - - if (!isStale) return; - - enqueue(item, reason: ThumbnailJobReason.staleRegeneration); - } - - bool _isEligible(ClipboardItem item) { - if (!_service.acceptsType(item.type)) return false; - if (item.content.isEmpty) return false; - return _singleSourcePath(item) != null; - } - - String? _singleSourcePath(ClipboardItem item) { - final paths = item.content.split('\n').where((s) => s.isNotEmpty).toList(); - if (paths.length != 1) return null; - return paths.single; - } - - void _scheduleNext() { - if (_processing || _queue.isEmpty || _disposed) return; - _processing = true; - final job = _queue.removeAt(0); - _runJob(job).whenComplete(() { - _enqueuedIds.remove(job.itemId); - _processing = false; - _scheduleNext(); - }); - } - - Future _runJob(_ThumbJob job) async { - if (_disposed) return; - - // Re-fetch right before generation: the item may have been deleted or - // mutated since enqueue. Cheaper to re-read than to encode and discard. - final fresh = await _repository.getById(job.itemId); - if (fresh == null) return; - if (!_isEligible(fresh)) return; - - final result = await _safeGenerate(fresh); - if (result == null) return; - - if (_disposed) { - _safeDelete(result.thumbPath); - return; - } - - // Race window: the user may have deleted the item while we were - // encoding. If gone, drop the file we just produced. - final stillThere = await _repository.getById(job.itemId); - if (stillThere == null) { - _safeDelete(result.thumbPath); - return; - } - - final updated = stillThere.copyWith( - thumbPath: result.thumbPath, - sourceModifiedAt: result.sourceModifiedAt, - ); - try { - await _repository.update(updated); - } catch (e, s) { - AppLogger.error('[ThumbQueue] update failed for ${job.itemId}: $e\n$s'); - _safeDelete(result.thumbPath); - return; - } - - if (!_disposed) onItemUpdated?.call(updated); - } - - Future _safeGenerate(ClipboardItem item) async { - try { - return await _service.generateForItem(item); - } catch (e, s) { - AppLogger.warn('[ThumbQueue] generate failed for ${item.id}: $e\n$s'); - return null; - } - } - - void _safeDelete(String path) { - try { - final base = p.canonicalize(_service.imagesPath); - final target = p.canonicalize(path); - final sep = base.endsWith(p.separator) ? base : '$base${p.separator}'; - if (!target.startsWith(sep)) return; - final file = File(target); - if (file.existsSync()) file.deleteSync(); - } catch (e) { - AppLogger.warn('[ThumbQueue] _safeDelete failed for "$path": $e'); - } - } - - /// Cancels pending jobs and waits up to 1500 ms for the active job to - /// finish. After this call the queue refuses new jobs. - Future dispose() async { - if (_disposed) return; - _disposed = true; - _queue.clear(); - _enqueuedIds.clear(); - if (_processing) { - await Future.delayed(const Duration(milliseconds: 1500)); - } - } -} diff --git a/core/lib/services/thumbnail_service.dart b/core/lib/services/thumbnail_service.dart deleted file mode 100644 index d69aa536..00000000 --- a/core/lib/services/thumbnail_service.dart +++ /dev/null @@ -1,232 +0,0 @@ -import 'dart:io'; -import 'dart:isolate'; -import 'dart:typed_data'; - -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -import '../models/clipboard_content_type.dart'; -import '../models/clipboard_item.dart'; -import 'app_logger.dart'; -import 'native_thumbnail_provider.dart'; - -/// Result of a thumbnail generation attempt. -class ThumbnailResult { - const ThumbnailResult({ - required this.thumbPath, - required this.sourceModifiedAt, - }); - - /// Path inside `imagesPath`, of the form `_thumb.png`. - final String thumbPath; - - /// `mtime` (UTC) of the source file at the time the thumb was generated. - /// Used to detect staleness when the external file is modified. - final DateTime sourceModifiedAt; -} - -/// Generates 256-px PNG thumbnails for clipboard items that reference -/// external media files. -/// -/// Two paths: -/// 1. **Native** (preferred when `nativeProvider` is set): asks the OS -/// shell for a cached thumbnail (Win `IShellItemImageFactory`, -/// macOS `QLThumbnailGenerator`). Covers [ClipboardContentType.image], -/// [video] and [audio] (cover art). -/// 2. **Dart fallback** (always available for images): decodes the file -/// with `package:image` in a one-shot isolate. Only handles -/// [ClipboardContentType.image]. -/// -/// The output file is always written under `imagesPath/_thumb.png`. -/// Snippets we own (paths already inside `imagesPath`) are skipped — they -/// are small enough to render directly. -class ThumbnailService { - ThumbnailService({ - required this.imagesPath, - this.nativeProvider, - this.maxSourceBytes = 25 * 1024 * 1024, - this.maxDimension = 256, - this.isTypeEnabled, - }); - - /// Absolute, canonicalized path to the app's `images/` directory. Every - /// generated thumb is written here and only here. - final String imagesPath; - - /// Optional OS-backed provider tried before the Dart fallback. When set, - /// the service also accepts video and audio items. When null, only image - /// items are processed and the Dart fallback is used. - final NativeThumbnailProvider? nativeProvider; - - /// Skip generation if the source file is bigger than this many bytes. - /// Only applied to the Dart fallback; native providers handle their own - /// limits (most just read the OS cache). - final int maxSourceBytes; - - /// Longest side of the generated thumbnail, in pixels. - final int maxDimension; - - bool Function(ClipboardContentType type)? isTypeEnabled; - - /// Generates a thumbnail for [item] if applicable. Returns the result - /// metadata so the caller can persist `thumbPath` + `sourceModifiedAt` - /// in the repository, or `null` if no thumb was produced. - /// - /// This method is safe to call from the UI thread: heavy work runs in - /// a one-shot isolate via `Isolate.run`. - Future generateForItem(ClipboardItem item) async { - if (!_isAcceptedType(item.type)) return null; - if (item.content.isEmpty) return null; - - final paths = item.content.split('\n').where((s) => s.isNotEmpty).toList(); - if (paths.length != 1) return null; - - final sourcePath = paths.single; - - // Skip snippets we own: they already live inside imagesPath and are - // typically small enough to render directly. They are also the - // output of the image processing queue, so generating a thumb of a - // thumb is wasteful. - final canonicalSource = _safeCanonicalize(sourcePath); - final canonicalImages = _safeCanonicalize(imagesPath); - if (canonicalSource == null || canonicalImages == null) return null; - if (p.isWithin(canonicalImages, canonicalSource)) return null; - - final sourceFile = File(sourcePath); - if (!sourceFile.existsSync()) return null; - - final FileStat stat; - try { - stat = sourceFile.statSync(); - } catch (e) { - AppLogger.warn('ThumbnailService: stat failed for $sourcePath: $e'); - return null; - } - if (stat.size <= 0) return null; - - final outPath = p.join(imagesPath, '${item.id}_thumb.png'); - - // Defense in depth: outPath must canonicalize back inside imagesPath. - final canonicalOut = _safeCanonicalize(outPath); - if (canonicalOut == null || !p.isWithin(canonicalImages, canonicalOut)) { - AppLogger.error( - 'ThumbnailService: refusing thumb path outside imagesPath: $outPath', - ); - return null; - } - - // 1) Try native provider first (cheap cache hit when available). - final native = nativeProvider; - if (native != null) { - final bytes = await _safeNativeRequest(native, sourcePath); - if (bytes != null && bytes.isNotEmpty) { - try { - await File(outPath).writeAsBytes(bytes, flush: true); - return ThumbnailResult( - thumbPath: outPath, - sourceModifiedAt: stat.modified.toUtc(), - ); - } catch (e, s) { - AppLogger.warn( - 'ThumbnailService: failed to write native thumb $outPath: $e\n$s', - ); - // Fall through to Dart fallback (only useful for images). - } - } - } - - // 2) Dart fallback: only images, only within size limit. - if (item.type != ClipboardContentType.image) return null; - if (stat.size > maxSourceBytes) return null; - - final bool ok; - try { - final bytes = await sourceFile.readAsBytes(); - ok = await Isolate.run( - () => _encodeThumbSync( - bytes: bytes, - outPath: outPath, - maxDimension: maxDimension, - ), - ); - } catch (e, s) { - AppLogger.warn( - 'ThumbnailService: Dart fallback failed for $sourcePath: $e\n$s', - ); - return null; - } - if (!ok) return null; - - return ThumbnailResult( - thumbPath: outPath, - sourceModifiedAt: stat.modified.toUtc(), - ); - } - - bool _isAcceptedType(ClipboardContentType type) { - if (isTypeEnabled != null && !isTypeEnabled!(type)) return false; - if (type == ClipboardContentType.image) return true; - if (nativeProvider == null) return false; - return type == ClipboardContentType.video || - type == ClipboardContentType.audio; - } - - /// Whether the service will attempt to generate a thumbnail for items - /// of [type]. Visible so callers (e.g. [ThumbnailQueue]) can short- - /// circuit before enqueuing. - bool acceptsType(ClipboardContentType type) => _isAcceptedType(type); - - Future _safeNativeRequest( - NativeThumbnailProvider provider, - String path, - ) async { - try { - return await provider - .request(path, sizePx: maxDimension) - .timeout(const Duration(seconds: 2)); - } catch (e, s) { - AppLogger.warn('ThumbnailService: native provider failed: $e\n$s'); - return null; - } - } - - /// Decode + downscale + encode PNG, all synchronous. Designed to run - /// inside an isolate. Returns `true` on success, `false` if decoding - /// failed; rethrows on I/O failures so the caller can log them. - static bool _encodeThumbSync({ - required Uint8List bytes, - required String outPath, - required int maxDimension, - }) { - final img.Image? decoded; - try { - decoded = img.decodeImage(bytes); - } catch (_) { - return false; - } - if (decoded == null) return false; - - final scaled = _downscale(decoded, maxDimension); - final pngBytes = img.encodePng(scaled); - File(outPath).writeAsBytesSync(pngBytes); - return true; - } - - static img.Image _downscale(img.Image src, int maxDim) { - final w = src.width; - final h = src.height; - if (w <= maxDim && h <= maxDim) return src; - if (w >= h) { - return img.copyResize(src, width: maxDim); - } - return img.copyResize(src, height: maxDim); - } - - static String? _safeCanonicalize(String path) { - try { - return p.canonicalize(path); - } catch (_) { - return null; - } - } -} diff --git a/core/pubspec.yaml b/core/pubspec.yaml deleted file mode 100644 index 4c753e72..00000000 --- a/core/pubspec.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: core -description: "CopyPaste — Core library: models, repository, services, config." -version: 0.0.1 -publish_to: 'none' -resolution: workspace - -environment: - sdk: ^3.11.1 - flutter: ">=3.3.0" - -dependencies: - flutter: - sdk: flutter - drift: ^2.0.0 - sqlite3: ^3.0.0 - path_provider: ^2.0.0 - path: ^1.9.0 - uuid: ^4.0.0 - archive: ^4.0.9 - image: ^4.5.3 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^6.0.0 - drift_dev: ^2.0.0 - build_runner: ^2.0.0 - test: ^1.29.0 diff --git a/core/test/app_config_test.dart b/core/test/app_config_test.dart deleted file mode 100644 index 8c95aa72..00000000 --- a/core/test/app_config_test.dart +++ /dev/null @@ -1,1151 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('AppConfig', () { - test('default values are correct', () { - const config = AppConfig(); - expect(config.preferredLanguage, equals('auto')); - expect(config.runOnStartup, isTrue); - expect(config.retentionDays, equals(30)); - expect(config.pageSize, equals(30)); - expect(config.hotkeyUseCtrl, isTrue); - expect(config.hotkeyUseWin, isFalse); - expect(config.hotkeyUseAlt, isTrue); - expect(config.hotkeyUseShift, isFalse); - expect(config.hotkeyKeyName, equals('V')); - }); - - test('serialization round-trip preserves all fields', () { - const config = AppConfig( - preferredLanguage: 'es-CL', - retentionDays: 60, - pageSize: 50, - hotkeyUseCtrl: true, - ); - final json = config.toJson(); - final restored = AppConfig.fromJson(json); - expect(restored.preferredLanguage, equals('es-CL')); - expect(restored.retentionDays, equals(60)); - expect(restored.pageSize, equals(50)); - expect(restored.hotkeyUseCtrl, isTrue); - }); - - test('copyWith produces new instance with changes', () { - const config = AppConfig(); - final updated = config.copyWith(retentionDays: 90, pageSize: 20); - expect(updated.retentionDays, equals(90)); - expect(updated.pageSize, equals(20)); - expect(config.retentionDays, equals(30)); - }); - - test('fromJson uses defaults for missing fields', () { - final config = AppConfig.fromJson({}); - expect(config.preferredLanguage, equals('auto')); - expect(config.runOnStartup, isTrue); - }); - - test('load returns default when file does not exist', () async { - final config = await AppConfig.load('/nonexistent/path/config.json'); - expect(config.preferredLanguage, equals('auto')); - expect(config.plainPasteHotkeyEnabled, isFalse); - }); - - test('save and load round-trip', () async { - final dir = Directory.systemTemp.createTempSync('config_test_'); - final path = '${dir.path}/config.json'; - try { - const original = AppConfig( - preferredLanguage: 'es-CL', - pageSize: 50, - retentionDays: 90, - ); - await original.save(path); - final loaded = await AppConfig.load(path); - expect(loaded.preferredLanguage, equals('es-CL')); - expect(loaded.pageSize, equals(50)); - expect(loaded.retentionDays, equals(90)); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test('lastBackupDateUtc serializes correctly', () { - final date = DateTime.utc(2026, 3, 1, 12); - final config = AppConfig(lastBackupDateUtc: date); - final json = config.toJson(); - final restored = AppConfig.fromJson(json); - expect(restored.lastBackupDateUtc, equals(date)); - }); - }); - - group('AppConfig.copyWith sentinel fields', () { - test('copyWith can clear lastBackupDateUtc to null', () { - final date = DateTime.utc(2026, 1, 1); - final config = AppConfig(lastBackupDateUtc: date); - final updated = config.copyWith(lastBackupDateUtc: null); - expect(updated.lastBackupDateUtc, isNull); - }); - - test('copyWith without lastBackupDateUtc preserves existing value', () { - final date = DateTime.utc(2026, 1, 1); - final config = AppConfig(lastBackupDateUtc: date); - final updated = config.copyWith(pageSize: 20); - expect(updated.lastBackupDateUtc, equals(date)); - }); - }); - - group('AppConfig hotkey fields', () { - test('hotkey defaults are correct', () { - const config = AppConfig(); - expect(config.hotkeyUseCtrl, isTrue); - expect(config.hotkeyUseWin, isFalse); - expect(config.hotkeyUseAlt, isTrue); - expect(config.hotkeyUseShift, isFalse); - expect(config.hotkeyVirtualKey, equals(0x56)); - expect(config.hotkeyKeyName, equals('V')); - expect(config.plainPasteHotkeyEnabled, isFalse); - expect(config.plainPasteHotkeyUseCtrl, isTrue); - expect(config.plainPasteHotkeyUseAlt, isTrue); - expect(config.plainPasteHotkeyUseWin, isFalse); - expect(config.plainPasteHotkeyUseShift, isTrue); - expect(config.plainPasteHotkeyVirtualKey, equals(0x56)); - expect(config.plainPasteHotkeyKeyName, equals('V')); - }); - - test('platform defaults follow native shortcut conventions', () { - final windows = AppConfig.defaultForPlatform('windows'); - expect(windows.hotkeyKeyName, 'C'); - expect(windows.hotkeyUseCtrl, isTrue); - expect(windows.hotkeyUseAlt, isTrue); - expect(windows.plainPasteHotkeyEnabled, isFalse); - expect(windows.plainPasteHotkeyUseCtrl, isTrue); - expect(windows.plainPasteHotkeyUseAlt, isTrue); - expect(windows.plainPasteHotkeyUseShift, isFalse); - expect(windows.duplicateIgnoreWindowMs, 350); - expect(windows.delayBeforeFocusMs, 80); - expect(windows.delayBeforePasteMs, 120); - expect(windows.maxFocusVerifyAttempts, 12); - - final macos = AppConfig.defaultForPlatform('macos'); - expect(macos.hotkeyUseCtrl, isTrue); - expect(macos.hotkeyUseAlt, isFalse); - expect(macos.hotkeyUseShift, isTrue); - expect(macos.plainPasteHotkeyUseWin, isTrue); - expect(macos.plainPasteHotkeyUseAlt, isTrue); - expect(macos.plainPasteHotkeyUseShift, isTrue); - expect(macos.plainPasteHotkeyUseCtrl, isTrue); - }); - - test('legacy JSON does not silently enable the new global hotkey', () { - final restored = AppConfig.fromJson({'hotkeyKeyName': 'P'}); - expect(restored.plainPasteHotkeyEnabled, isFalse); - }); - - test('legacy Windows opening shortcut remains Ctrl+Alt+C', () { - if (!Platform.isWindows) return; - final restored = AppConfig.fromJson({ - 'hotkeyUseCtrl': true, - 'hotkeyUseWin': false, - 'hotkeyUseAlt': true, - 'hotkeyUseShift': false, - 'hotkeyVirtualKey': 0x43, - 'hotkeyKeyName': 'C', - 'plainPasteHotkeyEnabled': true, - 'plainPasteHotkeyUseCtrl': true, - 'plainPasteHotkeyUseWin': false, - 'plainPasteHotkeyUseAlt': false, - 'plainPasteHotkeyUseShift': true, - 'plainPasteHotkeyVirtualKey': 0x56, - 'plainPasteHotkeyKeyName': 'V', - }); - - expect(restored.hotkeyKeyName, 'C'); - expect(restored.hotkeyUseCtrl, isTrue); - expect(restored.hotkeyUseAlt, isTrue); - expect(restored.plainPasteHotkeyEnabled, isFalse); - expect(restored.plainPasteHotkeyUseCtrl, isTrue); - expect(restored.plainPasteHotkeyUseAlt, isTrue); - expect(restored.plainPasteHotkeyUseShift, isFalse); - }); - - test('version 2 Windows opening default migrates back to Ctrl+Alt+C', () { - if (!Platform.isWindows) return; - final restored = AppConfig.fromJson({ - 'shortcutDefaultsVersion': 2, - 'hotkeyUseCtrl': true, - 'hotkeyUseWin': false, - 'hotkeyUseAlt': true, - 'hotkeyUseShift': false, - 'hotkeyVirtualKey': 0x56, - 'hotkeyKeyName': 'V', - }); - - expect(restored.hotkeyVirtualKey, 0x43); - expect(restored.hotkeyKeyName, 'C'); - }); - - test('versioned custom Ctrl+Shift+V global shortcut is preserved', () { - final restored = AppConfig.fromJson({ - 'shortcutDefaultsVersion': 2, - 'plainPasteHotkeyEnabled': true, - 'plainPasteHotkeyUseCtrl': true, - 'plainPasteHotkeyUseWin': false, - 'plainPasteHotkeyUseAlt': false, - 'plainPasteHotkeyUseShift': true, - 'plainPasteHotkeyVirtualKey': 0x56, - 'plainPasteHotkeyKeyName': 'V', - }); - - expect(restored.plainPasteHotkeyEnabled, isTrue); - expect(restored.plainPasteHotkeyUseCtrl, isTrue); - expect(restored.plainPasteHotkeyUseAlt, isFalse); - expect(restored.plainPasteHotkeyUseShift, isTrue); - }); - - test('version 3 Windows plain-paste default migrates to Ctrl+Alt+V', () { - if (!Platform.isWindows) return; - final restored = AppConfig.fromJson({ - 'shortcutDefaultsVersion': 3, - 'plainPasteHotkeyEnabled': true, - 'plainPasteHotkeyUseCtrl': true, - 'plainPasteHotkeyUseWin': false, - 'plainPasteHotkeyUseAlt': true, - 'plainPasteHotkeyUseShift': true, - 'plainPasteHotkeyVirtualKey': 0x56, - 'plainPasteHotkeyKeyName': 'V', - }); - - expect(restored.plainPasteHotkeyEnabled, isTrue); - expect(restored.plainPasteHotkeyUseCtrl, isTrue); - expect(restored.plainPasteHotkeyUseAlt, isTrue); - expect(restored.plainPasteHotkeyUseShift, isFalse); - }); - - test('version 4 Windows plain-paste default migrates to Ctrl+Alt+V', () { - if (!Platform.isWindows) return; - final restored = AppConfig.fromJson({ - 'shortcutDefaultsVersion': 4, - 'plainPasteHotkeyEnabled': true, - 'plainPasteHotkeyUseCtrl': true, - 'plainPasteHotkeyUseWin': false, - 'plainPasteHotkeyUseAlt': false, - 'plainPasteHotkeyUseShift': true, - 'plainPasteHotkeyVirtualKey': 0x56, - 'plainPasteHotkeyKeyName': 'V', - }); - - expect(restored.plainPasteHotkeyEnabled, isTrue); - expect(restored.plainPasteHotkeyUseCtrl, isTrue); - expect(restored.plainPasteHotkeyUseAlt, isTrue); - expect(restored.plainPasteHotkeyUseShift, isFalse); - }); - - test('load persists shortcut migrations once', () async { - if (!Platform.isWindows) return; - final dir = Directory.systemTemp.createTempSync('shortcut_migration_'); - final path = '${dir.path}/config.json'; - try { - File(path).writeAsStringSync( - jsonEncode({ - 'shortcutDefaultsVersion': 3, - 'plainPasteHotkeyEnabled': true, - 'plainPasteHotkeyUseCtrl': true, - 'plainPasteHotkeyUseWin': false, - 'plainPasteHotkeyUseAlt': true, - 'plainPasteHotkeyUseShift': true, - 'plainPasteHotkeyVirtualKey': 0x56, - 'plainPasteHotkeyKeyName': 'V', - }), - ); - - final restored = await AppConfig.load(path); - final persisted = - jsonDecode(File(path).readAsStringSync()) as Map; - - expect(restored.plainPasteHotkeyUseAlt, isTrue); - expect(restored.plainPasteHotkeyUseShift, isFalse); - expect( - persisted['shortcutDefaultsVersion'], - AppConfig.shortcutDefaultsVersion, - ); - expect(persisted['plainPasteHotkeyUseAlt'], isTrue); - expect(persisted['plainPasteHotkeyUseShift'], isFalse); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test('untouched Instant timing migrates to Normal', () { - final restored = AppConfig.fromJson({ - 'pasteDefaultsVersion': 2, - 'duplicateIgnoreWindowMs': 300, - 'delayBeforeFocusMs': 0, - 'delayBeforePasteMs': 20, - 'maxFocusVerifyAttempts': 15, - }, platform: 'windows'); - - expect(restored.duplicateIgnoreWindowMs, 350); - expect(restored.delayBeforeFocusMs, 80); - expect(restored.delayBeforePasteMs, 120); - expect(restored.maxFocusVerifyAttempts, 12); - }); - - test('legacy Safe timing is no longer forced onto Instant', () { - final restored = AppConfig.fromJson({ - 'pasteDefaultsVersion': 1, - 'duplicateIgnoreWindowMs': 450, - 'delayBeforeFocusMs': 100, - 'delayBeforePasteMs': 180, - 'maxFocusVerifyAttempts': 15, - }, platform: 'windows'); - - expect(restored.duplicateIgnoreWindowMs, 450); - expect(restored.delayBeforeFocusMs, 100); - expect(restored.delayBeforePasteMs, 180); - expect(restored.maxFocusVerifyAttempts, 15); - }); - - test('legacy custom Windows timing is preserved', () { - final restored = AppConfig.fromJson({ - 'pasteDefaultsVersion': 1, - 'duplicateIgnoreWindowMs': 451, - 'delayBeforeFocusMs': 100, - 'delayBeforePasteMs': 180, - 'maxFocusVerifyAttempts': 15, - }, platform: 'windows'); - - expect(restored.duplicateIgnoreWindowMs, 451); - expect(restored.delayBeforeFocusMs, 100); - expect(restored.delayBeforePasteMs, 180); - expect(restored.maxFocusVerifyAttempts, 15); - }); - - test('load persists the Windows paste timing migration', () async { - if (!Platform.isWindows) return; - final dir = Directory.systemTemp.createTempSync('paste_migration_'); - final path = '${dir.path}/config.json'; - try { - File(path).writeAsStringSync( - jsonEncode({ - 'shortcutDefaultsVersion': AppConfig.shortcutDefaultsVersion, - 'pasteDefaultsVersion': 2, - 'duplicateIgnoreWindowMs': 300, - 'delayBeforeFocusMs': 0, - 'delayBeforePasteMs': 20, - 'maxFocusVerifyAttempts': 15, - }), - ); - - final restored = await AppConfig.load(path); - final persisted = - jsonDecode(File(path).readAsStringSync()) as Map; - - expect(restored.delayBeforeFocusMs, 80); - expect(restored.delayBeforePasteMs, 120); - expect( - persisted['pasteDefaultsVersion'], - AppConfig.pasteDefaultsVersion, - ); - expect(persisted['delayBeforeFocusMs'], 80); - expect(persisted['delayBeforePasteMs'], 120); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test( - 'load keeps a migrated config when persistence is unavailable', - () async { - final dir = Directory.systemTemp.createTempSync('config_read_only_'); - final path = '${dir.path}/config.json'; - try { - File(path).writeAsStringSync( - jsonEncode({ - 'shortcutDefaultsVersion': 1, - 'pasteDefaultsVersion': 1, - }), - ); - final lockResult = Platform.isWindows - ? await Process.run('attrib', ['+R', path]) - : await Process.run('chmod', ['a-w', dir.path]); - expect(lockResult.exitCode, 0); - - final restored = await AppConfig.load(path); - - expect(restored.preferredLanguage, 'auto'); - } finally { - if (Platform.isWindows) { - await Process.run('attrib', ['-R', path]); - } else { - await Process.run('chmod', ['u+w', dir.path]); - } - dir.deleteSync(recursive: true); - } - }, - ); - - test('copyWith all hotkey fields', () { - const config = AppConfig(); - final updated = config.copyWith( - hotkeyUseCtrl: true, - hotkeyUseWin: false, - hotkeyUseAlt: false, - hotkeyUseShift: true, - hotkeyVirtualKey: 0x43, - hotkeyKeyName: 'C', - ); - expect(updated.hotkeyUseCtrl, isTrue); - expect(updated.hotkeyUseWin, isFalse); - expect(updated.hotkeyUseAlt, isFalse); - expect(updated.hotkeyUseShift, isTrue); - expect(updated.hotkeyVirtualKey, equals(0x43)); - expect(updated.hotkeyKeyName, equals('C')); - }); - - test('hotkey fields round-trip via JSON', () { - const config = AppConfig( - hotkeyUseCtrl: true, - hotkeyUseWin: false, - hotkeyUseAlt: false, - hotkeyUseShift: true, - hotkeyVirtualKey: 0x43, - hotkeyKeyName: 'C', - ); - final restored = AppConfig.fromJson(config.toJson()); - expect(restored.hotkeyUseCtrl, isTrue); - expect(restored.hotkeyUseWin, isFalse); - expect(restored.hotkeyKeyName, equals('C')); - }); - - test('plain paste hotkey fields copy and round-trip via JSON', () { - final updated = const AppConfig().copyWith( - plainPasteHotkeyEnabled: true, - plainPasteHotkeyUseCtrl: false, - plainPasteHotkeyUseWin: true, - plainPasteHotkeyUseAlt: false, - plainPasteHotkeyUseShift: true, - plainPasteHotkeyVirtualKey: 0x50, - plainPasteHotkeyKeyName: 'P', - ); - final restored = AppConfig.fromJson(updated.toJson()); - expect(restored.plainPasteHotkeyEnabled, isTrue); - expect(restored.plainPasteHotkeyUseCtrl, isFalse); - expect(restored.plainPasteHotkeyUseWin, isTrue); - expect(restored.plainPasteHotkeyUseAlt, isFalse); - expect(restored.plainPasteHotkeyUseShift, isTrue); - expect(restored.plainPasteHotkeyVirtualKey, equals(0x50)); - expect(restored.plainPasteHotkeyKeyName, equals('P')); - }); - }); - - group('AppConfig appearance and behavior fields', () { - test('themeMode defaults to dark', () { - const config = AppConfig(); - expect(config.themeMode, equals('dark')); - }); - - test('themeMode round-trips via JSON', () { - const config = AppConfig(themeMode: 'dark'); - expect(AppConfig.fromJson(config.toJson()).themeMode, equals('dark')); - }); - - test('colorLabels round-trip', () { - const config = AppConfig(colorLabels: {'1': 'Work', '2': 'Home'}); - final restored = AppConfig.fromJson(config.toJson()); - expect(restored.colorLabels['1'], equals('Work')); - expect(restored.colorLabels['2'], equals('Home')); - }); - - test('colorLabels defaults to empty map', () { - const config = AppConfig(); - expect(config.colorLabels, isEmpty); - }); - - test('timing fields have correct defaults', () { - const config = AppConfig(); - expect(config.duplicateIgnoreWindowMs, equals(450)); - expect(config.delayBeforeFocusMs, equals(100)); - expect(config.delayBeforePasteMs, equals(180)); - expect(config.maxFocusVerifyAttempts, equals(15)); - }); - - test('popup size defaults', () { - const config = AppConfig(); - expect(config.popupWidth, equals(380)); - expect(config.popupHeight, equals(500)); - }); - - test('card line defaults', () { - const config = AppConfig(); - expect(config.cardMinLines, equals(2)); - expect(config.cardMaxLines, equals(5)); - }); - - test('hasSeenOnboarding defaults to false', () { - const config = AppConfig(); - expect(config.hasSeenOnboarding, isFalse); - }); - - test('hasSeenOnboarding round-trips via JSON', () { - const config = AppConfig(hasSeenOnboarding: true); - expect(AppConfig.fromJson(config.toJson()).hasSeenOnboarding, isTrue); - }); - - test('hasSeenOnboarding absent in JSON defaults to false', () { - expect(AppConfig.fromJson({}).hasSeenOnboarding, isFalse); - }); - - test('copyWith hasSeenOnboarding updates value', () { - const config = AppConfig(); - expect( - config.copyWith(hasSeenOnboarding: true).hasSeenOnboarding, - isTrue, - ); - }); - - test('toJson omits lastBackupDateUtc when null', () { - const config = AppConfig(); - expect(config.toJson().containsKey('lastBackupDateUtc'), isFalse); - }); - - test('toJson includes lastBackupDateUtc when set', () { - final config = AppConfig(lastBackupDateUtc: DateTime.utc(2026, 3, 5)); - expect(config.toJson()['lastBackupDateUtc'], isA()); - }); - - test('full serialization round-trip with all fields', () { - const config = AppConfig( - preferredLanguage: 'es', - runOnStartup: false, - hotkeyUseCtrl: true, - pageSize: 50, - retentionDays: 60, - colorLabels: {'1': 'Work', '2': 'Home'}, - duplicateIgnoreWindowMs: 600, - delayBeforeFocusMs: 120, - delayBeforePasteMs: 200, - maxFocusVerifyAttempts: 20, - popupWidth: 400, - popupHeight: 520, - cardMinLines: 3, - cardMaxLines: 8, - hideOnDeactivate: false, - resetScrollOnShow: false, - resetSearchOnShow: false, - hasSeenHint: true, - themeMode: 'light', - ); - final restored = AppConfig.fromJson(config.toJson()); - expect(restored.preferredLanguage, equals('es')); - expect(restored.runOnStartup, isFalse); - expect(restored.hotkeyUseCtrl, isTrue); - expect(restored.pageSize, equals(50)); - expect(restored.retentionDays, equals(60)); - expect(restored.colorLabels['1'], equals('Work')); - expect(restored.duplicateIgnoreWindowMs, equals(600)); - expect(restored.popupWidth, equals(400)); - expect(restored.cardMinLines, equals(3)); - expect(restored.hideOnDeactivate, isFalse); - expect(restored.hasSeenHint, isTrue); - expect(restored.themeMode, equals('light')); - }); - }); - - group('AppConfig edge cases', () { - test('load returns default on corrupt file', () async { - final dir = Directory.systemTemp.createTempSync('config_test_'); - final path = '${dir.path}/config.json'; - File(path).writeAsStringSync('{not valid json'); - final config = await AppConfig.load(path); - expect(config, isA()); - dir.deleteSync(recursive: true); - }); - - test('fromJson throws on wrong types', () { - expect( - () => AppConfig.fromJson({ - 'preferredLanguage': 123, - 'runOnStartup': 'yes', - 'hotkeyUseCtrl': 'true', - 'colorLabels': 'not a map', - }), - throwsA(isA()), - ); - }); - - test('copyWith with all fields as null returns same values', () { - const config = AppConfig(); - final updated = config.copyWith(); - expect(updated.preferredLanguage, config.preferredLanguage); - expect(updated.runOnStartup, config.runOnStartup); - expect(updated.hotkeyUseCtrl, config.hotkeyUseCtrl); - expect(updated.themeMode, config.themeMode); - }); - - test('fromJson with empty string lastBackupDateUtc returns null', () { - final config = AppConfig.fromJson({'lastBackupDateUtc': ''}); - expect(config.lastBackupDateUtc, isNull); - }); - - test( - 'fromJson with invalid date string for lastBackupDateUtc returns null', - () { - final config = AppConfig.fromJson({'lastBackupDateUtc': 'not-a-date'}); - expect(config.lastBackupDateUtc, isNull); - }, - ); - - test('toJson includes all fields when set', () { - final config = AppConfig( - preferredLanguage: 'fr', - runOnStartup: false, - hotkeyUseCtrl: false, - hotkeyUseWin: true, - hotkeyUseAlt: true, - hotkeyUseShift: false, - hotkeyVirtualKey: 0x41, - hotkeyKeyName: 'A', - pageSize: 99, - maxItemsBeforeCleanup: 999, - scrollLoadThreshold: 888, - retentionDays: 77, - colorLabels: {'x': 'y'}, - duplicateIgnoreWindowMs: 1, - delayBeforeFocusMs: 2, - delayBeforePasteMs: 3, - maxFocusVerifyAttempts: 4, - lastBackupDateUtc: DateTime.utc(2026, 1, 1), - popupWidth: 111, - popupHeight: 222, - cardMinLines: 3, - cardMaxLines: 4, - hideOnDeactivate: false, - resetScrollOnShow: false, - resetSearchOnShow: false, - hasSeenHint: true, - themeMode: 'test', - accessibilityWasGranted: true, - lastRunVersion: 'v', - hasSeenOnboarding: true, - ); - final json = config.toJson(); - expect(json['preferredLanguage'], 'fr'); - expect(json['runOnStartup'], false); - expect(json['hotkeyUseCtrl'], false); - expect(json['hotkeyUseWin'], true); - expect(json['hotkeyUseAlt'], true); - expect(json['hotkeyUseShift'], false); - expect(json['hotkeyVirtualKey'], 0x41); - expect(json['hotkeyKeyName'], 'A'); - expect(json['pageSize'], 99); - expect(json['maxItemsBeforeCleanup'], 999); - expect(json['scrollLoadThreshold'], 888); - expect(json['retentionDays'], 77); - expect(json['colorLabels'], {'x': 'y'}); - expect(json['duplicateIgnoreWindowMs'], 1); - expect(json['delayBeforeFocusMs'], 2); - expect(json['delayBeforePasteMs'], 3); - expect(json['maxFocusVerifyAttempts'], 4); - expect(json['lastBackupDateUtc'], isA()); - expect(json['popupWidth'], 111); - expect(json['popupHeight'], 222); - expect(json['cardMinLines'], 3); - expect(json['cardMaxLines'], 4); - expect(json['hideOnDeactivate'], false); - expect(json['resetScrollOnShow'], false); - expect(json['resetSearchOnShow'], false); - expect(json['hasSeenHint'], true); - expect(json['themeMode'], 'test'); - expect(json['accessibilityWasGranted'], true); - expect(json['lastRunVersion'], 'v'); - expect(json['hasSeenOnboarding'], true); - }); - }); - - group('AppConfig lastRunVersion field', () { - test('lastRunVersion defaults to empty string', () { - const config = AppConfig(); - expect(config.lastRunVersion, equals('')); - }); - - test('lastRunVersion round-trips via JSON', () { - const config = AppConfig(lastRunVersion: 'v2.2.2'); - expect( - AppConfig.fromJson(config.toJson()).lastRunVersion, - equals('v2.2.2'), - ); - }); - - test('lastRunVersion absent in JSON defaults to empty string', () { - expect(AppConfig.fromJson({}).lastRunVersion, equals('')); - }); - - test('copyWith lastRunVersion updates value', () { - const config = AppConfig(); - expect( - config.copyWith(lastRunVersion: 'v2.0.0').lastRunVersion, - equals('v2.0.0'), - ); - }); - - test('lastRunVersion preserved when copyWith changes other field', () { - const config = AppConfig(lastRunVersion: 'v2.1.6'); - final updated = config.copyWith(pageSize: 50); - expect(updated.lastRunVersion, equals('v2.1.6')); - }); - }); - - group('AppConfig accessibilityWasGranted field', () { - test('accessibilityWasGranted defaults to false', () { - const config = AppConfig(); - expect(config.accessibilityWasGranted, isFalse); - }); - - test('accessibilityWasGranted round-trips via JSON', () { - const config = AppConfig(accessibilityWasGranted: true); - expect( - AppConfig.fromJson(config.toJson()).accessibilityWasGranted, - isTrue, - ); - }); - - test('accessibilityWasGranted absent in JSON defaults to false', () { - expect(AppConfig.fromJson({}).accessibilityWasGranted, isFalse); - }); - - test('copyWith accessibilityWasGranted updates value', () { - const config = AppConfig(); - expect( - config.copyWith(accessibilityWasGranted: true).accessibilityWasGranted, - isTrue, - ); - }); - - test( - 'accessibilityWasGranted preserved when copyWith changes other field', - () { - const config = AppConfig(accessibilityWasGranted: true); - expect(config.copyWith(pageSize: 20).accessibilityWasGranted, isTrue); - }, - ); - }); - - group('AppConfig behavior defaults', () { - test('hideOnDeactivate defaults to true', () { - const config = AppConfig(); - expect(config.hideOnDeactivate, isTrue); - }); - - test('resetScrollOnShow defaults to true', () { - const config = AppConfig(); - expect(config.resetScrollOnShow, isTrue); - }); - - test('resetSearchOnShow defaults to true', () { - const config = AppConfig(); - expect(config.resetSearchOnShow, isTrue); - }); - - test('hasSeenHint defaults to false', () { - const config = AppConfig(); - expect(config.hasSeenHint, isFalse); - }); - - test('maxItemsBeforeCleanup defaults to 100', () { - const config = AppConfig(); - expect(config.maxItemsBeforeCleanup, equals(100)); - }); - - test('scrollLoadThreshold defaults to 400', () { - const config = AppConfig(); - expect(config.scrollLoadThreshold, equals(400)); - }); - - test('hideOnDeactivate round-trips via JSON', () { - const config = AppConfig(hideOnDeactivate: false); - expect(AppConfig.fromJson(config.toJson()).hideOnDeactivate, isFalse); - }); - - test('resetScrollOnShow round-trips via JSON', () { - const config = AppConfig(resetScrollOnShow: false); - expect(AppConfig.fromJson(config.toJson()).resetScrollOnShow, isFalse); - }); - - test('resetSearchOnShow round-trips via JSON', () { - const config = AppConfig(resetSearchOnShow: false); - expect(AppConfig.fromJson(config.toJson()).resetSearchOnShow, isFalse); - }); - - test('hasSeenHint round-trips via JSON', () { - const config = AppConfig(hasSeenHint: true); - expect(AppConfig.fromJson(config.toJson()).hasSeenHint, isTrue); - }); - - test('maxItemsBeforeCleanup round-trips via JSON', () { - const config = AppConfig(maxItemsBeforeCleanup: 200); - expect( - AppConfig.fromJson(config.toJson()).maxItemsBeforeCleanup, - equals(200), - ); - }); - - test('scrollLoadThreshold round-trips via JSON', () { - const config = AppConfig(scrollLoadThreshold: 800); - expect( - AppConfig.fromJson(config.toJson()).scrollLoadThreshold, - equals(800), - ); - }); - - test('copyWith behavior fields updates correctly', () { - const config = AppConfig(); - final updated = config.copyWith( - hideOnDeactivate: false, - resetScrollOnShow: false, - resetSearchOnShow: false, - hasSeenHint: true, - maxItemsBeforeCleanup: 50, - scrollLoadThreshold: 200, - ); - expect(updated.hideOnDeactivate, isFalse); - expect(updated.resetScrollOnShow, isFalse); - expect(updated.resetSearchOnShow, isFalse); - expect(updated.hasSeenHint, isTrue); - expect(updated.maxItemsBeforeCleanup, equals(50)); - expect(updated.scrollLoadThreshold, equals(200)); - }); - }); - - group('AppConfig version and platform', () { - test('appVersion is a non-empty String constant', () { - expect(AppConfig.appVersion, isA()); - expect(AppConfig.appVersion, isNotEmpty); - }); - - test('defaultForCurrentPlatform() returns an AppConfig instance', () { - final config = AppConfig.defaultForCurrentPlatform(); - expect(config, isA()); - }); - - test('defaultForPlatform returns platform-specific hotkeys', () { - final macos = AppConfig.defaultForPlatform('macos'); - final windows = AppConfig.defaultForPlatform('windows'); - - expect(macos.plainPasteHotkeyUseWin, isTrue); - expect(windows.hotkeyKeyName, equals('C')); - }); - - test('defaultForPlatform unknown string returns default AppConfig', () { - final config = AppConfig.defaultForPlatform('unknown-platform'); - expect(config, isA()); - expect(config.preferredLanguage, equals('auto')); - }); - - test( - 'two calls to defaultForCurrentPlatform return equivalent configs', - () { - final a = AppConfig.defaultForCurrentPlatform(); - final b = AppConfig.defaultForCurrentPlatform(); - expect(a.preferredLanguage, equals(b.preferredLanguage)); - expect(a.themeMode, equals(b.themeMode)); - expect(a.retentionDays, equals(b.retentionDays)); - }, - ); - }); - - group('AppConfig fromJson fallback to platform defaults', () { - test('fromJson uses platform default for missing preferredLanguage', () { - final defaults = AppConfig.defaultForCurrentPlatform(); - final config = AppConfig.fromJson({}); - expect(config.preferredLanguage, equals(defaults.preferredLanguage)); - }); - - test('fromJson uses platform default for missing themeMode', () { - final defaults = AppConfig.defaultForCurrentPlatform(); - final config = AppConfig.fromJson({}); - expect(config.themeMode, equals(defaults.themeMode)); - }); - - test('fromJson explicit value overrides platform default', () { - final config = AppConfig.fromJson({'themeMode': 'light'}); - expect(config.themeMode, equals('light')); - }); - - test('fromJson explicit false overrides default true for runOnStartup', () { - final config = AppConfig.fromJson({'runOnStartup': false}); - expect(config.runOnStartup, isFalse); - }); - }); - - group('AppConfig PR #10 fields (thumbnails / onboarding / image cap)', () { - test('default values', () { - const c = AppConfig(); - expect(c.generateImageThumbnails, isTrue); - expect(c.generateVideoThumbnails, isTrue); - expect(c.generateAudioThumbnails, isTrue); - expect(c.maxImageProcessingSizeMB, equals(25)); - }); - - test('JSON round-trip preserves new fields', () { - const c = AppConfig( - generateImageThumbnails: false, - generateVideoThumbnails: false, - generateAudioThumbnails: false, - maxImageProcessingSizeMB: 5, - ); - final restored = AppConfig.fromJson(c.toJson()); - expect(restored.generateImageThumbnails, isFalse); - expect(restored.generateVideoThumbnails, isFalse); - expect(restored.generateAudioThumbnails, isFalse); - expect(restored.maxImageProcessingSizeMB, equals(5)); - }); - - test('copyWith updates each new field independently', () { - const c = AppConfig(); - final u = c.copyWith( - generateImageThumbnails: false, - maxImageProcessingSizeMB: 10, - ); - expect(u.generateImageThumbnails, isFalse); - expect(u.generateVideoThumbnails, isTrue); // unchanged - expect(u.maxImageProcessingSizeMB, equals(10)); - }); - - test('hasSeenOnboarding migrates from legacy hasSeenWindowsOnboarding', () { - final c = AppConfig.fromJson({'hasSeenWindowsOnboarding': true}); - expect(c.hasSeenOnboarding, isTrue); - }); - - test('hasSeenOnboarding new key takes precedence over legacy', () { - final c = AppConfig.fromJson({ - 'hasSeenWindowsOnboarding': false, - 'hasSeenOnboarding': true, - }); - expect(c.hasSeenOnboarding, isTrue); - }); - - test( - 'hasSeenOnboarding stays false when neither legacy nor new is set', - () { - final c = AppConfig.fromJson({}); - expect(c.hasSeenOnboarding, isFalse); - }, - ); - }); - - group('AppConfig PR #9 field (keepBrokenItemsDays)', () { - test('default value is 30', () { - const c = AppConfig(); - expect(c.keepBrokenItemsDays, equals(30)); - }); - - test('JSON round-trip preserves keepBrokenItemsDays', () { - const c = AppConfig(keepBrokenItemsDays: 7); - final restored = AppConfig.fromJson(c.toJson()); - expect(restored.keepBrokenItemsDays, equals(7)); - }); - - test('absent key in JSON falls back to default (30)', () { - final c = AppConfig.fromJson({}); - expect(c.keepBrokenItemsDays, equals(30)); - }); - - test('copyWith updates keepBrokenItemsDays independently', () { - const c = AppConfig(); - final updated = c.copyWith(keepBrokenItemsDays: 14); - expect(updated.keepBrokenItemsDays, equals(14)); - // Other fields unaffected - expect(updated.retentionDays, equals(c.retentionDays)); - }); - }); - - group('AppConfig PR #10b field (resetFiltersOnShow)', () { - test('default value is true', () { - const c = AppConfig(); - expect(c.resetFiltersOnShow, isTrue); - }); - - test('JSON round-trip preserves resetFiltersOnShow', () { - const c = AppConfig(resetFiltersOnShow: false); - final restored = AppConfig.fromJson(c.toJson()); - expect(restored.resetFiltersOnShow, isFalse); - }); - - test('absent key in JSON falls back to default (true)', () { - final c = AppConfig.fromJson({}); - expect(c.resetFiltersOnShow, isTrue); - }); - - test('copyWith updates resetFiltersOnShow independently', () { - const c = AppConfig(); - final updated = c.copyWith(resetFiltersOnShow: false); - expect(updated.resetFiltersOnShow, isFalse); - expect(updated.resetScrollOnShow, equals(c.resetScrollOnShow)); - expect(updated.resetSearchOnShow, equals(c.resetSearchOnShow)); - }); - }); - - group('AppConfig PR #11 field (imagesQuotaMB)', () { - test('default value is 0 (unlimited)', () { - const c = AppConfig(); - expect(c.imagesQuotaMB, equals(0)); - }); - - test('JSON round-trip preserves imagesQuotaMB', () { - const c = AppConfig(imagesQuotaMB: 500); - final restored = AppConfig.fromJson(c.toJson()); - expect(restored.imagesQuotaMB, equals(500)); - }); - - test('absent key in JSON falls back to default (0)', () { - final c = AppConfig.fromJson({}); - expect(c.imagesQuotaMB, equals(0)); - }); - - test('copyWith updates imagesQuotaMB independently', () { - const c = AppConfig(); - final updated = c.copyWith(imagesQuotaMB: 1024); - expect(updated.imagesQuotaMB, equals(1024)); - // Other multimedia fields unaffected - expect( - updated.maxImageProcessingSizeMB, - equals(c.maxImageProcessingSizeMB), - ); - }); - }); - - group('AppConfig PR #12 window position fields', () { - test('default values', () { - const c = AppConfig(); - expect(c.rememberWindowPosition, isFalse); - expect(c.lastWindowX, isNull); - expect(c.lastWindowY, isNull); - }); - - test('toJson with defaults omits lastWindowX and lastWindowY', () { - const c = AppConfig(); - final json = c.toJson(); - expect(json.containsKey('lastWindowX'), isFalse); - expect(json.containsKey('lastWindowY'), isFalse); - expect(json.containsKey('rememberWindowPosition'), isTrue); - }); - - test('toJson with values present includes lastWindowX and lastWindowY', () { - const c = AppConfig(lastWindowX: 100.0, lastWindowY: 200.0); - final json = c.toJson(); - expect(json['lastWindowX'], equals(100.0)); - expect(json['lastWindowY'], equals(200.0)); - }); - - test('fromJson with values present reads them correctly', () { - final c = AppConfig.fromJson({ - 'lastWindowX': 123.5, - 'lastWindowY': 456.5, - 'rememberWindowPosition': true, - }); - expect(c.lastWindowX, equals(123.5)); - expect(c.lastWindowY, equals(456.5)); - expect(c.rememberWindowPosition, isTrue); - }); - - test( - 'fromJson with values absent leaves lastWindowX and lastWindowY null', - () { - final c = AppConfig.fromJson({}); - expect(c.lastWindowX, isNull); - expect(c.lastWindowY, isNull); - }, - ); - - test('fromJson with lastWindowX as int converts to double', () { - final c = AppConfig.fromJson({'lastWindowX': 1920}); - expect(c.lastWindowX, equals(1920.0)); - expect(c.lastWindowX, isA()); - }); - - test('rememberWindowPosition is always present in toJson', () { - const c1 = AppConfig(rememberWindowPosition: false); - const c2 = AppConfig(rememberWindowPosition: true); - expect(c1.toJson().containsKey('rememberWindowPosition'), isTrue); - expect(c1.toJson()['rememberWindowPosition'], isFalse); - expect(c2.toJson()['rememberWindowPosition'], isTrue); - }); - - test('copyWith without lastWindowX preserves existing value', () { - const c = AppConfig(lastWindowX: 100.0); - final updated = c.copyWith(rememberWindowPosition: true); - expect(updated.lastWindowX, equals(100.0)); - }); - - test('copyWith(lastWindowX: null) clears the value', () { - const c = AppConfig(lastWindowX: 100.0); - final updated = c.copyWith(lastWindowX: null); - expect(updated.lastWindowX, isNull); - }); - - test('copyWith(lastWindowX: 200.0) updates the value', () { - const c = AppConfig(lastWindowX: 100.0); - final updated = c.copyWith(lastWindowX: 200.0); - expect(updated.lastWindowX, equals(200.0)); - }); - - test('copyWith without lastWindowY preserves existing value', () { - const c = AppConfig(lastWindowY: 50.0); - final updated = c.copyWith(rememberWindowPosition: true); - expect(updated.lastWindowY, equals(50.0)); - }); - - test('copyWith(lastWindowY: null) clears the value', () { - const c = AppConfig(lastWindowY: 50.0); - final updated = c.copyWith(lastWindowY: null); - expect(updated.lastWindowY, isNull); - }); - - test('copyWith(lastWindowY: 300.0) updates the value', () { - const c = AppConfig(lastWindowY: 50.0); - final updated = c.copyWith(lastWindowY: 300.0); - expect(updated.lastWindowY, equals(300.0)); - }); - - test('copyWith(rememberWindowPosition: true) updates correctly', () { - const c = AppConfig(); - final updated = c.copyWith(rememberWindowPosition: true); - expect(updated.rememberWindowPosition, isTrue); - }); - - test( - 'copyWith without rememberWindowPosition preserves existing value', - () { - const c = AppConfig(rememberWindowPosition: true); - final updated = c.copyWith(lastWindowX: 10.0); - expect(updated.rememberWindowPosition, isTrue); - }, - ); - - test('save and load round-trip preserves window position fields', () async { - final dir = Directory.systemTemp.createTempSync( - 'config_window_pos_test_', - ); - final path = '${dir.path}/config.json'; - try { - const original = AppConfig( - rememberWindowPosition: true, - lastWindowX: 123.5, - lastWindowY: 456.5, - ); - await original.save(path); - final loaded = await AppConfig.load(path); - expect(loaded.rememberWindowPosition, isTrue); - expect(loaded.lastWindowX, equals(123.5)); - expect(loaded.lastWindowY, equals(456.5)); - } finally { - dir.deleteSync(recursive: true); - } - }); - }); -} diff --git a/core/test/app_logger_test.dart b/core/test/app_logger_test.dart deleted file mode 100644 index 619ee9a5..00000000 --- a/core/test/app_logger_test.dart +++ /dev/null @@ -1,176 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - // AppLogger uses static state: each test file is its own Dart isolate, - // so state starts fresh here. - - group('AppLogger before initialization', () { - test('info/warn/error do nothing before init', () { - expect(() => AppLogger.info('pre-init'), returnsNormally); - expect(() => AppLogger.warn('pre-init'), returnsNormally); - expect(() => AppLogger.error('pre-init'), returnsNormally); - }); - - test('exception returns early when not initialized', () { - expect(() => AppLogger.exception(Exception('test')), returnsNormally); - }); - - test('logFilePath is null before init', () { - expect(AppLogger.logFilePath, isNull); - }); - - test('logDirectory is null before init', () { - expect(AppLogger.logDirectory, isNull); - }); - }); - - group('AppLogger initialization', () { - late Directory tempDir; - - setUpAll(() { - tempDir = Directory.systemTemp.createTempSync('logger_test_init_'); - // Create an old log file to test cleanup - final oldFile = File(p.join(tempDir.path, 'copypaste_2020-01-01.log')); - oldFile.writeAsStringSync('old log entry\n'); - // Set modification time to 10 days ago - final oldTime = DateTime.now().subtract(const Duration(days: 10)); - oldFile.setLastModifiedSync(oldTime); - - // Create a non-log file (should not be deleted) - File(p.join(tempDir.path, 'other.txt')).writeAsStringSync('other'); - - AppLogger.initialize(tempDir.path); - }); - - tearDownAll(() { - AppLogger.isEnabled = false; - tempDir.deleteSync(recursive: true); - }); - - test('logFilePath is set after init', () { - expect(AppLogger.logFilePath, isNotNull); - expect(AppLogger.logFilePath, contains('copypaste_')); - expect(AppLogger.logFilePath, endsWith('.log')); - }); - - test('logDirectory matches provided path', () { - expect(AppLogger.logDirectory, equals(tempDir.path)); - }); - - test('isEnabled is true after successful init', () { - expect(AppLogger.isEnabled, isTrue); - }); - - test('old log files are cleaned up during init', () { - final oldFile = File(p.join(tempDir.path, 'copypaste_2020-01-01.log')); - expect(oldFile.existsSync(), isFalse); - }); - - test('non-log files are not cleaned up', () { - final other = File(p.join(tempDir.path, 'other.txt')); - expect(other.existsSync(), isTrue); - }); - - test('second call to initialize is a no-op', () { - final pathBefore = AppLogger.logFilePath; - AppLogger.initialize('/some/other/path'); - expect(AppLogger.logFilePath, equals(pathBefore)); - }); - - test('info writes INFO entry to log', () { - AppLogger.info('test info msg'); - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('test info msg')); - expect(content, contains('INFO')); - }); - - test('warn writes WARN entry to log', () { - AppLogger.warn('test warn msg'); - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('test warn msg')); - expect(content, contains('WARN')); - }); - - test('error writes ERROR entry to log', () { - AppLogger.error('test error msg'); - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('test error msg')); - expect(content, contains('ERROR')); - }); - - test('exception with context writes context and error', () { - AppLogger.exception(Exception('test exception'), null, 'TestContext'); - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('TestContext')); - expect(content, contains('test exception')); - }); - - test('exception with stackTrace includes stack trace', () { - try { - throw Exception('stacktrace test'); - } catch (e, s) { - AppLogger.exception(e, s, 'StackContext'); - } - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('stacktrace test')); - }); - - test('exception without context writes error only', () { - AppLogger.exception(Exception('no context')); - final content = File(AppLogger.logFilePath!).readAsStringSync(); - expect(content, contains('no context')); - }); - - test('exception with null error does nothing', () { - final before = File(AppLogger.logFilePath!).readAsStringSync(); - AppLogger.exception(null); - final after = File(AppLogger.logFilePath!).readAsStringSync(); - expect(after, equals(before)); - }); - - test('log entry format includes timestamp brackets', () { - AppLogger.info('format check'); - final lines = File(AppLogger.logFilePath!).readAsLinesSync(); - final line = lines.lastWhere((l) => l.contains('format check')); - expect(line, matches(r'^\[\d{2}:\d{2}:\d{2}\.\d{3}\] \[INFO\]')); - }); - - test('isEnabled=false suppresses all logging', () { - AppLogger.isEnabled = false; - final before = File(AppLogger.logFilePath!).readAsStringSync(); - AppLogger.info('should not appear'); - AppLogger.warn('should not appear'); - AppLogger.error('should not appear'); - AppLogger.exception(Exception('should not appear')); - final after = File(AppLogger.logFilePath!).readAsStringSync(); - expect(after, equals(before)); - AppLogger.isEnabled = true; // restore - }); - - test('log rotation triggered when file exceeds max size', () { - final logFile = File(AppLogger.logFilePath!); - // Write 11MB to trigger rotation (max is 10MB) - logFile.writeAsBytesSync(Uint8List(11 * 1024 * 1024)); - final originalPath = AppLogger.logFilePath; - - AppLogger.info('post rotation'); - - // The original large content should be gone (renamed or deleted) - final currentSize = File(AppLogger.logFilePath!).existsSync() - ? File(AppLogger.logFilePath!).lengthSync() - : 0; - expect( - currentSize, - lessThan(11 * 1024 * 1024), - reason: 'Log should have been rotated, original file gone or small', - ); - expect(originalPath, isNotNull); - }); - }); -} diff --git a/core/test/backup_service_integration_test.dart b/core/test/backup_service_integration_test.dart deleted file mode 100644 index 8fdb63bd..00000000 --- a/core/test/backup_service_integration_test.dart +++ /dev/null @@ -1,258 +0,0 @@ -/// Integration tests for BackupService with a live SqliteRepository. -/// Verifies that a backup created from real repository data can be fully -/// restored and the contents are intact across all platforms. -library; - -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory sourceDir; - late Directory destDir; - late StorageConfig sourceStorage; - late StorageConfig destStorage; - late SqliteRepository repo; - - setUp(() async { - sourceDir = Directory.systemTemp.createTempSync('backup_int_src_'); - destDir = Directory.systemTemp.createTempSync('backup_int_dst_'); - sourceStorage = await StorageConfig.create(baseDir: sourceDir.path); - destStorage = await StorageConfig.create(baseDir: destDir.path); - await sourceStorage.ensureDirectories(); - await destStorage.ensureDirectories(); - repo = SqliteRepository.fromPath(sourceStorage.databasePath); - }); - - tearDown(() async { - await repo.close(); - if (sourceDir.existsSync()) sourceDir.deleteSync(recursive: true); - if (destDir.existsSync()) destDir.deleteSync(recursive: true); - }); - - group('BackupService integration – full round-trip', () { - test('backup captures item count from service', () async { - final service = ClipboardService(repo); - await service.processText('item one', ClipboardContentType.text); - await service.processText('item two', ClipboardContentType.text); - await service.dispose(); - - final backupPath = p.join(sourceDir.path, 'snapshot.zip'); - final manifest = await BackupService.createBackup( - backupPath, - sourceStorage, - '2.0.0', - itemCount: await repo.count(), - hasPinnedItems: false, - walCheckpoint: () => repo.walCheckpoint(), - ); - - expect(manifest.itemCount, equals(2)); - }); - - test('restored database contains original clipboard items', () async { - final service = ClipboardService(repo); - await service.processText('first entry', ClipboardContentType.text); - await service.processText('second entry', ClipboardContentType.text); - await service.dispose(); - - final backupPath = p.join(sourceDir.path, 'full_restore.zip'); - await BackupService.createBackup( - backupPath, - sourceStorage, - '2.0.0', - walCheckpoint: () => repo.walCheckpoint(), - ); - - await repo.close(); - - final restored = await BackupService.restoreBackup( - backupPath, - destStorage, - ); - expect(restored, isNotNull); - - final destRepo = SqliteRepository.fromPath(destStorage.databasePath); - try { - final items = await destRepo.getAll(); - final contents = items.map((i) => i.content).toSet(); - expect(contents, contains('first entry')); - expect(contents, contains('second entry')); - } finally { - await destRepo.close(); - } - }); - - test('restored database preserves pinned status', () async { - final service = ClipboardService(repo); - final pinned = await service.processText( - 'pinned item', - ClipboardContentType.text, - ); - await service.updatePin(pinned!.id, true); - - await service.processText('normal item', ClipboardContentType.text); - await service.dispose(); - - final backupPath = p.join(sourceDir.path, 'pinned_restore.zip'); - await BackupService.createBackup( - backupPath, - sourceStorage, - '2.1.0', - walCheckpoint: () => repo.walCheckpoint(), - ); - await repo.close(); - - await BackupService.restoreBackup(backupPath, destStorage); - - final destRepo = SqliteRepository.fromPath(destStorage.databasePath); - try { - final items = await destRepo.getAll(); - final pinnedRestored = items.firstWhere( - (i) => i.content == 'pinned item', - ); - final normalRestored = items.firstWhere( - (i) => i.content == 'normal item', - ); - expect(pinnedRestored.isPinned, isTrue); - expect(normalRestored.isPinned, isFalse); - } finally { - await destRepo.close(); - } - }); - - test('backup captures image files', () async { - final imgFile = File(p.join(sourceStorage.imagesPath, 'test.png')) - ..writeAsBytesSync([137, 80, 78, 71, 13, 10, 26, 10]); // PNG header - - final backupPath = p.join(sourceDir.path, 'image_backup.zip'); - final manifest = await BackupService.createBackup( - backupPath, - sourceStorage, - '2.0.0', - ); - - expect(manifest.imageCount, equals(1)); - expect(imgFile.existsSync(), isTrue); - }); - - test('restored images directory has correct files', () async { - File( - p.join(sourceStorage.imagesPath, 'img1.png'), - ).writeAsBytesSync([1, 2, 3]); - File( - p.join(sourceStorage.imagesPath, 'img2.png'), - ).writeAsBytesSync([4, 5, 6]); - - final backupPath = p.join(sourceDir.path, 'img_restore.zip'); - await BackupService.createBackup(backupPath, sourceStorage, '2.0.0'); - - await BackupService.restoreBackup(backupPath, destStorage); - - expect( - File(p.join(destStorage.imagesPath, 'img1.png')).existsSync(), - isTrue, - ); - expect( - File(p.join(destStorage.imagesPath, 'img2.png')).existsSync(), - isTrue, - ); - }); - - test('backup includes _thumb.png companion files', () async { - // Regression: BackupService relies on directory listing to bundle - // images/, so thumbs produced by ThumbnailService must round-trip. - final main = File(p.join(sourceStorage.imagesPath, 'item-7.png')) - ..writeAsBytesSync([10, 20, 30]); - final thumb = File(p.join(sourceStorage.imagesPath, 'item-7_thumb.png')) - ..writeAsBytesSync([40, 50, 60, 70]); - - final backupPath = p.join(sourceDir.path, 'thumb_restore.zip'); - final manifest = await BackupService.createBackup( - backupPath, - sourceStorage, - '2.0.0', - ); - expect(manifest.imageCount, greaterThanOrEqualTo(2)); - - await BackupService.restoreBackup(backupPath, destStorage); - - final restoredMain = File(p.join(destStorage.imagesPath, 'item-7.png')); - final restoredThumb = File( - p.join(destStorage.imagesPath, 'item-7_thumb.png'), - ); - expect(restoredMain.existsSync(), isTrue); - expect(restoredThumb.existsSync(), isTrue); - expect(restoredMain.readAsBytesSync(), main.readAsBytesSync()); - expect(restoredThumb.readAsBytesSync(), thumb.readAsBytesSync()); - }); - - test('backup includes config files', () async { - File( - p.join(sourceStorage.configPath, 'app_config.json'), - ).writeAsStringSync('{"theme":"dark"}'); - - final backupPath = p.join(sourceDir.path, 'config_backup.zip'); - await BackupService.createBackup(backupPath, sourceStorage, '2.0.0'); - - await BackupService.restoreBackup(backupPath, destStorage); - - final restoredConfig = File( - p.join(destStorage.configPath, 'app_config.json'), - ); - expect(restoredConfig.existsSync(), isTrue); - expect(restoredConfig.readAsStringSync(), equals('{"theme":"dark"}')); - }); - - test( - 'validateBackup returns correct manifest for integration backup', - () async { - final service = ClipboardService(repo); - await service.processText('validate me', ClipboardContentType.text); - await service.dispose(); - - final backupPath = p.join(sourceDir.path, 'validate.zip'); - await BackupService.createBackup( - backupPath, - sourceStorage, - '2.5.0', - itemCount: 1, - hasPinnedItems: false, - walCheckpoint: () => repo.walCheckpoint(), - ); - - final manifest = await BackupService.validateBackup(backupPath); - expect(manifest, isNotNull); - expect(manifest!.appVersion, equals('2.5.0')); - expect(manifest.version, equals(BackupManifest.currentVersion)); - expect(manifest.itemCount, equals(1)); - }, - ); - - test( - 'hasPinnedItems is true in manifest when pinned items exist', - () async { - final service = ClipboardService(repo); - final item = await service.processText( - 'pinned', - ClipboardContentType.text, - ); - await service.updatePin(item!.id, true); - await service.dispose(); - - final backupPath = p.join(sourceDir.path, 'pinned_manifest.zip'); - final manifest = await BackupService.createBackup( - backupPath, - sourceStorage, - '2.0.0', - hasPinnedItems: true, - ); - - expect(manifest.hasPinnedItems, isTrue); - }, - ); - }); -} diff --git a/core/test/backup_service_test.dart b/core/test/backup_service_test.dart deleted file mode 100644 index d9cfeb36..00000000 --- a/core/test/backup_service_test.dart +++ /dev/null @@ -1,522 +0,0 @@ -import 'dart:io'; - -import 'package:archive/archive.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - late StorageConfig storage; - - setUp(() async { - tempDir = Directory.systemTemp.createTempSync('backup_test_'); - storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - }); - - tearDown(() => tempDir.deleteSync(recursive: true)); - - group('BackupManifest', () { - test('toJson and fromJson round-trip', () { - final now = DateTime.utc(2026, 3, 1); - final manifest = BackupManifest( - version: 1, - appVersion: '2.0.0', - createdAtUtc: now, - itemCount: 10, - imageCount: 2, - hasPinnedItems: true, - machineName: 'DESKTOP-TEST', - ); - final restored = BackupManifest.fromJson(manifest.toJson()); - expect(restored.version, equals(1)); - expect(restored.appVersion, equals('2.0.0')); - expect(restored.itemCount, equals(10)); - expect(restored.imageCount, equals(2)); - expect(restored.hasPinnedItems, isTrue); - expect(restored.machineName, equals('DESKTOP-TEST')); - expect(restored.createdAtUtc, equals(now)); - }); - - test('fromJson uses defaults for missing fields', () { - final manifest = BackupManifest.fromJson({}); - expect(manifest.version, equals(1)); - expect(manifest.appVersion, equals('')); - expect(manifest.itemCount, equals(0)); - expect(manifest.imageCount, equals(0)); - expect(manifest.hasPinnedItems, isFalse); - }); - }); - - group('BackupService.createBackup', () { - test('creates zip file at outputPath', () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76, 105]); - - final outputPath = p.join(tempDir.path, 'backup.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - expect(File(outputPath).existsSync(), isTrue); - }); - - test('manifest has correct appVersion', () async { - final outputPath = p.join(tempDir.path, 'backup2.zip'); - final manifest = await BackupService.createBackup( - outputPath, - storage, - '2.1.0', - ); - expect(manifest.appVersion, equals('2.1.0')); - }); - - test('counts image files correctly', () async { - File(p.join(storage.imagesPath, 'a.png')).writeAsBytesSync([1, 2]); - File(p.join(storage.imagesPath, 'b.png')).writeAsBytesSync([3, 4]); - - final outputPath = p.join(tempDir.path, 'backup3.zip'); - final manifest = await BackupService.createBackup( - outputPath, - storage, - '2.0.0', - ); - expect(manifest.imageCount, equals(2)); - }); - - test('works without database file', () async { - final outputPath = p.join(tempDir.path, 'backup_empty.zip'); - final manifest = await BackupService.createBackup( - outputPath, - storage, - '2.0.0', - ); - expect(manifest.imageCount, equals(0)); - }); - - test( - 'does not leave temp files in systemTemp after successful backup', - () async { - final outputPath = p.join(tempDir.path, 'backup_no_leak.zip'); - - // Snapshot temp files before - final before = Directory.systemTemp - .listSync() - .whereType() - .where((f) => p.basename(f.path).startsWith('copypaste_backup_')) - .map((f) => f.path) - .toSet(); - - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - // No new copypaste_backup_* files should remain - final after = Directory.systemTemp - .listSync() - .whereType() - .where((f) => p.basename(f.path).startsWith('copypaste_backup_')) - .map((f) => f.path) - .toSet(); - - final leaked = after.difference(before); - expect(leaked, isEmpty, reason: 'Temp backup file was not cleaned up'); - }, - ); - }); - - group('BackupService.restoreBackup', () { - test('returns null for nonexistent backup file', () async { - final result = await BackupService.restoreBackup( - p.join(tempDir.path, 'missing.zip'), - storage, - ); - expect(result, isNull); - }); - - test('round-trip create and restore', () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - - final outputPath = p.join(tempDir.path, 'roundtrip.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final restoreDir = Directory.systemTemp.createTempSync('restore_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - final manifest = await BackupService.restoreBackup( - outputPath, - restoreStorage, - ); - - expect(manifest, isNotNull); - expect(manifest!.appVersion, equals('2.0.0')); - expect(File(restoreStorage.databasePath).existsSync(), isTrue); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test('restore creates and cleans up pre-restore snapshot', () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - - final outputPath = p.join(tempDir.path, 'snapshot_test.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final restoreDir = Directory.systemTemp.createTempSync('snapshot_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - await restoreStorage.ensureDirectories(); - File(restoreStorage.databasePath).writeAsBytesSync([1, 2, 3]); - - await BackupService.restoreBackup(outputPath, restoreStorage); - - final snapshotDirs = Directory(restoreDir.path) - .listSync() - .whereType() - .where((d) => p.basename(d.path).startsWith('.pre-restore-')); - expect(snapshotDirs, isEmpty); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test( - 'restoreBackup calls onBeforeRestore callback when provided', - () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - - final outputPath = p.join(tempDir.path, 'before_restore.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final restoreDir = Directory.systemTemp.createTempSync('before_r_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - var beforeRestoreCalled = false; - - final manifest = await BackupService.restoreBackup( - outputPath, - restoreStorage, - onBeforeRestore: () async { - beforeRestoreCalled = true; - }, - ); - - expect(beforeRestoreCalled, isTrue); - expect(manifest, isNotNull); - } finally { - restoreDir.deleteSync(recursive: true); - } - }, - ); - - test('restoreBackup deletes wal and shm files before restore', () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - - final outputPath = p.join(tempDir.path, 'wal_cleanup.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final restoreDir = Directory.systemTemp.createTempSync('wal_cleanup_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - await restoreStorage.ensureDirectories(); - - final walFile = File('${restoreStorage.databasePath}-wal') - ..writeAsBytesSync([1, 2, 3]); - final shmFile = File('${restoreStorage.databasePath}-shm') - ..writeAsBytesSync([4, 5, 6]); - - final manifest = await BackupService.restoreBackup( - outputPath, - restoreStorage, - ); - - expect(manifest, isNotNull); - expect(walFile.existsSync(), isFalse); - expect(shmFile.existsSync(), isFalse); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - }); - - group('BackupService.validateBackup', () { - test('returns manifest for valid backup', () async { - File(storage.databasePath).writeAsBytesSync([83, 81, 76, 105]); - - final outputPath = p.join(tempDir.path, 'validate.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final manifest = await BackupService.validateBackup(outputPath); - expect(manifest, isNotNull); - expect(manifest!.appVersion, equals('2.0.0')); - }); - - test('returns null for nonexistent file', () async { - final manifest = await BackupService.validateBackup( - p.join(tempDir.path, 'missing.zip'), - ); - expect(manifest, isNull); - }); - - test('returns null for invalid zip', () async { - final badFile = File(p.join(tempDir.path, 'bad.zip')); - badFile.writeAsBytesSync([0, 1, 2, 3]); - - final manifest = await BackupService.validateBackup(badFile.path); - expect(manifest, isNull); - }); - - test('returns null when manifest version is newer than supported', () async { - final archive = Archive(); - final manifestJson = - '{"version":99,"appVersion":"99.0","createdAtUtc":"${DateTime.now().toUtc().toIso8601String()}","itemCount":0,"imageCount":0,"hasPinnedItems":false,"machineName":"test"}'; - final manifestBytes = manifestJson.codeUnits; - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - - final zipPath = p.join(tempDir.path, 'future_version_validate.zip'); - await File(zipPath).writeAsBytes(ZipEncoder().encode(archive)); - - final manifest = await BackupService.validateBackup(zipPath); - expect(manifest, isNull); - }); - }); - - group('BackupService additional coverage', () { - test('createBackup calls walCheckpoint when provided', () async { - var checkpointed = false; - final outputPath = p.join(tempDir.path, 'wal_backup.zip'); - await BackupService.createBackup( - outputPath, - storage, - '2.0.0', - walCheckpoint: () async { - checkpointed = true; - }, - ); - expect(checkpointed, isTrue); - expect(File(outputPath).existsSync(), isTrue); - }); - - test( - 'createBackup includes itemCount and hasPinnedItems in manifest', - () async { - final outputPath = p.join(tempDir.path, 'metadata_backup.zip'); - final manifest = await BackupService.createBackup( - outputPath, - storage, - '2.0.0', - itemCount: 42, - hasPinnedItems: true, - ); - expect(manifest.itemCount, equals(42)); - expect(manifest.hasPinnedItems, isTrue); - }, - ); - - test('createBackup includes config files', () async { - await storage.ensureDirectories(); - File(p.join(storage.configPath, 'config.json')).writeAsStringSync('{}'); - - final outputPath = p.join(tempDir.path, 'config_backup.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final manifest = await BackupService.validateBackup(outputPath); - expect(manifest, isNotNull); - }); - - test('restoreBackup returns null for version greater than current', () async { - // Create a backup with a valid archive but version > current - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - final outputPath = p.join(tempDir.path, 'v99_backup.zip'); - // Create a fake zip with version 99 manifest - final archive = Archive(); - final manifestJson = - '{"version":99,"appVersion":"99.0","createdAtUtc":"${DateTime.now().toUtc().toIso8601String()}","itemCount":0,"imageCount":0,"hasPinnedItems":false,"machineName":"test"}'; - final manifestBytes = manifestJson.codeUnits; - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - await File(outputPath).writeAsBytes(ZipEncoder().encode(archive)); - - final restoreDir = Directory.systemTemp.createTempSync('restore_v99_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - final result = await BackupService.restoreBackup( - outputPath, - restoreStorage, - ); - expect(result, isNull); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test('restoreBackup skips files with path traversal', () async { - final archive = Archive(); - final manifestJson = - '{"version":1,"appVersion":"2.0","createdAtUtc":"${DateTime.now().toUtc().toIso8601String()}","itemCount":0,"imageCount":0,"hasPinnedItems":false,"machineName":"test"}'; - final manifestBytes = manifestJson.codeUnits; - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - // Add a file with path traversal - archive.addFile(ArchiveFile('../evil.txt', 5, [104, 101, 108, 108, 111])); - - final zipPath = p.join(tempDir.path, 'traversal.zip'); - await File(zipPath).writeAsBytes(ZipEncoder().encode(archive)); - - final restoreDir = Directory.systemTemp.createTempSync('traversal_r_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - final result = await BackupService.restoreBackup( - zipPath, - restoreStorage, - ); - expect(result, isNotNull); // succeeds but skips traversal file - final evil = File(p.join(restoreDir.path, '..', 'evil.txt')); - expect(evil.existsSync(), isFalse); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test('restoreBackup with images directory restores images', () async { - await storage.ensureDirectories(); - File(storage.databasePath).writeAsBytesSync([83, 81, 76]); - File(p.join(storage.imagesPath, 'img.png')).writeAsBytesSync([1, 2, 3]); - - final outputPath = p.join(tempDir.path, 'with_images.zip'); - await BackupService.createBackup(outputPath, storage, '2.0.0'); - - final restoreDir = Directory.systemTemp.createTempSync('img_restore_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - final manifest = await BackupService.restoreBackup( - outputPath, - restoreStorage, - ); - expect(manifest, isNotNull); - expect(manifest!.imageCount, equals(1)); - expect( - File(p.join(restoreStorage.imagesPath, 'img.png')).existsSync(), - isTrue, - ); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test('restoreBackup returns null for invalid zip', () async { - // Triggers AppLogger.error('restoreBackup failed: $e') in the catch block. - // snapshotDir is null here because ZipDecoder throws before _createPreRestoreSnapshot. - final badFile = File(p.join(tempDir.path, 'bad_restore.zip')); - badFile.writeAsBytesSync([0, 1, 2, 3]); - - final result = await BackupService.restoreBackup(badFile.path, storage); - expect(result, isNull); - }); - - test('restoreBackup triggers rollback when file extraction fails', () async { - // Build a valid zip with a clipboard.db entry. - final archive = Archive(); - final manifestJson = - '{"version":1,"appVersion":"2.0","createdAtUtc":"${DateTime.now().toUtc().toIso8601String()}","itemCount":0,"imageCount":0,"hasPinnedItems":false,"machineName":"test"}'; - final manifestBytes = manifestJson.codeUnits; - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - const dbBytes = [83, 81, 76, 105]; // fake SQLite header bytes - archive.addFile(ArchiveFile('clipboard.db', dbBytes.length, dbBytes)); - - final zipPath = p.join(tempDir.path, 'extraction_fail.zip'); - await File(zipPath).writeAsBytes(ZipEncoder().encode(archive)); - - final restoreDir = Directory.systemTemp.createTempSync('rollback_t_'); - try { - final restoreStorage = await StorageConfig.create( - baseDir: restoreDir.path, - ); - // Create a DIRECTORY at the path where clipboard.db would be written. - // File.create(recursive: true) on a directory path throws EISDIR, - // which causes the catch block to fire with snapshotDir != null, - // triggering _rollbackFromSnapshot. - Directory(restoreStorage.databasePath).createSync(recursive: true); - - final result = await BackupService.restoreBackup( - zipPath, - restoreStorage, - ); - // The error is caught; rollback runs; null is returned. - expect(result, isNull); - } finally { - restoreDir.deleteSync(recursive: true); - } - }); - - test( - 'rollback restores images and config when restore fails after snapshot', - () async { - final baseDir = Directory.systemTemp.createTempSync('rollback_full_'); - try { - final s = await StorageConfig.create(baseDir: baseDir.path); - await s.ensureDirectories(); - - // Pre-populate storage with an image and a config file so that - // _createPreRestoreSnapshot copies them (lines 252, 261) and - // _rollbackFromSnapshot restores them (lines 280-281, 287-288). - File(s.databasePath).writeAsBytesSync([83, 81, 76, 105]); // fake db - File( - p.join(s.imagesPath, 'keep.png'), - ).writeAsBytesSync([137, 80, 78, 71]); - File( - p.join(s.configPath, 'prefs.json'), - ).writeAsBytesSync('{"v":1}'.codeUnits); - - // Build a zip whose 'images' entry (a plain file) conflicts with - // the existing images/ directory in storage, causing EISDIR when - // File(outPath).create() is called during extraction. - final archive = Archive(); - final manifestJson = - '{"version":1,"appVersion":"2.0","createdAtUtc":"${DateTime.now().toUtc().toIso8601String()}","itemCount":0,"imageCount":0,"hasPinnedItems":false,"machineName":"ci"}'; - final manifestBytes = manifestJson.codeUnits; - archive.addFile( - ArchiveFile('manifest.json', manifestBytes.length, manifestBytes), - ); - const dbBytes = [83, 81, 76, 105]; - archive.addFile(ArchiveFile('clipboard.db', dbBytes.length, dbBytes)); - // This entry's name matches the images/ directory name inside - // storage.baseDir, so extraction will throw FileSystemException. - final imgsDirName = p.basename(s.imagesPath); - archive.addFile(ArchiveFile(imgsDirName, 1, [0])); - - final zipPath = p.join(tempDir.path, 'rollback_full.zip'); - await File(zipPath).writeAsBytes(ZipEncoder().encode(archive)); - - final result = await BackupService.restoreBackup(zipPath, s); - - // The EISDIR triggers the catch block; rollback runs; - // null is returned. - expect(result, isNull); - // After rollback the original image and config must be present. - expect(File(p.join(s.imagesPath, 'keep.png')).existsSync(), isTrue); - expect(File(p.join(s.configPath, 'prefs.json')).existsSync(), isTrue); - } finally { - if (baseDir.existsSync()) baseDir.deleteSync(recursive: true); - } - }, - ); - }); -} diff --git a/core/test/card_color_test.dart b/core/test/card_color_test.dart deleted file mode 100644 index fb44c2d3..00000000 --- a/core/test/card_color_test.dart +++ /dev/null @@ -1,85 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('CardColor', () { - test('none has value 0 and transparent argb', () { - expect(CardColor.none.value, equals(0)); - expect(CardColor.none.argb, equals(0x00000000)); - }); - - test('all non-none colors have non-zero argb', () { - for (final color in CardColor.values) { - if (color == CardColor.none) continue; - expect( - color.argb, - isNot(equals(0)), - reason: '${color.name} should have non-zero argb', - ); - } - }); - - test('all values are unique', () { - final values = CardColor.values.map((c) => c.value).toList(); - expect( - values.toSet().length, - equals(values.length), - reason: 'all CardColor values must be unique', - ); - }); - - test('fromValue returns correct color for each defined value', () { - expect(CardColor.fromValue(0), equals(CardColor.none)); - expect(CardColor.fromValue(1), equals(CardColor.red)); - expect(CardColor.fromValue(2), equals(CardColor.green)); - expect(CardColor.fromValue(3), equals(CardColor.purple)); - expect(CardColor.fromValue(4), equals(CardColor.yellow)); - expect(CardColor.fromValue(5), equals(CardColor.blue)); - expect(CardColor.fromValue(6), equals(CardColor.orange)); - }); - - test('fromValue returns none for unknown positive value', () { - expect(CardColor.fromValue(99), equals(CardColor.none)); - expect(CardColor.fromValue(100), equals(CardColor.none)); - }); - - test('fromValue returns none for negative value', () { - expect(CardColor.fromValue(-1), equals(CardColor.none)); - expect(CardColor.fromValue(-100), equals(CardColor.none)); - }); - - test('roundtrip: value → fromValue for all colors', () { - for (final color in CardColor.values) { - expect( - CardColor.fromValue(color.value), - equals(color), - reason: 'roundtrip failed for ${color.name}', - ); - } - }); - - test('none is not equal to red', () { - expect(CardColor.none == CardColor.red, isFalse); - }); - test('toString returns enum name', () { - expect(CardColor.red.toString(), contains('CardColor.red')); - }); - test('none value is 0', () { - expect(CardColor.none.value, equals(0)); - }); - - test('7 total colors exist', () { - expect(CardColor.values.length, equals(7)); - }); - - test('each color has correct argb value', () { - expect(CardColor.red.argb, equals(0xFFE74C3C)); - expect(CardColor.green.argb, equals(0xFF2ECC71)); - expect(CardColor.purple.argb, equals(0xFF9B59B6)); - expect(CardColor.yellow.argb, equals(0xFFF1C40F)); - expect(CardColor.blue.argb, equals(0xFF3498DB)); - expect(CardColor.orange.argb, equals(0xFFE67E22)); - }); - }); -} diff --git a/core/test/cleanup_service_misc_test.dart b/core/test/cleanup_service_misc_test.dart deleted file mode 100644 index 1d42e7da..00000000 --- a/core/test/cleanup_service_misc_test.dart +++ /dev/null @@ -1,214 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - group('CleanupService.updateKeepBrokenCallback', () { - test('replaces the keepBrokenDays getter', () async { - final tempDir = Directory.systemTemp.createTempSync( - 'cleanup_misc_keep_broken_', - ); - final repo = SqliteRepository.inMemory(); - final storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - - try { - var keepDays = 999; // large value — won't purge anything - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getKeepBrokenDays: () => keepDays, - ); - - // Create an item with a very old brokenSince date. - final extDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final ext = File(p.join(extDir.path, 'gone.png')) - ..writeAsBytesSync([1]); - await repo.save( - ClipboardItem( - id: 'broken-item', - content: ext.path, - type: ClipboardContentType.image, - brokenSince: DateTime.now().toUtc().subtract( - const Duration(days: 60), - ), - ), - ); - ext.deleteSync(); // file is gone - - // Swap to 1 day so the item would be purged. - keepDays = 1; - service.updateKeepBrokenCallback(() => keepDays); - - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 150)); - service.dispose(); - - // The item should be gone because brokenSince > keepDays. - expect(await repo.getById('broken-item'), isNull); - - await repo.close(); - } finally { - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - } - }); - }); - - group('CleanupService.updateImagesQuotaCallback', () { - test('replaces the quota getter and enforces the new limit', () async { - final tempDir = Directory.systemTemp.createTempSync( - 'cleanup_misc_quota_', - ); - final repo = SqliteRepository.inMemory(); - final storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - - try { - var quotaMB = 0; // disabled initially - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => quotaMB, - ); - - // Write two ~600 KB files and register them. - final f1 = File(p.join(storage.imagesPath, 'q1.png')) - ..writeAsBytesSync(List.filled(600 * 1024, 0xAA)); - final f2 = File(p.join(storage.imagesPath, 'q2.png')) - ..writeAsBytesSync(List.filled(600 * 1024, 0xBB)); - - await repo.save( - ClipboardItem( - id: 'q1', - content: f1.path, - type: ClipboardContentType.image, - createdAt: DateTime.utc(2024, 1, 1), - modifiedAt: DateTime.utc(2024, 1, 1), - ), - ); - await repo.save( - ClipboardItem( - id: 'q2', - content: f2.path, - type: ClipboardContentType.image, - createdAt: DateTime.utc(2024, 12, 1), - modifiedAt: DateTime.utc(2024, 12, 1), - ), - ); - - // First run with quota=0 — nothing should be purged. - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 150)); - service.dispose(); - - expect(f1.existsSync(), isTrue); - expect(f2.existsSync(), isTrue); - - // Now activate a 1 MB quota and run again. - quotaMB = 1; - service.updateImagesQuotaCallback(() => quotaMB); - - final marker = File(p.join(tempDir.path, 'last_cleanup.txt')); - if (marker.existsSync()) marker.deleteSync(); - - final service2 = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => quotaMB, - ); - service2.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 200)); - service2.dispose(); - - // Oldest item (q1) must have been purged to go under 1 MB. - expect(f1.existsSync(), isFalse); - expect(f2.existsSync(), isTrue); - - await repo.close(); - } finally { - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - } - }); - }); - - group('CleanupService stale temp dirs', () { - test('preserves a freshly created copypaste_ temp dir', () async { - final tempDir = Directory.systemTemp.createTempSync('cleanup_temp_'); - final repo = SqliteRepository.inMemory(); - final storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - - final fresh = Directory.systemTemp.createTempSync('copypaste_'); - try { - final service = CleanupService(repo, () => 0, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 150)); - service.dispose(); - - expect( - fresh.existsSync(), - isTrue, - reason: 'temp dirs younger than the max age must not be deleted', - ); - - await repo.close(); - } finally { - if (fresh.existsSync()) fresh.deleteSync(recursive: true); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - } - }); - }); - - group('CleanupService.isVolumePresent – macOS', () { - test( - 'returns false for a /Volumes/ path with no such mount', - () { - // Pick a name that is extremely unlikely to be an actual mounted volume. - const fakePath = - '/Volumes/CopyPasteNonExistentVolumeXYZ9999/some/file.png'; - expect(CleanupService.isVolumePresent(fakePath), isFalse); - }, - skip: !Platform.isMacOS ? 'macOS-only' : null, - ); - - test( - 'returns false for bare /Volumes/ path (empty mount name)', - () { - // '/Volumes/' → rest='', mount='' → isEmpty → false - expect(CleanupService.isVolumePresent('/Volumes/'), isFalse); - }, - skip: !Platform.isMacOS ? 'macOS-only' : null, - ); - - test( - 'returns true for a regular macOS path not under /Volumes/', - () { - // Any path that doesn't start with '/Volumes/' returns true on macOS. - expect(CleanupService.isVolumePresent('/Users/test/file.png'), isTrue); - }, - skip: !Platform.isMacOS ? 'macOS-only' : null, - ); - - test( - 'returns true for existing Macintosh HD volume', - () { - // '/Volumes/Macintosh HD' is typically present on macOS machines. - // If not, the test is still valid: existsSync() returns false → we'd - // return false, but the code path is exercised. - const path = '/Volumes/Macintosh HD/some/file.png'; - // Just assert it doesn't throw; the boolean value depends on the host. - expect(() => CleanupService.isVolumePresent(path), returnsNormally); - }, - skip: !Platform.isMacOS ? 'macOS-only' : null, - ); - }); -} diff --git a/core/test/cleanup_service_orphan_test.dart b/core/test/cleanup_service_orphan_test.dart deleted file mode 100644 index 53d9ddf2..00000000 --- a/core/test/cleanup_service_orphan_test.dart +++ /dev/null @@ -1,358 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - late StorageConfig storage; - late SqliteRepository repo; - - setUp(() async { - tempDir = Directory.systemTemp.createTempSync('cleanup_orphan_test_'); - storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - repo = SqliteRepository.inMemory(); - }); - - tearDown(() async { - await repo.close(); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - group('CleanupService orphan image cleanup', () { - test('removes image files not referenced in repository', () async { - // Create orphan image in images directory - final orphan = File(p.join(storage.imagesPath, 'orphan.png')) - ..writeAsBytesSync([1, 2, 3]); - - // Add a referenced image to repository - final referenced = File(p.join(storage.imagesPath, 'referenced.png')) - ..writeAsBytesSync([4, 5, 6]); - await repo.save( - ClipboardItem( - content: referenced.path, - type: ClipboardContentType.image, - contentHash: 'hash-ref', - ), - ); - - final service = CleanupService(repo, () => 30, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - expect(referenced.existsSync(), isTrue); - expect(orphan.existsSync(), isFalse); - }); - - test('keeps all images when all are referenced', () async { - final img1 = File(p.join(storage.imagesPath, 'img1.png')) - ..writeAsBytesSync([1, 2]); - final img2 = File(p.join(storage.imagesPath, 'img2.png')) - ..writeAsBytesSync([3, 4]); - - await repo.save( - ClipboardItem( - content: img1.path, - type: ClipboardContentType.image, - contentHash: 'hash1', - ), - ); - await repo.save( - ClipboardItem( - content: img2.path, - type: ClipboardContentType.image, - contentHash: 'hash2', - ), - ); - - final service = CleanupService(repo, () => 30, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - expect(img1.existsSync(), isTrue); - expect(img2.existsSync(), isTrue); - }); - - test( - 'removes all orphan images when repository has no image items', - () async { - final orphan1 = File(p.join(storage.imagesPath, 'o1.png')) - ..writeAsBytesSync([1]); - final orphan2 = File(p.join(storage.imagesPath, 'o2.png')) - ..writeAsBytesSync([2]); - - // Only a text item — no images referenced - await repo.save( - ClipboardItem(content: 'plain text', type: ClipboardContentType.text), - ); - - final service = CleanupService(repo, () => 30, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - expect(orphan1.existsSync(), isFalse); - expect(orphan2.existsSync(), isFalse); - }, - ); - - test('runs orphan cleanup even when retentionDays is 0', () async { - // Bug fix: orphan image cleanup must run independently of retention setting. - // When retention=0, time-based deletion is skipped but orphan cleanup still runs. - final orphan = File(p.join(storage.imagesPath, 'orphan_zero_ret.png')) - ..writeAsBytesSync([1, 2, 3]); - - final service = CleanupService(repo, () => 0, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - // Orphan cleanup runs regardless of retention → orphan must be deleted - expect(orphan.existsSync(), isFalse); - }); - - test('unreachable external path never starts the purge clock', () async { - // An offline network share throws instead of reporting absence. Treating - // that as "file missing" would mark a healthy item broken, and letting - // the throw escape used to abort the orphan sweep entirely. - await repo.save( - ClipboardItem( - content: p.join(tempDir.path, 'offline_share', 'shot.png'), - type: ClipboardContentType.image, - contentHash: 'hash-external', - ), - ); - final orphan = File(p.join(storage.imagesPath, 'orphan_probe.png')) - ..writeAsBytesSync([1, 2, 3]); - - final service = CleanupService( - repo, - () => 30, - storage: storage, - probePath: (_) => throw const FileSystemException('Exists failed'), - ); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - final items = await repo.getAll(); - expect(items.single.brokenSince, isNull); - expect(orphan.existsSync(), isFalse); - }); - - test('does not crash when images directory is missing', () async { - // Remove images directory to simulate missing dir - Directory(storage.imagesPath).deleteSync(recursive: true); - - final service = CleanupService(repo, () => 30, storage: storage); - await expectLater(service.runCleanupIfNeeded(), completes); - service.dispose(); - }); - - test('updateRetentionCallback changes retention days dynamically', () async { - var retentionDays = 0; - final service = CleanupService( - repo, - () => retentionDays, - storage: storage, - ); - - // With 0 days, cleanup is skipped - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - - // Now change retention to 30 and force next run by clearing last cleanup file - retentionDays = 30; - service.updateRetentionCallback(() => retentionDays); - - final cleanupFile = File(p.join(tempDir.path, 'last_cleanup.txt')); - if (cleanupFile.existsSync()) cleanupFile.deleteSync(); - - await service.runCleanupIfNeeded(); - service.dispose(); - - // No error means the dynamic callback update works - }); - - test('preserves thumbnail files referenced by thumbPath', () async { - // Regression: orphan sweep must NOT delete `_thumb.png` files - // produced by ThumbnailService for items with external sources. - final externalDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final external = File(p.join(externalDir.path, 'photo.png')) - ..writeAsBytesSync([9, 9, 9]); - - final thumb = File(p.join(storage.imagesPath, 'item-x_thumb.png')) - ..writeAsBytesSync([1, 2, 3, 4]); - - await repo.save( - ClipboardItem( - id: 'item-x', - content: external.path, - type: ClipboardContentType.image, - thumbPath: thumb.path, - ), - ); - - final service = CleanupService(repo, () => 30, storage: storage); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - - expect(thumb.existsSync(), isTrue, reason: 'thumb must survive sweep'); - expect(external.existsSync(), isTrue, reason: 'external file untouched'); - }); - }); - - group('CleanupService broken-external tracking', () { - Future runOnce(CleanupService service) async { - final cleanupFile = File(p.join(tempDir.path, 'last_cleanup.txt')); - if (cleanupFile.existsSync()) cleanupFile.deleteSync(); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - } - - test( - 'sets brokenSince when external file disappears (volume present)', - () async { - final extDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final ext = File(p.join(extDir.path, 'a.png'))..writeAsBytesSync([1]); - await repo.save( - ClipboardItem( - id: 'i1', - content: ext.path, - type: ClipboardContentType.image, - ), - ); - - ext.deleteSync(); - - final service = CleanupService( - repo, - () => 30, - storage: storage, - getKeepBrokenDays: () => 30, - ); - await runOnce(service); - service.dispose(); - - final reloaded = await repo.getById('i1'); - expect(reloaded?.brokenSince, isNotNull); - }, - ); - - test('clears brokenSince when external file reappears', () async { - final extDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final ext = File(p.join(extDir.path, 'b.png'))..writeAsBytesSync([2]); - await repo.save( - ClipboardItem( - id: 'i2', - content: ext.path, - type: ClipboardContentType.image, - brokenSince: DateTime.now().toUtc().subtract(const Duration(days: 5)), - ), - ); - - // file still present - final service = CleanupService( - repo, - () => 30, - storage: storage, - getKeepBrokenDays: () => 30, - ); - await runOnce(service); - service.dispose(); - - final reloaded = await repo.getById('i2'); - expect(reloaded?.brokenSince, isNull); - }); - - test('purges item + own thumb when brokenSince exceeds keepBrokenDays; ' - 'never touches the external path', () async { - final extDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final ext = File(p.join(extDir.path, 'gone.png'))..writeAsBytesSync([3]); - final thumb = File(p.join(storage.imagesPath, 'i3_thumb.png')) - ..writeAsBytesSync([4]); - - await repo.save( - ClipboardItem( - id: 'i3', - content: ext.path, - type: ClipboardContentType.image, - thumbPath: thumb.path, - brokenSince: DateTime.now().toUtc().subtract( - const Duration(days: 60), - ), - ), - ); - ext.deleteSync(); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getKeepBrokenDays: () => 30, - ); - await runOnce(service); - service.dispose(); - - expect(await repo.getById('i3'), isNull, reason: 'item purged'); - expect(thumb.existsSync(), isFalse, reason: 'own thumb deleted'); - // The external file was already deleted by the test itself; the - // assertion below documents the contract that the service never - // recreates or otherwise alters external paths. - expect(File(ext.path).existsSync(), isFalse); - }); - - test('does not touch pinned items even when external is broken', () async { - final extDir = Directory(p.join(tempDir.path, 'ext')) - ..createSync(recursive: true); - final ext = File(p.join(extDir.path, 'p.png'))..writeAsBytesSync([5]); - await repo.save( - ClipboardItem( - id: 'pinned', - content: ext.path, - type: ClipboardContentType.image, - isPinned: true, - ), - ); - ext.deleteSync(); - - final service = CleanupService( - repo, - () => 30, - storage: storage, - getKeepBrokenDays: () => 30, - ); - await runOnce(service); - service.dispose(); - - final reloaded = await repo.getById('pinned'); - expect(reloaded, isNotNull); - expect(reloaded?.brokenSince, isNull); - }); - - test('isVolumePresent returns false for absent Windows drive', () { - if (!Platform.isWindows) return; - // Pick a drive letter that is highly unlikely to be mounted. - final result = CleanupService.isVolumePresent(r'Q:\does\not\exist.png'); - // If by chance Q: exists on the dev box, accept either result for the - // purpose of this smoke check; the contract is documented above. - expect(result, isA()); - }); - - test('isVolumePresent returns true for current drive', () { - final cwd = Directory.current.path; - expect(CleanupService.isVolumePresent(cwd), isTrue); - }); - }); -} diff --git a/core/test/cleanup_service_quota_test.dart b/core/test/cleanup_service_quota_test.dart deleted file mode 100644 index f00e838a..00000000 --- a/core/test/cleanup_service_quota_test.dart +++ /dev/null @@ -1,258 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - late StorageConfig storage; - late SqliteRepository repo; - - setUp(() async { - tempDir = Directory.systemTemp.createTempSync('cleanup_quota_test_'); - storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - repo = SqliteRepository.inMemory(); - }); - - tearDown(() async { - await repo.close(); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - Future writeOwned(String id, int sizeBytes) async { - final f = File(p.join(storage.imagesPath, '$id.png')); - f.writeAsBytesSync(List.filled(sizeBytes, 0xAA)); - return f; - } - - Future saveItem({ - required String id, - required String filePath, - required DateTime createdAt, - bool isPinned = false, - String? thumbPath, - }) async { - final item = ClipboardItem( - id: id, - content: filePath, - type: ClipboardContentType.image, - contentHash: 'hash-$id', - createdAt: createdAt, - modifiedAt: createdAt, - isPinned: isPinned, - thumbPath: thumbPath, - ); - await repo.save(item); - return item; - } - - Future runCleanup(CleanupService service) async { - service.start(tempDir.path); - // Give the async chain (`runCleanupIfNeeded`) time to drain. - await Future.delayed(const Duration(milliseconds: 200)); - service.dispose(); - } - - group('CleanupService images quota (LRU purge)', () { - test('does nothing when quotaMB <= 0', () async { - final f1 = await writeOwned('a', 2 * 1024 * 1024); - await saveItem( - id: 'a', - filePath: f1.path, - createdAt: DateTime.utc(2024, 1, 1), - ); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => 0, - ); - await runCleanup(service); - - expect(f1.existsSync(), isTrue); - expect(await repo.count(), 1); - }); - - test('purges oldest unpinned items until under the cap', () async { - // 3 items, ~600 KB each, cap = 1 MB → must drop the two oldest. - final f1 = await writeOwned('old', 600 * 1024); - final f2 = await writeOwned('mid', 600 * 1024); - final f3 = await writeOwned('new', 600 * 1024); - await saveItem( - id: 'old', - filePath: f1.path, - createdAt: DateTime.utc(2024, 1, 1), - ); - await saveItem( - id: 'mid', - filePath: f2.path, - createdAt: DateTime.utc(2024, 6, 1), - ); - await saveItem( - id: 'new', - filePath: f3.path, - createdAt: DateTime.utc(2024, 12, 1), - ); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => 1, - ); - await runCleanup(service); - - expect(f1.existsSync(), isFalse, reason: 'oldest must be purged'); - expect(f2.existsSync(), isFalse, reason: 'mid must be purged'); - expect(f3.existsSync(), isTrue, reason: 'newest must survive'); - expect(await repo.getById('old'), isNull); - expect(await repo.getById('mid'), isNull); - expect(await repo.getById('new'), isNotNull); - }); - - test('skips pinned items even when oldest', () async { - final f1 = await writeOwned('pinned', 600 * 1024); - final f2 = await writeOwned('mid', 600 * 1024); - final f3 = await writeOwned('new', 600 * 1024); - await saveItem( - id: 'pinned', - filePath: f1.path, - createdAt: DateTime.utc(2024, 1, 1), - isPinned: true, - ); - await saveItem( - id: 'mid', - filePath: f2.path, - createdAt: DateTime.utc(2024, 6, 1), - ); - await saveItem( - id: 'new', - filePath: f3.path, - createdAt: DateTime.utc(2024, 12, 1), - ); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => 1, - ); - await runCleanup(service); - - expect(f1.existsSync(), isTrue, reason: 'pinned must survive'); - expect(f2.existsSync(), isFalse, reason: 'unpinned mid purged'); - expect(await repo.getById('pinned'), isNotNull); - }); - - test('also deletes the per-item thumbnail when present', () async { - final f1 = await writeOwned('a', 800 * 1024); - final thumb = File(p.join(storage.imagesPath, 'a_thumb.png')) - ..writeAsBytesSync(List.filled(300 * 1024, 0xBB)); - await saveItem( - id: 'a', - filePath: f1.path, - createdAt: DateTime.utc(2024, 1, 1), - thumbPath: thumb.path, - ); - // newer item to keep - final f2 = await writeOwned('b', 200 * 1024); - await saveItem( - id: 'b', - filePath: f2.path, - createdAt: DateTime.utc(2024, 12, 1), - ); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => 1, - ); - await runCleanup(service); - - expect(f1.existsSync(), isFalse); - expect(thumb.existsSync(), isFalse, reason: 'thumb must be deleted too'); - expect(f2.existsSync(), isTrue); - }); - - test('never touches external paths referenced by items', () async { - // External "user file" outside images/. - final external = File(p.join(tempDir.path, 'user_photo.png')) - ..writeAsBytesSync(List.filled(900 * 1024, 0xCC)); - await saveItem( - id: 'ext', - filePath: external.path, - createdAt: DateTime.utc(2024, 1, 1), - ); - // Plus an oversized owned snippet. - final owned = await writeOwned('owned', 1500 * 1024); - await saveItem( - id: 'owned', - filePath: owned.path, - createdAt: DateTime.utc(2024, 6, 1), - ); - - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => 1, - ); - await runCleanup(service); - - expect( - external.existsSync(), - isTrue, - reason: 'external user file must never be deleted', - ); - // owned snippet purged because total > 1MB and it is the oldest with - // owned bytes inside images/. - expect(owned.existsSync(), isFalse); - }); - - test('updateImagesQuotaCallback swaps the limit live', () async { - final f1 = await writeOwned('a', 600 * 1024); - final f2 = await writeOwned('b', 600 * 1024); - await saveItem( - id: 'a', - filePath: f1.path, - createdAt: DateTime.utc(2024, 1, 1), - ); - await saveItem( - id: 'b', - filePath: f2.path, - createdAt: DateTime.utc(2024, 12, 1), - ); - - var quota = 0; // initially disabled - final service = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => quota, - ); - await runCleanup(service); - expect(f1.existsSync(), isTrue); - expect(f2.existsSync(), isTrue); - - // Activate the cap and run again on a fresh service so the - // last-cleanup gate doesn't skip the run. - quota = 1; - final marker = File(p.join(tempDir.path, 'last_cleanup.txt')); - if (marker.existsSync()) marker.deleteSync(); - final service2 = CleanupService( - repo, - () => 0, - storage: storage, - getImagesQuotaMB: () => quota, - ); - await runCleanup(service2); - expect(f1.existsSync(), isFalse); - expect(f2.existsSync(), isTrue); - }); - }); -} diff --git a/core/test/cleanup_service_test.dart b/core/test/cleanup_service_test.dart deleted file mode 100644 index 200434cd..00000000 --- a/core/test/cleanup_service_test.dart +++ /dev/null @@ -1,390 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; -import 'package:core/repository/i_clipboard_repository.dart'; - -class _FailingRepo implements IClipboardRepository { - bool failGetImagePaths = false; - - @override - Future clearOldItems(int days, {bool excludePinned = true}) => - Future.error(Exception('forced clearOldItems error')); - - @override - Future> getImagePaths() { - if (failGetImagePaths) { - return Future.error(Exception('forced getImagePaths error')); - } - return Future.value([]); - } - - @override - Future> getThumbPaths() => Future.value([]); - - @override - Future save(ClipboardItem item) => Future.value(); - @override - Future update(ClipboardItem item) => Future.value(); - @override - Future getById(String id) => Future.value(null); - @override - Future getLatest() => Future.value(null); - @override - Future findByContentAndType( - String content, - ClipboardContentType type, - ) => Future.value(null); - @override - Future findByContentHash(String hash) => Future.value(null); - @override - Future> getAll() => Future.value([]); - @override - Future delete(String id) => Future.value(); - @override - Future deleteAllUnpinned() => Future.value(0); - @override - Future count() => Future.value(0); - @override - Future> search( - String q, { - int limit = 50, - int skip = 0, - }) => Future.value([]); - @override - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }) => Future.value([]); - @override - Future walCheckpoint() => Future.value(); - @override - Future close() => Future.value(); -} - -void main() { - late SqliteRepository repo; - late Directory tempDir; - - setUp(() { - repo = SqliteRepository.inMemory(); - tempDir = Directory.systemTemp.createTempSync('cleanup_test_'); - }); - - tearDown(() async { - await repo.close(); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - group('CleanupService', () { - test('runCleanupIfNeeded via start() clears old items', () async { - await repo.save( - ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ), - ); - - final service = CleanupService(repo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final count = await repo.count(); - expect(count, equals(0)); - }); - - test('skips cleanup when same day as last run', () async { - final file = File('${tempDir.path}/last_cleanup.txt'); - file.writeAsStringSync(DateTime.now().toUtc().toIso8601String()); - - await repo.save( - ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ), - ); - - final service = CleanupService(repo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - // Item should still be there because cleanup was skipped - final count = await repo.count(); - expect(count, equals(1)); - }); - - test('skips cleanup when retentionDays is 0', () async { - await repo.save( - ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ), - ); - - final service = CleanupService(repo, () => 0); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final count = await repo.count(); - expect(count, equals(1)); - }); - - test('skips cleanup when retentionDays is negative', () async { - await repo.save( - ClipboardItem( - content: 'item', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 100)), - modifiedAt: DateTime.now().toUtc().subtract( - const Duration(days: 100), - ), - ), - ); - - final service = CleanupService(repo, () => -1); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final count = await repo.count(); - expect(count, equals(1)); - }); - - test('preserves pinned items during cleanup', () async { - final pinned = ClipboardItem( - content: 'pinned old', - type: ClipboardContentType.text, - isPinned: true, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ); - await repo.save(pinned); - - final service = CleanupService(repo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final found = await repo.getById(pinned.id); - expect(found, isNotNull); - }); - - test('writes last cleanup date to file after running', () async { - final service = CleanupService(repo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final file = File('${tempDir.path}/last_cleanup.txt'); - expect(file.existsSync(), isTrue); - - final content = file.readAsStringSync().trim(); - final parsed = DateTime.tryParse(content); - expect(parsed, isNotNull); - // Should be today's date - final now = DateTime.now().toUtc(); - expect(parsed!.year, equals(now.year)); - expect(parsed.month, equals(now.month)); - expect(parsed.day, equals(now.day)); - }); - - test('runs cleanup with previous-day date file', () async { - final yesterday = DateTime.now().toUtc().subtract( - const Duration(days: 1), - ); - final file = File('${tempDir.path}/last_cleanup.txt'); - file.writeAsStringSync(yesterday.toIso8601String()); - - await repo.save( - ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ), - ); - - final service = CleanupService(repo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - - final count = await repo.count(); - expect(count, equals(0)); - }); - - test('dispose prevents further cleanup', () async { - final service = CleanupService(repo, () => 30); - service.dispose(); - // After dispose, runCleanupIfNeeded is a no-op - - await repo.save( - ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 40)), - ), - ); - - await service.runCleanupIfNeeded(); - - final count = await repo.count(); - expect(count, equals(1)); // item was NOT deleted - }); - - test('does not crash on missing base dir', () async { - final service = CleanupService(repo, () => 30); - await expectLater(service.runCleanupIfNeeded(), completes); - service.dispose(); - }); - - test('logs error when clearOldItems throws', () async { - final failingRepo = _FailingRepo(); - final service = CleanupService(failingRepo, () => 30); - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - service.dispose(); - }); - - test( - 'logs error when getImagePaths throws during orphan cleanup', - () async { - final storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - - final repoWithPassingClear = SqliteRepository.inMemory(); - final hybridRepo = _HybridRepo(repoWithPassingClear); - final hybridService = CleanupService( - hybridRepo, - () => 30, - storage: storage, - ); - - final yesterday = DateTime.now().toUtc().subtract( - const Duration(days: 1), - ); - File( - '${tempDir.path}/last_cleanup.txt', - ).writeAsStringSync(yesterday.toIso8601String()); - - hybridService.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 50)); - hybridService.dispose(); - await repoWithPassingClear.close(); - }, - ); - - test('orphan sweep still runs when broken-ref tracking throws', () async { - final storage = await StorageConfig.create(baseDir: tempDir.path); - await storage.ensureDirectories(); - final orphan = File('${storage.imagesPath}/stranded.png') - ..writeAsBytesSync([1, 2, 3]); - - final inner = SqliteRepository.inMemory(); - final repo = _HybridRepo( - inner, - failGetImagePaths: false, - failGetAll: true, - ); - final service = CleanupService(repo, () => 30, storage: storage); - - service.start(tempDir.path); - await Future.delayed(const Duration(milliseconds: 100)); - service.dispose(); - await inner.close(); - - // Tracking blew up, but the sweep it used to abort completed anyway. - expect(orphan.existsSync(), isFalse); - }); - }); -} - -class _HybridRepo implements IClipboardRepository { - _HybridRepo( - this._inner, { - this.failGetImagePaths = true, - this.failGetAll = false, - }); - final IClipboardRepository _inner; - final bool failGetImagePaths; - final bool failGetAll; - - @override - Future> getImagePaths() => failGetImagePaths - ? Future.error(Exception('forced getImagePaths error')) - : _inner.getImagePaths(); - - @override - Future> getThumbPaths() => _inner.getThumbPaths(); - - @override - Future clearOldItems(int days, {bool excludePinned = true}) => - _inner.clearOldItems(days, excludePinned: excludePinned); - @override - Future save(ClipboardItem item) => _inner.save(item); - @override - Future update(ClipboardItem item) => _inner.update(item); - @override - Future getById(String id) => _inner.getById(id); - @override - Future getLatest() => _inner.getLatest(); - @override - Future findByContentAndType( - String content, - ClipboardContentType type, - ) => _inner.findByContentAndType(content, type); - @override - Future findByContentHash(String hash) => - _inner.findByContentHash(hash); - @override - Future> getAll() => failGetAll - ? Future.error(Exception('forced getAll error')) - : _inner.getAll(); - @override - Future delete(String id) => _inner.delete(id); - @override - Future deleteAllUnpinned() => _inner.deleteAllUnpinned(); - @override - Future count() => _inner.count(); - @override - Future> search( - String q, { - int limit = 50, - int skip = 0, - }) => _inner.search(q, limit: limit, skip: skip); - @override - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }) => _inner.searchAdvanced( - query: query, - types: types, - colors: colors, - isPinned: isPinned, - limit: limit, - skip: skip, - ); - @override - Future walCheckpoint() => _inner.walCheckpoint(); - @override - Future close() => _inner.close(); -} diff --git a/core/test/clipboard_content_type_test.dart b/core/test/clipboard_content_type_test.dart deleted file mode 100644 index 0a2d3829..00000000 --- a/core/test/clipboard_content_type_test.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('ClipboardContentType.value', () { - test('returns correct int for each variant', () { - expect(ClipboardContentType.unknown.value, equals(-1)); - expect(ClipboardContentType.text.value, equals(0)); - expect(ClipboardContentType.image.value, equals(1)); - expect(ClipboardContentType.file.value, equals(2)); - expect(ClipboardContentType.folder.value, equals(3)); - expect(ClipboardContentType.link.value, equals(4)); - expect(ClipboardContentType.audio.value, equals(5)); - expect(ClipboardContentType.video.value, equals(6)); - expect(ClipboardContentType.email.value, equals(7)); - expect(ClipboardContentType.phone.value, equals(8)); - expect(ClipboardContentType.color.value, equals(9)); - expect(ClipboardContentType.ip.value, equals(10)); - expect(ClipboardContentType.uuid.value, equals(11)); - expect(ClipboardContentType.json.value, equals(12)); - }); - }); - - group('ClipboardContentType.fromValue', () { - test('converts known int values', () { - expect(ClipboardContentType.fromValue(0), ClipboardContentType.text); - expect(ClipboardContentType.fromValue(1), ClipboardContentType.image); - expect(ClipboardContentType.fromValue(2), ClipboardContentType.file); - expect(ClipboardContentType.fromValue(3), ClipboardContentType.folder); - expect(ClipboardContentType.fromValue(4), ClipboardContentType.link); - expect(ClipboardContentType.fromValue(5), ClipboardContentType.audio); - expect(ClipboardContentType.fromValue(6), ClipboardContentType.video); - expect(ClipboardContentType.fromValue(7), ClipboardContentType.email); - expect(ClipboardContentType.fromValue(8), ClipboardContentType.phone); - expect(ClipboardContentType.fromValue(9), ClipboardContentType.color); - expect(ClipboardContentType.fromValue(10), ClipboardContentType.ip); - expect(ClipboardContentType.fromValue(11), ClipboardContentType.uuid); - expect(ClipboardContentType.fromValue(12), ClipboardContentType.json); - }); - - test('returns unknown for out-of-range values', () { - expect(ClipboardContentType.fromValue(-1), ClipboardContentType.unknown); - expect(ClipboardContentType.fromValue(99), ClipboardContentType.unknown); - expect(ClipboardContentType.fromValue(-99), ClipboardContentType.unknown); - }); - - test('value and fromValue are inverse for all non-unknown variants', () { - for (final type in ClipboardContentType.values) { - if (type == ClipboardContentType.unknown) continue; - expect(ClipboardContentType.fromValue(type.value), equals(type)); - } - }); - }); - - group('ClipboardContentType extra coverage', () { - test('unknown is not equal to text', () { - expect( - ClipboardContentType.unknown == ClipboardContentType.text, - isFalse, - ); - }); - test('toString returns enum name', () { - expect( - ClipboardContentType.text.toString(), - contains('ClipboardContentType.text'), - ); - }); - test('unknown value is -1', () { - expect(ClipboardContentType.unknown.value, equals(-1)); - }); - }); -} diff --git a/core/test/clipboard_item_test.dart b/core/test/clipboard_item_test.dart deleted file mode 100644 index 0171ca20..00000000 --- a/core/test/clipboard_item_test.dart +++ /dev/null @@ -1,249 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('ClipboardItem', () { - test('generates unique id when none provided', () { - final a = ClipboardItem(content: 'a', type: ClipboardContentType.text); - final b = ClipboardItem(content: 'b', type: ClipboardContentType.text); - expect(a.id, isNotEmpty); - expect(a.id, isNot(equals(b.id))); - }); - - test('preserves provided id', () { - final item = ClipboardItem( - id: 'fixed-id', - content: 'x', - type: ClipboardContentType.text, - ); - expect(item.id, equals('fixed-id')); - }); - - test('default field values', () { - final item = ClipboardItem(content: 'x', type: ClipboardContentType.text); - expect(item.isPinned, isFalse); - expect(item.pasteCount, equals(0)); - expect(item.cardColor, equals(CardColor.none)); - expect(item.appSource, isNull); - expect(item.label, isNull); - expect(item.metadata, isNull); - expect(item.contentHash, isNull); - }); - - test('isFileBasedType true for file, folder, audio, video', () { - expect( - ClipboardItem( - content: '', - type: ClipboardContentType.file, - ).isFileBasedType, - isTrue, - ); - expect( - ClipboardItem( - content: '', - type: ClipboardContentType.folder, - ).isFileBasedType, - isTrue, - ); - expect( - ClipboardItem( - content: '', - type: ClipboardContentType.audio, - ).isFileBasedType, - isTrue, - ); - expect( - ClipboardItem( - content: '', - type: ClipboardContentType.video, - ).isFileBasedType, - isTrue, - ); - }); - - test('isFileBasedType false for text, image, link, unknown', () { - for (final type in [ - ClipboardContentType.text, - ClipboardContentType.image, - ClipboardContentType.link, - ClipboardContentType.unknown, - ]) { - expect( - ClipboardItem(content: '', type: type).isFileBasedType, - isFalse, - reason: '${type.name} should not be file-based', - ); - } - }); - - test('copyWith only changes specified fields', () { - final item = ClipboardItem( - content: 'original', - type: ClipboardContentType.text, - pasteCount: 5, - cardColor: CardColor.blue, - ); - final copy = item.copyWith(content: 'updated', isPinned: true); - expect(copy.id, equals(item.id)); - expect(copy.content, equals('updated')); - expect(copy.isPinned, isTrue); - expect(copy.pasteCount, equals(5)); - expect(copy.cardColor, equals(CardColor.blue)); - expect(copy.type, equals(ClipboardContentType.text)); - }); - - test('copyWith with all card colors', () { - final item = ClipboardItem(content: 'x', type: ClipboardContentType.text); - for (final color in CardColor.values) { - final copy = item.copyWith(cardColor: color); - expect(copy.cardColor, equals(color)); - } - }); - - test('equality based on id', () { - final a = ClipboardItem( - id: 'same-id', - content: 'a', - type: ClipboardContentType.text, - ); - final b = ClipboardItem( - id: 'same-id', - content: 'b', - type: ClipboardContentType.link, - ); - final c = ClipboardItem( - id: 'different-id', - content: 'a', - type: ClipboardContentType.text, - ); - expect(a, equals(b)); - expect(a.hashCode, equals(b.hashCode)); - expect(a, isNot(equals(c))); - }); - - test('isFileAvailable returns true for non-file types', () { - final item = ClipboardItem( - content: 'text', - type: ClipboardContentType.text, - ); - expect(item.isFileAvailable(), isTrue); - }); - - test('isFileAvailable returns false for empty content on file types', () { - final item = ClipboardItem(content: '', type: ClipboardContentType.file); - expect(item.isFileAvailable(), isFalse); - }); - - test('isFileAvailable returns false when file does not exist', () { - final item = ClipboardItem( - content: '/nonexistent/path/file.txt', - type: ClipboardContentType.file, - ); - expect(item.isFileAvailable(), isFalse); - }); - - test( - 'isFileAvailable returns false when content is only whitespace lines', - () { - final item = ClipboardItem( - content: '\n\n', - type: ClipboardContentType.file, - ); - expect(item.isFileAvailable(), isFalse); - }, - ); - - test('isFileAvailable returns true when file exists', () { - final dir = Directory.systemTemp.createTempSync('item_test_'); - try { - final file = File('${dir.path}/test.txt')..writeAsStringSync('test'); - final item = ClipboardItem( - content: file.path, - type: ClipboardContentType.file, - ); - expect(item.isFileAvailable(), isTrue); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test( - 'isFileAvailable returns true for folder type when directory exists', - () { - final dir = Directory.systemTemp.createTempSync('folder_item_test_'); - try { - final item = ClipboardItem( - content: dir.path, - type: ClipboardContentType.folder, - ); - expect(item.isFileAvailable(), isTrue); - } finally { - dir.deleteSync(recursive: true); - } - }, - ); - }); - - group('ClipboardItem.hasRichText', () { - ClipboardItem itemWith(String? metadata) => ClipboardItem( - content: 'x', - type: ClipboardContentType.text, - ).copyWith(metadata: metadata); - - test('is true when metadata carries a non-empty rtf key', () { - expect(itemWith('{"rtf":"e1xydGYx"}').hasRichText, isTrue); - }); - - test('is false when rtf is present but empty', () { - expect(itemWith('{"rtf":""}').hasRichText, isFalse); - }); - - test('is false when only html is present', () { - // Copying from a browser drags text/html along even for plain text, so - // html alone must not promote an item to rich. - expect(itemWith('{"html":"PGh0bWw+"}').hasRichText, isFalse); - }); - - test('is false when there is no metadata', () { - expect(itemWith(null).hasRichText, isFalse); - expect(itemWith('').hasRichText, isFalse); - }); - - test('is false on malformed or non-map metadata', () { - expect(itemWith('not json').hasRichText, isFalse); - expect(itemWith('[1,2,3]').hasRichText, isFalse); - }); - - test('is false when rtf holds a non-string value', () { - expect(itemWith('{"rtf":42}').hasRichText, isFalse); - }); - }); - - group('ClipboardItem.hasFormatting', () { - ClipboardItem itemWith(String? metadata) => ClipboardItem( - content: 'x', - type: ClipboardContentType.text, - ).copyWith(metadata: metadata); - - test('is true for rtf', () { - expect(itemWith('{"rtf":"e1xydGYx"}').hasFormatting, isTrue); - }); - - test('is true for html alone', () { - // Unlike hasRichText: the writer restores html to the clipboard, so a - // normal paste would carry formatting and stripping it is meaningful. - final item = itemWith('{"html":"PGh0bWw+"}'); - expect(item.hasFormatting, isTrue); - expect(item.hasRichText, isFalse); - }); - - test('is false when no format payload is attached', () { - expect(itemWith(null).hasFormatting, isFalse); - expect(itemWith('{"duration":42}').hasFormatting, isFalse); - expect(itemWith('{"rtf":"","html":""}').hasFormatting, isFalse); - }); - }); -} diff --git a/core/test/clipboard_service_extended_test.dart b/core/test/clipboard_service_extended_test.dart deleted file mode 100644 index ff6b3609..00000000 --- a/core/test/clipboard_service_extended_test.dart +++ /dev/null @@ -1,311 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - late ClipboardService service; - - setUp(() { - repo = SqliteRepository.inMemory(); - service = ClipboardService(repo); - }); - - tearDown(() async { - await service.dispose(); - await repo.close(); - }); - - group('ClipboardService.processFiles', () { - test('creates file item from multiple file paths', () async { - final files = ['C:\\file1.txt', 'C:\\file2.txt', 'C:\\file3.txt']; - final result = await service.processFiles( - files, - ClipboardContentType.file, - ); - - expect(result, isNotNull); - expect(result!.type, equals(ClipboardContentType.file)); - expect(result.content, contains('file1.txt')); - expect(result.content, contains('file2.txt')); - expect(result.metadata, isNotNull); - }); - - test('creates folder item from path', () async { - final result = await service.processFiles([ - 'C:\\MyFolder', - ], ClipboardContentType.folder); - - expect(result, isNotNull); - expect(result!.type, equals(ClipboardContentType.folder)); - }); - - test('returns null for empty file list', () async { - final result = await service.processFiles([], ClipboardContentType.file); - - expect(result, isNull); - }); - - test('reactivates existing file item', () async { - final files = ['C:\\existing.txt']; - final first = await service.processFiles( - files, - ClipboardContentType.file, - ); - - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - final second = await service.processFiles( - files, - ClipboardContentType.file, - ); - await Future.delayed(Duration.zero); - - expect(second, isNotNull); - expect(reactivated?.id, equals(first!.id)); - }); - - test('includes file metadata in item', () async { - final files = ['C:\\test.pdf']; - final result = await service.processFiles( - files, - ClipboardContentType.file, - ); - - expect(result!.metadata, isNotNull); - expect(result.metadata, contains('file_count')); - expect(result.metadata, contains('file_name')); - expect(result.metadata, contains('first_ext')); - }); - }); - - group('ClipboardService.processImage', () { - test('creates image item by contentHash', () async { - final result = await service.processImage( - 'hash-abc-123', - imagePath: '/tmp/image.png', - ); - - expect(result, isNotNull); - expect(result!.contentHash, equals('hash-abc-123')); - expect(result.type, equals(ClipboardContentType.image)); - }); - - test('reactivates existing image by contentHash', () async { - const hash = 'dup-hash'; - final first = await service.processImage(hash, imagePath: '/img1.png'); - - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - final second = await service.processImage(hash, imagePath: '/img2.png'); - await Future.delayed(Duration.zero); - - expect(second, isNotNull); - expect(reactivated?.id, equals(first!.id)); - }); - - test('does not swallow new bytes when the stored file is gone', () async { - const hash = 'stale-file-hash'; - final first = await service.processImage(hash, imagePath: '/gone.png'); - - final second = await service.processImage( - hash, - imagePath: '/gone.png', - imageBytes: [1, 2, 3, 4], - ); - - expect(second, isNotNull); - expect(second!.id, isNot(equals(first!.id))); - }); - - test( - 'reactivates instead of duplicating when the file is still there', - () async { - final dir = Directory.systemTemp.createTempSync('cp_img_'); - addTearDown(() => dir.deleteSync(recursive: true)); - final onDisk = File(p.join(dir.path, 'kept.png')) - ..writeAsBytesSync([1, 2, 3]); - - const hash = 'live-file-hash'; - final first = await service.processImage(hash, imagePath: onDisk.path); - final second = await service.processImage( - hash, - imagePath: onDisk.path, - imageBytes: [9, 9], - ); - - expect(second!.id, equals(first!.id)); - }, - ); - - test('still creates the item when the BMP cannot be written', () async { - final missingDir = p.join( - Directory.systemTemp.path, - 'cp_absent_${DateTime.now().microsecondsSinceEpoch}', - 'nested', - ); - final isolated = ClipboardService(repo, imagesPath: missingDir); - addTearDown(isolated.dispose); - - final result = await isolated.processImage( - 'unwritable-hash', - imageBytes: [1, 2, 3], - ); - - expect(result, isNotNull); - expect(result!.content, isEmpty); - }); - - test('reactivates a pathless entry even when bytes are present', () async { - const hash = 'pathless-hash'; - final first = await service.processImage(hash); - - final second = await service.processImage( - hash, - imageBytes: [7, 7, 7], - ); - - expect(second!.id, equals(first!.id)); - }); - - test('stores image path in content field', () async { - const imagePath = '/home/user/screenshot.png'; - final result = await service.processImage( - 'path-hash', - imagePath: imagePath, - ); - - expect(result!.content, equals(imagePath)); - }); - }); - - group('ClipboardService.notifyPasteInitiated', () { - test( - 'does not lose different content copied within paste window', - () async { - service.pasteIgnoreWindowMs = 100; - - final item = await service.processText( - 'first content', - ClipboardContentType.text, - ); - expect(item, isNotNull); - - await service.notifyPasteInitiated(item!.id); - - final copied = await service.processText( - 'second content', - ClipboardContentType.text, - ); - - expect(copied, isNotNull); - expect(copied!.content, 'second content'); - }, - ); - - test('window expires allowing new items', () async { - service.pasteIgnoreWindowMs = 50; - - final first = await service.processText( - 'content1', - ClipboardContentType.text, - ); - expect(first, isNotNull); - - await service.notifyPasteInitiated(first!.id); - await Future.delayed(const Duration(milliseconds: 60)); - - final second = await service.processText( - 'content2', - ClipboardContentType.text, - ); - - expect(second, isNotNull); - expect(second!.content, equals('content2')); - }); - - test('same content ignored within double window', () async { - service.pasteIgnoreWindowMs = 50; - - const text = 'duplicate content'; - final first = await service.processText(text, ClipboardContentType.text); - expect(first, isNotNull); - - await service.notifyPasteInitiated(first!.id); - await Future.delayed(const Duration(milliseconds: 30)); - - final duplicate = await service.processText( - text, - ClipboardContentType.text, - ); - - expect(duplicate, isNull); - }); - }); - - group('ClipboardService.dispose', () { - test('disposes resources without errors', () async { - final testService = ClipboardService(repo); - - // Just verify dispose completes without errors - await testService.dispose(); - expect(true, isTrue); - }); - }); - - group('ClipboardService integration scenarios', () { - test('text and file items coexist', () async { - final text = await service.processText( - 'text content', - ClipboardContentType.text, - ); - final files = await service.processFiles([ - 'C:\\document.docx', - ], ClipboardContentType.file); - - expect(text, isNotNull); - expect(files, isNotNull); - expect(text!.type, equals(ClipboardContentType.text)); - expect(files!.type, equals(ClipboardContentType.file)); - expect(text.id, isNot(files.id)); - }); - - test('can process all content types', () async { - final text = await service.processText('text', ClipboardContentType.text); - final link = await service.processText( - 'https://example.com', - ClipboardContentType.link, - ); - final image = await service.processImage('img-hash'); - final files = await service.processFiles([ - 'file.txt', - ], ClipboardContentType.file); - - expect(text, isNotNull); - expect(link, isNotNull); - expect(image, isNotNull); - expect(files, isNotNull); - }); - - test('metadata is preserved for complex content', () async { - final result = await service.processText( - 'rich content', - ClipboardContentType.text, - source: 'Word', - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - htmlBytes: [0x3C, 0x68, 0x74, 0x6D, 0x6C], - ); - - expect(result, isNotNull); - expect(result!.appSource, equals('Word')); - expect(result.metadata, isNotNull); - expect(result.metadata, contains('rtf')); - expect(result.metadata, contains('html')); - }); - }); -} diff --git a/core/test/clipboard_service_platform_test.dart b/core/test/clipboard_service_platform_test.dart deleted file mode 100644 index 8e056f30..00000000 --- a/core/test/clipboard_service_platform_test.dart +++ /dev/null @@ -1,380 +0,0 @@ -/// Integration tests that verify ClipboardService behaviour is identical -/// across Windows and macOS — no platform-specific branching exists -/// in the Dart service layer, so these tests run unconditionally on all -/// platforms (CI runs for each OS via the flutter test matrix). -library; - -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - late Directory imagesDir; - late Directory filesDir; - late ClipboardService service; - - setUp(() { - repo = SqliteRepository.inMemory(); - imagesDir = Directory.systemTemp.createTempSync('svc_platform_'); - filesDir = Directory.systemTemp.createTempSync('svc_platform_files_'); - service = ClipboardService(repo, imagesPath: imagesDir.path); - }); - - tearDown(() async { - await service.dispose(); - await repo.close(); - if (imagesDir.existsSync()) imagesDir.deleteSync(recursive: true); - if (filesDir.existsSync()) filesDir.deleteSync(recursive: true); - }); - - group('ClipboardService – cross-platform path handling', () { - test('processFiles handles Unix-style paths', () async { - final result = await service.processFiles([ - '/home/user/documents/report.pdf', - ], ClipboardContentType.file); - expect(result, isNotNull); - expect(result!.content, equals('/home/user/documents/report.pdf')); - final meta = jsonDecode(result.metadata!) as Map; - expect(meta['file_name'], equals('report.pdf')); - expect(meta['first_ext'], equals('.pdf')); - }); - - test('processFiles handles Windows-style paths', () async { - final result = await service.processFiles([ - r'C:\Users\user\Documents\report.docx', - ], ClipboardContentType.file); - expect(result, isNotNull); - // p.basename handles both separators - expect(result!.content, contains('report.docx')); - }); - - test('processFiles handles multiple files across platforms', () async { - final paths = [ - if (Platform.isWindows) ...[ - r'C:\docs\file1.txt', - r'C:\docs\file2.txt', - ] else ...[ - '/home/user/file1.txt', - '/home/user/file2.txt', - ], - ]; - - final result = await service.processFiles( - paths, - ClipboardContentType.file, - ); - expect(result, isNotNull); - final meta = jsonDecode(result!.metadata!) as Map; - expect(meta['file_count'], equals(2)); - }); - - test('processFiles with folder type sets is_directory=true', () async { - final folder = Platform.isWindows ? r'C:\MyFolder' : '/home/user/folder'; - final result = await service.processFiles([ - folder, - ], ClipboardContentType.folder); - expect(result, isNotNull); - final meta = jsonDecode(result!.metadata!) as Map; - expect(meta['is_directory'], isTrue); - }); - - test('processFiles with file type sets is_directory=false', () async { - final file = Platform.isWindows - ? r'C:\MyFolder\file.txt' - : '/home/user/file.txt'; - final result = await service.processFiles([ - file, - ], ClipboardContentType.file); - final meta = jsonDecode(result!.metadata!) as Map; - expect(meta['is_directory'], isFalse); - }); - }); - - group('ClipboardService – content deduplication cross-platform', () { - test('duplicate text is reactivated regardless of source', () async { - await service.processText( - 'duplicate', - ClipboardContentType.text, - source: 'app1', - ); - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - await service.processText( - 'duplicate', - ClipboardContentType.text, - source: 'app2', - ); - await Future.delayed(Duration.zero); - - expect(reactivated, isNotNull); - expect(reactivated!.content, equals('duplicate')); - }); - - test('same image hash triggers reactivation', () async { - await service.processImage('cross-platform-hash-1'); - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - await service.processImage('cross-platform-hash-1'); - await Future.delayed(Duration.zero); - - expect(reactivated, isNotNull); - }); - }); - - group('ClipboardService – image processing with real temp dir', () { - test( - 'processImage with imageBytes writes .bmp then updates via background isolate', - () async { - // This test verifies the full write-temp-BMP → background PNG pipeline. - // On all platforms the temp file is in imagesDir (injected), so the - // path separator is native and no platform divergence is expected. - final pngBytes = _makeSmallPng(); - String? reactivatedPath; - service.onItemReactivated.listen( - (item) => reactivatedPath = item.content, - ); - - final result = await service.processImage( - 'integration-hash', - imageBytes: pngBytes, - ); - expect(result, isNotNull); - // Immediately after processImage the content points to the temp BMP - expect(result!.content, endsWith('.bmp')); - expect(File(result.content).existsSync(), isTrue); - - // Wait for background PNG processing - await Future.delayed(const Duration(seconds: 8)); - - if (reactivatedPath != null) { - expect(reactivatedPath, endsWith('.png')); - } - // Whether or not the background completes within the wait, no crash is OK - }, - ); - }); - - group('ClipboardService – metadata encoding cross-platform', () { - test('RTF and HTML metadata is base64-encoded correctly', () async { - final rtfBytes = [0x7B, 0x5C, 0x72, 0x74, 0x66, 0x31]; // {\rtf1 - final htmlBytes = [ - 0x3C, - 0x62, - 0x3E, - 0x68, - 0x69, - 0x3C, - 0x2F, - 0x62, - 0x3E, - ]; // hi - - final result = await service.processText( - 'rich content', - ClipboardContentType.text, - rtfBytes: rtfBytes, - htmlBytes: htmlBytes, - ); - expect(result, isNotNull); - final meta = jsonDecode(result!.metadata!) as Map; - expect(meta.containsKey('rtf'), isTrue); - expect(meta.containsKey('html'), isTrue); - - // Verify round-trip decodability - final decodedRtf = base64Decode(meta['rtf'] as String); - final decodedHtml = base64Decode(meta['html'] as String); - expect(decodedRtf, equals(rtfBytes)); - expect(decodedHtml, equals(htmlBytes)); - }); - - test('metadata is null when no rtf/html provided', () async { - final result = await service.processText( - 'no metadata', - ClipboardContentType.text, - ); - expect(result!.metadata, isNull); - }); - }); - - group('ClipboardService – paste ignore window cross-platform', () { - test( - 'notifyPasteInitiated blocks clipboard echo on all platforms', - () async { - service.pasteIgnoreWindowMs = 500; - final item = await service.processText( - 'echo', - ClipboardContentType.text, - ); - await service.notifyPasteInitiated(item!.id); - - // Attempt to re-process the same content immediately - final ignored = await service.processText( - 'echo', - ClipboardContentType.text, - ); - expect(ignored, isNull); - }, - ); - - test('clipboard is no longer ignored after window expires', () async { - service.pasteIgnoreWindowMs = 20; - final item = await service.processText( - 'temporary', - ClipboardContentType.text, - ); - await service.notifyPasteInitiated(item!.id); - - // Wait past the full 2× window - await Future.delayed(const Duration(milliseconds: 50)); - - final result = await service.processText( - 'temporary', - ClipboardContentType.text, - ); - expect(result, isNotNull); - }); - }); - - group('ClipboardService – full CRUD lifecycle cross-platform', () { - test('full lifecycle: save → pin → label → delete', () async { - // Create - final item = await service.processText( - 'lifecycle', - ClipboardContentType.text, - ); - expect(item, isNotNull); - expect(await service.getItemCount(), equals(1)); - - // Pin - await service.updatePin(item!.id, true); - var found = await repo.getById(item.id); - expect(found!.isPinned, isTrue); - - // Label + color - await service.updateLabelAndColor(item.id, 'tagged', CardColor.green); - found = await repo.getById(item.id); - expect(found!.label, equals('tagged')); - expect(found.cardColor, equals(CardColor.green)); - - // Paste count - await service.recordPaste(item.id); - found = await repo.getById(item.id); - expect(found!.pasteCount, equals(1)); - - // Delete - await service.removeItem(item.id); - expect(await repo.getById(item.id), isNull); - expect(await service.getItemCount(), equals(0)); - }); - - test( - 'clearUnpinnedHistory preserves pinned items on all platforms', - () async { - final pinned = await service.processText( - 'keep', - ClipboardContentType.text, - ); - await service.updatePin(pinned!.id, true); - - await service.processText('delete-me-1', ClipboardContentType.text); - await service.processText('delete-me-2', ClipboardContentType.text); - - final count = await service.clearUnpinnedHistory(); - expect(count, equals(2)); - expect(await service.getItemCount(), equals(1)); - - final remaining = await service.getHistoryAdvanced(limit: 10, skip: 0); - expect(remaining.first.isPinned, isTrue); - }, - ); - }); - - group('ClipboardService – unsupported image format (SVG/PDF/etc.)', () { - test( - 'temp BMP is deleted when image bytes cannot be decoded (e.g. SVG)', - () async { - // Simulate SVG bytes arriving as image clipboard content - final svgBytes = - ''.codeUnits; - const fakeHash = 'svg-hash-001'; - - await service.processImage(fakeHash, imageBytes: svgBytes); - - // Give background Isolate time to attempt decode and clean up - await Future.delayed(const Duration(milliseconds: 500)); - - // Temp .bmp must not exist — it should be cleaned up on decode failure - final tempBmp = File(p.join(imagesDir.path, '$fakeHash.bmp')); - expect(tempBmp.existsSync(), isFalse); - }, - ); - - test( - 'repository item is still saved even when image bytes cannot be decoded', - () async { - final svgBytes = ''.codeUnits; - const fakeHash = 'svg-hash-002'; - - final item = await service.processImage(fakeHash, imageBytes: svgBytes); - - expect(item, isNotNull); - expect(item!.contentHash, equals(fakeHash)); - - await Future.delayed(const Duration(milliseconds: 500)); - - // Item still present in repository - final found = await repo.getById(item.id); - expect(found, isNotNull); - }, - ); - }); - - group('ClipboardService – file size metadata on all platforms', () { - test('includes file_size for a single real file', () async { - final testFile = File(p.join(filesDir.path, 'sample.txt')) - ..writeAsStringSync('cross-platform content'); - - final result = await service.processFiles([ - testFile.path, - ], ClipboardContentType.file); - expect(result, isNotNull); - final meta = jsonDecode(result!.metadata!) as Map; - expect(meta.containsKey('file_size'), isTrue); - expect((meta['file_size'] as int) > 0, isTrue); - }); - - test('does not include file_size for non-existent single file', () async { - final missingPath = p.join(filesDir.path, 'missing_file.txt'); - final result = await service.processFiles([ - missingPath, - ], ClipboardContentType.file); - expect(result, isNotNull); - final meta = jsonDecode(result!.metadata!) as Map; - // file_size may be absent (stat fails) — just verify no crash - expect(meta['file_count'], equals(1)); - }); - }); -} - -/// Builds a minimal 1×1 PNG in pure Dart (no external files needed). -List _makeSmallPng() { - // A valid 1×1 red PNG (67 bytes, hard-coded known-good bytes). - return [ - 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, // PNG signature - 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, // IHDR chunk length + type - 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, // width=1, height=1 - 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, // bit depth=8, colour=RGB - 0xDE, 0x00, 0x00, 0x00, 0x0C, 0x49, 0x44, 0x41, // IHDR CRC + IDAT chunk - 0x54, 0x08, 0xD7, 0x63, 0xF8, 0xCF, 0xC0, 0x00, // IDAT data (1 red pixel) - 0x00, 0x00, 0x02, 0x00, 0x01, 0xE2, 0x21, 0xBC, // IDAT CRC - 0x33, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, // IEND chunk - 0x44, 0xAE, 0x42, 0x60, 0x82, // IEND CRC - ]; -} diff --git a/core/test/clipboard_service_reclassify_test.dart b/core/test/clipboard_service_reclassify_test.dart deleted file mode 100644 index 6b059603..00000000 --- a/core/test/clipboard_service_reclassify_test.dart +++ /dev/null @@ -1,174 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - late ClipboardService service; - - setUp(() { - repo = SqliteRepository.inMemory(); - service = ClipboardService(repo); - }); - - tearDown(() async { - await service.dispose(); - await repo.close(); - }); - - group('ClipboardService.reclassifyLegacyTextItems', () { - test('reclassifies legacy text item to email', () async { - // Insert a ClipboardItem already stored as plain text with email content - final item = ClipboardItem( - content: 'user@example.com', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated, isNotNull); - expect(updated!.type, equals(ClipboardContentType.email)); - }); - - test('reclassifies legacy text item to uuid', () async { - final item = ClipboardItem( - content: '550e8400-e29b-41d4-a716-446655440000', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated!.type, equals(ClipboardContentType.uuid)); - }); - - test('reclassifies legacy text item to ip', () async { - final item = ClipboardItem( - content: '192.168.1.1', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated!.type, equals(ClipboardContentType.ip)); - }); - - test('reclassifies legacy text item to color', () async { - final item = ClipboardItem( - content: '#FF5733', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated!.type, equals(ClipboardContentType.color)); - }); - - test('reclassifies legacy text item to json', () async { - final item = ClipboardItem( - content: '{"key": "value"}', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated!.type, equals(ClipboardContentType.json)); - }); - - test('does not reclassify plain text items', () async { - final item = ClipboardItem( - content: 'just some plain text here', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final unchanged = await repo.getById(item.id); - expect(unchanged!.type, equals(ClipboardContentType.text)); - }); - - test('does not touch non-text typed items', () async { - final item = ClipboardItem( - content: 'already-email@domain.com', - type: ClipboardContentType.email, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final unchanged = await repo.getById(item.id); - expect(unchanged!.type, equals(ClipboardContentType.email)); - }); - - test('processes batch of items spanning multiple pages', () async { - // Insert more than one batch (batchSize = 50) of text items - for (var i = 0; i < 55; i++) { - await repo.save( - ClipboardItem( - content: 'plain text item number $i', - type: ClipboardContentType.text, - ), - ); - } - // Add a few that should be reclassified - final emailItem = ClipboardItem( - content: 'batch@test.com', - type: ClipboardContentType.text, - ); - final ipItem = ClipboardItem( - content: '10.0.0.1', - type: ClipboardContentType.text, - ); - await repo.save(emailItem); - await repo.save(ipItem); - - await service.reclassifyLegacyTextItems(); - - final updatedEmail = await repo.getById(emailItem.id); - final updatedIp = await repo.getById(ipItem.id); - expect(updatedEmail!.type, equals(ClipboardContentType.email)); - expect(updatedIp!.type, equals(ClipboardContentType.ip)); - }); - - test('completes gracefully when repository is empty', () async { - await expectLater(service.reclassifyLegacyTextItems(), completes); - }); - - test('stops reclassifying when disposed mid-batch', () async { - for (var i = 0; i < 10; i++) { - await repo.save( - ClipboardItem( - content: 'item$i@example.com', - type: ClipboardContentType.text, - ), - ); - } - // Dispose immediately — should not throw - await service.dispose(); - await expectLater(service.reclassifyLegacyTextItems(), completes); - }); - - test('reclassifies phone number stored as text', () async { - final item = ClipboardItem( - content: '+56 9 1234 5678', - type: ClipboardContentType.text, - ); - await repo.save(item); - - await service.reclassifyLegacyTextItems(); - - final updated = await repo.getById(item.id); - expect(updated!.type, equals(ClipboardContentType.phone)); - }); - }); -} diff --git a/core/test/clipboard_service_test.dart b/core/test/clipboard_service_test.dart deleted file mode 100644 index 7e1a2de5..00000000 --- a/core/test/clipboard_service_test.dart +++ /dev/null @@ -1,932 +0,0 @@ -import 'dart:async'; -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - late ClipboardService service; - - setUp(() { - repo = SqliteRepository.inMemory(); - service = ClipboardService(repo); - }); - - tearDown(() async { - await service.dispose(); - await repo.close(); - }); - - group('ClipboardService.processText', () { - test('saves new item and emits onItemAdded', () async { - ClipboardItem? emitted; - service.onItemAdded.listen((item) => emitted = item); - - final result = await service.processText( - 'hello', - ClipboardContentType.text, - ); - await Future.delayed(Duration.zero); - - expect(result, isNotNull); - expect(result!.content, equals('hello')); - expect(emitted?.content, equals('hello')); - }); - - test('reactivates existing item and emits onItemReactivated', () async { - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - final first = await service.processText('dup', ClipboardContentType.text); - expect(first, isNotNull); - - final second = await service.processText( - 'dup', - ClipboardContentType.text, - ); - await Future.delayed(Duration.zero); - - expect(second, isNotNull); - expect(reactivated?.content, equals('dup')); - }); - - test('returns null when inside paste ignore window', () async { - service.pasteIgnoreWindowMs = 60000; - service.notifyDirectPasteInitiated('ignored'); - - final result = await service.processText( - 'ignored', - ClipboardContentType.text, - ); - expect(result, isNull); - }); - - test('direct paste suppresses the plain-text clipboard rewrite', () async { - service.pasteIgnoreWindowMs = 60000; - service.notifyDirectPasteInitiated('fresh clipboard text'); - - final result = await service.processText( - 'fresh clipboard text', - ClipboardContentType.text, - ); - - expect(result, isNull); - expect(await repo.getAll(), isEmpty); - }); - - test('saves item with source and rtf/html metadata', () async { - final result = await service.processText( - 'data', - ClipboardContentType.link, - source: 'Chrome', - rtfBytes: [72, 69, 76, 76, 79], - htmlBytes: [60, 104, 116, 109, 108, 62], - ); - expect(result!.appSource, equals('Chrome')); - expect(result.metadata, isNotNull); - expect(result.metadata, contains('rtf')); - expect(result.metadata, contains('html')); - }); - - test('saves item without metadata when no rtf/html provided', () async { - final result = await service.processText( - 'plain', - ClipboardContentType.text, - ); - expect(result!.metadata, isNull); - }); - - test('re-copying with styles promotes a plain item to rich', () async { - final plain = await service.processText( - 'same text', - ClipboardContentType.text, - ); - expect(plain!.hasRichText, isFalse); - - final rich = await service.processText( - 'same text', - ClipboardContentType.text, - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - ); - - expect(rich!.id, equals(plain.id)); - expect(rich.hasRichText, isTrue); - }); - - test('re-copying as plain keeps the stored format', () async { - final rich = await service.processText( - 'same text', - ClipboardContentType.text, - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - htmlBytes: [0x3C, 0x62, 0x3E], - ); - - final plain = await service.processText( - 'same text', - ClipboardContentType.text, - ); - - expect(plain!.id, equals(rich!.id)); - expect(plain.hasRichText, isTrue); - expect(plain.hasFormatting, isTrue); - }); - - test('an empty format payload does not clear the stored one', () async { - await service.processText( - 'same text', - ClipboardContentType.text, - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - ); - - final plain = await service.processText( - 'same text', - ClipboardContentType.text, - rtfBytes: const [], - htmlBytes: const [], - ); - - expect(plain!.hasRichText, isTrue); - }); - - test('a styled copy replaces both format keys at once', () async { - await service.processText( - 'same text', - ClipboardContentType.text, - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - ); - - final htmlOnly = await service.processText( - 'same text', - ClipboardContentType.text, - htmlBytes: [0x3C, 0x62, 0x3E], - ); - - final meta = jsonDecode(htmlOnly!.metadata!) as Map; - expect(meta.containsKey('rtf'), isFalse); - expect(meta['html'], isNotEmpty); - }); - - test('a plain re-copy preserves keys owned by other flows', () async { - final first = await service.processText( - 'media caption', - ClipboardContentType.text, - ); - await service.updateMetadata(first!.id, '{"duration":42}'); - - final second = await service.processText( - 'media caption', - ClipboardContentType.text, - ); - - expect(second!.metadata, contains('duration')); - }); - - test('metadata refresh preserves keys owned by other flows', () async { - final first = await service.processText( - 'media caption', - ClipboardContentType.text, - ); - await service.updateMetadata(first!.id, '{"duration":42}'); - - final second = await service.processText( - 'media caption', - ClipboardContentType.text, - rtfBytes: [0x7B, 0x5C, 0x72, 0x74, 0x66], - ); - - expect(second!.metadata, contains('duration')); - expect(second.hasRichText, isTrue); - }); - }); - - group('ClipboardService.processImage', () { - test('ignores an image callback immediately after direct paste', () async { - service.pasteIgnoreWindowMs = 60000; - service.notifyDirectPasteInitiated('plain clipboard text'); - - final result = await service.processImage( - 'ignored-image-hash', - imagePath: '/tmp/image.png', - ); - - expect(result, isNull); - expect(await repo.getAll(), isEmpty); - }); - - test('saves new image item by contentHash', () async { - final result = await service.processImage( - 'hash-abc', - imagePath: '/tmp/image.png', - ); - expect(result, isNotNull); - expect(result!.contentHash, equals('hash-abc')); - expect(result.type, equals(ClipboardContentType.image)); - expect(result.content, equals('/tmp/image.png')); - }); - - test('reactivates duplicate image by hash', () async { - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - await service.processImage('hash-dup'); - await service.processImage('hash-dup'); - await Future.delayed(Duration.zero); - - expect(reactivated, isNotNull); - }); - - test('enqueues thumbnail generation for external image path', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_proc_thumb_'); - final externalDir = Directory.systemTemp.createTempSync('svc_proc_ext_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - // Real PNG so the ThumbnailService can decode it. - final pixels = img.Image(width: 64, height: 64); - final externalFile = File(p.join(externalDir.path, 'photo.png')) - ..writeAsBytesSync(img.encodePng(pixels)); - - ClipboardItem? reactivated; - final sub = svc.onItemReactivated.listen((it) => reactivated = it); - - final created = await svc.processImage( - 'thumb-enq-hash', - imagePath: externalFile.path, - ); - expect(created, isNotNull); - - // Wait for the thumbnail queue to finish (single short job). - for (var i = 0; i < 40; i++) { - await Future.delayed(const Duration(milliseconds: 50)); - final stored = await repo.getById(created!.id); - if (stored?.thumbPath != null) break; - } - - final stored = await repo.getById(created!.id); - expect(stored?.thumbPath, isNotNull); - expect(File(stored!.thumbPath!).existsSync(), isTrue); - expect(reactivated?.id, equals(stored.id)); - - await sub.cancel(); - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - externalDir.deleteSync(recursive: true); - } - }); - }); - - group('ClipboardService.recordPaste', () { - test('increments pasteCount and returns updated item', () async { - final item = await service.processText( - 'paste me', - ClipboardContentType.text, - ); - expect(item, isNotNull); - - final updated = await service.recordPaste(item!.id); - - expect(updated, isNotNull); - expect(updated!.pasteCount, equals(1)); - final stored = await repo.getById(item.id); - expect(stored!.pasteCount, equals(1)); - }); - - test('returns null for unknown id', () async { - final result = await service.recordPaste('nonexistent-id'); - expect(result, isNull); - }); - }); - - group('ClipboardService.recordCopy', () { - test('bumps modifiedAt and emits onItemReactivated', () async { - final old = DateTime.utc(2020, 1, 1); - final item = ClipboardItem( - id: 'copy-me', - content: 'copy me', - type: ClipboardContentType.text, - modifiedAt: old, - ); - await repo.save(item); - - ClipboardItem? reactivated; - service.onItemReactivated.listen((it) => reactivated = it); - - final updated = await service.recordCopy(item.id); - await Future.delayed(Duration.zero); - - expect(updated, isNotNull); - expect(updated!.modifiedAt.isAfter(old), isTrue); - expect(updated.pasteCount, equals(item.pasteCount)); - expect(reactivated?.id, equals(item.id)); - }); - - test('returns null for unknown id', () async { - final result = await service.recordCopy('nonexistent-id'); - expect(result, isNull); - }); - }); - - group('ClipboardService.processFiles', () { - test('saves file list with metadata', () async { - ClipboardItem? emitted; - service.onItemAdded.listen((item) => emitted = item); - - final result = await service.processFiles( - ['C:\\docs\\file1.txt', 'C:\\docs\\file2.txt'], - ClipboardContentType.file, - source: 'explorer', - ); - await Future.delayed(Duration.zero); - - expect(result, isNotNull); - expect(result!.content, contains('file1.txt')); - expect(result.content, contains('file2.txt')); - expect(result.metadata, isNotNull); - expect(result.metadata, contains('file_count')); - expect(result.metadata, contains('"file_count":2')); - expect(result.appSource, equals('explorer')); - expect(emitted?.id, equals(result.id)); - }); - - test('returns null for empty file list', () async { - final result = await service.processFiles([], ClipboardContentType.file); - expect(result, isNull); - }); - - test('reactivates duplicate file list', () async { - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - await service.processFiles(['C:\\same.txt'], ClipboardContentType.file); - await service.processFiles(['C:\\same.txt'], ClipboardContentType.file); - await Future.delayed(Duration.zero); - - expect(reactivated, isNotNull); - }); - - test('sets is_directory true for folder type', () async { - final result = await service.processFiles([ - 'C:\\MyFolder', - ], ClipboardContentType.folder); - expect(result, isNotNull); - expect(result!.metadata, contains('"is_directory":true')); - }); - }); - - group('ClipboardService.removeItem', () { - test('deletes item from repository', () async { - final item = await service.processText('bye', ClipboardContentType.text); - await service.removeItem(item!.id); - final found = await repo.getById(item.id); - expect(found, isNull); - }); - }); - - group('ClipboardService.updatePin', () { - test('pins and unpins item', () async { - final item = await service.processText( - 'pin me', - ClipboardContentType.text, - ); - - await service.updatePin(item!.id, true); - var found = await repo.getById(item.id); - expect(found!.isPinned, isTrue); - - await service.updatePin(item.id, false); - found = await repo.getById(item.id); - expect(found!.isPinned, isFalse); - }); - - test('silently ignores unknown id', () async { - await expectLater(service.updatePin('nonexistent', true), completes); - }); - }); - - group('ClipboardService.updateLabelAndColor', () { - test('updates label and color', () async { - final item = await service.processText( - 'label', - ClipboardContentType.text, - ); - - await service.updateLabelAndColor(item!.id, 'My Label', CardColor.blue); - final found = await repo.getById(item.id); - expect(found!.label, equals('My Label')); - expect(found.cardColor, equals(CardColor.blue)); - }); - - test('silently ignores unknown id', () async { - await expectLater( - service.updateLabelAndColor('nonexistent', null, CardColor.none), - completes, - ); - }); - }); - - group('ClipboardService.getHistoryAdvanced', () { - test('returns all items when no filters are applied', () async { - await service.processText('item1', ClipboardContentType.text); - await service.processText('item2', ClipboardContentType.text); - final results = await service.getHistoryAdvanced(limit: 50, skip: 0); - expect(results.length, equals(2)); - }); - - test('filters by type', () async { - await service.processText('text item', ClipboardContentType.text); - await service.processText('link item', ClipboardContentType.link); - final results = await service.getHistoryAdvanced( - types: [ClipboardContentType.text], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.type, equals(ClipboardContentType.text)); - }); - - test('filters by color', () async { - final item = await service.processText( - 'colored', - ClipboardContentType.text, - ); - await service.updateLabelAndColor(item!.id, null, CardColor.red); - await service.processText('no color', ClipboardContentType.text); - final results = await service.getHistoryAdvanced( - colors: [CardColor.red], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.cardColor, equals(CardColor.red)); - }); - - test('filters by isPinned', () async { - final item = await service.processText( - 'pinned', - ClipboardContentType.text, - ); - await service.updatePin(item!.id, true); - await service.processText('normal', ClipboardContentType.text); - final results = await service.getHistoryAdvanced( - isPinned: true, - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.isPinned, isTrue); - }); - - test('filters by query', () async { - await service.processText('hello world', ClipboardContentType.text); - await service.processText('something else', ClipboardContentType.text); - final results = await service.getHistoryAdvanced( - query: 'hello', - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, equals('hello world')); - }); - - test('respects limit and skip', () async { - for (var i = 0; i < 5; i++) { - await service.processText( - 'item$i unique_$i', - ClipboardContentType.text, - ); - } - final page1 = await service.getHistoryAdvanced(limit: 3, skip: 0); - final page2 = await service.getHistoryAdvanced(limit: 3, skip: 3); - expect(page1.length, equals(3)); - expect(page2.length, equals(2)); - }); - }); - - group('ClipboardService.clearUnpinnedHistory', () { - test('removes all non-pinned items', () async { - final item = await service.processText( - 'to be pinned', - ClipboardContentType.text, - ); - await service.updatePin(item!.id, true); - await service.processText('to be deleted', ClipboardContentType.text); - - final deleted = await service.clearUnpinnedHistory(); - expect(deleted, equals(1)); - - final remaining = await service.getHistoryAdvanced(limit: 50, skip: 0); - expect(remaining.length, equals(1)); - expect(remaining.first.isPinned, isTrue); - }); - - test('returns 0 when nothing to delete', () async { - final count = await service.clearUnpinnedHistory(); - expect(count, equals(0)); - }); - }); - - group('ClipboardService.getItemCount', () { - test('returns correct count', () async { - expect(await service.getItemCount(), equals(0)); - await service.processText('one', ClipboardContentType.text); - expect(await service.getItemCount(), equals(1)); - await service.processText('two', ClipboardContentType.text); - expect(await service.getItemCount(), equals(2)); - }); - }); - - group('ClipboardService.walCheckpoint', () { - test('completes without error', () async { - await service.processText('checkpoint test', ClipboardContentType.text); - await expectLater(service.walCheckpoint(), completes); - }); - }); - - group('ClipboardService.updateMetadata', () { - test('updates metadata and emits onItemReactivated', () async { - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - final item = await service.processText('meta', ClipboardContentType.text); - await service.updateMetadata(item!.id, '{"key":"value"}'); - await Future.delayed(Duration.zero); - - final stored = await repo.getById(item.id); - expect(stored!.metadata, equals('{"key":"value"}')); - expect(reactivated, isNotNull); - expect(reactivated!.metadata, equals('{"key":"value"}')); - }); - - test('silently ignores unknown id', () async { - await expectLater(service.updateMetadata('nonexistent', '{}'), completes); - }); - }); - - group('ClipboardService.dispose', () { - test('closes streams after dispose', () async { - var addedDone = false; - var reactivatedDone = false; - service.onItemAdded.listen(null, onDone: () => addedDone = true); - service.onItemReactivated.listen( - null, - onDone: () => reactivatedDone = true, - ); - await service.dispose(); - await Future.delayed(Duration.zero); - expect(addedDone, isTrue); - expect(reactivatedDone, isTrue); - }); - }); - - group('ClipboardService._shouldIgnore second window', () { - test('ignores duplicate content within 2x paste window', () async { - service.pasteIgnoreWindowMs = 50; - final item = await service.processText( - 'dup-window', - ClipboardContentType.text, - ); - // Trigger notifyPasteInitiated so _lastPastedContent = 'dup-window' - await service.notifyPasteInitiated(item!.id); - - // Wait longer than 1x window but less than 2x window - await Future.delayed(const Duration(milliseconds: 65)); - - // Should be ignored because content matches and elapsed < 2x window - final result = await service.processText( - 'dup-window', - ClipboardContentType.text, - ); - expect(result, isNull); - }); - }); - - group('ClipboardService.processImage with imageBytes', () { - test('saves temp BMP when imageBytes and imagesPath provided', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_img_bmp_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - final result = await svc.processImage( - 'hash-temp-bmp', - imageBytes: [1, 2, 3, 4, 5], - ); - expect(result, isNotNull); - // Content should point to temp BMP file - expect(result!.content, contains(imagesDir.path)); - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - } - }); - - test('background processing with valid PNG updates item', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_img_png_'); - try { - // Build a small valid PNG in memory - final image = img.Image(width: 2, height: 2); - image.setPixelRgb(0, 0, 255, 0, 0); - final pngBytes = img.encodePng(image); - - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - final reactivatedCompleter = Completer(); - svc.onItemReactivated.listen((item) { - if (!reactivatedCompleter.isCompleted) { - reactivatedCompleter.complete(item); - } - }); - - final result = await svc.processImage( - 'hash-valid-png', - imageBytes: pngBytes, - ); - expect(result, isNotNull); - - // Wait for background isolate to finish processing - final updated = await reactivatedCompleter.future.timeout( - const Duration(seconds: 10), - ); - expect(updated.content, endsWith('.png')); - expect(updated.metadata, isNotNull); - expect(updated.metadata, contains('width')); - - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - } - }); - }); - - group('ClipboardService.removeItem for image', () { - test('cleans up image file when removing image item', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_rm_img_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - final imageFile = File(p.join(imagesDir.path, 'img.png')) - ..writeAsBytesSync([137, 80, 78, 71]); - final item = ClipboardItem( - content: imageFile.path, - type: ClipboardContentType.image, - contentHash: 'rm-hash', - ); - await repo.save(item); - - await svc.removeItem(item.id); - - expect(await repo.getById(item.id), isNull); - expect(imageFile.existsSync(), isFalse); - - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - } - }); - - test('refuses to delete image file outside imagesPath', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_rm_safe_'); - final externalDir = Directory.systemTemp.createTempSync('svc_rm_ext_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - // Simulates a dragged image whose content path is the user's own file - // (outside the app's images directory). Must never be deleted. - final externalFile = File(p.join(externalDir.path, 'user_photo.png')) - ..writeAsBytesSync([137, 80, 78, 71]); - final item = ClipboardItem( - content: externalFile.path, - type: ClipboardContentType.image, - contentHash: 'ext-hash', - ); - await repo.save(item); - - await svc.removeItem(item.id); - - expect(await repo.getById(item.id), isNull); - expect( - externalFile.existsSync(), - isTrue, - reason: 'external user files must never be deleted', - ); - - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - externalDir.deleteSync(recursive: true); - } - }); - - test('also deletes thumbPath file inside imagesPath', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_rm_thumb_'); - final externalDir = Directory.systemTemp.createTempSync('svc_rm_ext2_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - final externalFile = File(p.join(externalDir.path, 'photo.png')) - ..writeAsBytesSync([137, 80, 78, 71]); - final thumbFile = File(p.join(imagesDir.path, 'thumb-id_thumb.png')) - ..writeAsBytesSync([1, 2, 3]); - final item = ClipboardItem( - id: 'thumb-id', - content: externalFile.path, - type: ClipboardContentType.image, - contentHash: 'thumb-hash', - thumbPath: thumbFile.path, - ); - await repo.save(item); - - await svc.removeItem(item.id); - - expect(await repo.getById(item.id), isNull); - expect( - externalFile.existsSync(), - isTrue, - reason: 'external user file must never be deleted', - ); - expect( - thumbFile.existsSync(), - isFalse, - reason: 'app-owned thumb must be removed when item is deleted', - ); - - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - externalDir.deleteSync(recursive: true); - } - }); - - test('refuses to delete thumbPath outside imagesPath', () async { - final imagesDir = Directory.systemTemp.createTempSync('svc_rm_thumb2_'); - final externalDir = Directory.systemTemp.createTempSync('svc_rm_ext3_'); - try { - final svc = ClipboardService(repo, imagesPath: imagesDir.path); - final externalThumb = File(p.join(externalDir.path, 'evil_thumb.png')) - ..writeAsBytesSync([1, 2, 3]); - final item = ClipboardItem( - id: 'evil', - content: '', - type: ClipboardContentType.image, - contentHash: 'evil-hash', - thumbPath: externalThumb.path, - ); - await repo.save(item); - - await svc.removeItem(item.id); - - expect( - externalThumb.existsSync(), - isTrue, - reason: 'thumbPath outside imagesPath must be ignored', - ); - - await svc.dispose(); - } finally { - imagesDir.deleteSync(recursive: true); - externalDir.deleteSync(recursive: true); - } - }); - }); - - group('ClipboardService.processFiles single file with size', () { - test('includes file_size in metadata for single existing file', () async { - final dir = Directory.systemTemp.createTempSync('svc_files_'); - try { - final file = File(p.join(dir.path, 'test.txt')) - ..writeAsStringSync('hello world'); - final result = await service.processFiles([ - file.path, - ], ClipboardContentType.file); - expect(result, isNotNull); - expect(result!.metadata, contains('file_size')); - } finally { - dir.deleteSync(recursive: true); - } - }); - }); - - group('ClipboardService thumbnail gate methods with imagesPath', () { - test('requestThumbnailIfStale is a no-op when called', () async { - final dir = Directory.systemTemp.createTempSync('svc_gate_stale_'); - try { - final svc = ClipboardService(repo, imagesPath: dir.path); - final item = await svc.processImage( - 'gate-hash-stale', - imagePath: '/some/external.png', - ); - expect(item, isNotNull); - // Must not throw; exercises the _thumbQueue?.enqueueIfStale branch. - expect(() => svc.requestThumbnailIfStale(item!), returnsNormally); - await svc.dispose(); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test('requestThumbnailRefresh enqueues a manual refresh', () async { - final dir = Directory.systemTemp.createTempSync('svc_gate_refresh_'); - try { - final svc = ClipboardService(repo, imagesPath: dir.path); - final item = await svc.processImage( - 'gate-hash-refresh', - imagePath: '/some/external.png', - ); - expect(item, isNotNull); - // Must not throw; exercises the _thumbQueue?.enqueue branch. - expect(() => svc.requestThumbnailRefresh(item!), returnsNormally); - await svc.dispose(); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test( - 'updateThumbnailTypeGate assigns to _thumbnailService.isTypeEnabled', - () async { - final dir = Directory.systemTemp.createTempSync('svc_gate_type_'); - try { - final svc = ClipboardService(repo, imagesPath: dir.path); - // Setting a gate must not throw. - svc.updateThumbnailTypeGate( - (type) => type == ClipboardContentType.image, - ); - svc.updateThumbnailTypeGate(null); - await svc.dispose(); - } finally { - dir.deleteSync(recursive: true); - } - }, - ); - - test('updateMaxImageBytesGate assigns the new getter', () async { - // Works with or without imagesPath — imageQueue is always created. - service.updateMaxImageBytesGate(() => 5 * 1024 * 1024); - service.updateMaxImageBytesGate(null); - // No error means the branch is exercised. - }); - }); - - group('ClipboardService.processText legacy reclassification', () { - test( - 'upgrades existing text item to resolved type on duplicate submission', - () async { - // Save an email address as plain text (simulates an item captured before - // the TextClassifier gained email classification). - const email = 'legacy.user@example.com'; - final legacy = ClipboardItem( - content: email, - type: ClipboardContentType.text, // stored with wrong type - ); - await repo.save(legacy); - - ClipboardItem? reactivated; - service.onItemReactivated.listen((item) => reactivated = item); - - // Submit the same content; TextClassifier now classifies it as 'email'. - // findByContentAndType('email') returns null, so the legacy path runs. - final result = await service.processText( - email, - ClipboardContentType.text, - ); - await Future.delayed(Duration.zero); - - expect(result, isNotNull); - expect(result!.type, equals(ClipboardContentType.email)); - expect(result.id, equals(legacy.id)); - expect(reactivated?.id, equals(legacy.id)); - expect(reactivated?.type, equals(ClipboardContentType.email)); - }, - ); - }); - - group('ClipboardService.processImage BMP write failure', () { - test( - 'falls back gracefully when temp BMP cannot be written', - () async { - final dir = Directory.systemTemp.createTempSync('svc_bmp_fail_'); - try { - // Make the images directory read-only so File.writeAsBytes throws. - await Process.run('chmod', ['444', dir.path]); - - final svc = ClipboardService(repo, imagesPath: dir.path); - // Should not throw; the catch block logs a warning and saves anyway. - final result = await svc.processImage( - 'bmp-fail-hash', - imageBytes: [1, 2, 3, 4], - ); - expect(result, isNotNull); - // Item is saved even though the BMP write failed; content is empty. - expect(result!.type, equals(ClipboardContentType.image)); - - await svc.dispose(); - } finally { - await Process.run('chmod', ['755', dir.path]); - dir.deleteSync(recursive: true); - } - }, - skip: Platform.isWindows - ? 'Requires POSIX directory permissions (chmod)' - : false, - ); - }); -} diff --git a/core/test/crash_logger_test.dart b/core/test/crash_logger_test.dart deleted file mode 100644 index 7c72a430..00000000 --- a/core/test/crash_logger_test.dart +++ /dev/null @@ -1,232 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - - setUp(() { - tempDir = Directory.systemTemp.createTempSync('crash_logger_test_'); - CrashLogger.initialize(tempDir.path); - }); - - tearDown(() { - CrashLogger.initialize(''); - tempDir.deleteSync(recursive: true); - }); - - group('CrashLogger.initialize', () { - test('sets filePath after initialize', () { - expect(CrashLogger.filePath, equals(p.join(tempDir.path, 'crash.log'))); - }); - - test('creates the base directory if it does not exist', () async { - final sub = Directory(p.join(tempDir.path, 'newdir')); - expect(sub.existsSync(), isFalse); - CrashLogger.initialize(sub.path); - expect(sub.existsSync(), isTrue); - }); - - test('does not throw on invalid path', () { - expect(() => CrashLogger.initialize('\x00invalid\x00'), returnsNormally); - }); - }); - - group('CrashLogger.report', () { - test('creates crash.log on first report', () { - final path = p.join(tempDir.path, 'crash.log'); - expect(File(path).existsSync(), isFalse); - CrashLogger.report(Exception('boom'), null); - expect(File(path).existsSync(), isTrue); - }); - - test('written content contains timestamp marker', () { - CrashLogger.report(Exception('test'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('====')); - }); - - test('written content contains platform name', () { - CrashLogger.report(Exception('test'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('Platform:')); - }); - - test('written content contains Dart version', () { - CrashLogger.report(Exception('test'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('Dart:')); - }); - - test('written content includes the error message', () { - CrashLogger.report(Exception('specific_error_XYZ'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('specific_error_XYZ')); - }); - - test('written content includes context when provided', () { - CrashLogger.report(Exception('e'), null, context: 'myContext'); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('myContext')); - }); - - test('written content omits context line when context is empty', () { - CrashLogger.report(Exception('e'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, isNot(contains('Context:'))); - }); - - test('written content includes stack trace when provided', () { - final stack = StackTrace.fromString('frame at crash_logger_test.dart:1'); - CrashLogger.report(Exception('e'), stack); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('Stack:')); - expect(content, contains('crash_logger_test.dart')); - }); - - test('multiple reports are appended', () { - CrashLogger.report(Exception('first'), null); - CrashLogger.report(Exception('second'), null); - final content = File( - p.join(tempDir.path, 'crash.log'), - ).readAsStringSync(); - expect(content, contains('first')); - expect(content, contains('second')); - }); - - test('overridePath writes to custom path', () { - final custom = p.join(tempDir.path, 'custom.log'); - CrashLogger.report(Exception('override'), null, overridePath: custom); - expect(File(custom).existsSync(), isTrue); - final content = File(custom).readAsStringSync(); - expect(content, contains('override')); - expect(File(p.join(tempDir.path, 'crash.log')).existsSync(), isFalse); - }); - - test('truncates file when it exceeds max size', () { - final path = p.join(tempDir.path, 'crash.log'); - final filler = 'x' * (512 * 1024 + 1); - File(path).writeAsStringSync(filler); - CrashLogger.report(Exception('after_truncate'), null); - final content = File(path).readAsStringSync(); - expect(content, isNot(contains('x' * 100))); - expect(content, contains('after_truncate')); - }); - - test( - 'does not throw when filePath is null and bootstrap path unavailable', - () { - CrashLogger.initialize(''); - expect( - () => CrashLogger.report(Exception('e'), null, overridePath: null), - returnsNormally, - ); - }, - ); - }); - - group('CrashLogger.redact — HOME substitution', () { - test('replaces USERPROFILE/HOME value with ', () { - final home = - Platform.environment['USERPROFILE'] ?? - Platform.environment['HOME'] ?? - ''; - if (home.isEmpty) return; - final input = 'path is $home\\something'; - expect(CrashLogger.redact(input), isNot(contains(home))); - expect(CrashLogger.redact(input), contains('')); - }); - - test('does not modify string with no sensitive data', () { - expect(CrashLogger.redact('hello world'), equals('hello world')); - }); - }); - - group('CrashLogger.redact — username substitution', () { - final username = - Platform.environment['USERNAME'] ?? Platform.environment['USER'] ?? ''; - - test('replaces /home/ on posix-style paths', () { - if (username.isEmpty || username.length <= 1) return; - final input = '/home/$username/config/file.db'; - expect(CrashLogger.redact(input), isNot(contains('/home/$username'))); - }); - - test('replaces /Users/ on macOS-style paths', () { - if (username.isEmpty || username.length <= 1) return; - final input = '/Users/$username/Library/file.db'; - expect(CrashLogger.redact(input), isNot(contains('/Users/$username'))); - }); - - test('replaces \\Users\\ on Windows-style paths', () { - if (username.isEmpty || username.length <= 1) return; - final input = 'C:\\Users\\$username\\AppData\\file.db'; - expect(CrashLogger.redact(input), isNot(contains('\\$username\\'))); - }); - - test('does not crash on empty string', () { - expect(() => CrashLogger.redact(''), returnsNormally); - expect(CrashLogger.redact(''), equals('')); - }); - }); - - group('CrashLogger.redact — email', () { - test('replaces plain email address', () { - final result = CrashLogger.redact('contact user@example.com for help'); - expect(result, contains('')); - expect(result, isNot(contains('user@example.com'))); - }); - - test('replaces email in a stack trace line', () { - const line = 'Exception: auth failed for admin@corp.io at line 42'; - final result = CrashLogger.redact(line); - expect(result, contains('')); - expect(result, isNot(contains('admin@corp.io'))); - }); - - test('replaces multiple emails in one string', () { - const input = 'a@a.com and b@b.org both failed'; - final result = CrashLogger.redact(input); - expect(result, isNot(contains('@'))); - }); - - test('does not alter strings without an @', () { - const input = 'no email here, just text'; - expect(CrashLogger.redact(input), equals(input)); - }); - - test('does not treat non-email @ as email', () { - const input = '@handle is not an email'; - expect(CrashLogger.redact(input), equals(input)); - }); - }); - - group('CrashLogger.redact — no false positives', () { - test('preserves normal log lines', () { - const line = '[12:00:01.123] [INFO] Bootstrap: CopyPaste 2.0 starting'; - expect(CrashLogger.redact(line), equals(line)); - }); - - test('preserves error codes and hex addresses', () { - const line = 'Error 0x80070005 at kernel32.dll+0x1234'; - expect(CrashLogger.redact(line), equals(line)); - }); - }); -} diff --git a/core/test/image_processing_queue_test.dart b/core/test/image_processing_queue_test.dart deleted file mode 100644 index 4fddd250..00000000 --- a/core/test/image_processing_queue_test.dart +++ /dev/null @@ -1,250 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:core/models/card_color.dart'; -import 'package:core/models/clipboard_content_type.dart'; -import 'package:core/models/clipboard_item.dart'; -import 'package:core/repository/i_clipboard_repository.dart'; -import 'package:core/services/image_processing_queue.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -class _RecordingRepo implements IClipboardRepository { - final updates = []; - - @override - Future update(ClipboardItem item) async { - updates.add(item); - } - - // Unused in these tests. - @override - Future save(ClipboardItem item) async {} - @override - Future getById(String id) async => null; - @override - Future getLatest() async => null; - @override - Future findByContentAndType( - String content, - ClipboardContentType type, - ) async => null; - @override - Future findByContentHash(String contentHash) async => null; - @override - Future> getAll() async => const []; - @override - Future delete(String id) async {} - @override - Future clearOldItems(int days, {bool excludePinned = true}) async => 0; - @override - Future deleteAllUnpinned() async => 0; - @override - Future count() async => 0; - @override - Future> search( - String query, { - int limit = 50, - int skip = 0, - }) async => const []; - @override - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }) async => const []; - @override - Future> getImagePaths() async => const []; - @override - Future> getThumbPaths() async => const []; - @override - Future walCheckpoint() async {} - @override - Future close() async {} -} - -Uint8List _smallPng() { - final image = img.Image(width: 32, height: 32); - for (var x = 0; x < 32; x++) { - for (var y = 0; y < 32; y++) { - image.setPixelRgb(x, y, x * 8, y * 8, 64); - } - } - return Uint8List.fromList(img.encodePng(image)); -} - -ClipboardItem _item(String id) => - ClipboardItem(id: id, content: '$id.bmp', type: ClipboardContentType.image); - -void main() { - late Directory tempDir; - late _RecordingRepo repo; - late ImageProcessingQueue queue; - - setUp(() { - tempDir = Directory.systemTemp.createTempSync('img_queue_test_'); - repo = _RecordingRepo(); - queue = ImageProcessingQueue(repository: repo); - }); - - tearDown(() async { - await queue.dispose(); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - group('ImageProcessingQueue.getMaxImageBytes (PR #10)', () { - test('drops job when input exceeds cap', () async { - final bytes = _smallPng(); - queue.getMaxImageBytes = () => bytes.length - 1; // strict cap - - queue.enqueue( - item: _item('drop-me'), - imageBytes: bytes, - imagesPath: tempDir.path, - ); - - // Give the isolate time to (not) run. - await Future.delayed(const Duration(milliseconds: 200)); - expect( - repo.updates, - isEmpty, - reason: 'queue must skip oversized buffers without invoking the repo', - ); - }); - - test('processes job when input is under cap', () async { - final bytes = _smallPng(); - queue.getMaxImageBytes = () => bytes.length + 1024; - - queue.enqueue( - item: _item('keep-me'), - imageBytes: bytes, - imagesPath: tempDir.path, - ); - - // The isolate writes a real PNG; wait for it to complete. - await Future.delayed(const Duration(seconds: 3)); - expect(repo.updates, isNotEmpty); - final pngPath = p.join(tempDir.path, 'keep-me.png'); - expect(File(pngPath).existsSync(), isTrue); - }); - - test('cap of 0 disables the gate (bytes flow through)', () async { - final bytes = _smallPng(); - queue.getMaxImageBytes = () => 0; - - queue.enqueue( - item: _item('zero-cap'), - imageBytes: bytes, - imagesPath: tempDir.path, - ); - - await Future.delayed(const Duration(seconds: 3)); - expect(repo.updates, isNotEmpty); - }); - }); - - group('ImageProcessingQueue depth warning', () { - test('logs warn when more than 10 items are pending', () async { - // Enqueue 12 items synchronously — first starts asynchronously while - // items 2-12 accumulate. When item 12 is added, _queue.length > 10 - // triggers AppLogger.warn (line 81). - for (var i = 0; i < 12; i++) { - queue.enqueue( - item: _item('depth-warn-$i'), - imageBytes: _smallPng(), - imagesPath: tempDir.path, - ); - } - // Just verify no exception was thrown and items were accepted. - await Future.delayed(const Duration(seconds: 4)); - expect(repo.updates.length, greaterThanOrEqualTo(12)); - }); - }); - - group('ImageProcessingQueue timeout', () { - test('TimeoutException is handled and no update is emitted', () async { - final slowRepo = _RecordingRepo(); - final slowQueue = ImageProcessingQueue( - repository: slowRepo, - jobTimeout: const Duration(milliseconds: 100), - ); - - // Pass valid PNG bytes but a non-existent imagesPath. - // ImageProcessor.processSync decodes OK, then throws FileSystemException - // on File.writeAsBytesSync — the isolate exits without sending a result. - // resultCompleter never completes → timeout fires after 100ms. - slowQueue.enqueue( - item: _item('slow'), - imageBytes: _smallPng(), - imagesPath: '/nonexistent_copypaste_timeout_test_path', - ); - - // Wait enough for the 100ms timeout to fire. - await Future.delayed(const Duration(milliseconds: 500)); - // Timeout fired → no update recorded for the item. - expect(slowRepo.updates.where((u) => u.id == 'slow'), isEmpty); - }); - }); - - group('ImageProcessingQueue deleteOwned', () { - late Directory dir; - - setUp(() => dir = Directory.systemTemp.createTempSync('img_delete_')); - tearDown(() => dir.deleteSync(recursive: true)); - - test('retries a locked file and gives up without throwing', () async { - final target = File(p.join(dir.path, 'locked.bmp')) - ..writeAsBytesSync([1]); - var attempts = 0; - - await ImageProcessingQueue.deleteOwned( - target.path, - dir.path, - delete: (_) { - attempts++; - throw const FileSystemException('held by another process'); - }, - ); - - expect(attempts, 3); - expect(target.existsSync(), isTrue); - }); - - test('succeeds when a later attempt gets the handle', () async { - final target = File(p.join(dir.path, 'transient.bmp')) - ..writeAsBytesSync([1]); - var attempts = 0; - - await ImageProcessingQueue.deleteOwned( - target.path, - dir.path, - delete: (file) { - attempts++; - if (attempts == 1) { - throw const FileSystemException('held by another process'); - } - file.deleteSync(); - }, - ); - - expect(attempts, 2); - expect(target.existsSync(), isFalse); - }); - - test('refuses paths outside the images directory', () async { - var called = false; - await ImageProcessingQueue.deleteOwned( - p.join(dir.parent.path, 'outside.bmp'), - dir.path, - delete: (_) => called = true, - ); - - expect(called, isFalse); - }); - }); -} diff --git a/core/test/image_processor_test.dart b/core/test/image_processor_test.dart deleted file mode 100644 index 515ad263..00000000 --- a/core/test/image_processor_test.dart +++ /dev/null @@ -1,258 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; - -import 'package:core/services/image_processor.dart'; - -void main() { - late Directory tempDir; - - setUp(() { - tempDir = Directory.systemTemp.createTempSync('img_proc_test_'); - }); - - tearDown(() => tempDir.deleteSync(recursive: true)); - - Uint8List makeTestPng({int width = 4, int height = 4}) { - final image = img.Image(width: width, height: height); - for (var x = 0; x < width; x++) { - for (var y = 0; y < height; y++) { - image.setPixelRgb(x, y, 255, 0, 0); - } - } - return Uint8List.fromList(img.encodePng(image)); - } - - group('ImageProcessResult', () { - test('stores all properties correctly', () { - const result = ImageProcessResult( - imagePath: '/tmp/test.png', - width: 1920, - height: 1080, - fileSize: 98765, - ); - expect(result.imagePath, equals('/tmp/test.png')); - expect(result.width, equals(1920)); - expect(result.height, equals(1080)); - expect(result.fileSize, equals(98765)); - }); - }); - - group('ImageProcessor.processAndSave', () { - test('returns result with correct dimensions for valid PNG', () async { - final pngBytes = makeTestPng(width: 4, height: 4); - - final result = await ImageProcessor.processAndSave( - imageBytes: pngBytes, - id: 'test-id', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - expect(result!.width, equals(4)); - expect(result.height, equals(4)); - expect(result.fileSize, greaterThan(0)); - }); - - test('saves PNG file to imagesDir', () async { - final pngBytes = makeTestPng(width: 2, height: 2); - - final result = await ImageProcessor.processAndSave( - imageBytes: pngBytes, - id: 'saved-image', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - expect(File(result!.imagePath).existsSync(), isTrue); - expect(result.imagePath, endsWith('saved-image.png')); - }); - - test('saved file is valid PNG', () async { - final pngBytes = makeTestPng(width: 3, height: 3); - - final result = await ImageProcessor.processAndSave( - imageBytes: pngBytes, - id: 'valid-png', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - final savedBytes = File(result!.imagePath).readAsBytesSync(); - expect(savedBytes.length, greaterThan(0)); - // PNG files start with PNG magic bytes - expect(savedBytes[0], equals(0x89)); - expect(savedBytes[1], equals(0x50)); // P - expect(savedBytes[2], equals(0x4E)); // N - expect(savedBytes[3], equals(0x47)); // G - }); - - test('returns null for invalid image bytes', () async { - final result = await ImageProcessor.processAndSave( - imageBytes: Uint8List.fromList([1, 2, 3, 4, 5]), - id: 'bad-image', - imagesDir: tempDir.path, - ); - - expect(result, isNull); - }); - - test('returns null for empty bytes', () async { - final result = await ImageProcessor.processAndSave( - imageBytes: Uint8List(0), - id: 'empty-image', - imagesDir: tempDir.path, - ); - - expect(result, isNull); - }); - - test('imagePath contains the provided id', () async { - final pngBytes = makeTestPng(); - - final result = await ImageProcessor.processAndSave( - imageBytes: pngBytes, - id: 'my-custom-id', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - expect(result!.imagePath, contains('my-custom-id')); - }); - - test('fileSize matches actual saved file size', () async { - final pngBytes = makeTestPng(width: 8, height: 8); - - final result = await ImageProcessor.processAndSave( - imageBytes: pngBytes, - id: 'size-check', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - final savedSize = File(result!.imagePath).lengthSync(); - expect(result.fileSize, equals(savedSize)); - }); - }); - - group('alpha normalization', () { - test('all-transparent RGBA8 pixels are opaquified with RGB preserved', () { - final src = img.Image(width: 4, height: 4, numChannels: 4); - for (final px in src) { - px.r = 100; - px.g = 150; - px.b = 200; - px.a = 0; - } - final inputBytes = Uint8List.fromList(img.encodePng(src)); - - final result = ImageProcessor.processSync( - imageBytes: inputBytes, - id: 'all-transparent', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - final decoded = img.decodeImage( - File(result!.imagePath).readAsBytesSync(), - ); - expect(decoded, isNotNull); - for (final px in decoded!) { - expect(px.a, equals(255)); - expect(px.r, equals(100)); - expect(px.g, equals(150)); - expect(px.b, equals(200)); - } - }); - - test('partial-transparency RGBA8 alpha distribution is preserved', () { - final src = img.Image(width: 4, height: 4, numChannels: 4); - var i = 0; - for (final px in src) { - px.r = 80; - px.g = 80; - px.b = 80; - px.a = switch (i % 3) { - 0 => 0, - 1 => 128, - _ => 255, - }; - i++; - } - final inputBytes = Uint8List.fromList(img.encodePng(src)); - - final result = ImageProcessor.processSync( - imageBytes: inputBytes, - id: 'partial-transparent', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - final decoded = img.decodeImage( - File(result!.imagePath).readAsBytesSync(), - ); - expect(decoded, isNotNull); - final alphas = decoded!.map((px) => px.a).toList(); - expect(alphas.where((a) => a == 0).length, greaterThan(0)); - expect(alphas.where((a) => a == 128).length, greaterThan(0)); - expect(alphas.where((a) => a == 255).length, greaterThan(0)); - }); - - test( - 'all-transparent RGBA16 alpha is not mutated (bitsPerChannel guard)', - () { - final src = img.Image( - width: 4, - height: 4, - numChannels: 4, - format: img.Format.uint16, - ); - for (final px in src) { - px.r = 1000; - px.g = 2000; - px.b = 3000; - px.a = 0; - } - final inputBytes = Uint8List.fromList(img.encodePng(src)); - - final result = ImageProcessor.processSync( - imageBytes: inputBytes, - id: 'rgba16-transparent', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - final decoded = img.decodeImage( - File(result!.imagePath).readAsBytesSync(), - ); - expect(decoded, isNotNull); - for (final px in decoded!) { - expect(px.a, equals(0)); - } - }, - ); - - test('RGB8 (no alpha channel) round-trips with correct dimensions', () { - final src = img.Image(width: 4, height: 4); - for (final px in src) { - px.r = 10; - px.g = 20; - px.b = 30; - } - final inputBytes = Uint8List.fromList(img.encodePng(src)); - - final result = ImageProcessor.processSync( - imageBytes: inputBytes, - id: 'rgb-no-alpha', - imagesDir: tempDir.path, - ); - - expect(result, isNotNull); - expect(result!.width, equals(4)); - expect(result.height, equals(4)); - expect(File(result.imagePath).existsSync(), isTrue); - }); - }); -} diff --git a/core/test/native_thumbnail_provider_test.dart b/core/test/native_thumbnail_provider_test.dart deleted file mode 100644 index f67c33c7..00000000 --- a/core/test/native_thumbnail_provider_test.dart +++ /dev/null @@ -1,163 +0,0 @@ -import 'dart:async'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:core/core.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -/// Test stub: returns whatever bytes the test sets, records each call. -class _StubProvider implements NativeThumbnailProvider { - Uint8List? bytes; - bool throwIt = false; - Duration? delay; - final List<({String path, int sizePx})> calls = []; - - @override - Future request(String path, {int sizePx = 256}) async { - calls.add((path: path, sizePx: sizePx)); - if (delay != null) await Future.delayed(delay!); - if (throwIt) throw StateError('boom'); - return bytes; - } -} - -Uint8List _validPng() { - final image = img.Image(width: 4, height: 4); - return Uint8List.fromList(img.encodePng(image)); -} - -Future _waitForThumb( - SqliteRepository repo, - String id, { - Duration timeout = const Duration(seconds: 3), -}) async { - final deadline = DateTime.now().add(timeout); - while (DateTime.now().isBefore(deadline)) { - final item = await repo.getById(id); - if (item?.thumbPath != null) return item!; - await Future.delayed(const Duration(milliseconds: 25)); - } - throw TimeoutException('thumbPath was never set for $id'); -} - -void main() { - group('NoopNativeThumbnailProvider', () { - test('always returns null', () async { - const provider = NoopNativeThumbnailProvider(); - final result = await provider.request('whatever', sizePx: 256); - expect(result, isNull); - }); - }); - - group('ClipboardService with NativeThumbnailProvider', () { - late SqliteRepository repo; - late Directory tmp; - late String imagesPath; - - setUp(() async { - repo = SqliteRepository.inMemory(); - tmp = await Directory.systemTemp.createTemp('cp_native_thumb_'); - imagesPath = p.join(tmp.path, 'images'); - await Directory(imagesPath).create(recursive: true); - }); - - tearDown(() async { - await repo.close(); - if (tmp.existsSync()) await tmp.delete(recursive: true); - }); - - test('writes native bytes as _thumb.png for video items', () async { - final stub = _StubProvider()..bytes = _validPng(); - final service = ClipboardService( - repo, - imagesPath: imagesPath, - nativeThumbnailProvider: stub, - ); - addTearDown(service.dispose); - - // External video file (path must exist + be outside imagesPath). - final videoPath = p.join(tmp.path, 'sample.mp4'); - await File(videoPath).writeAsBytes([0, 1, 2, 3, 4, 5]); - - final item = await service.processFiles([ - videoPath, - ], ClipboardContentType.video); - expect(item, isNotNull); - - final updated = await _waitForThumb(repo, item!.id); - expect(updated.thumbPath, isNotNull); - expect(File(updated.thumbPath!).existsSync(), isTrue); - expect(p.dirname(updated.thumbPath!), equals(imagesPath)); - expect(stub.calls, hasLength(1)); - expect(stub.calls.single.path, equals(videoPath)); - }); - - test('does not enqueue when nativeProvider is absent (audio)', () async { - final service = ClipboardService(repo, imagesPath: imagesPath); - addTearDown(service.dispose); - - final audioPath = p.join(tmp.path, 'jingle.mp3'); - await File(audioPath).writeAsBytes([0, 1, 2]); - - final item = await service.processFiles([ - audioPath, - ], ClipboardContentType.audio); - expect(item, isNotNull); - - // Give the queue a moment in case it would have run. - await Future.delayed(const Duration(milliseconds: 200)); - final fetched = await repo.getById(item!.id); - expect(fetched?.thumbPath, isNull); - }); - - test( - 'falls back to Dart pipeline when native returns null on image', - () async { - final stub = _StubProvider()..bytes = null; - final service = ClipboardService( - repo, - imagesPath: imagesPath, - nativeThumbnailProvider: stub, - ); - addTearDown(service.dispose); - - final imagePath = p.join(tmp.path, 'pic.png'); - await File(imagePath).writeAsBytes(_validPng()); - - final item = await service.processFiles([ - imagePath, - ], ClipboardContentType.image); - expect(item, isNotNull); - - final updated = await _waitForThumb(repo, item!.id); - expect(updated.thumbPath, isNotNull); - expect(File(updated.thumbPath!).existsSync(), isTrue); - expect(stub.calls, hasLength(1)); - }, - ); - - test('swallows native provider errors and falls back', () async { - final stub = _StubProvider()..throwIt = true; - final service = ClipboardService( - repo, - imagesPath: imagesPath, - nativeThumbnailProvider: stub, - ); - addTearDown(service.dispose); - - final imagePath = p.join(tmp.path, 'pic2.png'); - await File(imagePath).writeAsBytes(_validPng()); - - final item = await service.processFiles([ - imagePath, - ], ClipboardContentType.image); - expect(item, isNotNull); - - final updated = await _waitForThumb(repo, item!.id); - expect(updated.thumbPath, isNotNull); - expect(stub.calls, hasLength(1)); - }); - }); -} diff --git a/core/test/repository_search_integration_test.dart b/core/test/repository_search_integration_test.dart deleted file mode 100644 index 56f3ed58..00000000 --- a/core/test/repository_search_integration_test.dart +++ /dev/null @@ -1,393 +0,0 @@ -/// Cross-platform repository search integration tests. -/// Verifies that FTS5, LIKE fallback, and Unicode normalization work correctly -/// across Windows and macOS — all using the in-memory SQLite instance. -library; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - - setUp(() { - repo = SqliteRepository.inMemory(); - }); - - tearDown(() => repo.close()); - - group('Repository search – FTS5 path', () { - test('finds item by exact word', () async { - await repo.save( - ClipboardItem( - content: 'flutter desktop app', - type: ClipboardContentType.text, - ), - ); - await repo.save( - ClipboardItem( - content: 'mobile development', - type: ClipboardContentType.text, - ), - ); - - final results = await repo.searchAdvanced( - query: 'flutter', - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, contains('flutter')); - }); - - test('finds item by prefix (FTS5 prefix query)', () async { - await repo.save( - ClipboardItem( - content: 'clipboard manager', - type: ClipboardContentType.text, - ), - ); - await repo.save( - ClipboardItem( - content: 'clipboard history', - type: ClipboardContentType.text, - ), - ); - await repo.save( - ClipboardItem( - content: 'unrelated content', - type: ClipboardContentType.text, - ), - ); - - final results = await repo.searchAdvanced( - query: 'clipboard', - limit: 50, - skip: 0, - ); - expect(results.length, equals(2)); - }); - - test('search is case-insensitive', () async { - await repo.save( - ClipboardItem(content: 'Hello World', type: ClipboardContentType.text), - ); - - final lower = await repo.searchAdvanced( - query: 'hello', - limit: 50, - skip: 0, - ); - final upper = await repo.searchAdvanced( - query: 'HELLO', - limit: 50, - skip: 0, - ); - expect(lower.length, equals(1)); - expect(upper.length, equals(1)); - }); - - test('returns empty when no match', () async { - await repo.save( - ClipboardItem(content: 'some content', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced( - query: 'zxqvnomatch', - limit: 50, - skip: 0, - ); - expect(results, isEmpty); - }); - }); - - group('Repository search – LIKE fallback path (symbol queries)', () { - test('dot query matches file extensions', () async { - await repo.save( - ClipboardItem( - content: '/home/user/document.pdf', - type: ClipboardContentType.file, - ), - ); - await repo.save( - ClipboardItem( - content: '/home/user/image.jpg', - type: ClipboardContentType.file, - ), - ); - await repo.save( - ClipboardItem(content: 'plain text', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced( - query: '.pdf', - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, contains('.pdf')); - }); - - test('at-sign query finds email addresses', () async { - await repo.save( - ClipboardItem( - content: 'user@gmail.com', - type: ClipboardContentType.email, - ), - ); - await repo.save( - ClipboardItem( - content: 'admin@company.io', - type: ClipboardContentType.email, - ), - ); - await repo.save( - ClipboardItem( - content: 'no email here', - type: ClipboardContentType.text, - ), - ); - - final results = await repo.searchAdvanced(query: '@', limit: 50, skip: 0); - expect(results.length, equals(2)); - for (final item in results) { - expect(item.content, contains('@')); - } - }); - - test('hyphen query matches UUIDs and phone numbers', () async { - await repo.save( - ClipboardItem( - content: '550e8400-e29b-41d4-a716-446655440000', - type: ClipboardContentType.uuid, - ), - ); - await repo.save( - ClipboardItem( - content: '+1-800-555-0100', - type: ClipboardContentType.phone, - ), - ); - await repo.save( - ClipboardItem(content: 'no hyphens', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced(query: '-', limit: 50, skip: 0); - expect(results.length, greaterThanOrEqualTo(2)); - }); - - test('symbol query paginates correctly', () async { - for (var i = 0; i < 7; i++) { - await repo.save( - ClipboardItem( - content: 'file$i@example.com', - type: ClipboardContentType.email, - ), - ); - } - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem(content: 'no-at-$i', type: ClipboardContentType.text), - ); - } - - final page1 = await repo.searchAdvanced(query: '@', limit: 4, skip: 0); - final page2 = await repo.searchAdvanced(query: '@', limit: 4, skip: 4); - - expect(page1.length, equals(4)); - expect(page2.length, equals(3)); - for (final item in [...page1, ...page2]) { - expect(item.content, contains('@')); - } - }); - }); - - group('Repository search – combined filters', () { - test('query + type filter returns precise results', () async { - await repo.save( - ClipboardItem( - content: 'python script', - type: ClipboardContentType.text, - ), - ); - await repo.save( - ClipboardItem(content: 'python link', type: ClipboardContentType.link), - ); - await repo.save( - ClipboardItem(content: 'ruby script', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced( - query: 'python', - types: [ClipboardContentType.text], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, equals('python script')); - }); - - test('query + color filter', () async { - final colored = ClipboardItem( - content: 'important note', - type: ClipboardContentType.text, - cardColor: CardColor.red, - ); - final plain = ClipboardItem( - content: 'important update', - type: ClipboardContentType.text, - ); - await repo.save(colored); - await repo.save(plain); - - final results = await repo.searchAdvanced( - query: 'important', - colors: [CardColor.red], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.id, equals(colored.id)); - }); - - test('pinned filter + query', () async { - final pinnedItem = ClipboardItem( - content: 'pinned secret', - type: ClipboardContentType.text, - isPinned: true, - ); - final normalItem = ClipboardItem( - content: 'normal secret', - type: ClipboardContentType.text, - isPinned: false, - ); - await repo.save(pinnedItem); - await repo.save(normalItem); - - final results = await repo.searchAdvanced( - query: 'secret', - isPinned: true, - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.isPinned, isTrue); - }); - - test('multiple type filter returns all matching types', () async { - await repo.save( - ClipboardItem( - content: 'my@email.com', - type: ClipboardContentType.email, - ), - ); - await repo.save( - ClipboardItem( - content: 'https://site.com', - type: ClipboardContentType.link, - ), - ); - await repo.save( - ClipboardItem(content: 'plain text', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced( - types: [ClipboardContentType.email, ClipboardContentType.link], - limit: 50, - skip: 0, - ); - expect(results.length, equals(2)); - for (final item in results) { - expect( - item.type == ClipboardContentType.email || - item.type == ClipboardContentType.link, - isTrue, - ); - } - }); - }); - - group('Repository search – ordering', () { - test('results are ordered by modifiedAt descending', () async { - final old = ClipboardItem( - content: 'older item', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2023, 1, 1), - ); - final mid = ClipboardItem( - content: 'middle item', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 6, 15), - ); - final recent = ClipboardItem( - content: 'recent item', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2025, 3, 1), - ); - await repo.save(old); - await repo.save(mid); - await repo.save(recent); - - final results = await repo.searchAdvanced(limit: 10, skip: 0); - expect(results[0].content, equals('recent item')); - expect(results[1].content, equals('middle item')); - expect(results[2].content, equals('older item')); - }); - }); - - group('Repository search – edge cases', () { - test('empty query returns all items ordered by date', () async { - await repo.save( - ClipboardItem(content: 'alpha', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'beta', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced(limit: 50, skip: 0); - expect(results.length, equals(2)); - }); - - test('null query returns all items', () async { - await repo.save( - ClipboardItem(content: 'item a', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - query: null, - limit: 50, - skip: 0, - ); - expect(results, isNotEmpty); - }); - - test('query longer than content does not crash', () async { - await repo.save( - ClipboardItem(content: 'short', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - query: 'a' * 500, - limit: 50, - skip: 0, - ); - expect(results, isEmpty); - }); - - test('search on empty database returns empty list', () async { - final results = await repo.searchAdvanced( - query: 'anything', - limit: 50, - skip: 0, - ); - expect(results, isEmpty); - }); - - test('skip beyond total items returns empty list', () async { - await repo.save( - ClipboardItem(content: 'only item', type: ClipboardContentType.text), - ); - - final results = await repo.searchAdvanced(limit: 10, skip: 100); - expect(results, isEmpty); - }); - }); -} diff --git a/core/test/repository_test.dart b/core/test/repository_test.dart deleted file mode 100644 index c5e40927..00000000 --- a/core/test/repository_test.dart +++ /dev/null @@ -1,558 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late SqliteRepository repo; - - setUp(() { - repo = SqliteRepository.inMemory(); - }); - - tearDown(() => repo.close()); - - group('SqliteRepository', () { - test('save and getById', () async { - final item = ClipboardItem( - content: 'hello', - type: ClipboardContentType.text, - ); - await repo.save(item); - final found = await repo.getById(item.id); - expect(found, isNotNull); - expect(found!.content, equals('hello')); - expect(found.type, equals(ClipboardContentType.text)); - }); - - test('update modifies existing item', () async { - final item = ClipboardItem( - content: 'original', - type: ClipboardContentType.text, - ); - await repo.save(item); - final updated = item.copyWith(isPinned: true); - await repo.update(updated); - final found = await repo.getById(item.id); - expect(found!.isPinned, isTrue); - }); - - test('delete removes item', () async { - final item = ClipboardItem( - content: 'delete me', - type: ClipboardContentType.text, - ); - await repo.save(item); - await repo.delete(item.id); - final found = await repo.getById(item.id); - expect(found, isNull); - }); - - test('findByContentAndType returns existing item', () async { - final item = ClipboardItem( - content: 'test content', - type: ClipboardContentType.text, - ); - await repo.save(item); - final found = await repo.findByContentAndType( - 'test content', - ClipboardContentType.text, - ); - expect(found, isNotNull); - expect(found!.id, equals(item.id)); - }); - - test('findByContentAndType returns null for wrong type', () async { - final item = ClipboardItem( - content: 'test', - type: ClipboardContentType.text, - ); - await repo.save(item); - final found = await repo.findByContentAndType( - 'test', - ClipboardContentType.image, - ); - expect(found, isNull); - }); - - test('findByContentHash returns matching item', () async { - final item = ClipboardItem( - content: '', - type: ClipboardContentType.image, - contentHash: 'abc123', - ); - await repo.save(item); - final found = await repo.findByContentHash('abc123'); - expect(found, isNotNull); - expect(found!.contentHash, equals('abc123')); - }); - - test('getAll returns items ordered by modifiedAt desc', () async { - final first = ClipboardItem( - content: 'first', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 1, 1), - ); - final second = ClipboardItem( - content: 'second', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 1, 2), - ); - await repo.save(first); - await repo.save(second); - final all = await repo.getAll(); - expect(all.first.content, equals('second')); - }); - - test('clearOldItems removes old non-pinned entries', () async { - final old = ClipboardItem( - content: 'old', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 35)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 35)), - ); - final fresh = ClipboardItem( - content: 'fresh', - type: ClipboardContentType.text, - ); - await repo.save(old); - await repo.save(fresh); - final deleted = await repo.clearOldItems(30); - expect(deleted, equals(1)); - final remaining = await repo.getAll(); - expect(remaining.length, equals(1)); - expect(remaining.first.content, equals('fresh')); - }); - - test('clearOldItems preserves pinned items', () async { - final pinned = ClipboardItem( - content: 'pinned old', - type: ClipboardContentType.text, - isPinned: true, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 35)), - modifiedAt: DateTime.now().toUtc().subtract(const Duration(days: 35)), - ); - await repo.save(pinned); - final deleted = await repo.clearOldItems(30); - expect(deleted, equals(0)); - }); - - test('clearOldItems uses createdAt to determine age', () async { - final oldCreatedButRecentlyUsed = ClipboardItem( - content: 'recently used', - type: ClipboardContentType.text, - createdAt: DateTime.now().toUtc().subtract(const Duration(days: 60)), - modifiedAt: DateTime.now().toUtc(), - ); - await repo.save(oldCreatedButRecentlyUsed); - // Item was created 60 days ago — should be deleted even if recently modified - final deleted = await repo.clearOldItems(30); - expect(deleted, equals(1)); - - // Item created recently should be kept - final recentItem = ClipboardItem( - content: 'recent', - type: ClipboardContentType.text, - ); - await repo.save(recentItem); - final deleted2 = await repo.clearOldItems(30); - expect(deleted2, equals(0)); - final remaining = await repo.getAll(); - expect(remaining.length, equals(1)); - }); - - test('search finds items by content', () async { - await repo.save( - ClipboardItem(content: 'hello world', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'another item', type: ClipboardContentType.text), - ); - final results = await repo.search('hello'); - expect(results.length, equals(1)); - expect(results.first.content, equals('hello world')); - }); - - test('searchAdvanced filters by type', () async { - await repo.save( - ClipboardItem(content: 'text item', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'link item', type: ClipboardContentType.link), - ); - final results = await repo.searchAdvanced( - types: [ClipboardContentType.text], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.type, equals(ClipboardContentType.text)); - }); - - test('searchAdvanced filters by color', () async { - await repo.save( - ClipboardItem( - content: 'red item', - type: ClipboardContentType.text, - cardColor: CardColor.red, - ), - ); - await repo.save( - ClipboardItem(content: 'no color', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - colors: [CardColor.red], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.cardColor, equals(CardColor.red)); - }); - - test('searchAdvanced filters by isPinned true', () async { - await repo.save( - ClipboardItem( - content: 'pinned item', - type: ClipboardContentType.text, - isPinned: true, - ), - ); - await repo.save( - ClipboardItem(content: 'normal item', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - isPinned: true, - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.isPinned, isTrue); - }); - - test('searchAdvanced with query and type filter', () async { - await repo.save( - ClipboardItem(content: 'hello text', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'hello link', type: ClipboardContentType.link), - ); - await repo.save( - ClipboardItem(content: 'world text', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - query: 'hello', - types: [ClipboardContentType.text], - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, equals('hello text')); - }); - - test( - 'searchAdvanced combines query, type, color and pin filters', - () async { - await repo.save( - ClipboardItem( - content: 'alpha target', - type: ClipboardContentType.text, - cardColor: CardColor.red, - isPinned: true, - ), - ); - await repo.save( - ClipboardItem( - content: 'alpha wrong color', - type: ClipboardContentType.text, - cardColor: CardColor.blue, - isPinned: true, - ), - ); - await repo.save( - ClipboardItem( - content: 'alpha wrong pin', - type: ClipboardContentType.text, - cardColor: CardColor.red, - isPinned: false, - ), - ); - await repo.save( - ClipboardItem( - content: 'alpha wrong type', - type: ClipboardContentType.link, - cardColor: CardColor.red, - isPinned: true, - ), - ); - - final results = await repo.searchAdvanced( - query: 'alpha', - types: [ClipboardContentType.text], - colors: [CardColor.red], - isPinned: true, - limit: 50, - skip: 0, - ); - - expect(results.length, equals(1)); - expect(results.first.content, equals('alpha target')); - }, - ); - - test( - 'searchAdvanced with symbol-only query finds matching items', - () async { - // FTS5 tokenizer splits on "@" — this must fall through to LIKE path - await repo.save( - ClipboardItem( - content: 'user@gmail.com', - type: ClipboardContentType.email, - ), - ); - await repo.save( - ClipboardItem( - content: 'no match here', - type: ClipboardContentType.text, - ), - ); - final results = await repo.searchAdvanced( - query: '@', - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, equals('user@gmail.com')); - }, - ); - - test( - 'searchAdvanced symbol query paginates correctly beyond page 1', - () async { - // Verify LIKE-only path paginates: page 2 must return results when - // there are more than `limit` matches - for (var i = 0; i < 5; i++) { - await repo.save( - ClipboardItem( - content: 'addr$i@example.com', - type: ClipboardContentType.email, - ), - ); - } - // Insert non-matching items to pad the table - for (var i = 0; i < 3; i++) { - await repo.save( - ClipboardItem( - content: 'no-at-sign-$i', - type: ClipboardContentType.text, - ), - ); - } - final page1 = await repo.searchAdvanced(query: '@', limit: 3, skip: 0); - final page2 = await repo.searchAdvanced(query: '@', limit: 3, skip: 3); - - expect(page1.length, equals(3)); - expect( - page2.length, - equals(2), - ); // 5 total "@" items, page 2 has the rest - // All returned items must contain "@" - for (final item in [...page1, ...page2]) { - expect(item.content, contains('@')); - } - }, - ); - - test('searchAdvanced dot query matches file paths', () async { - await repo.save( - ClipboardItem( - content: '/home/user/document.pdf', - type: ClipboardContentType.file, - ), - ); - await repo.save( - ClipboardItem(content: 'plain text', type: ClipboardContentType.text), - ); - final results = await repo.searchAdvanced( - query: '.pdf', - limit: 50, - skip: 0, - ); - expect(results.length, equals(1)); - expect(results.first.content, contains('.pdf')); - }); - - test('getLatest returns most recently modified item', () async { - final older = ClipboardItem( - content: 'older', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 1, 1), - ); - final newer = ClipboardItem( - content: 'newer', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 1, 2), - ); - await repo.save(older); - await repo.save(newer); - final latest = await repo.getLatest(); - expect(latest, isNotNull); - expect(latest!.content, equals('newer')); - }); - - test('getLatest returns null on empty repository', () async { - final latest = await repo.getLatest(); - expect(latest, isNull); - }); - - test('deleteAllUnpinned removes only non-pinned items', () async { - final pinned = ClipboardItem( - content: 'keep me', - type: ClipboardContentType.text, - isPinned: true, - ); - final unpinned = ClipboardItem( - content: 'delete me', - type: ClipboardContentType.text, - ); - await repo.save(pinned); - await repo.save(unpinned); - final deleted = await repo.deleteAllUnpinned(); - expect(deleted, equals(1)); - final remaining = await repo.getAll(); - expect(remaining.length, equals(1)); - expect(remaining.first.isPinned, isTrue); - }); - - test('count returns correct number of items', () async { - expect(await repo.count(), equals(0)); - await repo.save( - ClipboardItem(content: 'a', type: ClipboardContentType.text), - ); - await repo.save( - ClipboardItem(content: 'b', type: ClipboardContentType.text), - ); - expect(await repo.count(), equals(2)); - - final all = await repo.getAll(); - await repo.delete(all.first.id); - expect(await repo.count(), equals(1)); - }); - - test('getImagePaths returns content of image items', () async { - await repo.save( - ClipboardItem( - content: '/images/photo.png', - type: ClipboardContentType.image, - ), - ); - await repo.save( - ClipboardItem(content: 'text item', type: ClipboardContentType.text), - ); - final paths = await repo.getImagePaths(); - expect(paths.length, equals(1)); - expect(paths.first, equals('/images/photo.png')); - }); - - test('getImagePaths returns empty list when no images', () async { - await repo.save( - ClipboardItem(content: 'text', type: ClipboardContentType.text), - ); - final paths = await repo.getImagePaths(); - expect(paths, isEmpty); - }); - - test('walCheckpoint completes without error', () async { - await repo.save( - ClipboardItem(content: 'test', type: ClipboardContentType.text), - ); - await expectLater(repo.walCheckpoint(), completes); - }); - - test('searchAdvanced with skip paginates results', () async { - for (var i = 0; i < 5; i++) { - await repo.save( - ClipboardItem( - content: 'item $i', - type: ClipboardContentType.text, - modifiedAt: DateTime.utc(2024, 1, i + 1), - ), - ); - } - final page1 = await repo.searchAdvanced(limit: 3, skip: 0); - final page2 = await repo.searchAdvanced(limit: 3, skip: 3); - expect(page1.length, equals(3)); - expect(page2.length, equals(2)); - }); - - test('fromPath creates working repository with persisted data', () async { - final dir = Directory.systemTemp.createTempSync('repo_path_test_'); - try { - final dbPath = p.join(dir.path, 'test.db'); - final fileRepo = SqliteRepository.fromPath(dbPath); - final item = ClipboardItem( - content: 'persisted', - type: ClipboardContentType.text, - ); - await fileRepo.save(item); - final found = await fileRepo.getById(item.id); - expect(found, isNotNull); - expect(found!.content, equals('persisted')); - await fileRepo.close(); - expect(File(dbPath).existsSync(), isTrue); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test( - 'clearOldItems triggers vacuum when more than 50 items deleted', - () async { - for (var i = 0; i < 55; i++) { - await repo.save( - ClipboardItem( - content: 'old item $i', - type: ClipboardContentType.text, - createdAt: DateTime.utc(2000, 1, 1), - modifiedAt: DateTime.utc(2000, 1, 1), - ), - ); - } - final deleted = await repo.clearOldItems(1); - expect(deleted, greaterThanOrEqualTo(55)); - }, - ); - - test( - 'deleteAllUnpinned triggers vacuum when more than 50 items deleted', - () async { - for (var i = 0; i < 55; i++) { - await repo.save( - ClipboardItem( - content: 'bulk item $i', - type: ClipboardContentType.text, - ), - ); - } - final deleted = await repo.deleteAllUnpinned(); - expect(deleted, greaterThanOrEqualTo(55)); - }, - ); - - test('clearOldItems respects excludePinned=false', () async { - await repo.save( - ClipboardItem( - content: 'pinned old', - type: ClipboardContentType.text, - isPinned: true, - createdAt: DateTime.utc(2000, 1, 1), - modifiedAt: DateTime.utc(2000, 1, 1), - ), - ); - // With excludePinned=false, pinned items should also be deleted - final deleted = await repo.clearOldItems(1, excludePinned: false); - expect(deleted, greaterThan(0)); - }); - }); -} diff --git a/core/test/search_helper_test.dart b/core/test/search_helper_test.dart deleted file mode 100644 index 98c60a33..00000000 --- a/core/test/search_helper_test.dart +++ /dev/null @@ -1,41 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/search/search_helper.dart'; - -void main() { - group('SearchHelper', () { - test('normalizes accented characters', () { - expect(SearchHelper.normalize('café'), equals('cafe')); - expect(SearchHelper.normalize('España'), equals('espana')); - expect(SearchHelper.normalize('piñata'), equals('pinata')); - expect(SearchHelper.normalize('naïve'), equals('naive')); - }); - - test('converts to lowercase', () { - expect(SearchHelper.normalize('Hello World'), equals('hello world')); - expect(SearchHelper.normalize('UPPER'), equals('upper')); - }); - - test('handles empty string', () { - expect(SearchHelper.normalize(''), equals('')); - }); - - test('handles already normalized text', () { - expect(SearchHelper.normalize('hello'), equals('hello')); - }); - - test('normalizes ligatures', () { - expect(SearchHelper.normalize('Straße'), equals('strasse')); - expect(SearchHelper.normalize('Ærodynamic'), equals('aerodynamic')); - expect(SearchHelper.normalize('œuvre'), equals('oeuvre')); - }); - - test('normalizes extended Latin characters', () { - expect(SearchHelper.normalize('Łódź'), equals('lodz')); - expect(SearchHelper.normalize('Česká'), equals('ceska')); - expect(SearchHelper.normalize('Kraków'), equals('krakow')); - expect(SearchHelper.normalize('Győr'), equals('gyor')); - expect(SearchHelper.normalize('Zürich'), equals('zurich')); - }); - }); -} diff --git a/core/test/sqlite_repository_migration_test.dart b/core/test/sqlite_repository_migration_test.dart deleted file mode 100644 index 8fb64be9..00000000 --- a/core/test/sqlite_repository_migration_test.dart +++ /dev/null @@ -1,203 +0,0 @@ -import 'dart:io'; - -import 'package:drift/drift.dart' hide isNotNull, isNull; -import 'package:drift/native.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -// --------------------------------------------------------------------------- -// Minimal test-only drift database used to create an old-schema SQLite file. -// It has schemaVersion=1 and creates only the original columns so that when -// SqliteRepository.fromPath opens the file it must run onUpgrade. -// --------------------------------------------------------------------------- -class _V1Database extends GeneratedDatabase { - _V1Database(super.e); - - @override - int get schemaVersion => 1; - - @override - Iterable> get allTables => const []; - - @override - MigrationStrategy get migration => MigrationStrategy( - onCreate: (m) async { - // Create only the v1 schema — no thumbPath, sourceModifiedAt, brokenSince. - await customStatement(''' - CREATE TABLE clipboard_items ( - id TEXT NOT NULL PRIMARY KEY, - content TEXT NOT NULL, - type INTEGER NOT NULL, - created_at INTEGER NOT NULL, - modified_at INTEGER NOT NULL, - app_source TEXT, - is_pinned INTEGER NOT NULL DEFAULT 0, - label TEXT, - card_color INTEGER NOT NULL DEFAULT 0, - metadata TEXT, - paste_count INTEGER NOT NULL DEFAULT 0, - content_hash TEXT - ) - '''); - }, - ); -} - -// --------------------------------------------------------------------------- -// Same but with schemaVersion=3 (has thumbPath + sourceModifiedAt, not -// brokenSince). Tests the from < 4 migration branch in isolation. -// --------------------------------------------------------------------------- -class _V3Database extends GeneratedDatabase { - _V3Database(super.e); - - @override - int get schemaVersion => 3; - - @override - Iterable> get allTables => const []; - - @override - MigrationStrategy get migration => MigrationStrategy( - onCreate: (m) async { - await customStatement(''' - CREATE TABLE clipboard_items ( - id TEXT NOT NULL PRIMARY KEY, - content TEXT NOT NULL, - type INTEGER NOT NULL, - created_at INTEGER NOT NULL, - modified_at INTEGER NOT NULL, - app_source TEXT, - is_pinned INTEGER NOT NULL DEFAULT 0, - label TEXT, - card_color INTEGER NOT NULL DEFAULT 0, - metadata TEXT, - paste_count INTEGER NOT NULL DEFAULT 0, - content_hash TEXT, - thumb_path TEXT, - source_modified_at INTEGER - ) - '''); - }, - ); -} - -void main() { - group('SqliteRepository schema migration', () { - test('migrates v1 → v4 and repository is fully functional', () async { - final dir = Directory.systemTemp.createTempSync('repo_migrate_v1_'); - try { - final dbPath = p.join(dir.path, 'v1.db'); - - // --- Step 1: create a v1 database file --- - final v1 = _V1Database(NativeDatabase(File(dbPath))); - // Force the DB to open by running a no-op query. - await v1.customStatement('SELECT 1'); - await v1.close(); - - // --- Step 2: open with the current SqliteRepository --- - final repo = SqliteRepository.fromPath(dbPath); - - // A simple query forces the LazyDatabase to open + run migration. - final count = await repo.count(); - expect(count, equals(0)); - - // Save an item that uses the new columns (v3 thumbPath, v4 brokenSince). - await repo.save( - ClipboardItem( - id: 'migrated', - content: 'hello after migration', - type: ClipboardContentType.text, - thumbPath: '/tmp/thumb.png', - brokenSince: null, - ), - ); - - final found = await repo.getById('migrated'); - expect(found, isNotNull); - expect(found!.content, equals('hello after migration')); - expect(found.thumbPath, equals('/tmp/thumb.png')); - - await repo.close(); - } finally { - dir.deleteSync(recursive: true); - } - }); - - test('migrates v3 → v4 and brokenSince column is accessible', () async { - final dir = Directory.systemTemp.createTempSync('repo_migrate_v3_'); - try { - final dbPath = p.join(dir.path, 'v3.db'); - - // --- Step 1: create a v3 database file --- - final v3 = _V3Database(NativeDatabase(File(dbPath))); - await v3.customStatement('SELECT 1'); - await v3.close(); - - // --- Step 2: open with the current SqliteRepository --- - final repo = SqliteRepository.fromPath(dbPath); - await repo.count(); // triggers migration - - final now = DateTime.now().toUtc(); - await repo.save( - ClipboardItem( - id: 'v3migrated', - content: 'from v3', - type: ClipboardContentType.text, - brokenSince: now, - ), - ); - - final found = await repo.getById('v3migrated'); - expect(found?.brokenSince, isNotNull); - - await repo.close(); - } finally { - dir.deleteSync(recursive: true); - } - }); - }); - - group('SqliteRepository.getThumbPaths', () { - test('returns only non-null non-empty thumbPaths', () async { - final repo = SqliteRepository.inMemory(); - try { - await repo.save( - ClipboardItem( - id: 'with-thumb', - content: '/img/photo.png', - type: ClipboardContentType.image, - thumbPath: '/thumbs/photo_thumb.png', - ), - ); - await repo.save( - ClipboardItem( - id: 'no-thumb', - content: 'hello', - type: ClipboardContentType.text, - ), - ); - - final paths = await repo.getThumbPaths(); - expect(paths.length, equals(1)); - expect(paths.first, equals('/thumbs/photo_thumb.png')); - } finally { - await repo.close(); - } - }); - - test('returns empty list when no items have thumbPath', () async { - final repo = SqliteRepository.inMemory(); - try { - await repo.save( - ClipboardItem(content: 'text', type: ClipboardContentType.text), - ); - final paths = await repo.getThumbPaths(); - expect(paths, isEmpty); - } finally { - await repo.close(); - } - }); - }); -} diff --git a/core/test/storage_config_test.dart b/core/test/storage_config_test.dart deleted file mode 100644 index 0252ee3c..00000000 --- a/core/test/storage_config_test.dart +++ /dev/null @@ -1,129 +0,0 @@ -import 'dart:io'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - late StorageConfig config; - - setUp(() async { - tempDir = Directory.systemTemp.createTempSync('storage_test_'); - config = await StorageConfig.create(baseDir: tempDir.path); - }); - - tearDown(() => tempDir.deleteSync(recursive: true)); - - group('StorageConfig', () { - test('paths are derived from baseDir', () { - expect(config.baseDir, equals(tempDir.path)); - expect(config.databasePath, equals(p.join(tempDir.path, 'clipboard.db'))); - expect(config.imagesPath, equals(p.join(tempDir.path, 'images'))); - expect(config.configPath, equals(p.join(tempDir.path, 'config'))); - expect( - config.configFilePath, - equals(p.join(tempDir.path, 'config', AppConfig.fileName)), - ); - }); - - test('ensureDirectories creates all required directories', () async { - await config.ensureDirectories(); - expect(Directory(config.imagesPath).existsSync(), isTrue); - expect(Directory(config.configPath).existsSync(), isTrue); - }); - - test('isFirstRun is true before markAsInitialized', () { - expect(config.isFirstRun, isTrue); - }); - - test('markAsInitialized makes isFirstRun false', () { - config.markAsInitialized(); - expect(config.isFirstRun, isFalse); - }); - - test('cleanOrphanImages removes unlisted image files', () async { - await config.ensureDirectories(); - final keep = File(p.join(config.imagesPath, 'keep.png')) - ..writeAsBytesSync([1, 2, 3]); - final remove = File(p.join(config.imagesPath, 'remove.png')) - ..writeAsBytesSync([4, 5, 6]); - - config.cleanOrphanImages([keep.path]); - - expect(keep.existsSync(), isTrue); - expect(remove.existsSync(), isFalse); - }); - - test('cleanOrphanImages does not throw when directory is missing', () { - expect(() => config.cleanOrphanImages([]), returnsNormally); - }); - - test('logsPath is derived from baseDir', () { - expect(config.logsPath, equals(p.join(tempDir.path, 'logs'))); - }); - - test('markAsInitialized swallows an unwritable flag path', () { - Directory(p.join(tempDir.path, '.initialized')).createSync(); - - expect(() => config.markAsInitialized(), returnsNormally); - expect(config.isFirstRun, isTrue); - }); - - test( - 'ensureDirectories is idempotent and keeps existing content', - () async { - await config.ensureDirectories(); - final marker = File(p.join(config.imagesPath, 'kept.png')) - ..writeAsBytesSync([9]); - - await config.ensureDirectories(); - - expect(marker.existsSync(), isTrue); - expect(Directory(config.logsPath).existsSync(), isTrue); - }, - ); - - test('clearInitialized removes the init flag', () { - config.markAsInitialized(); - expect(config.isFirstRun, isFalse); - config.clearInitialized(); - expect(config.isFirstRun, isTrue); - }); - - test('clearInitialized is safe when flag does not exist', () { - expect(() => config.clearInitialized(), returnsNormally); - expect(config.isFirstRun, isTrue); - }); - - test('windowsLocalAppDataResolver overrides baseDir on Windows', () async { - if (!Platform.isWindows) return; - final customDir = Directory.systemTemp.createTempSync('resolver_test_'); - try { - final resolved = await StorageConfig.create( - windowsLocalAppDataResolver: () => customDir.path, - ); - expect(resolved.baseDir, equals(p.join(customDir.path, 'CopyPaste'))); - } finally { - customDir.deleteSync(recursive: true); - } - }); - - test( - 'windowsLocalAppDataResolver is ignored on non-Windows platforms', - () async { - if (Platform.isWindows) return; - var called = false; - await StorageConfig.create( - baseDir: tempDir.path, - windowsLocalAppDataResolver: () { - called = true; - return tempDir.path; - }, - ); - expect(called, isFalse); - }, - ); - }); -} diff --git a/core/test/support_service_test.dart b/core/test/support_service_test.dart deleted file mode 100644 index 5ad13782..00000000 --- a/core/test/support_service_test.dart +++ /dev/null @@ -1,249 +0,0 @@ -import 'dart:io'; - -import 'package:archive/archive.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:path/path.dart' as p; - -import 'package:core/core.dart'; - -void main() { - late Directory tempDir; - late StorageConfig storage; - - setUp(() async { - tempDir = Directory.systemTemp.createTempSync('support_test_'); - storage = await StorageConfig.create(baseDir: tempDir.path); - await Directory(storage.logsPath).create(recursive: true); - }); - - tearDown(() => tempDir.deleteSync(recursive: true)); - - // --------------------------------------------------------------------------- - // correctWindowsVersion - // --------------------------------------------------------------------------- - group('SupportService.correctWindowsVersion', () { - test('replaces Windows 10 with Windows 11 for build >= 22000', () { - const raw = 'Windows 10.0.22621 Build 22621'; - expect( - SupportService.correctWindowsVersion(raw), - equals('Windows 11.0.22621 Build 22621'), - ); - }); - - test('does not replace for build < 22000', () { - const raw = 'Windows 10.0.19045 Build 19045'; - expect(SupportService.correctWindowsVersion(raw), equals(raw)); - }); - - test('returns raw string unchanged when no Windows 10 text', () { - const raw = 'Windows 11.0.22621'; - expect(SupportService.correctWindowsVersion(raw), equals(raw)); - }); - - test('returns raw string unchanged when no Build number present', () { - const raw = 'Windows 10 Pro'; - expect(SupportService.correctWindowsVersion(raw), equals(raw)); - }); - - test('handles build exactly at boundary (22000 → Windows 11)', () { - const raw = 'Windows 10.0.22000 Build 22000'; - expect(SupportService.correctWindowsVersion(raw), contains('Windows 11')); - }); - - test('handles build one below boundary (21999 → unchanged)', () { - const raw = 'Windows 10.0.21999 Build 21999'; - expect(SupportService.correctWindowsVersion(raw), equals(raw)); - }); - }); - - // --------------------------------------------------------------------------- - // exportLogs - // --------------------------------------------------------------------------- - group('SupportService.exportLogs', () { - test('returns 0 when logs directory is empty', () async { - final savePath = p.join(tempDir.path, 'out.zip'); - final count = await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(count, equals(0)); - expect(File(savePath).existsSync(), isTrue); - }); - - test('returns 0 when logs directory does not exist', () async { - await Directory(storage.logsPath).delete(recursive: true); - final savePath = p.join(tempDir.path, 'out.zip'); - final count = await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(count, equals(0)); - }); - - test('returns correct count of .log files', () async { - File(p.join(storage.logsPath, 'app.log')).writeAsStringSync('log1'); - File(p.join(storage.logsPath, 'app2.log')).writeAsStringSync('log2'); - final savePath = p.join(tempDir.path, 'out.zip'); - final count = await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(count, equals(2)); - }); - - test('excludes non-.log files from count and archive', () async { - File(p.join(storage.logsPath, 'app.log')).writeAsStringSync('log'); - File(p.join(storage.logsPath, 'readme.txt')).writeAsStringSync('text'); - final savePath = p.join(tempDir.path, 'out.zip'); - final count = await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(count, equals(1)); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final names = archive.map((f) => f.name).toList(); - expect(names, contains('app.log')); - expect(names, isNot(contains('readme.txt'))); - }); - - test('ZIP always contains device_info.txt', () async { - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.5.1', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final infoFile = archive.firstWhere((f) => f.name == 'device_info.txt'); - final content = String.fromCharCodes(infoFile.content as List); - expect(content, contains('CopyPaste v2.5.1')); - }); - - test('device_info.txt contains platform and Dart version', () async { - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final infoFile = archive.firstWhere((f) => f.name == 'device_info.txt'); - final content = String.fromCharCodes(infoFile.content as List); - expect(content, contains('Platform')); - expect(content, contains('Dart')); - expect(content, contains('Generated:')); - }); - - test('ZIP contains log file content verbatim', () async { - File(p.join(storage.logsPath, 'app.log')).writeAsStringSync('hello log'); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final logFile = archive.firstWhere((f) => f.name == 'app.log'); - final content = String.fromCharCodes(logFile.content as List); - expect(content, equals('hello log')); - }); - - test('saves zip file at specified path', () async { - final savePath = p.join(tempDir.path, 'subdir', 'export.zip'); - await Directory(p.join(tempDir.path, 'subdir')).create(); - await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(File(savePath).existsSync(), isTrue); - expect(File(savePath).lengthSync(), greaterThan(0)); - }); - - test('includes crash.log in archive when it exists', () async { - File( - p.join(storage.baseDir, 'crash.log'), - ).writeAsStringSync('==== crash entry ===='); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final names = archive.map((f) => f.name).toList(); - expect(names, contains('crash.log')); - }); - - test('does not include crash.log entry when file does not exist', () async { - File(p.join(storage.logsPath, 'app.log')).writeAsStringSync('log'); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final names = archive.map((f) => f.name).toList(); - expect(names, isNot(contains('crash.log'))); - }); - - test('crash.log count is not added to returned log file count', () async { - File(p.join(storage.logsPath, 'app.log')).writeAsStringSync('log'); - File( - p.join(storage.baseDir, 'crash.log'), - ).writeAsStringSync('crash entry'); - final savePath = p.join(tempDir.path, 'out.zip'); - final count = await SupportService.exportLogs(storage, '2.0.0', savePath); - expect(count, equals(1)); - }); - - test('log files are redacted in archive — email is replaced', () async { - File( - p.join(storage.logsPath, 'app.log'), - ).writeAsStringSync('error for admin@corp.example.com'); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final logFile = archive.firstWhere((f) => f.name == 'app.log'); - final content = String.fromCharCodes(logFile.content as List); - expect(content, isNot(contains('admin@corp.example.com'))); - expect(content, contains('')); - }); - - test('crash.log is redacted in archive — email is replaced', () async { - File( - p.join(storage.baseDir, 'crash.log'), - ).writeAsStringSync('crash for user@example.com'); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final crashFile = archive.firstWhere((f) => f.name == 'crash.log'); - final content = String.fromCharCodes(crashFile.content as List); - expect(content, isNot(contains('user@example.com'))); - expect(content, contains('')); - }); - - test('non-sensitive log content is preserved after redaction', () async { - File( - p.join(storage.logsPath, 'app.log'), - ).writeAsStringSync('[INFO] Bootstrap: CopyPaste 2.0 starting'); - final savePath = p.join(tempDir.path, 'out.zip'); - await SupportService.exportLogs(storage, '2.0.0', savePath); - - final archive = ZipDecoder().decodeBytes( - File(savePath).readAsBytesSync(), - ); - final logFile = archive.firstWhere((f) => f.name == 'app.log'); - final content = String.fromCharCodes(logFile.content as List); - expect(content, equals('[INFO] Bootstrap: CopyPaste 2.0 starting')); - }); - }); - - group('SupportService.revealFile', () { - test('completes without throwing when path is empty string', () async { - // Platform checks guard the Process.run call; no spawn attempted for empty - await expectLater(SupportService.revealFile(''), completes); - }); - }); - group('SupportService.openLogsFolder', () { - test('creates logs directory when it does not exist', () async { - await Directory(storage.logsPath).delete(recursive: true); - expect(Directory(storage.logsPath).existsSync(), isFalse); - try { - await SupportService.openLogsFolder(storage); - } catch (_) { - // The shell opener may not be available in headless CI; that's acceptable - } - expect(Directory(storage.logsPath).existsSync(), isTrue); - }); - }); -} diff --git a/core/test/text_classifier_edge_cases_test.dart b/core/test/text_classifier_edge_cases_test.dart deleted file mode 100644 index 5e99b443..00000000 --- a/core/test/text_classifier_edge_cases_test.dart +++ /dev/null @@ -1,285 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('TextClassifier edge cases', () { - group('multiline content always falls back to text or json', () { - test('multiline that starts with { but not valid JSON is text', () { - expect( - TextClassifier.classify('{ key: value\nno quotes }'), - equals(ClipboardContentType.text), - ); - }); - - test('multiline valid JSON object is json', () { - expect( - TextClassifier.classify('{\n "a": 1,\n "b": 2\n}'), - equals(ClipboardContentType.json), - ); - }); - - test('multiline that looks like email but has newline is text', () { - // newline prevents single-line email detection - expect( - TextClassifier.classify('user@example.com\nextra'), - equals(ClipboardContentType.text), - ); - }); - - test('UUID with only trailing newline is still uuid after trim()', () { - // classify() calls trim() first — trailing newline removed before - // the contains('\n') guard, so the UUID pattern is still matched. - expect( - TextClassifier.classify('550e8400-e29b-41d4-a716-446655440000\n'), - equals(ClipboardContentType.uuid), - ); - }); - - test('UUID embedded in multiline text is treated as text', () { - // A real newline in the middle means contains('\n') is true - expect( - TextClassifier.classify( - '550e8400-e29b-41d4-a716-446655440000\nmore text', - ), - equals(ClipboardContentType.text), - ); - }); - }); - - group('email edge cases', () { - test('email with underscore in local part', () { - expect( - TextClassifier.classify('first_last@company.org'), - equals(ClipboardContentType.email), - ); - }); - - test('email with dots in local part', () { - expect( - TextClassifier.classify('first.last@company.io'), - equals(ClipboardContentType.email), - ); - }); - - test('email with hyphen in domain', () { - expect( - TextClassifier.classify('user@my-company.com'), - equals(ClipboardContentType.email), - ); - }); - - test('text with @ but missing TLD is not email', () { - expect( - TextClassifier.classify('user@host'), - isNot(equals(ClipboardContentType.email)), - ); - }); - - test('text with multiple @ signs is not email', () { - expect( - TextClassifier.classify('user@@domain.com'), - isNot(equals(ClipboardContentType.email)), - ); - }); - }); - - group('color edge cases', () { - test('RGB with no spaces is color', () { - expect( - TextClassifier.classify('rgb(255,87,51)'), - equals(ClipboardContentType.color), - ); - }); - - test('HSL uppercase is color', () { - expect( - TextClassifier.classify('HSL(14, 100%, 51%)'), - equals(ClipboardContentType.color), - ); - }); - - test('7-digit hex is not a color', () { - expect( - TextClassifier.classify('#FF573'), - isNot(equals(ClipboardContentType.color)), - ); - }); - - test('hex without hash prefix is not color', () { - expect( - TextClassifier.classify('FF5733'), - isNot(equals(ClipboardContentType.color)), - ); - }); - - test('RGBA with decimal alpha is color', () { - expect( - TextClassifier.classify('rgba(10, 20, 30, 0.9)'), - equals(ClipboardContentType.color), - ); - }); - }); - - group('IP address edge cases', () { - test('leading zeros in octet — edge of valid range', () { - // 010.0.0.1 — parser accepts 01 as valid per regex - final result = TextClassifier.classify('010.0.0.1'); - // The regex accepts [01]?\d\d?, so 010 is matched as valid - expect(result, equals(ClipboardContentType.ip)); - }); - - test('single-octet number is not an IP', () { - expect( - TextClassifier.classify('192'), - isNot(equals(ClipboardContentType.ip)), - ); - }); - - test('IP with trailing dot is not valid', () { - expect( - TextClassifier.classify('192.168.1.1.'), - isNot(equals(ClipboardContentType.ip)), - ); - }); - - test('loopback 127.0.0.1 is IP', () { - expect( - TextClassifier.classify('127.0.0.1'), - equals(ClipboardContentType.ip), - ); - }); - }); - - group('UUID edge cases', () { - test('UUID with mixed case is uuid', () { - expect( - TextClassifier.classify('550E8400-e29b-41D4-A716-446655440000'), - equals(ClipboardContentType.uuid), - ); - }); - - test('UUID with wrong segment lengths is not uuid', () { - expect( - TextClassifier.classify('550e8400-e29b-41d4-a716-44665544000'), - isNot(equals(ClipboardContentType.uuid)), - ); - }); - - test('UUID with extra characters is not uuid', () { - expect( - TextClassifier.classify('550e8400-e29b-41d4-a716-4466554400001'), - isNot(equals(ClipboardContentType.uuid)), - ); - }); - }); - - group('JSON edge cases', () { - test('empty JSON object is json', () { - expect( - TextClassifier.classify('{}'), - equals(ClipboardContentType.json), - ); - }); - - test('empty JSON array is json', () { - expect( - TextClassifier.classify('[]'), - equals(ClipboardContentType.json), - ); - }); - - test('JSON with only numbers is json', () { - expect( - TextClassifier.classify('[1, 2, 3, 4]'), - equals(ClipboardContentType.json), - ); - }); - - test('JSON with boolean values is json', () { - expect( - TextClassifier.classify('{"active": true, "count": 0}'), - equals(ClipboardContentType.json), - ); - }); - - test('bare number is not json', () { - expect( - TextClassifier.classify('42'), - isNot(equals(ClipboardContentType.json)), - ); - }); - - test('bare string is not json', () { - expect( - TextClassifier.classify('"hello"'), - isNot(equals(ClipboardContentType.json)), - ); - }); - - test('JSON starting with [ but invalid is not json', () { - expect( - TextClassifier.classify('[unclosed'), - isNot(equals(ClipboardContentType.json)), - ); - }); - }); - - group('phone edge cases', () { - test('too-short phone is not phone', () { - expect( - TextClassifier.classify('+1 234'), - isNot(equals(ClipboardContentType.phone)), - ); - }); - - test('phone at exactly 7 digits (minimum) is phone', () { - expect( - TextClassifier.classify('+1 234 567'), - equals(ClipboardContentType.phone), - ); - }); - - test('phone with 14 digits (within 7–15 range) is phone', () { - // +1 234 567 890 1234 → digits: 12345678901234 = 14 digits, within range - expect( - TextClassifier.classify('+1 234 567 890 1234'), - equals(ClipboardContentType.phone), - ); - }); - - test('phone exceeding 15 digits (E.164 max) is not phone', () { - // 16 consecutive digits after + → _isPhone digit count check rejects it - // (regex matches because no spaces, but digit count > 15 fails) - expect( - TextClassifier.classify('+1234567890123456'), - isNot(equals(ClipboardContentType.phone)), - ); - }); - - test('area-code format without + still works', () { - expect( - TextClassifier.classify('(55) 2222-2222'), - equals(ClipboardContentType.phone), - ); - }); - }); - - group('whitespace handling', () { - test('content with only tabs is text', () { - expect( - TextClassifier.classify('\t\t\t'), - equals(ClipboardContentType.text), - ); - }); - - test('content with leading/trailing whitespace is trimmed', () { - // Email with surrounding spaces should still be detected - expect( - TextClassifier.classify(' user@example.com '), - equals(ClipboardContentType.email), - ); - }); - }); - }); -} diff --git a/core/test/text_classifier_test.dart b/core/test/text_classifier_test.dart deleted file mode 100644 index e743faf9..00000000 --- a/core/test/text_classifier_test.dart +++ /dev/null @@ -1,296 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:core/core.dart'; - -void main() { - group('TextClassifier.classify', () { - group('email', () { - test('detects standard email', () { - expect( - TextClassifier.classify('user@gmail.com'), - ClipboardContentType.email, - ); - }); - - test('detects email with subdomains', () { - expect( - TextClassifier.classify('user@mail.company.co.uk'), - ClipboardContentType.email, - ); - }); - - test('detects email with plus alias', () { - expect( - TextClassifier.classify('user+filter@proton.me'), - ClipboardContentType.email, - ); - }); - - test('does not classify plain text as email', () { - expect( - TextClassifier.classify('not an email'), - ClipboardContentType.text, - ); - }); - - test('does not classify incomplete email', () { - expect( - TextClassifier.classify('@gmail.com'), - ClipboardContentType.text, - ); - }); - }); - - group('phone', () { - test('detects international phone with +', () { - expect( - TextClassifier.classify('+56 9 1234 5678'), - ClipboardContentType.phone, - ); - }); - - test('detects phone with dashes', () { - expect( - TextClassifier.classify('+1-800-555-0100'), - ClipboardContentType.phone, - ); - }); - - test('detects phone with parentheses', () { - expect( - TextClassifier.classify('+44 (20) 7946 0958'), - ClipboardContentType.phone, - ); - }); - - test('detects area code format (55) number', () { - expect( - TextClassifier.classify('(55) 2222-2222'), - ClipboardContentType.phone, - ); - }); - - test('detects area code format with + prefix', () { - expect( - TextClassifier.classify('(+1) 555-1234'), - ClipboardContentType.phone, - ); - }); - - test('does not classify bare number without prefix as phone', () { - expect( - TextClassifier.classify('202117759'), - isNot(ClipboardContentType.phone), - ); - }); - - test('does not classify 10-digit bare number as phone', () { - expect( - TextClassifier.classify('1025908953'), - isNot(ClipboardContentType.phone), - ); - }); - - test('does not classify short digit sequence as phone', () { - expect( - TextClassifier.classify('12345'), - isNot(ClipboardContentType.phone), - ); - }); - - test('does not classify 16+ digit string as phone', () { - expect( - TextClassifier.classify('+1 800 555 0100 12345'), - isNot(ClipboardContentType.phone), - ); - }); - }); - - group('color', () { - test('detects 6-digit hex', () { - expect(TextClassifier.classify('#FF5733'), ClipboardContentType.color); - }); - - test('detects 3-digit hex', () { - expect(TextClassifier.classify('#F57'), ClipboardContentType.color); - }); - - test('detects 8-digit hex with alpha', () { - expect( - TextClassifier.classify('#FF5733AA'), - ClipboardContentType.color, - ); - }); - - test('detects rgb()', () { - expect( - TextClassifier.classify('rgb(255, 87, 51)'), - ClipboardContentType.color, - ); - }); - - test('detects rgba()', () { - expect( - TextClassifier.classify('rgba(255, 87, 51, 0.5)'), - ClipboardContentType.color, - ); - }); - - test('detects hsl()', () { - expect( - TextClassifier.classify('hsl(14, 100%, 51%)'), - ClipboardContentType.color, - ); - }); - - test('detects hsla()', () { - expect( - TextClassifier.classify('hsla(14, 100%, 51%, 0.8)'), - ClipboardContentType.color, - ); - }); - - test('does not classify arbitrary hash as color', () { - expect( - TextClassifier.classify('#ZZZZZZ'), - isNot(ClipboardContentType.color), - ); - }); - }); - - group('ip address', () { - test('detects valid IPv4', () { - expect(TextClassifier.classify('192.168.1.1'), ClipboardContentType.ip); - }); - - test('detects edge case 0.0.0.0', () { - expect(TextClassifier.classify('0.0.0.0'), ClipboardContentType.ip); - }); - - test('detects 255.255.255.255', () { - expect( - TextClassifier.classify('255.255.255.255'), - ClipboardContentType.ip, - ); - }); - - test('does not classify out-of-range octet', () { - expect( - TextClassifier.classify('256.0.0.1'), - isNot(ClipboardContentType.ip), - ); - }); - - test('does not classify partial IP', () { - expect( - TextClassifier.classify('192.168.1'), - isNot(ClipboardContentType.ip), - ); - }); - }); - - group('uuid', () { - test('detects v4 UUID', () { - expect( - TextClassifier.classify('550e8400-e29b-41d4-a716-446655440000'), - ClipboardContentType.uuid, - ); - }); - - test('detects uppercase UUID', () { - expect( - TextClassifier.classify('550E8400-E29B-41D4-A716-446655440000'), - ClipboardContentType.uuid, - ); - }); - - test('does not classify malformed UUID', () { - expect( - TextClassifier.classify('550e8400-e29b-41d4-a716'), - isNot(ClipboardContentType.uuid), - ); - }); - }); - - group('json', () { - test('detects JSON object', () { - expect( - TextClassifier.classify('{"key": "value"}'), - ClipboardContentType.json, - ); - }); - - test('detects JSON array', () { - expect(TextClassifier.classify('[1, 2, 3]'), ClipboardContentType.json); - }); - - test('detects multiline JSON', () { - expect( - TextClassifier.classify('{\n "name": "Mario",\n "age": 30\n}'), - ClipboardContentType.json, - ); - }); - - test('detects nested JSON', () { - expect( - TextClassifier.classify('{"user": {"id": 1, "tags": ["a", "b"]}}'), - ClipboardContentType.json, - ); - }); - - test('does not classify invalid JSON', () { - expect( - TextClassifier.classify('{invalid json}'), - isNot(ClipboardContentType.json), - ); - }); - - test('does not classify plain object-like text as json', () { - expect( - TextClassifier.classify('{not json at all'), - isNot(ClipboardContentType.json), - ); - }); - }); - - group('text fallback', () { - test('classifies empty string as text', () { - expect(TextClassifier.classify(''), ClipboardContentType.text); - }); - - test('classifies plain sentence as text', () { - expect( - TextClassifier.classify('Hello world'), - ClipboardContentType.text, - ); - }); - - test('classifies multiline prose as text', () { - expect( - TextClassifier.classify('Line one\nLine two\nLine three'), - ClipboardContentType.text, - ); - }); - - test('classifies whitespace-only as text', () { - expect(TextClassifier.classify(' '), ClipboardContentType.text); - }); - }); - - group('priority ordering', () { - test('email takes priority over phone-like pattern', () { - expect( - TextClassifier.classify('user@example.com'), - ClipboardContentType.email, - ); - }); - - test('uuid not confused with plain hex string', () { - expect( - TextClassifier.classify('550e8400e29b41d4a716446655440000'), - isNot(ClipboardContentType.uuid), - ); - }); - }); - }); -} diff --git a/core/test/thumbnail_queue_test.dart b/core/test/thumbnail_queue_test.dart deleted file mode 100644 index 99b5e386..00000000 --- a/core/test/thumbnail_queue_test.dart +++ /dev/null @@ -1,437 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:core/core.dart'; -import 'package:core/repository/i_clipboard_repository.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -class _ThrowingUpdateRepo implements IClipboardRepository { - final _items = {}; - - void seed(ClipboardItem item) => _items[item.id] = item; - - @override - Future save(ClipboardItem item) async => _items[item.id] = item; - @override - Future update(ClipboardItem item) async => - throw Exception('update deliberately failed'); - @override - Future getById(String id) async => _items[id]; - @override - Future getLatest() async => null; - @override - Future findByContentAndType( - String content, - ClipboardContentType type, - ) async => null; - @override - Future findByContentHash(String contentHash) async => null; - @override - Future> getAll() async => const []; - @override - Future delete(String id) async {} - @override - Future clearOldItems(int days, {bool excludePinned = true}) async => 0; - @override - Future deleteAllUnpinned() async => 0; - @override - Future count() async => _items.length; - @override - Future> search( - String query, { - int limit = 50, - int skip = 0, - }) async => const []; - @override - Future> searchAdvanced({ - String? query, - List? types, - List? colors, - bool? isPinned, - required int limit, - required int skip, - }) async => const []; - @override - Future> getImagePaths() async => const []; - @override - Future> getThumbPaths() async => const []; - @override - Future walCheckpoint() async {} - @override - Future close() async {} -} - -void main() { - late Directory tempDir; - late Directory imagesDir; - late Directory externalDir; - late SqliteRepository repo; - late ThumbnailService service; - late ThumbnailQueue queue; - late List updatedItems; - - setUp(() { - tempDir = Directory.systemTemp.createTempSync('thumb_queue_test_'); - imagesDir = Directory(p.join(tempDir.path, 'images')) - ..createSync(recursive: true); - externalDir = Directory(p.join(tempDir.path, 'external')) - ..createSync(recursive: true); - repo = SqliteRepository.inMemory(); - service = ThumbnailService(imagesPath: imagesDir.path); - updatedItems = []; - queue = ThumbnailQueue( - repository: repo, - service: service, - onItemUpdated: updatedItems.add, - ); - }); - - tearDown(() async { - await queue.dispose(); - await repo.close(); - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - Uint8List makePng({int w = 1024, int h = 1024}) { - final image = img.Image(width: w, height: h); - return Uint8List.fromList(img.encodePng(image)); - } - - Future saveImageItem(String externalPath, {String? id}) async { - final item = ClipboardItem( - id: id ?? 'item-${DateTime.now().microsecondsSinceEpoch}', - content: externalPath, - type: ClipboardContentType.image, - ); - await repo.save(item); - return item; - } - - Future drainQueue() async { - // Wait until the queue is fully idle: no pending jobs AND no in-flight - // encode. `pendingCount` alone is not enough — it drops to zero as soon - // as a job is taken off the queue, while the isolate may still be - // encoding the PNG. Poll up to ~5 s, which is generous enough for - // slow CI runners. - for (var i = 0; i < 100; i++) { - if (queue.isIdle) { - // One more pump so the `whenComplete` chain in `_scheduleNext` - // has a chance to flush its microtasks before the test asserts. - await Future.delayed(const Duration(milliseconds: 10)); - if (queue.isIdle) return; - } - await Future.delayed(const Duration(milliseconds: 50)); - } - } - - group('ThumbnailQueue.enqueue', () { - test('generates thumb, persists thumbPath, emits onItemUpdated', () async { - final src = File(p.join(externalDir.path, 'big.png')) - ..writeAsBytesSync(makePng(w: 1024, h: 512)); - final item = await saveImageItem(src.path, id: 'fresh'); - - queue.enqueue(item); - await drainQueue(); - - final stored = await repo.getById('fresh'); - expect(stored, isNotNull); - expect( - stored!.thumbPath, - equals(p.join(imagesDir.path, 'fresh_thumb.png')), - ); - expect(stored.sourceModifiedAt, isNotNull); - expect(File(stored.thumbPath!).existsSync(), isTrue); - expect(updatedItems, hasLength(1)); - expect(updatedItems.single.id, equals('fresh')); - }); - - test('ignores duplicate enqueue for same id while pending', () async { - final src = File(p.join(externalDir.path, 'dup.png')) - ..writeAsBytesSync(makePng()); - final item = await saveImageItem(src.path, id: 'dup'); - - queue.enqueue(item); - queue.enqueue(item); - queue.enqueue(item); - await drainQueue(); - - expect(updatedItems, hasLength(1)); - }); - - test('skips non-image items', () async { - final item = ClipboardItem( - id: 'txt', - content: 'hello', - type: ClipboardContentType.text, - ); - await repo.save(item); - - queue.enqueue(item); - await drainQueue(); - - final stored = await repo.getById('txt'); - expect(stored?.thumbPath, isNull); - expect(updatedItems, isEmpty); - }); - - test('skips multi-path content', () async { - final a = File(p.join(externalDir.path, 'a.png')) - ..writeAsBytesSync(makePng()); - final b = File(p.join(externalDir.path, 'b.png')) - ..writeAsBytesSync(makePng()); - final item = ClipboardItem( - id: 'multi', - content: '${a.path}\n${b.path}', - type: ClipboardContentType.image, - ); - await repo.save(item); - - queue.enqueue(item); - await drainQueue(); - - expect((await repo.getById('multi'))?.thumbPath, isNull); - }); - }); - - group('ThumbnailQueue race conditions', () { - test( - 'drops generated thumb if item was deleted during generation', - () async { - final src = File(p.join(externalDir.path, 'race.png')) - ..writeAsBytesSync(makePng(w: 2048, h: 2048)); - final item = await saveImageItem(src.path, id: 'race'); - - queue.enqueue(item); - // Delete before the encoder can finish (encoder is in an isolate - // and the file is large enough to take more than zero microtasks). - await repo.delete('race'); - await drainQueue(); - - // The generated thumb (if any) must have been cleaned up by the - // queue's race-window check. The repository row stays gone. - final orphan = File(p.join(imagesDir.path, 'race_thumb.png')); - expect(orphan.existsSync(), isFalse); - expect(updatedItems, isEmpty); - }, - ); - - test('skips entirely if item is gone before generation starts', () async { - final src = File(p.join(externalDir.path, 'gone.png')) - ..writeAsBytesSync(makePng()); - final item = await saveImageItem(src.path, id: 'gone'); - await repo.delete('gone'); - - queue.enqueue(item); - await drainQueue(); - - expect( - File(p.join(imagesDir.path, 'gone_thumb.png')).existsSync(), - isFalse, - ); - expect(updatedItems, isEmpty); - }); - }); - - group('ThumbnailQueue.enqueueIfStale', () { - test('enqueues when no sourceModifiedAt has been recorded', () async { - final src = File(p.join(externalDir.path, 'cold.png')) - ..writeAsBytesSync(makePng()); - final item = await saveImageItem(src.path, id: 'cold'); - - queue.enqueueIfStale(item); - await drainQueue(); - - expect((await repo.getById('cold'))?.thumbPath, isNotNull); - }); - - test( - 'does not enqueue when mtime matches recorded sourceModifiedAt', - () async { - final src = File(p.join(externalDir.path, 'fresh.png')) - ..writeAsBytesSync(makePng()); - final mtime = src.statSync().modified.toUtc(); - final item = ClipboardItem( - id: 'fresh-stale', - content: src.path, - type: ClipboardContentType.image, - sourceModifiedAt: mtime, - ); - await repo.save(item); - - queue.enqueueIfStale(item); - await drainQueue(); - - expect(updatedItems, isEmpty); - }, - ); - - test('enqueues when source mtime differs from recorded', () async { - final src = File(p.join(externalDir.path, 'stale.png')) - ..writeAsBytesSync(makePng()); - final past = DateTime.utc(2020, 1, 1); - final item = ClipboardItem( - id: 'stale', - content: src.path, - type: ClipboardContentType.image, - sourceModifiedAt: past, - ); - await repo.save(item); - - queue.enqueueIfStale(item); - await drainQueue(); - - final stored = await repo.getById('stale'); - expect(stored?.thumbPath, isNotNull); - expect(stored!.sourceModifiedAt, isNot(equals(past))); - }); - - test('no-op for missing source file', () async { - final item = ClipboardItem( - id: 'missing', - content: p.join(externalDir.path, 'nope.png'), - type: ClipboardContentType.image, - ); - await repo.save(item); - - queue.enqueueIfStale(item); - await drainQueue(); - - expect(updatedItems, isEmpty); - }); - }); - - group('ThumbnailQueue.dispose', () { - test('refuses new jobs after dispose', () async { - await queue.dispose(); - final src = File(p.join(externalDir.path, 'late.png')) - ..writeAsBytesSync(makePng()); - final item = await saveImageItem(src.path, id: 'late'); - - queue.enqueue(item); - await Future.delayed(const Duration(milliseconds: 100)); - - expect(updatedItems, isEmpty); - expect((await repo.getById('late'))?.thumbPath, isNull); - }); - }); - - group('ThumbnailQueue.pendingCount', () { - test('is zero on a fresh queue', () { - expect(queue.pendingCount, equals(0)); - }); - }); - - group('ThumbnailQueue depth warning', () { - test('logs warn when more than 20 items are pending', () async { - // Enqueue 22 items synchronously — the first starts processing - // asynchronously while items 2-22 accumulate in _queue. - // When item 22 is added, _queue.length > 20 triggers AppLogger.warn. - for (var i = 0; i < 22; i++) { - final item = ClipboardItem( - id: 'depth-warn-$i', - content: p.join(externalDir.path, 'depth_$i.png'), - type: ClipboardContentType.image, - ); - queue.enqueue(item); - } - // Verify items accumulated (warning was logged). - expect(queue.pendingCount, greaterThan(0)); - }); - }); - - group('ThumbnailQueue._safeGenerate exception', () { - test( - 'catches write failure inside Isolate and emits no update', - () async { - final dir = Directory.systemTemp.createTempSync('tq_safegen_err_'); - final ext = Directory(p.join(dir.path, 'ext'))..createSync(); - final imgs = Directory(p.join(dir.path, 'imgs'))..createSync(); - final src = File(p.join(ext.path, 'source.png')) - ..writeAsBytesSync(makePng(w: 64, h: 64)); - - final localRepo = SqliteRepository.inMemory(); - final localService = ThumbnailService(imagesPath: imgs.path); - final updatedLocal = []; - final localQueue = ThumbnailQueue( - repository: localRepo, - service: localService, - onItemUpdated: updatedLocal.add, - ); - - final item = ClipboardItem( - id: 'safegen-err', - content: src.path, - type: ClipboardContentType.image, - ); - await localRepo.save(item); - - // Make imgs dir non-writable so the isolate's File.writeAsBytesSync - // throws EACCES, which propagates through Isolate.run and is caught by - // _safeGenerate (line 184). - await Process.run('chmod', ['555', imgs.path]); - - try { - localQueue.enqueue(item); - for (var i = 0; i < 100; i++) { - if (localQueue.isIdle) break; - await Future.delayed(const Duration(milliseconds: 50)); - } - expect(updatedLocal, isEmpty); - } finally { - await Process.run('chmod', ['755', imgs.path]); - await localQueue.dispose(); - await localRepo.close(); - dir.deleteSync(recursive: true); - } - }, - skip: Platform.isWindows - ? 'Requires POSIX directory permissions (chmod)' - : false, - ); - }); - - group('ThumbnailQueue update failure', () { - test('catches repo update error and deletes generated thumb', () async { - final dir = Directory.systemTemp.createTempSync('tq_update_fail_'); - final ext = Directory(p.join(dir.path, 'ext'))..createSync(); - final imgs = Directory(p.join(dir.path, 'imgs'))..createSync(); - final src = File(p.join(ext.path, 'source.png')) - ..writeAsBytesSync(makePng(w: 64, h: 64)); - - final throwingRepo = _ThrowingUpdateRepo(); - final localService = ThumbnailService(imagesPath: imgs.path); - final updatedLocal = []; - final localQueue = ThumbnailQueue( - repository: throwingRepo, - service: localService, - onItemUpdated: updatedLocal.add, - ); - - final item = ClipboardItem( - id: 'update-fail', - content: src.path, - type: ClipboardContentType.image, - ); - throwingRepo.seed(item); - - try { - localQueue.enqueue(item); - // Wait for the job to attempt update, fail, and return to idle. - for (var i = 0; i < 200; i++) { - if (localQueue.isIdle) break; - await Future.delayed(const Duration(milliseconds: 50)); - } - // update threw → onItemUpdated was never called. - expect(updatedLocal, isEmpty); - // The generated thumb was deleted by _safeDelete. - final thumbFiles = imgs.listSync().whereType().toList(); - expect(thumbFiles, isEmpty); - } finally { - await localQueue.dispose(); - dir.deleteSync(recursive: true); - } - }); - }); -} diff --git a/core/test/thumbnail_service_test.dart b/core/test/thumbnail_service_test.dart deleted file mode 100644 index 8b5c4853..00000000 --- a/core/test/thumbnail_service_test.dart +++ /dev/null @@ -1,247 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:core/models/clipboard_content_type.dart'; -import 'package:core/models/clipboard_item.dart'; -import 'package:core/services/native_thumbnail_provider.dart'; -import 'package:core/services/thumbnail_service.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:image/image.dart' as img; -import 'package:path/path.dart' as p; - -void main() { - late Directory tempDir; - late Directory imagesDir; - late Directory externalDir; - late ThumbnailService service; - - setUp(() { - tempDir = Directory.systemTemp.createTempSync('thumb_svc_test_'); - imagesDir = Directory(p.join(tempDir.path, 'images')) - ..createSync(recursive: true); - externalDir = Directory(p.join(tempDir.path, 'external')) - ..createSync(recursive: true); - service = ThumbnailService(imagesPath: imagesDir.path); - }); - - tearDown(() { - if (tempDir.existsSync()) tempDir.deleteSync(recursive: true); - }); - - Uint8List makePng({int width = 64, int height = 32}) { - final image = img.Image(width: width, height: height); - for (var x = 0; x < width; x++) { - for (var y = 0; y < height; y++) { - image.setPixelRgb(x, y, x * 4, y * 8, 128); - } - } - return Uint8List.fromList(img.encodePng(image)); - } - - ClipboardItem imageItem(String externalPath, {String id = 'item-1'}) => - ClipboardItem( - id: id, - content: externalPath, - type: ClipboardContentType.image, - ); - - group('ThumbnailService.generateForItem', () { - test('produces 256-px PNG for large external image', () async { - final src = File(p.join(externalDir.path, 'big.png')) - ..writeAsBytesSync(makePng(width: 1024, height: 512)); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNotNull); - expect( - result!.thumbPath, - equals(p.join(imagesDir.path, 'item-1_thumb.png')), - ); - expect(File(result.thumbPath).existsSync(), isTrue); - - final decoded = img.decodePng(File(result.thumbPath).readAsBytesSync()); - expect(decoded, isNotNull); - expect(decoded!.width, equals(256)); - expect(decoded.height, equals(128)); - }); - - test('does not upscale small images', () async { - final src = File(p.join(externalDir.path, 'small.png')) - ..writeAsBytesSync(makePng(width: 64, height: 32)); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNotNull); - final decoded = img.decodePng(File(result!.thumbPath).readAsBytesSync()); - expect(decoded!.width, equals(64)); - expect(decoded.height, equals(32)); - }); - - test('records source mtime in result', () async { - final src = File(p.join(externalDir.path, 'mtime.png')) - ..writeAsBytesSync(makePng()); - final mtime = src.statSync().modified.toUtc(); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNotNull); - expect(result!.sourceModifiedAt, equals(mtime)); - }); - - test('returns null for non-image items', () async { - final src = File(p.join(externalDir.path, 'unused.png')) - ..writeAsBytesSync(makePng()); - final item = ClipboardItem( - id: 'text-1', - content: src.path, - type: ClipboardContentType.text, - ); - - expect(await service.generateForItem(item), isNull); - }); - - test('returns null when source file does not exist', () async { - final item = imageItem(p.join(externalDir.path, 'missing.png')); - expect(await service.generateForItem(item), isNull); - }); - - test('returns null when content is empty', () async { - final item = ClipboardItem( - id: 'empty', - content: '', - type: ClipboardContentType.image, - ); - expect(await service.generateForItem(item), isNull); - }); - - test( - 'returns null for multi-path content (drag of multiple files)', - () async { - final a = File(p.join(externalDir.path, 'a.png')) - ..writeAsBytesSync(makePng()); - final b = File(p.join(externalDir.path, 'b.png')) - ..writeAsBytesSync(makePng()); - final item = ClipboardItem( - id: 'multi', - content: '${a.path}\n${b.path}', - type: ClipboardContentType.image, - ); - - expect(await service.generateForItem(item), isNull); - }, - ); - - test('skips snippets owned by imagesPath', () async { - // A snippet captured by the image processing queue would already - // live inside imagesPath. We do not create thumbs for those. - final snippet = File(p.join(imagesDir.path, 'snippet.png')) - ..writeAsBytesSync(makePng(width: 1024, height: 1024)); - final item = imageItem(snippet.path, id: 'snip'); - - expect(await service.generateForItem(item), isNull); - expect( - File(p.join(imagesDir.path, 'snip_thumb.png')).existsSync(), - isFalse, - ); - }); - - test('returns null for unreadable / non-image bytes', () async { - final src = File(p.join(externalDir.path, 'garbage.png')) - ..writeAsBytesSync(Uint8List.fromList(List.filled(64, 0xAB))); - - expect(await service.generateForItem(imageItem(src.path)), isNull); - }); - - test('returns null when source exceeds maxSourceBytes', () async { - final smallService = ThumbnailService( - imagesPath: imagesDir.path, - maxSourceBytes: 16, - ); - final src = File(p.join(externalDir.path, 'too_big.png')) - ..writeAsBytesSync(makePng(width: 32, height: 32)); - - expect(await smallService.generateForItem(imageItem(src.path)), isNull); - }); - - test('writes thumb only inside imagesPath', () async { - final src = File(p.join(externalDir.path, 'safe.png')) - ..writeAsBytesSync(makePng()); - - final result = await service.generateForItem(imageItem(src.path)); - expect(result, isNotNull); - expect( - p.isWithin(imagesDir.path, result!.thumbPath), - isTrue, - reason: 'thumb must live inside imagesPath', - ); - }); - }); - - group('ThumbnailService isTypeEnabled gate (PR #10)', () { - test('skips generation when callback returns false for the type', () async { - service.isTypeEnabled = (_) => false; - final src = File(p.join(externalDir.path, 'gated.png')) - ..writeAsBytesSync(makePng()); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNull); - expect(service.acceptsType(ClipboardContentType.image), isFalse); - }); - - test('proceeds when callback returns true', () async { - service.isTypeEnabled = (_) => true; - final src = File(p.join(externalDir.path, 'allowed.png')) - ..writeAsBytesSync(makePng()); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNotNull); - expect(service.acceptsType(ClipboardContentType.image), isTrue); - }); - - test('mutating the gate is honored on the next call', () async { - final src = File(p.join(externalDir.path, 'mutating.png')) - ..writeAsBytesSync(makePng()); - - service.isTypeEnabled = (_) => false; - expect(await service.generateForItem(imageItem(src.path)), isNull); - - service.isTypeEnabled = (_) => true; - expect(await service.generateForItem(imageItem(src.path)), isNotNull); - }); - }); - - group('ThumbnailService.acceptsType with nativeProvider', () { - test('returns true for audio when nativeProvider is set', () { - final nativeService = ThumbnailService( - imagesPath: imagesDir.path, - nativeProvider: const NoopNativeThumbnailProvider(), - ); - expect(nativeService.acceptsType(ClipboardContentType.audio), isTrue); - }); - }); - - group('ThumbnailService._downscale portrait image', () { - test('constrains height when image is taller than maxDimension', () async { - // Portrait: width=64, height=512 — height > maxDimension(256) so - // _downscale uses copyResize(src, height: maxDim) branch (line 215). - final portraitImage = img.Image(width: 64, height: 512); - for (var x = 0; x < 64; x++) { - for (var y = 0; y < 512; y++) { - portraitImage.setPixelRgb(x, y, x * 4, y ~/ 2, 128); - } - } - final pngBytes = Uint8List.fromList(img.encodePng(portraitImage)); - final src = File(p.join(externalDir.path, 'portrait.png')) - ..writeAsBytesSync(pngBytes); - - final result = await service.generateForItem(imageItem(src.path)); - - expect(result, isNotNull); - final thumb = img.decodePng(await File(result!.thumbPath).readAsBytes())!; - expect(thumb.height, lessThanOrEqualTo(256)); - expect(thumb.height, greaterThan(thumb.width)); - }); - }); -} diff --git a/crates/cp-core/Cargo.toml b/crates/cp-core/Cargo.toml new file mode 100644 index 00000000..63644c64 --- /dev/null +++ b/crates/cp-core/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "cp-core" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +publish = false + +[dependencies] +thiserror.workspace = true +unicode-normalization.workspace = true + +[lints] +workspace = true diff --git a/crates/cp-core/src/lib.rs b/crates/cp-core/src/lib.rs new file mode 100644 index 00000000..c0d77af8 --- /dev/null +++ b/crates/cp-core/src/lib.rs @@ -0,0 +1,8 @@ +pub mod search; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Kind { + Text, + Image, + Files, +} diff --git a/crates/cp-core/src/search.rs b/crates/cp-core/src/search.rs new file mode 100644 index 00000000..6be482c8 --- /dev/null +++ b/crates/cp-core/src/search.rs @@ -0,0 +1,41 @@ +use unicode_normalization::UnicodeNormalization; + +pub fn fold(input: &str) -> String { + input + .nfkd() + .filter(|c| !is_combining_mark(*c)) + .flat_map(expand_ligature) + .flat_map(char::to_lowercase) + .collect() +} + +fn is_combining_mark(c: char) -> bool { + matches!(c as u32, 0x0300..=0x036F | 0x1AB0..=0x1AFF | 0x20D0..=0x20FF) +} + +fn expand_ligature(c: char) -> std::vec::IntoIter { + let expanded: Vec = match c { + 'ß' => vec!['s', 's'], + 'æ' | 'Æ' => vec!['a', 'e'], + 'œ' | 'Œ' => vec!['o', 'e'], + 'ø' | 'Ø' => vec!['o'], + 'ł' | 'Ł' => vec!['l'], + 'đ' | 'Đ' => vec!['d'], + 'þ' | 'Þ' => vec!['t', 'h'], + other => vec![other], + }; + expanded.into_iter() +} + +#[cfg(test)] +mod tests { + use super::fold; + + #[test] + fn folds_both_sides_of_the_index() { + assert_eq!(fold("Straße"), "strasse"); + assert_eq!(fold("encyclopædia"), "encyclopaedia"); + assert_eq!(fold("Łódź"), "lodz"); + assert_eq!(fold("el café"), "el cafe"); + } +} diff --git a/crates/cp-mac-sys/Cargo.toml b/crates/cp-mac-sys/Cargo.toml new file mode 100644 index 00000000..9db33daa --- /dev/null +++ b/crates/cp-mac-sys/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "cp-mac-sys" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +publish = false + +[target.'cfg(target_os = "macos")'.dependencies] +objc2.workspace = true +objc2-foundation.workspace = true +objc2-app-kit.workspace = true +objc2-core-graphics.workspace = true + +[lints.rust] +unsafe_code = "allow" + +[lints.clippy] +all = { level = "deny", priority = -1 } +undocumented_unsafe_blocks = "deny" +multiple_unsafe_ops_per_block = "deny" diff --git a/crates/cp-mac-sys/src/lib.rs b/crates/cp-mac-sys/src/lib.rs new file mode 100644 index 00000000..76d88c64 --- /dev/null +++ b/crates/cp-mac-sys/src/lib.rs @@ -0,0 +1,3 @@ +#![cfg(target_os = "macos")] + +pub mod pasteboard; diff --git a/crates/cp-mac-sys/src/pasteboard.rs b/crates/cp-mac-sys/src/pasteboard.rs new file mode 100644 index 00000000..2f8b29ae --- /dev/null +++ b/crates/cp-mac-sys/src/pasteboard.rs @@ -0,0 +1,8 @@ +use objc2_app_kit::NSPasteboard; +use objc2_foundation::MainThreadMarker; + +/// `NSPasteboard` tiene un fallo de concurrencia con file promises, así que solo +/// se toca desde el hilo principal: el `MainThreadMarker` lo obliga en compilación. +pub fn change_count(_mtm: MainThreadMarker) -> isize { + NSPasteboard::generalPasteboard().changeCount() +} diff --git a/crates/cp-mac/Cargo.toml b/crates/cp-mac/Cargo.toml new file mode 100644 index 00000000..50b3e76e --- /dev/null +++ b/crates/cp-mac/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "cp-mac" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +publish = false + +[target.'cfg(target_os = "macos")'.dependencies] +cp-core.workspace = true +cp-mac-sys.workspace = true +thiserror.workspace = true + +[lints] +workspace = true diff --git a/crates/cp-mac/src/lib.rs b/crates/cp-mac/src/lib.rs new file mode 100644 index 00000000..1164671b --- /dev/null +++ b/crates/cp-mac/src/lib.rs @@ -0,0 +1,5 @@ +#![cfg(target_os = "macos")] + +/// El pegado nunca se intenta sin el destino en primer plano: medido el +/// 12/09/2026, ni `CGEventPostToPid` ni `AXPress` entregan a una app de fondo. +pub const REQUIRES_FOREGROUND_TARGET: bool = true; diff --git a/crates/cp-store/Cargo.toml b/crates/cp-store/Cargo.toml new file mode 100644 index 00000000..435f3e1b --- /dev/null +++ b/crates/cp-store/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "cp-store" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +repository.workspace = true +publish = false + +[dependencies] +cp-core.workspace = true +rusqlite.workspace = true +blake3.workspace = true +thiserror.workspace = true + +[lints] +workspace = true diff --git a/crates/cp-store/src/lib.rs b/crates/cp-store/src/lib.rs new file mode 100644 index 00000000..a71a0b4d --- /dev/null +++ b/crates/cp-store/src/lib.rs @@ -0,0 +1 @@ +pub const SCHEMA_VERSION: u32 = 1; diff --git a/deny.toml b/deny.toml new file mode 100644 index 00000000..28e86d0d --- /dev/null +++ b/deny.toml @@ -0,0 +1,23 @@ +[advisories] +yanked = "deny" + +[licenses] +allow = [ + "GPL-3.0", + "Apache-2.0", + "MIT", + "BSD-2-Clause", + "BSD-3-Clause", + "ISC", + "Unicode-3.0", + "Zlib", +] +confidence-threshold = 0.9 + +[bans] +multiple-versions = "warn" +wildcards = "deny" + +[sources] +unknown-registry = "deny" +unknown-git = "deny" diff --git a/core/lib/config/.gitkeep b/fixtures/.gitkeep similarity index 100% rename from core/lib/config/.gitkeep rename to fixtures/.gitkeep diff --git a/listener/.gitignore b/listener/.gitignore deleted file mode 100644 index b9d7f25b..00000000 --- a/listener/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.build/ -.buildlog/ -.history -.svn/ -.swiftpm/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.flutter-plugins-dependencies -/build/ -/coverage/ diff --git a/listener/.metadata b/listener/.metadata deleted file mode 100644 index 2667e966..00000000 --- a/listener/.metadata +++ /dev/null @@ -1,33 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "48c32af0345e9ad5747f78ddce828c7f795f7159" - channel: "stable" - -project_type: plugin - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - platform: macos - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - platform: windows - create_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - base_revision: 48c32af0345e9ad5747f78ddce828c7f795f7159 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/listener/analysis_options.yaml b/listener/analysis_options.yaml deleted file mode 100644 index 5e2133eb..00000000 --- a/listener/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: ../analysis_options.yaml diff --git a/listener/lib/base_native_thumbnail_provider.dart b/listener/lib/base_native_thumbnail_provider.dart deleted file mode 100644 index 20babada..00000000 --- a/listener/lib/base_native_thumbnail_provider.dart +++ /dev/null @@ -1,74 +0,0 @@ -// coverage:ignore-file -import 'dart:async'; -import 'dart:ui' as ui show PlatformDispatcher; - -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; - -/// Shared bridge to the native `getNativeThumbnail` handler. Subclasses only -/// declare which platform they serve, a debug label, and (optionally) how to -/// map a platform-specific error code to a dedicated log line. -abstract class BaseNativeThumbnailProvider implements NativeThumbnailProvider { - BaseNativeThumbnailProvider({MethodChannel? channel}) - : channel = channel ?? const MethodChannel('copypaste/clipboard_writer'); - - final MethodChannel channel; - - bool get isCurrentPlatform; - - String get debugLabel; - - /// Returns true when the error was already logged with a dedicated message, - /// so the generic warning is skipped. - bool handlePlatformException(PlatformException e, String path) => false; - - @override - Future request(String path, {int sizePx = 256}) async { - if (!isCurrentPlatform) return null; - if (path.isEmpty || sizePx <= 0) return null; - - final scaled = (sizePx * _maxDevicePixelRatio()).round().clamp(64, 1024); - - try { - final result = await channel.invokeMethod( - 'getNativeThumbnail', - {'path': path, 'sizePx': scaled}, - ); - if (result is Uint8List && result.isNotEmpty) { - AppLogger.info( - '[NativeThumb] OK ${result.length}B for $path (size=$scaled)', - ); - return result; - } - if (result is List && result.isNotEmpty) { - AppLogger.info( - '[NativeThumb] OK ${result.length}B for $path (size=$scaled)', - ); - return Uint8List.fromList(result); - } - AppLogger.info('[NativeThumb] empty for $path (size=$scaled)'); - return null; - } on PlatformException catch (e, s) { - if (!handlePlatformException(e, path)) { - AppLogger.warn( - '$debugLabel: platform error: ${e.code} ${e.message}\n$s', - ); - } - return null; - } on MissingPluginException { - return null; - } - } - - /// Largest device pixel ratio across connected displays, so the OS produces a - /// bitmap big enough for the sharpest screen. - double _maxDevicePixelRatio() { - final views = ui.PlatformDispatcher.instance.views; - if (views.isEmpty) return 1.0; - var maxRatio = 1.0; - for (final view in views) { - if (view.devicePixelRatio > maxRatio) maxRatio = view.devicePixelRatio; - } - return maxRatio; - } -} diff --git a/listener/lib/clipboard_event.dart b/listener/lib/clipboard_event.dart deleted file mode 100644 index e7d48eae..00000000 --- a/listener/lib/clipboard_event.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'dart:typed_data'; - -import 'package:core/core.dart'; - -class ClipboardEvent { - const ClipboardEvent({ - required this.type, - required this.contentHash, - this.text, - this.bytes, - this.files, - this.source, - this.rtfBytes, - this.htmlBytes, - }); - - factory ClipboardEvent.fromMap(Map map) { - final typeVal = map['type'] as int? ?? -1; - return ClipboardEvent( - type: ClipboardContentType.fromValue(typeVal), - contentHash: map['contentHash'] as String? ?? '', - text: map['text'] as String?, - bytes: map['bytes'] as Uint8List?, - files: (map['files'] as List?)?.whereType().toList(), - source: map['source'] as String?, - rtfBytes: map['rtf'] as Uint8List?, - htmlBytes: map['html'] as Uint8List?, - ); - } - - final ClipboardContentType type; - - final String contentHash; - - final String? text; - - final Uint8List? bytes; - - final List? files; - - final String? source; - - final Uint8List? rtfBytes; - - final Uint8List? htmlBytes; -} diff --git a/listener/lib/clipboard_listener.dart b/listener/lib/clipboard_listener.dart deleted file mode 100644 index dea9c851..00000000 --- a/listener/lib/clipboard_listener.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:flutter/services.dart'; - -import 'clipboard_event.dart'; - -class ClipboardListener { - static const EventChannel _channel = EventChannel('copypaste/clipboard'); - - late final Stream onEvent = _channel - .receiveBroadcastStream() - .where((dynamic event) => event is Map) - .map((dynamic event) { - final map = Map.from(event as Map); - return ClipboardEvent.fromMap(map); - }); -} diff --git a/listener/lib/clipboard_writer.dart b/listener/lib/clipboard_writer.dart deleted file mode 100644 index 34e1e3d6..00000000 --- a/listener/lib/clipboard_writer.dart +++ /dev/null @@ -1,206 +0,0 @@ -import 'dart:convert'; - -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; - -class ClipboardWriter { - static const MethodChannel _channel = MethodChannel( - 'copypaste/clipboard_writer', - ); - - static Future setText( - String content, { - String? metadata, - bool plainText = false, - }) async { - final args = { - 'type': 0, - 'content': content, - 'plainText': plainText, - }; - - if (!plainText && metadata != null && metadata.isNotEmpty) { - try { - final json = jsonDecode(metadata) as Map; - final rtfB64 = json['rtf'] as String?; - if (rtfB64 != null && rtfB64.isNotEmpty) { - args['rtf'] = base64Decode(rtfB64); - } - final htmlB64 = json['html'] as String?; - if (htmlB64 != null && htmlB64.isNotEmpty) { - args['html'] = base64Decode(htmlB64); - } - } catch (e) { - AppLogger.error('ClipboardWriter metadata parse error: $e'); - } - } - - final result = await _channel.invokeMethod( - 'setClipboardContent', - args, - ); - return result ?? false; - } - - static Future setImage(String imagePath) async { - final result = await _channel.invokeMethod( - 'setClipboardContent', - {'type': 1, 'content': imagePath}, - ); - return result ?? false; - } - - /// Starts a native OLE drag offering [paths] as CF_HDROP items. A drop target - /// (e.g. a browser upload zone) receives the files with their real, unique - /// names, sidestepping the fixed "image.png" Chromium assigns to pasted - /// bitmaps. The native call blocks until the drag ends; resolves true when the - /// files were dropped onto a target. - static Future startFileDrag(List paths) async { - if (paths.isEmpty) return false; - try { - final result = await _channel.invokeMethod( - 'startFileDrag', - {'paths': paths}, - ); - return result ?? false; - } catch (e) { - AppLogger.error('ClipboardWriter.startFileDrag failed: $e'); - return false; - } - } - - static Future setFiles(String content, int typeValue) async { - final result = await _channel.invokeMethod( - 'setClipboardContent', - {'type': typeValue, 'content': content}, - ); - return result ?? false; - } - - static Future setFromItem({ - required int typeValue, - required String content, - String? metadata, - bool plainText = false, - }) async { - switch (typeValue) { - case 0: - case 4: - return setText(content, metadata: metadata, plainText: plainText); - case 1: - return setImage(content); - case 2: - case 3: - case 5: - case 6: - return setFiles(content, typeValue); - default: - return setText(content, plainText: true); - } - } - - static Future?> getMediaInfo(String path) async { - try { - final result = await _channel.invokeMapMethod( - 'getMediaInfo', - {'path': path}, - ); - return result; - } catch (e) { - AppLogger.error('ClipboardWriter.getMediaInfo failed: $e'); - return null; - } - } - - static Future captureFrontmostApp() async { - try { - return await _channel.invokeMethod('captureFrontmostApp'); - } catch (e) { - AppLogger.error('ClipboardWriter.captureFrontmostApp failed: $e'); - return null; - } - } - - static Future activateAndPaste({ - required String bundleId, - required int delayMs, - int focusTimeoutMs = 250, - }) async { - try { - final result = await _channel.invokeMethod( - 'activateAndPaste', - { - 'bundleId': bundleId, - 'delayMs': delayMs, - 'focusTimeoutMs': focusTimeoutMs, - }, - ); - if (result is Map) { - final map = Map.from(result); - return PasteResponse( - success: map['success'] == true, - errorCode: map['errorCode'] as String?, - ); - } - return PasteResponse(success: result == true); - } on PlatformException catch (e) { - if (e.code == 'ACCESSIBILITY_DENIED') rethrow; - AppLogger.error( - 'ClipboardWriter.activateAndPaste platform failure ' - '[${e.code}]: ${e.message}', - ); - return const PasteResponse(success: false, errorCode: 'platformError'); - } catch (e) { - AppLogger.error('ClipboardWriter.activateAndPaste failed: $e'); - return const PasteResponse(success: false, errorCode: 'unknown'); - } - } - - static Future?> getCursorAndScreenInfo() async { - try { - final result = await _channel.invokeMapMethod( - 'getCursorAndScreenInfo', - ); - if (result == null) return null; - return result.map((k, v) => MapEntry(k, (v as num).toDouble())); - } catch (e) { - AppLogger.error('ClipboardWriter.getCursorAndScreenInfo failed: $e'); - return null; - } - } - - static Future checkAccessibility() async { - try { - final result = await _channel.invokeMethod('checkAccessibility'); - return result ?? false; - } catch (e) { - AppLogger.error('ClipboardWriter.checkAccessibility failed: $e'); - return false; - } - } - - static Future requestAccessibility() async { - try { - final result = await _channel.invokeMethod('requestAccessibility'); - return result ?? false; - } catch (e) { - AppLogger.error('ClipboardWriter.requestAccessibility failed: $e'); - return false; - } - } - - static Future openAccessibilitySettings() async { - try { - await _channel.invokeMethod('openAccessibilitySettings'); - } catch (e) { - AppLogger.error('ClipboardWriter.openAccessibilitySettings failed: $e'); - } - } -} - -class PasteResponse { - const PasteResponse({required this.success, this.errorCode}); - - final bool success; - final String? errorCode; -} diff --git a/listener/lib/listener.dart b/listener/lib/listener.dart deleted file mode 100644 index 5b4c8ac7..00000000 --- a/listener/lib/listener.dart +++ /dev/null @@ -1,5 +0,0 @@ -export 'clipboard_event.dart'; -export 'clipboard_listener.dart'; -export 'clipboard_writer.dart'; -export 'macos_native_thumbnail_provider.dart'; -export 'windows_native_thumbnail_provider.dart'; diff --git a/listener/lib/macos_native_thumbnail_provider.dart b/listener/lib/macos_native_thumbnail_provider.dart deleted file mode 100644 index 63be513f..00000000 --- a/listener/lib/macos_native_thumbnail_provider.dart +++ /dev/null @@ -1,34 +0,0 @@ -// coverage:ignore-file -import 'dart:io' show Platform; - -import 'package:core/core.dart'; -import 'package:flutter/services.dart'; - -import 'base_native_thumbnail_provider.dart'; - -/// macOS-backed [BaseNativeThumbnailProvider]. The native handler uses -/// `QLThumbnailGenerator.generateBestRepresentation(for:)` and re-encodes the -/// representation as PNG. -/// -/// TCC: when macOS denies access to the source file (`~/Documents`, -/// `~/Downloads`, `~/Desktop`, iCloud Drive, etc.), the native handler surfaces -/// a `permissionDenied` PlatformException; it is logged distinctly so the UI -/// can render a TCC-specific message instead of a generic "file not found". -class MacOSNativeThumbnailProvider extends BaseNativeThumbnailProvider { - MacOSNativeThumbnailProvider({super.channel}); - - @override - bool get isCurrentPlatform => Platform.isMacOS; - - @override - String get debugLabel => 'MacOSNativeThumbnailProvider'; - - @override - bool handlePlatformException(PlatformException e, String path) { - if (e.code == 'permissionDenied') { - AppLogger.warn('[NativeThumb] TCC denied for $path: ${e.message}'); - return true; - } - return false; - } -} diff --git a/listener/lib/windows_native_thumbnail_provider.dart b/listener/lib/windows_native_thumbnail_provider.dart deleted file mode 100644 index 16f6bf52..00000000 --- a/listener/lib/windows_native_thumbnail_provider.dart +++ /dev/null @@ -1,19 +0,0 @@ -// coverage:ignore-file -import 'dart:io' show Platform; - -import 'base_native_thumbnail_provider.dart'; - -/// Windows-backed [BaseNativeThumbnailProvider]. The native handler uses -/// `IShellItemImageFactory::GetImage(SIIGBF_THUMBNAILONLY | SIIGBF_INCACHEONLY)` -/// and re-encodes the resulting bitmap as PNG before returning the bytes. -/// The C++ side enforces a 64-px minimum heuristic to reject generic -/// file-type icons. -class WindowsNativeThumbnailProvider extends BaseNativeThumbnailProvider { - WindowsNativeThumbnailProvider({super.channel}); - - @override - bool get isCurrentPlatform => Platform.isWindows; - - @override - String get debugLabel => 'WindowsNativeThumbnailProvider'; -} diff --git a/listener/macos/Classes/ListenerPlugin.swift b/listener/macos/Classes/ListenerPlugin.swift deleted file mode 100644 index d286ae6d..00000000 --- a/listener/macos/Classes/ListenerPlugin.swift +++ /dev/null @@ -1,729 +0,0 @@ -import Cocoa -import FlutterMacOS -import AVFoundation -import ApplicationServices -import QuickLookThumbnailing - -public class ListenerPlugin: NSObject, FlutterPlugin { - - private var eventSink: FlutterEventSink? - private var pollingTimer: Timer? - private var lastChangeCount: Int = 0 - private var lastContentHash: String = "" - private var lastChangeTick: UInt64 = 0 - private var lastForeignBundleId: String? - private var activationObserver: NSObjectProtocol? - - private static let debounceMs: UInt64 = 250 - private static let pollingIntervalSec: TimeInterval = 0.25 - - public static func register(with registrar: FlutterPluginRegistrar) { - let instance = ListenerPlugin() - instance.startTrackingActivation() - - let eventChannel = FlutterEventChannel( - name: "copypaste/clipboard", - binaryMessenger: registrar.messenger - ) - eventChannel.setStreamHandler(instance) - - let methodChannel = FlutterMethodChannel( - name: "copypaste/clipboard_writer", - binaryMessenger: registrar.messenger - ) - methodChannel.setMethodCallHandler(instance.handleMethodCall) - } - - // MARK: - Paste Destination Tracking - - /// Unlike Windows, hiding the panel on macOS is `orderOut`, which leaves - /// CopyPaste the active application. Reading frontmostApplication at that - /// point captures ourselves and the paste is delivered back to the panel, - /// so the last application that was not us is tracked separately. - private func startTrackingActivation() { - activationObserver = NSWorkspace.shared.notificationCenter.addObserver( - forName: NSWorkspace.didActivateApplicationNotification, - object: nil, - queue: .main - ) { [weak self] notification in - guard let app = notification.userInfo?[NSWorkspace.applicationUserInfoKey] - as? NSRunningApplication else { return } - if app.processIdentifier == ProcessInfo.processInfo.processIdentifier { - return - } - if let bundleId = app.bundleIdentifier { - self?.lastForeignBundleId = bundleId - } - } - } - - private func captureDestinationBundleId() -> String? { - let front = NSWorkspace.shared.frontmostApplication - let isSelf = - front?.processIdentifier == ProcessInfo.processInfo.processIdentifier - if let bundleId = front?.bundleIdentifier, !isSelf { - lastForeignBundleId = bundleId - return bundleId - } - return lastForeignBundleId - } - - deinit { - if let observer = activationObserver { - NSWorkspace.shared.notificationCenter.removeObserver(observer) - } - } - - // MARK: - Method Channel Handler - - private func handleMethodCall(call: FlutterMethodCall, result: @escaping FlutterResult) { - switch call.method { - case "setClipboardContent": - handleSetClipboard(call: call, result: result) - case "getMediaInfo": - handleGetMediaInfo(call: call, result: result) - case "getNativeThumbnail": - handleGetNativeThumbnail(call: call, result: result) - case "captureFrontmostApp": - result(captureDestinationBundleId()) - case "activateAndPaste": - handleActivateAndPaste(call: call, result: result) - case "getCursorAndScreenInfo": - handleCursorAndScreenInfo(result: result) - case "checkAccessibility": - result(AXIsProcessTrusted()) - case "requestAccessibility": - let options = [ - kAXTrustedCheckOptionPrompt.takeUnretainedValue(): true, - ] as CFDictionary - result(AXIsProcessTrustedWithOptions(options)) - case "openAccessibilitySettings": - if #available(macOS 13.0, *) { - NSWorkspace.shared.open( - URL(string: "x-apple.systempreferences:com.apple.settings.PrivacySecurity.extension?Privacy_Accessibility")! - ) - } else { - NSWorkspace.shared.open( - URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")! - ) - } - result(true) - default: - result(FlutterMethodNotImplemented) - } - } - - // MARK: - Clipboard Monitoring - - private func startPolling() { - lastChangeCount = NSPasteboard.general.changeCount - pollingTimer = Timer.scheduledTimer( - withTimeInterval: ListenerPlugin.pollingIntervalSec, - repeats: true - ) { [weak self] _ in - self?.checkClipboard() - } - } - - private func stopPolling() { - pollingTimer?.invalidate() - pollingTimer = nil - } - - private func checkClipboard() { - let pb = NSPasteboard.general - let currentCount = pb.changeCount - guard currentCount != lastChangeCount else { return } - lastChangeCount = currentCount - onClipboardChanged() - } - - /// Pasteboard types whose presence means "do not record this". - /// - /// `ConcealedType` is what password managers set to keep their output out of - /// clipboard history. It is the mechanism behind the exclusion CopyPaste - /// promises, and the macOS counterpart of Windows' - /// `ExcludeClipboardContentFromMonitorProcessing`. `TransientType` marks - /// content the source application explicitly does not want persisted. - private static let excludedTypes: [NSPasteboard.PasteboardType] = [ - NSPasteboard.PasteboardType("org.nspasteboard.ConcealedType"), - NSPasteboard.PasteboardType("org.nspasteboard.TransientType"), - ] - - private func shouldExclude(_ pb: NSPasteboard) -> Bool { - return pb.availableType(from: Self.excludedTypes) != nil - } - - private func onClipboardChanged() { - let pb = NSPasteboard.general - - // Checked before anything reads the content, so excluded data never - // reaches the hash, the event, or the database. - if shouldExclude(pb) { return } - - let hash = computeClipboardHash(pb) - if !hash.isEmpty && isDuplicate(hash) { return } - - let source = getClipboardSource() - - var event: [String: Any]? - - if let fileUrls = pb.readObjects(forClasses: [NSURL.self], options: [ - .urlReadingFileURLsOnly: true, - ]) as? [URL], !fileUrls.isEmpty { - event = buildFileEvent(fileUrls: fileUrls, source: source, hash: hash) - } else if let text = pb.string(forType: .string), !text.isEmpty { - event = buildTextEvent(pb: pb, text: text, source: source, hash: hash) - } else if let tiffData = pb.data(forType: .tiff), !tiffData.isEmpty { - event = buildImageEvent(imageData: tiffData, source: source, hash: hash) - } - - guard let eventMap = event else { return } - DispatchQueue.main.async { [weak self] in - self?.eventSink?(eventMap) - } - } - - // MARK: - Event Builders - - private func buildTextEvent( - pb: NSPasteboard, - text: String, - source: String, - hash: String - ) -> [String: Any] { - let isUrl = Self.isUrl(text) - let eventType: Int = isUrl ? 4 : 0 - - var event: [String: Any] = [ - "type": eventType, - "text": text, - "source": source, - "contentHash": hash, - ] - - if let rtfData = pb.data(forType: .rtf), !rtfData.isEmpty { - event["rtf"] = FlutterStandardTypedData(bytes: rtfData) - } - if let htmlData = pb.data(forType: .html), !htmlData.isEmpty { - event["html"] = FlutterStandardTypedData(bytes: htmlData) - } - - return event - } - - private func buildImageEvent( - imageData: Data, - source: String, - hash: String - ) -> [String: Any] { - guard let bitmap = NSBitmapImageRep(data: imageData) else { return [:] } - guard let bmpData = bitmap.representation(using: .bmp, properties: [:]) else { return [:] } - - return [ - "type": 1, - "bytes": FlutterStandardTypedData(bytes: bmpData), - "source": source, - "contentHash": hash, - ] - } - - private func buildFileEvent( - fileUrls: [URL], - source: String, - hash: String - ) -> [String: Any] { - let paths = fileUrls.map { $0.path } - var eventType = 2 - - if fileUrls.count == 1 { - eventType = Self.detectFileType(url: fileUrls[0]) - } - - return [ - "type": eventType, - "files": paths, - "source": source, - "contentHash": hash, - ] - } - - // MARK: - Deduplication - - private func isDuplicate(_ hash: String) -> Bool { - let now = DispatchTime.now().uptimeNanoseconds / 1_000_000 - if hash == lastContentHash && (now - lastChangeTick) < ListenerPlugin.debounceMs { - return true - } - lastContentHash = hash - lastChangeTick = now - return false - } - - private func computeClipboardHash(_ pb: NSPasteboard) -> String { - var signature = "" - - if let text = pb.string(forType: .string), !text.isEmpty { - let sample = text.count > 100 ? String(text.prefix(100)) : text - signature += "T:" + sample - } else if let fileUrls = pb.readObjects(forClasses: [NSURL.self], options: [ - .urlReadingFileURLsOnly: true, - ]) as? [URL], !fileUrls.isEmpty { - for url in fileUrls { - signature += "F:" + url.path + "|" - } - } else if let tiffData = pb.data(forType: .tiff), !tiffData.isEmpty { - // A head-only sample makes same-sized captures collide, and a collision - // silently discards the new image in processImage. - let blocks = 16 - let blockLen = min(tiffData.count, 64) - let span = tiffData.count - blockLen - // Offsets are relative to startIndex: a Data slice does not rebase to 0. - let base = tiffData.startIndex - var sampled = Data() - for b in 0.. String { - guard let frontApp = NSWorkspace.shared.frontmostApplication else { return "" } - return frontApp.localizedName ?? frontApp.bundleIdentifier ?? "" - } - - // MARK: - File Type Detection - - static func detectFileType(url: URL) -> Int { - var isDirectory: ObjCBool = false - if FileManager.default.fileExists(atPath: url.path, isDirectory: &isDirectory), - isDirectory.boolValue { - return 3 - } - - let ext = url.pathExtension.lowercased() - - let audioExts: Set = ["mp3", "wav", "flac", "aac", "ogg", "wma", "m4a"] - let videoExts: Set = ["mp4", "avi", "mkv", "mov", "wmv", "flv", "webm"] - let imageExts: Set = [ - "png", "jpg", "jpeg", "gif", "bmp", "webp", "svg", "ico", "tiff", "heic", - ] - - if audioExts.contains(ext) { return 5 } - if videoExts.contains(ext) { return 6 } - if imageExts.contains(ext) { return 1 } - return 2 - } - - // MARK: - URL Detection - - static func isUrl(_ text: String) -> Bool { - guard text.count >= 5 else { return false } - let lower = text.lowercased() - let prefixes = ["https://", "http://", "ftp://", "file:///", "mailto:"] - guard prefixes.contains(where: { lower.hasPrefix($0) }) else { return false } - return !text.contains(" ") && !text.contains("\n") - } - - // MARK: - FNV-1a Hash - - static func computeFnv1a(_ data: String) -> String { - var hash: UInt64 = 14695981039346656037 - for byte in data.utf8 { - hash ^= UInt64(byte) - hash &*= 1099511628211 - } - return String(hash, radix: 16) - } - - // MARK: - Set Clipboard Content - - private func handleSetClipboard(call: FlutterMethodCall, result: @escaping FlutterResult) { - guard let args = call.arguments as? [String: Any], - let type = args["type"] as? Int else { - result(FlutterError( - code: "invalid_args", message: "Expected map with 'type'", details: nil - )) - return - } - - let success: Bool - - switch type { - case 0, 4: - let content = args["content"] as? String ?? "" - let plainText = args["plainText"] as? Bool ?? (type == 4) - - var rtfData: Data? - var htmlData: Data? - if !plainText { - if let rtfTyped = args["rtf"] as? FlutterStandardTypedData { - rtfData = rtfTyped.data - } - if let htmlTyped = args["html"] as? FlutterStandardTypedData { - htmlData = htmlTyped.data - } - } - - success = setTextToClipboard(text: content, rtf: rtfData, html: htmlData) - - case 1: - let imagePath = args["content"] as? String ?? "" - success = setImageToClipboard(imagePath: imagePath) - - case 2, 3, 5, 6: - let content = args["content"] as? String ?? "" - let paths = content.split(separator: "\n").map(String.init).filter { !$0.isEmpty } - success = setFilesToClipboard(paths: paths) - - default: - success = false - } - - lastChangeCount = NSPasteboard.general.changeCount - result(success) - } - - private func setTextToClipboard(text: String, rtf: Data?, html: Data?) -> Bool { - guard !text.isEmpty else { return false } - let pb = NSPasteboard.general - pb.clearContents() - - var types: [NSPasteboard.PasteboardType] = [.string] - if let rtf, !rtf.isEmpty { types.append(.rtf) } - if let html, !html.isEmpty { types.append(.html) } - - pb.declareTypes(types, owner: nil) - pb.setString(text, forType: .string) - - if let rtf, !rtf.isEmpty { - pb.setData(rtf, forType: .rtf) - } - if let html, !html.isEmpty { - pb.setData(html, forType: .html) - } - - return true - } - - private func setImageToClipboard(imagePath: String) -> Bool { - guard !imagePath.isEmpty else { return false } - let url = URL(fileURLWithPath: imagePath) - guard let image = NSImage(contentsOf: url) else { return false } - guard let tiffData = image.tiffRepresentation else { return false } - - let pb = NSPasteboard.general - pb.clearContents() - pb.declareTypes([.tiff, .fileURL], owner: nil) - pb.setData(tiffData, forType: .tiff) - pb.setString(url.absoluteString, forType: .fileURL) - - return true - } - - private func setFilesToClipboard(paths: [String]) -> Bool { - guard !paths.isEmpty else { return false } - let urls = paths.compactMap { path -> URL? in - let url = URL(fileURLWithPath: path) - return FileManager.default.fileExists(atPath: url.path) ? url : nil - } - guard !urls.isEmpty else { return false } - - let pb = NSPasteboard.general - pb.clearContents() - pb.writeObjects(urls as [NSPasteboardWriting]) - - return true - } - - // MARK: - Activate & Paste (CGEvent) - - private func handleActivateAndPaste(call: FlutterMethodCall, result: @escaping FlutterResult) { - guard let args = call.arguments as? [String: Any], - let bundleId = args["bundleId"] as? String, - let delayMs = args["delayMs"] as? Int else { - result(Self.pasteFailure("invalidArguments")) - return - } - - if !AXIsProcessTrusted() { - result( - FlutterError( - code: "ACCESSIBILITY_DENIED", - message: "Accessibility permission not granted", - details: nil - ) - ) - return - } - - guard let app = NSRunningApplication.runningApplications( - withBundleIdentifier: bundleId - ).first else { - result(Self.pasteFailure("destinationGone")) - return - } - - app.activate() - - // focusTimeoutMs bounds how long we wait for the destination to come - // forward; delayMs is the settle time applied once it does. Conflating - // them, as this used to, means a generous paste delay silently becomes a - // longer wait and no settle at all. - let focusTimeoutMs = min(max(args["focusTimeoutMs"] as? Int ?? 250, 50), 2000) - let maxAttempts = max(focusTimeoutMs / 10, 5) - waitForFocusThenPaste( - bundleId: bundleId, - attempt: 0, - maxAttempts: maxAttempts, - settleMs: max(delayMs, 0), - result: result - ) - } - - private func waitForFocusThenPaste( - bundleId: String, - attempt: Int, - maxAttempts: Int, - settleMs: Int, - result: @escaping FlutterResult - ) { - if NSWorkspace.shared.frontmostApplication?.bundleIdentifier == bundleId { - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(settleMs)) { - self.simulatePaste(result: result) - } - return - } - - if attempt >= maxAttempts { - // Posting Cmd+V now would fire it at whatever app is frontmost instead. - result(Self.pasteFailure("focusTimeout")) - return - } - - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(10)) { - self.waitForFocusThenPaste( - bundleId: bundleId, - attempt: attempt + 1, - maxAttempts: maxAttempts, - settleMs: settleMs, - result: result - ) - } - } - - private static func pasteFailure(_ code: String) -> [String: Any] { - return ["success": false, "errorCode": code] - } - - private func simulatePaste(result: @escaping FlutterResult) { - let src = CGEventSource(stateID: .combinedSessionState) - let vKey: CGKeyCode = 0x09 - - guard let keyDown = CGEvent(keyboardEventSource: src, virtualKey: vKey, keyDown: true), - let keyUp = CGEvent(keyboardEventSource: src, virtualKey: vKey, keyDown: false) else { - result(Self.pasteFailure("eventCreationFailed")) - return - } - - keyDown.flags = .maskCommand - keyUp.flags = .maskCommand - keyDown.post(tap: .cghidEventTap) - keyUp.post(tap: .cghidEventTap) - result(["success": true]) - } - - // MARK: - Cursor & Screen Info - - private func handleCursorAndScreenInfo(result: @escaping FlutterResult) { - let mouseLocation = NSEvent.mouseLocation - guard let mainScreen = NSScreen.main else { - result(nil) - return - } - - let mainH = mainScreen.frame.height - let cursorX = mouseLocation.x - let cursorY = mainH - mouseLocation.y - - var info: [String: Double] = ["cursorX": cursorX, "cursorY": cursorY] - - for screen in NSScreen.screens { - if screen.frame.contains(mouseLocation) { - let vf = screen.visibleFrame - info["waLeft"] = vf.origin.x - info["waTop"] = mainH - vf.origin.y - vf.height - info["waRight"] = vf.origin.x + vf.width - info["waBottom"] = mainH - vf.origin.y - break - } - } - - if info["waLeft"] == nil { - let vf = mainScreen.visibleFrame - info["waLeft"] = vf.origin.x - info["waTop"] = mainH - vf.origin.y - vf.height - info["waRight"] = vf.origin.x + vf.width - info["waBottom"] = mainH - vf.origin.y - } - - result(info) - } - - // MARK: - Media Info - - private func handleGetMediaInfo(call: FlutterMethodCall, result: @escaping FlutterResult) { - guard let args = call.arguments as? [String: Any], - let path = args["path"] as? String else { - result(nil) - return - } - - guard FileManager.default.fileExists(atPath: path) else { - result(nil) - return - } - - let url = URL(fileURLWithPath: path) - var info: [String: Any] = [:] - let asset = AVURLAsset(url: url) - - let duration = CMTimeGetSeconds(asset.duration) - if duration.isFinite && duration > 0 { - info["duration"] = Int(duration) - } - - if let videoTrack = asset.tracks(withMediaType: .video).first { - let size = videoTrack.naturalSize - let transform = videoTrack.preferredTransform - let transformedSize = size.applying(transform) - info["video_width"] = Int(abs(transformedSize.width)) - info["video_height"] = Int(abs(transformedSize.height)) - } - - for item in asset.commonMetadata { - if item.commonKey == .commonKeyArtist, - let artist = item.stringValue, !artist.isEmpty { - info["artist"] = artist - } - if item.commonKey == .commonKeyTitle, - let title = item.stringValue, !title.isEmpty { - info["title"] = title - } - if item.commonKey == .commonKeyAlbumName, - let album = item.stringValue, !album.isEmpty { - info["album"] = album - } - } - - result(info.isEmpty ? nil : info) - } - - // MARK: - Native Thumbnails (QuickLook) - - private static let nativeThumbTimeoutSec: TimeInterval = 2.0 - private static let nativeThumbBarrier = DispatchQueue(label: "copypaste.nativeThumb.barrier") - - private final class OnceFlag { var done = false } - - private func handleGetNativeThumbnail(call: FlutterMethodCall, result: @escaping FlutterResult) { - guard let args = call.arguments as? [String: Any], - let path = args["path"] as? String, - !path.isEmpty, - let sizePx = args["sizePx"] as? Int, - sizePx > 0 else { - result(nil) - return - } - - let url = URL(fileURLWithPath: path) - guard FileManager.default.fileExists(atPath: url.path) else { - result(nil) - return - } - - // Dart side already pre-scales by devicePixelRatio. Treat the incoming - // value as pixels: pass `scale = 1.0` and a points size equal to the - // requested pixel side. This mirrors the Windows provider behavior so - // both platforms produce thumbs at the same effective resolution. - let pixelSide = CGFloat(sizePx) - let request = QLThumbnailGenerator.Request( - fileAt: url, - size: CGSize(width: pixelSide, height: pixelSide), - scale: 1.0, - representationTypes: .thumbnail - ) - - let flag = OnceFlag() - let returnOnce: (Any?) -> Void = { value in - ListenerPlugin.nativeThumbBarrier.async { - if flag.done { return } - flag.done = true - DispatchQueue.main.async { result(value) } - } - } - - DispatchQueue.global().asyncAfter(deadline: .now() + ListenerPlugin.nativeThumbTimeoutSec) { - QLThumbnailGenerator.shared.cancel(request) - returnOnce(nil) - } - - QLThumbnailGenerator.shared.generateBestRepresentation(for: request) { rep, error in - if let nsError = error as NSError? { - // TCC: distinguish permission denied so the UI can surface a - // specific message (Settings → Privacy & Security) instead of a - // generic "file not found". - if nsError.domain == NSCocoaErrorDomain && - nsError.code == NSFileReadNoPermissionError { - returnOnce( - FlutterError( - code: "permissionDenied", - message: "TCC permission denied for \(path)", - details: nil - ) - ) - return - } - returnOnce(nil) - return - } - guard let rep = rep else { - returnOnce(nil) - return - } - let nsImage = rep.nsImage - guard let tiff = nsImage.tiffRepresentation, - let bitmap = NSBitmapImageRep(data: tiff), - let png = bitmap.representation(using: .png, properties: [:]) else { - returnOnce(nil) - return - } - returnOnce(FlutterStandardTypedData(bytes: png)) - } - } -} - -// MARK: - FlutterStreamHandler - -extension ListenerPlugin: FlutterStreamHandler { - public func onListen( - withArguments arguments: Any?, - eventSink events: @escaping FlutterEventSink - ) -> FlutterError? { - eventSink = events - startPolling() - return nil - } - - public func onCancel(withArguments arguments: Any?) -> FlutterError? { - stopPolling() - eventSink = nil - return nil - } -} diff --git a/listener/macos/Resources/PrivacyInfo.xcprivacy b/listener/macos/Resources/PrivacyInfo.xcprivacy deleted file mode 100644 index 918d80be..00000000 --- a/listener/macos/Resources/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,12 +0,0 @@ - - - - - NSPrivacyTrackingDomains - - NSPrivacyCollectedDataTypes - - NSPrivacyTracking - - - diff --git a/listener/macos/listener.podspec b/listener/macos/listener.podspec deleted file mode 100644 index 13344d76..00000000 --- a/listener/macos/listener.podspec +++ /dev/null @@ -1,31 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint listener.podspec` to validate before publishing. -# -Pod::Spec.new do |s| - s.name = 'listener' - s.version = '0.0.1' - s.summary = 'A new Flutter plugin project.' - s.description = <<-DESC -A new Flutter plugin project. - DESC - s.homepage = 'http://example.com' - s.license = { :file => '../LICENSE' } - s.author = { 'Your Company' => 'email@example.com' } - - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' - - # If your plugin requires a privacy manifest, for example if it collects user - # data, update the PrivacyInfo.xcprivacy file to describe your plugin's - # privacy impact, and then uncomment this line. For more information, - # see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files - # s.resource_bundles = {'listener_privacy' => ['Resources/PrivacyInfo.xcprivacy']} - - s.dependency 'FlutterMacOS' - - s.platform = :osx, '10.15' - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } - s.swift_version = '5.0' - s.frameworks = ['AVFoundation', 'QuickLookThumbnailing'] -end diff --git a/listener/pubspec.yaml b/listener/pubspec.yaml deleted file mode 100644 index f2f1cbdf..00000000 --- a/listener/pubspec.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: listener -description: "CopyPaste — Clipboard listener plugin (native per OS)." -version: 0.0.1 -publish_to: 'none' -resolution: workspace - -environment: - sdk: ^3.11.1 - flutter: '>=3.3.0' - -dependencies: - flutter: - sdk: flutter - plugin_platform_interface: ^2.0.2 - core: - path: ../core - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^6.0.0 - -flutter: - plugin: - platforms: - macos: - pluginClass: ListenerPlugin - windows: - pluginClass: ListenerPluginCApi diff --git a/listener/test/clipboard_event_platform_test.dart b/listener/test/clipboard_event_platform_test.dart deleted file mode 100644 index e4f375b1..00000000 --- a/listener/test/clipboard_event_platform_test.dart +++ /dev/null @@ -1,262 +0,0 @@ -/// Platform-agnostic tests that verify ClipboardEvent parsing is robust -/// across all content types and unusual native payloads (Windows and macOS -/// both send `Map` via BasicMessageChannel). -library; - -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:listener/clipboard_event.dart'; -import 'package:core/core.dart'; - -void main() { - group('ClipboardEvent.fromMap – all content types', () { - test('parses type 0 as text', () { - final event = ClipboardEvent.fromMap({'type': 0, 'text': 'hello'}); - expect(event.type, equals(ClipboardContentType.text)); - expect(event.text, equals('hello')); - }); - - test('parses type 1 as image', () { - final bytes = Uint8List.fromList([137, 80, 78, 71]); - final event = ClipboardEvent.fromMap({'type': 1, 'bytes': bytes}); - expect(event.type, equals(ClipboardContentType.image)); - expect(event.bytes, isNotNull); - }); - - test('parses type 2 as file', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': ['/home/user/doc.pdf'], - }); - expect(event.type, equals(ClipboardContentType.file)); - expect(event.files, contains('/home/user/doc.pdf')); - }); - - test('parses type 3 as folder', () { - final event = ClipboardEvent.fromMap({ - 'type': 3, - 'files': ['/home/user/folder'], - }); - expect(event.type, equals(ClipboardContentType.folder)); - }); - - test('parses type 4 as link', () { - final event = ClipboardEvent.fromMap({ - 'type': 4, - 'text': 'https://example.com', - }); - expect(event.type, equals(ClipboardContentType.link)); - }); - - test('parses type 5 as audio', () { - final event = ClipboardEvent.fromMap({ - 'type': 5, - 'files': ['/music/song.mp3'], - }); - expect(event.type, equals(ClipboardContentType.audio)); - }); - - test('parses type 6 as video', () { - final event = ClipboardEvent.fromMap({ - 'type': 6, - 'files': ['/video/clip.mp4'], - }); - expect(event.type, equals(ClipboardContentType.video)); - }); - - test('parses type 7 as email', () { - final event = ClipboardEvent.fromMap({ - 'type': 7, - 'text': 'user@example.com', - }); - expect(event.type, equals(ClipboardContentType.email)); - }); - - test('parses type 8 as phone', () { - final event = ClipboardEvent.fromMap({ - 'type': 8, - 'text': '+1 800 555 0100', - }); - expect(event.type, equals(ClipboardContentType.phone)); - }); - - test('parses type 9 as color', () { - final event = ClipboardEvent.fromMap({'type': 9, 'text': '#FF5733'}); - expect(event.type, equals(ClipboardContentType.color)); - }); - - test('parses type 10 as ip', () { - final event = ClipboardEvent.fromMap({'type': 10, 'text': '192.168.1.1'}); - expect(event.type, equals(ClipboardContentType.ip)); - }); - - test('parses type 11 as uuid', () { - final event = ClipboardEvent.fromMap({ - 'type': 11, - 'text': '550e8400-e29b-41d4-a716-446655440000', - }); - expect(event.type, equals(ClipboardContentType.uuid)); - }); - - test('parses type 12 as json', () { - final event = ClipboardEvent.fromMap({ - 'type': 12, - 'text': '{"key":"value"}', - }); - expect(event.type, equals(ClipboardContentType.json)); - }); - - test('parses unknown type as unknown', () { - final event = ClipboardEvent.fromMap({'type': 999, 'text': 'anything'}); - expect(event.type, equals(ClipboardContentType.unknown)); - }); - }); - - group('ClipboardEvent.fromMap – source / contentHash', () { - test('parses source field', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'hello', - 'source': 'com.apple.finder', - }); - expect(event.source, equals('com.apple.finder')); - }); - - test('source is null when not provided', () { - final event = ClipboardEvent.fromMap({'type': 0, 'text': 'hi'}); - expect(event.source, isNull); - }); - - test('parses contentHash field', () { - final event = ClipboardEvent.fromMap({ - 'type': 1, - 'contentHash': 'sha256-abc', - }); - expect(event.contentHash, equals('sha256-abc')); - }); - - test('contentHash defaults to empty string when not provided', () { - final event = ClipboardEvent.fromMap({'type': 0, 'text': 'hello'}); - expect(event.contentHash, equals('')); - }); - }); - - group('ClipboardEvent.fromMap – RTF and HTML bytes', () { - // Native layer sends these under the keys 'rtf' and 'html' - test('parses rtfBytes from Uint8List (key: rtf)', () { - final rtf = Uint8List.fromList([0x7B, 0x5C, 0x72, 0x74, 0x66]); - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'rich', - 'rtf': rtf, - }); - expect(event.rtfBytes, equals(rtf)); - }); - - test('parses htmlBytes from Uint8List (key: html)', () { - final html = Uint8List.fromList([0x3C, 0x62, 0x3E]); - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'rich', - 'html': html, - }); - expect(event.htmlBytes, equals(html)); - }); - - test('rtfBytes is null when rtf key not provided', () { - final event = ClipboardEvent.fromMap({'type': 0, 'text': 'plain'}); - expect(event.rtfBytes, isNull); - }); - - test('htmlBytes is null when html key not provided', () { - final event = ClipboardEvent.fromMap({'type': 0, 'text': 'plain'}); - expect(event.htmlBytes, isNull); - }); - }); - - group('ClipboardEvent.fromMap – files list edge cases', () { - test('empty files list results in empty list', () { - final event = ClipboardEvent.fromMap({'type': 2, 'files': []}); - expect(event.files, isEmpty); - }); - - test('files list with multiple paths is preserved', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': ['/a/file1.txt', '/a/file2.txt', '/a/file3.txt'], - }); - expect(event.files, hasLength(3)); - }); - - test('non-string entries in files list are filtered out', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': ['/valid/path.txt', 42, null, '/other/path.txt'], - }); - // Only string entries must be kept — non-strings filtered by whereType - expect(event.files, hasLength(2)); - expect(event.files, containsAll(['/valid/path.txt', '/other/path.txt'])); - }); - - test('missing files field results in null', () { - final event = ClipboardEvent.fromMap({'type': 2}); - expect(event.files, isNull); - }); - }); - - group('ClipboardEvent.fromMap – defaults and missing fields', () { - test('missing type defaults to unknown', () { - final event = ClipboardEvent.fromMap({}); - expect(event.type, equals(ClipboardContentType.unknown)); - }); - - test('missing text defaults to null', () { - final event = ClipboardEvent.fromMap({'type': 0}); - expect(event.text, isNull); - }); - - test('missing bytes defaults to null', () { - final event = ClipboardEvent.fromMap({'type': 1}); - expect(event.bytes, isNull); - }); - }); - - group('ClipboardEvent.fromMap – Windows-style paths', () { - test('Windows file path is preserved verbatim', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': [r'C:\Users\user\Desktop\file.txt'], - }); - expect(event.files, contains(r'C:\Users\user\Desktop\file.txt')); - }); - - test('Windows UNC path is preserved verbatim', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': [r'\\server\share\file.pdf'], - }); - expect(event.files, contains(r'\\server\share\file.pdf')); - }); - }); - - group('ClipboardEvent.fromMap – large payloads', () { - test('handles very long text without truncation', () { - final longText = 'A' * 100000; - final event = ClipboardEvent.fromMap({'type': 0, 'text': longText}); - expect(event.text!.length, equals(100000)); - }); - - test('handles large image bytes without truncation', () { - final bigImage = Uint8List(50000); - final event = ClipboardEvent.fromMap({'type': 1, 'bytes': bigImage}); - expect(event.bytes!.length, equals(50000)); - }); - - test('handles many file paths', () { - final manyPaths = List.generate(200, (i) => '/path/file_$i.txt'); - final event = ClipboardEvent.fromMap({'type': 2, 'files': manyPaths}); - expect(event.files, hasLength(200)); - }); - }); -} diff --git a/listener/test/clipboard_event_test.dart b/listener/test/clipboard_event_test.dart deleted file mode 100644 index 3ab3ca6f..00000000 --- a/listener/test/clipboard_event_test.dart +++ /dev/null @@ -1,185 +0,0 @@ -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:listener/listener.dart'; -import 'package:core/core.dart'; - -void main() { - group('ClipboardEvent.fromMap', () { - test('parses text event with all fields', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'contentHash': 'abc123', - 'text': 'Hello World', - 'source': 'Notepad', - }); - expect(event.type, equals(ClipboardContentType.text)); - expect(event.contentHash, equals('abc123')); - expect(event.text, equals('Hello World')); - expect(event.source, equals('Notepad')); - expect(event.bytes, isNull); - expect(event.files, isNull); - expect(event.rtfBytes, isNull); - expect(event.htmlBytes, isNull); - }); - - test('parses image event with bytes', () { - final bytes = Uint8List.fromList([137, 80, 78, 71]); // PNG magic - final event = ClipboardEvent.fromMap({ - 'type': 1, - 'contentHash': 'img_hash', - 'bytes': bytes, - }); - expect(event.type, equals(ClipboardContentType.image)); - expect(event.contentHash, equals('img_hash')); - expect(event.bytes, isNotNull); - expect(event.bytes!.length, equals(4)); - expect(event.text, isNull); - }); - - test('parses file event with file list', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'contentHash': 'file_hash', - 'files': ['C:\\file1.txt', 'C:\\file2.txt'], - }); - expect(event.type, equals(ClipboardContentType.file)); - expect(event.files, isNotNull); - expect(event.files!.length, equals(2)); - expect(event.files![0], equals('C:\\file1.txt')); - expect(event.files![1], equals('C:\\file2.txt')); - }); - - test('parses folder event', () { - final event = ClipboardEvent.fromMap({ - 'type': 3, - 'contentHash': 'folder_hash', - 'files': ['C:\\MyFolder'], - }); - expect(event.type, equals(ClipboardContentType.folder)); - }); - - test('parses link event', () { - final event = ClipboardEvent.fromMap({ - 'type': 4, - 'contentHash': 'link_hash', - 'text': 'https://example.com', - }); - expect(event.type, equals(ClipboardContentType.link)); - expect(event.text, equals('https://example.com')); - }); - - test('parses audio event', () { - final event = ClipboardEvent.fromMap({ - 'type': 5, - 'contentHash': 'audio_hash', - 'files': ['C:\\song.mp3'], - }); - expect(event.type, equals(ClipboardContentType.audio)); - }); - - test('parses video event', () { - final event = ClipboardEvent.fromMap({ - 'type': 6, - 'contentHash': 'video_hash', - 'files': ['C:\\video.mp4'], - }); - expect(event.type, equals(ClipboardContentType.video)); - }); - - test('parses rtf and html bytes', () { - final rtf = Uint8List.fromList([72, 84, 70]); - final html = Uint8List.fromList([60, 104, 116]); - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'contentHash': 'rich', - 'text': 'rich text', - 'rtf': rtf, - 'html': html, - }); - expect(event.rtfBytes, isNotNull); - expect(event.rtfBytes!.length, equals(3)); - expect(event.htmlBytes, isNotNull); - expect(event.htmlBytes!.length, equals(3)); - }); - - test('handles missing optional fields gracefully', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'contentHash': 'minimal', - }); - expect(event.text, isNull); - expect(event.source, isNull); - expect(event.bytes, isNull); - expect(event.files, isNull); - expect(event.rtfBytes, isNull); - expect(event.htmlBytes, isNull); - }); - - test('handles unknown type value returns unknown', () { - final event = ClipboardEvent.fromMap({'type': 999, 'contentHash': 'u'}); - expect(event.type, equals(ClipboardContentType.unknown)); - }); - - test('handles missing type defaults to unknown', () { - final event = ClipboardEvent.fromMap({'contentHash': 'u'}); - expect(event.type, equals(ClipboardContentType.unknown)); - }); - - test('handles null type defaults to unknown', () { - final event = ClipboardEvent.fromMap({'type': null, 'contentHash': 'u'}); - expect(event.type, equals(ClipboardContentType.unknown)); - }); - - test('handles missing contentHash defaults to empty string', () { - final event = ClipboardEvent.fromMap({'type': 0}); - expect(event.contentHash, equals('')); - }); - - test('filters non-string items from files list', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'contentHash': 'h', - 'files': ['valid.txt', 42, null, 'also_valid.txt'], - }); - expect(event.files!.length, equals(2)); - expect(event.files![0], equals('valid.txt')); - expect(event.files![1], equals('also_valid.txt')); - }); - - test('empty files list results in empty list', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'contentHash': 'h', - 'files': [], - }); - expect(event.files, isNotNull); - expect(event.files, isEmpty); - }); - - test('all content types parse correctly', () { - final cases = { - 0: ClipboardContentType.text, - 1: ClipboardContentType.image, - 2: ClipboardContentType.file, - 3: ClipboardContentType.folder, - 4: ClipboardContentType.link, - 5: ClipboardContentType.audio, - 6: ClipboardContentType.video, - -1: ClipboardContentType.unknown, - }; - for (final entry in cases.entries) { - final event = ClipboardEvent.fromMap({ - 'type': entry.key, - 'contentHash': 'h', - }); - expect( - event.type, - equals(entry.value), - reason: 'type ${entry.key} should map to ${entry.value}', - ); - } - }); - }); -} diff --git a/listener/test/clipboard_writer_test.dart b/listener/test/clipboard_writer_test.dart deleted file mode 100644 index 95bc3fb5..00000000 --- a/listener/test/clipboard_writer_test.dart +++ /dev/null @@ -1,605 +0,0 @@ -import 'dart:convert'; - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:listener/clipboard_writer.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - const channel = MethodChannel('copypaste/clipboard_writer'); - - setUp(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - switch (call.method) { - case 'setClipboardContent': - return true; - case 'getMediaInfo': - return {'width': 1920, 'height': 1080}; - default: - return null; - } - }); - }); - - tearDown(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); - }); - - group('ClipboardWriter.setText', () { - test('returns true on success', () async { - final result = await ClipboardWriter.setText('hello'); - expect(result, isTrue); - }); - - test('sends plain text flag', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setText('hi', plainText: true); - expect(captured!.arguments['plainText'], isTrue); - }); - - test('sends rtf decoded from base64 in metadata', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - final rtfBytes = utf8.encode('{\\rtf1 hello}'); - final meta = jsonEncode({'rtf': base64Encode(rtfBytes)}); - await ClipboardWriter.setText('hello', metadata: meta); - expect(captured!.arguments['rtf'], isNotNull); - }); - - test('sends html decoded from base64 in metadata', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - final htmlBytes = utf8.encode('hello'); - final meta = jsonEncode({'html': base64Encode(htmlBytes)}); - await ClipboardWriter.setText('hello', metadata: meta); - expect(captured!.arguments['html'], isNotNull); - }); - - test('handles invalid metadata JSON gracefully', () async { - final result = await ClipboardWriter.setText( - 'test', - metadata: 'not valid json {{{', - ); - expect(result, isTrue); - }); - - test('skips rtf/html when plainText is true', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - final rtfBytes = utf8.encode('{\\rtf1 hello}'); - final meta = jsonEncode({'rtf': base64Encode(rtfBytes)}); - await ClipboardWriter.setText('hi', metadata: meta, plainText: true); - expect(captured!.arguments.containsKey('rtf'), isFalse); - }); - - test('returns false when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async => null); - final result = await ClipboardWriter.setText('test'); - expect(result, isFalse); - }); - }); - - group('ClipboardWriter.setImage', () { - test('returns true on success', () async { - final result = await ClipboardWriter.setImage('/path/to/image.png'); - expect(result, isTrue); - }); - - test('sends type 1 and correct path', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setImage('/img/photo.png'); - expect(captured!.arguments['type'], equals(1)); - expect(captured!.arguments['content'], equals('/img/photo.png')); - }); - }); - - group('ClipboardWriter.startFileDrag', () { - test('sends method name and paths, returns drop result', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - final result = await ClipboardWriter.startFileDrag([ - '/img/photo.png', - '/docs/a.pdf', - ]); - expect(result, isTrue); - expect(captured!.method, equals('startFileDrag')); - expect( - captured!.arguments['paths'], - equals(['/img/photo.png', '/docs/a.pdf']), - ); - }); - - test('returns false without invoking channel on empty paths', () async { - var invoked = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - invoked = true; - return true; - }); - final result = await ClipboardWriter.startFileDrag([]); - expect(result, isFalse); - expect(invoked, isFalse); - }); - - test('returns false when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); - final result = await ClipboardWriter.startFileDrag(['/img/photo.png']); - expect(result, isFalse); - }); - - test('returns false when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - throw PlatformException(code: 'error'); - }); - final result = await ClipboardWriter.startFileDrag(['/img/photo.png']); - expect(result, isFalse); - }); - }); - - group('ClipboardWriter.setFiles', () { - test('returns true on success', () async { - final result = await ClipboardWriter.setFiles('/path/to/file.txt', 2); - expect(result, isTrue); - }); - - test('sends provided typeValue', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFiles('/file.mp3', 5); - expect(captured!.arguments['type'], equals(5)); - }); - }); - - group('ClipboardWriter.setFromItem', () { - test('type 0 (text) calls setText', () async { - final result = await ClipboardWriter.setFromItem( - typeValue: 0, - content: 'text content', - ); - expect(result, isTrue); - }); - - test('type 4 (link) calls setText', () async { - final result = await ClipboardWriter.setFromItem( - typeValue: 4, - content: 'https://example.com', - ); - expect(result, isTrue); - }); - - test('plain text mode strips rich clipboard metadata', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - final metadata = jsonEncode({ - 'rtf': base64Encode(utf8.encode('{\\rtf1 formatted}')), - 'html': base64Encode(utf8.encode('formatted')), - }); - - final result = await ClipboardWriter.setFromItem( - typeValue: 0, - content: 'formatted', - metadata: metadata, - plainText: true, - ); - - expect(result, isTrue); - expect(captured!.arguments['plainText'], isTrue); - expect(captured!.arguments, isNot(contains('rtf'))); - expect(captured!.arguments, isNot(contains('html'))); - }); - - test('type 1 (image) calls setImage', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 1, content: '/path/img.png'); - expect(captured!.arguments['type'], equals(1)); - }); - - test('type 2 (file) calls setFiles', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 2, content: '/file.txt'); - expect(captured!.arguments['type'], equals(2)); - }); - - test('type 3 (folder) calls setFiles', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 3, content: '/folder/'); - expect(captured!.arguments['type'], equals(3)); - }); - - test('type 5 (audio) calls setFiles', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 5, content: '/audio.mp3'); - expect(captured!.arguments['type'], equals(5)); - }); - - test('type 6 (video) calls setFiles', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 6, content: '/video.mp4'); - expect(captured!.arguments['type'], equals(6)); - }); - - test('unknown type defaults to plainText setText', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.setFromItem(typeValue: 99, content: 'fallback'); - expect(captured!.arguments['plainText'], isTrue); - }); - }); - - group('ClipboardWriter.getMediaInfo', () { - test('returns map on success', () async { - final result = await ClipboardWriter.getMediaInfo('/path/video.mp4'); - expect(result, isNotNull); - expect(result!['width'], equals(1920)); - }); - - test('returns null when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ERROR', message: 'fail'); - }); - final result = await ClipboardWriter.getMediaInfo('/bad/path'); - expect(result, isNull); - }); - }); - - group('ClipboardWriter.captureFrontmostApp', () { - test('returns bundle id on success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'captureFrontmostApp') { - return 'com.apple.finder'; - } - return null; - }); - final result = await ClipboardWriter.captureFrontmostApp(); - expect(result, equals('com.apple.finder')); - }); - - test('returns null when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); - final result = await ClipboardWriter.captureFrontmostApp(); - expect(result, isNull); - }); - - test('returns null when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'UNAVAILABLE'); - }); - final result = await ClipboardWriter.captureFrontmostApp(); - expect(result, isNull); - }); - }); - - group('ClipboardWriter.activateAndPaste', () { - test('returns success on bool true', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'activateAndPaste') return true; - return null; - }); - final result = await ClipboardWriter.activateAndPaste( - bundleId: 'com.apple.safari', - delayMs: 150, - ); - expect(result.success, isTrue); - expect(result.errorCode, isNull); - }); - - test('parses Map response with success and errorCode', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - return { - 'success': false, - 'errorCode': 'focusTimeout', - }; - }); - final result = await ClipboardWriter.activateAndPaste( - bundleId: 'com.example.editor', - delayMs: 0, - ); - expect(result.success, isFalse); - expect(result.errorCode, equals('focusTimeout')); - }); - - test('sends bundleId, delayMs and focusTimeoutMs as arguments', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return true; - }); - await ClipboardWriter.activateAndPaste( - bundleId: 'com.example.app', - delayMs: 200, - focusTimeoutMs: 350, - ); - expect(captured!.method, equals('activateAndPaste')); - expect(captured!.arguments['bundleId'], equals('com.example.app')); - expect(captured!.arguments['delayMs'], equals(200)); - expect(captured!.arguments['focusTimeoutMs'], equals(350)); - }); - - test('returns failure when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async => null); - final result = await ClipboardWriter.activateAndPaste( - bundleId: 'com.test', - delayMs: 0, - ); - expect(result.success, isFalse); - }); - - test('rethrows when channel throws ACCESSIBILITY_DENIED', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ACCESSIBILITY_DENIED'); - }); - expect( - () => - ClipboardWriter.activateAndPaste(bundleId: 'com.test', delayMs: 0), - throwsA( - isA().having( - (e) => e.code, - 'code', - 'ACCESSIBILITY_DENIED', - ), - ), - ); - }); - - test('returns platformError on other PlatformException', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'UNKNOWN_ERROR'); - }); - final result = await ClipboardWriter.activateAndPaste( - bundleId: 'com.test', - delayMs: 0, - ); - expect(result.success, isFalse); - expect(result.errorCode, equals('platformError')); - }); - }); - - group('ClipboardWriter.getCursorAndScreenInfo', () { - test('returns typed map on success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getCursorAndScreenInfo') { - return { - 'cursorX': 100.0, - 'cursorY': 200.0, - 'waLeft': 0.0, - 'waTop': 25.0, - 'waRight': 1440.0, - 'waBottom': 900.0, - }; - } - return null; - }); - final result = await ClipboardWriter.getCursorAndScreenInfo(); - expect(result, isNotNull); - expect(result!['cursorX'], equals(100.0)); - expect(result['cursorY'], equals(200.0)); - expect(result['waLeft'], equals(0.0)); - expect(result['waTop'], equals(25.0)); - expect(result['waRight'], equals(1440.0)); - expect(result['waBottom'], equals(900.0)); - }); - - test('converts integer values to double', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getCursorAndScreenInfo') { - return { - 'cursorX': 50, - 'cursorY': 75, - 'waLeft': 0, - 'waTop': 0, - 'waRight': 1280, - 'waBottom': 800, - }; - } - return null; - }); - final result = await ClipboardWriter.getCursorAndScreenInfo(); - expect(result, isNotNull); - expect(result!['cursorX'], isA()); - expect(result['cursorX'], equals(50.0)); - }); - - test('returns null when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); - final result = await ClipboardWriter.getCursorAndScreenInfo(); - expect(result, isNull); - }); - - test('returns null when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ERROR'); - }); - final result = await ClipboardWriter.getCursorAndScreenInfo(); - expect(result, isNull); - }); - }); - - group('ClipboardWriter.checkAccessibility', () { - test('returns true when accessibility is granted', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'checkAccessibility') return true; - return null; - }); - final result = await ClipboardWriter.checkAccessibility(); - expect(result, isTrue); - }); - - test('returns false when accessibility is denied', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'checkAccessibility') return false; - return null; - }); - final result = await ClipboardWriter.checkAccessibility(); - expect(result, isFalse); - }); - - test('returns false when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async => null); - final result = await ClipboardWriter.checkAccessibility(); - expect(result, isFalse); - }); - - test('returns false when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ERROR'); - }); - final result = await ClipboardWriter.checkAccessibility(); - expect(result, isFalse); - }); - }); - - group('ClipboardWriter.requestAccessibility', () { - test('returns true when user grants permission', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return true; - return null; - }); - final result = await ClipboardWriter.requestAccessibility(); - expect(result, isTrue); - }); - - test('returns false when user denies permission', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'requestAccessibility') return false; - return null; - }); - final result = await ClipboardWriter.requestAccessibility(); - expect(result, isFalse); - }); - - test('returns false when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async => null); - final result = await ClipboardWriter.requestAccessibility(); - expect(result, isFalse); - }); - - test('returns false when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ERROR'); - }); - final result = await ClipboardWriter.requestAccessibility(); - expect(result, isFalse); - }); - }); - - group('ClipboardWriter.openAccessibilitySettings', () { - test('completes without error on success', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'openAccessibilitySettings') return true; - return null; - }); - await expectLater(ClipboardWriter.openAccessibilitySettings(), completes); - }); - - test('completes without error even when channel throws', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (_) async { - throw PlatformException(code: 'ERROR'); - }); - await expectLater(ClipboardWriter.openAccessibilitySettings(), completes); - }); - - test('invokes correct method name', () async { - MethodCall? captured; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - captured = call; - return null; - }); - await ClipboardWriter.openAccessibilitySettings(); - expect(captured!.method, equals('openAccessibilitySettings')); - }); - }); -} diff --git a/listener/test/listener_expanded_test.dart b/listener/test/listener_expanded_test.dart deleted file mode 100644 index 6f5b7151..00000000 --- a/listener/test/listener_expanded_test.dart +++ /dev/null @@ -1,205 +0,0 @@ -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; - -import 'package:listener/listener.dart'; -import 'package:core/core.dart'; - -void main() { - group('Listener Plugin Interface', () { - test('creates ClipboardEvent correctly from native event', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'test content', - 'contentHash': 'hash123', - 'source': 'TestApp', - }); - - expect(event.type, ClipboardContentType.text); - expect(event.text, 'test content'); - expect(event.contentHash, 'hash123'); - expect(event.source, 'TestApp'); - }); - - test('ClipboardEvent handles empty text', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': '', - 'contentHash': 'empty_hash', - }); - - expect(event.text, isEmpty); - expect(event.contentHash, 'empty_hash'); - }); - - test('ClipboardEvent with very long text', () { - final longText = 'x' * 100000; - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': longText, - 'contentHash': 'big_hash', - }); - - expect(event.text, equals(longText)); - expect(event.text!.length, equals(100000)); - }); - - test('ClipboardEvent image with large URI', () { - final event = ClipboardEvent.fromMap({ - 'type': 1, - 'contentHash': 'image_hash', - 'bytes': Uint8List.fromList(List.filled(1000, 255)), - }); - - expect(event.type, ClipboardContentType.image); - expect(event.bytes!.length, equals(1000)); - }); - - test('ClipboardEvent files with multiple paths', () { - const paths = [ - 'C:\\Documents\\file1.pdf', - 'C:\\Documents\\file2.docx', - 'D:\\Photos\\image.jpg', - 'E:\\Videos\\movie.mp4', - ]; - - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'contentHash': 'files_hash', - 'files': paths, - }); - - expect(event.files, hasLength(4)); - expect(event.files, containsAll(paths)); - }); - - test('ClipboardEvent with RTF and HTML formatting', () { - final rtf = Uint8List.fromList([ - 0x7B, - 0x5C, - 0x72, - 0x74, - 0x66, - 0x31, - 0x20, - 0x74, - 0x65, - 0x73, - 0x74, - 0x7D, - ]); // {\\rtf1 test} - final html = Uint8List.fromList([ - 0x3C, - 0x62, - 0x3E, - 0x74, - 0x65, - 0x73, - 0x74, - 0x3C, - 0x2F, - 0x62, - 0x3E, - ]); // test - - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'formatted text', - 'contentHash': 'formatted', - 'rtf': rtf, - 'html': html, - }); - - expect(event.rtfBytes, isNotNull); - expect(event.htmlBytes, isNotNull); - expect(event.rtfBytes!.length, equals(12)); - expect(event.htmlBytes!.length, equals(11)); - }); - - test('ClipboardEvent link type specialized event', () { - const url = 'https://github.com/user/project/issues/123'; - final event = ClipboardEvent.fromMap({ - 'type': 4, - 'text': url, - 'contentHash': 'url_hash', - 'source': 'Chrome', - }); - - expect(event.type, ClipboardContentType.link); - expect(event.text, url); - expect(event.source, 'Chrome'); - }); - - test('ClipboardEvent audio type with metadata', () { - final event = ClipboardEvent.fromMap({ - 'type': 5, - 'files': ['C:\\Music\\song.mp3'], - 'contentHash': 'audio_hash', - 'source': 'Windows Explorer', - }); - - expect(event.type, ClipboardContentType.audio); - expect(event.files!.first, contains('song.mp3')); - }); - - test('ClipboardEvent video type with multiple files', () { - const files = ['C:\\Video1.mp4', 'C:\\Video2.mp4', 'C:\\Subtitle.srt']; - - final event = ClipboardEvent.fromMap({ - 'type': 6, - 'files': files, - 'contentHash': 'video_hash', - }); - - expect(event.type, ClipboardContentType.video); - expect(event.files, hasLength(3)); - expect(event.files, equals(files)); - }); - - test('ClipboardEvent handles mixed file types in files list', () { - // Some implementations might have non-string items that need filtering - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': ['path1.txt', 'path2.txt', 'path3.txt'], - 'contentHash': 'mixed_hash', - }); - - expect(event.files, isNotNull); - expect(event.files!.isNotEmpty, true); - }); - - test('ClipboardEvent maintains content hash uniqueness', () { - final event1 = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'content A', - 'contentHash': 'hash_A', - }); - - final event2 = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'content A', - 'contentHash': 'hash_A', - }); - - final event3 = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'content B', - 'contentHash': 'hash_B', - }); - - expect(event1.contentHash, event2.contentHash); - expect(event1.contentHash, isNot(event3.contentHash)); - }); - - test('ClipboardEvent folder type', () { - final event = ClipboardEvent.fromMap({ - 'type': 3, - 'files': ['C:\\Users\\User\\AppData'], - 'contentHash': 'folder_hash', - }); - - expect(event.type, ClipboardContentType.folder); - expect(event.files, isNotEmpty); - }); - }); -} diff --git a/listener/test/listener_test.dart b/listener/test/listener_test.dart deleted file mode 100644 index 57e33a45..00000000 --- a/listener/test/listener_test.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'dart:typed_data'; - -import 'package:core/core.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:listener/listener.dart'; - -void main() { - group('ClipboardEvent.fromMap', () { - test('parses text event', () { - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'hello world', - 'source': 'notepad', - 'contentHash': 'abc123', - }); - expect(event.type, ClipboardContentType.text); - expect(event.text, 'hello world'); - expect(event.source, 'notepad'); - expect(event.contentHash, 'abc123'); - expect(event.bytes, isNull); - expect(event.files, isNull); - }); - - test('parses link event', () { - final event = ClipboardEvent.fromMap({ - 'type': 4, - 'text': 'https://example.com', - 'contentHash': 'def456', - }); - expect(event.type, ClipboardContentType.link); - expect(event.text, 'https://example.com'); - }); - - test('parses files event', () { - final event = ClipboardEvent.fromMap({ - 'type': 2, - 'files': ['C:\\file1.txt', 'C:\\file2.txt'], - 'contentHash': 'xyz', - }); - expect(event.type, ClipboardContentType.file); - expect(event.files, hasLength(2)); - expect(event.files!.first, 'C:\\file1.txt'); - }); - - test('uses defaults for missing fields', () { - final event = ClipboardEvent.fromMap({}); - expect(event.type, ClipboardContentType.unknown); - expect(event.contentHash, ''); - expect(event.source, isNull); - expect(event.rtfBytes, isNull); - expect(event.htmlBytes, isNull); - }); - - test('parses rtf and html bytes', () { - final rtf = Uint8List.fromList([72, 69, 76, 76, 79]); - final html = Uint8List.fromList([60, 104, 62]); - final event = ClipboardEvent.fromMap({ - 'type': 0, - 'text': 'test', - 'contentHash': 'h1', - 'rtf': rtf, - 'html': html, - }); - expect(event.rtfBytes, equals(rtf)); - expect(event.htmlBytes, equals(html)); - }); - }); -} diff --git a/listener/test/macos_native_thumbnail_provider_test.dart b/listener/test/macos_native_thumbnail_provider_test.dart deleted file mode 100644 index a6f9356f..00000000 --- a/listener/test/macos_native_thumbnail_provider_test.dart +++ /dev/null @@ -1,134 +0,0 @@ -import 'dart:io' show Platform; - -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:listener/macos_native_thumbnail_provider.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - const channel = MethodChannel('copypaste/clipboard_writer'); - - tearDown(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); - }); - - group('MacOSNativeThumbnailProvider', () { - test('returns null when channel returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request( - '/Users/me/missing.png', - sizePx: 256, - ); - expect(result, isNull); - }); - - test('returns Uint8List bytes when channel succeeds', () async { - final fakeBytes = Uint8List.fromList(List.generate(64, (i) => i)); - String? receivedPath; - int? receivedSize; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method != 'getNativeThumbnail') return null; - final args = call.arguments as Map; - receivedPath = args['path'] as String?; - receivedSize = args['sizePx'] as int?; - return fakeBytes; - }); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request('/Users/me/video.mp4', sizePx: 128); - - // On non-macOS hosts the platform guard short-circuits and the channel - // is never reached. Assert the bytes round-trip only when it was. - if (receivedPath != null) { - expect(result, equals(fakeBytes)); - expect(receivedPath, equals('/Users/me/video.mp4')); - expect(receivedSize, greaterThanOrEqualTo(128)); - } else { - expect(result, isNull); - } - }); - - test('treats empty list as null (no thumbnail available)', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getNativeThumbnail') return Uint8List(0); - return null; - }); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request('/Users/me/missing.bin'); - expect(result, isNull); - }); - - test('swallows PlatformException and returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getNativeThumbnail') { - throw PlatformException(code: 'boom', message: 'native failure'); - } - return null; - }); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request('/Users/me/whatever.png'); - expect(result, isNull); - }); - - test('TCC permissionDenied surfaces as null without throwing', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getNativeThumbnail') { - throw PlatformException( - code: 'permissionDenied', - message: 'TCC denied', - ); - } - return null; - }); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request('/Users/me/Documents/x.png'); - expect(result, isNull); - }); - - test( - 'rejects empty path / non-positive size before invoking channel', - () async { - var called = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - called = true; - return null; - }); - - final provider = MacOSNativeThumbnailProvider(); - expect(await provider.request(''), isNull); - expect(await provider.request('x', sizePx: 0), isNull); - expect(await provider.request('x', sizePx: -1), isNull); - expect(called, isFalse); - }, - ); - - test('returns null on non-macOS hosts (platform guard)', () async { - var called = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - called = true; - return Uint8List.fromList([1, 2, 3]); - }); - - final provider = MacOSNativeThumbnailProvider(); - final result = await provider.request('/x', sizePx: 256); - if (!Platform.isMacOS) { - expect(result, isNull); - expect(called, isFalse); - } - }); - }); -} diff --git a/listener/test/windows_native_thumbnail_provider_test.dart b/listener/test/windows_native_thumbnail_provider_test.dart deleted file mode 100644 index 86c548a4..00000000 --- a/listener/test/windows_native_thumbnail_provider_test.dart +++ /dev/null @@ -1,105 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:listener/windows_native_thumbnail_provider.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - const channel = MethodChannel('copypaste/clipboard_writer'); - - tearDown(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, null); - }); - - group('WindowsNativeThumbnailProvider', () { - test('returns null on non-Windows hosts', () async { - // The test runner here is Windows in CI/local; this test still - // covers the early-return branch because we mock the channel to - // throw, which would surface as null only via the platform guard. - // On non-Windows hosts the early `Platform.isWindows` guard takes - // over before any channel call happens. - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async => null); - - final provider = WindowsNativeThumbnailProvider(); - final result = await provider.request('C:/missing.txt', sizePx: 256); - // On Windows the mock returns null → expect null; on others the - // platform guard returns null first. Same observable behavior. - expect(result, isNull); - }); - - test('returns Uint8List bytes when channel succeeds', () async { - final fakeBytes = Uint8List.fromList(List.generate(64, (i) => i)); - String? receivedPath; - int? receivedSize; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method != 'getNativeThumbnail') return null; - final args = call.arguments as Map; - receivedPath = args['path'] as String?; - receivedSize = args['sizePx'] as int?; - return fakeBytes; - }); - - final provider = WindowsNativeThumbnailProvider(); - final result = await provider.request('C:/video.mp4', sizePx: 128); - - // Outside the platform guard this is a no-op on non-Windows hosts. - // We assert behavior conditionally: when the channel was reached, - // the bytes round-trip and the path was forwarded verbatim. - if (receivedPath != null) { - expect(result, equals(fakeBytes)); - expect(receivedPath, equals('C:/video.mp4')); - // sizePx is scaled by devicePixelRatio (>= 1.0) and clamped >= 64. - expect(receivedSize, greaterThanOrEqualTo(128)); - } else { - expect(result, isNull); - } - }); - - test('treats empty list as null (no thumbnail available)', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getNativeThumbnail') return Uint8List(0); - return null; - }); - - final provider = WindowsNativeThumbnailProvider(); - final result = await provider.request('C:/missing.bin'); - expect(result, isNull); - }); - - test('swallows PlatformException and returns null', () async { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - if (call.method == 'getNativeThumbnail') { - throw PlatformException(code: 'boom', message: 'native failure'); - } - return null; - }); - - final provider = WindowsNativeThumbnailProvider(); - final result = await provider.request('C:/whatever.png'); - expect(result, isNull); - }); - - test( - 'rejects empty path / non-positive size before invoking channel', - () async { - var called = false; - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger - .setMockMethodCallHandler(channel, (call) async { - called = true; - return null; - }); - - final provider = WindowsNativeThumbnailProvider(); - expect(await provider.request(''), isNull); - expect(await provider.request('x', sizePx: 0), isNull); - expect(await provider.request('x', sizePx: -1), isNull); - expect(called, isFalse); - }, - ); - }); -} diff --git a/listener/windows/.gitignore b/listener/windows/.gitignore deleted file mode 100644 index b3eb2be1..00000000 --- a/listener/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/listener/windows/CMakeLists.txt b/listener/windows/CMakeLists.txt deleted file mode 100644 index fcd92731..00000000 --- a/listener/windows/CMakeLists.txt +++ /dev/null @@ -1,100 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "listener") -project(${PROJECT_NAME} LANGUAGES CXX) - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "listener_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "listener_plugin.cpp" - "listener_plugin.h" -) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} SHARED - "include/listener/listener_plugin_c_api.h" - "listener_plugin_c_api.cpp" - ${PLUGIN_SOURCES} -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin shell32 propsys gdiplus) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(listener_bundled_libraries - "" - PARENT_SCOPE -) - -# === Tests === -# These unit tests can be run from a terminal after building the example, or -# from Visual Studio after opening the generated solution file. - -# Only enable test builds when building the example (which sets this variable) -# so that plugin clients aren't building the tests. -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() - -# Add the Google Test dependency. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/listener_plugin_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -# Enable automatic test discovery. -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/listener/windows/include/listener/listener_plugin_c_api.h b/listener/windows/include/listener/listener_plugin_c_api.h deleted file mode 100644 index b3cf7267..00000000 --- a/listener/windows/include/listener/listener_plugin_c_api.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef FLUTTER_PLUGIN_LISTENER_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_LISTENER_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void ListenerPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_LISTENER_PLUGIN_C_API_H_ diff --git a/listener/windows/listener_plugin.cpp b/listener/windows/listener_plugin.cpp deleted file mode 100644 index eda82ae7..00000000 --- a/listener/windows/listener_plugin.cpp +++ /dev/null @@ -1,1415 +0,0 @@ -#include "listener_plugin.h" - -#include -#include -#include -#include -#include -#include - -#ifndef NOMINMAX -#define NOMINMAX -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#pragma comment(lib, "gdiplus.lib") - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#pragma comment(lib, "shell32.lib") -#pragma comment(lib, "propsys.lib") -#pragma comment(lib, "ole32.lib") - -namespace listener { - -namespace { - -std::vector ConvertDibToBmp(const std::vector& dib) { - if (dib.size() < sizeof(BITMAPINFOHEADER)) return {}; - - const auto* bih = reinterpret_cast(dib.data()); - if (bih->biSize < sizeof(BITMAPINFOHEADER) || bih->biSize > dib.size()) { - return {}; - } - - // Masks and palette stack in this order, so they accumulate rather than - // replace each other. - DWORD colorTableSize = 0; - if (bih->biCompression == BI_BITFIELDS && - bih->biSize == sizeof(BITMAPINFOHEADER)) { - // BI_BITFIELDS masks only follow the header for the classic - // BITMAPINFOHEADER (40 bytes). For BITMAPV4HEADER (108) and - // BITMAPV5HEADER (124) — produced by the Windows Snipping Tool — the - // masks are embedded inside the header itself, so no extra offset. - colorTableSize += 3 * sizeof(DWORD); - } - if (bih->biBitCount <= 8) { - DWORD colors = bih->biClrUsed ? bih->biClrUsed : (1u << bih->biBitCount); - colorTableSize += colors * sizeof(RGBQUAD); - } else if (bih->biClrUsed != 0) { - // Above 8 bpp the palette is optional but still shifts the pixel offset. - // Producers leave biClrUsed dirty often enough that honouring it blindly - // misplaces bfOffBits, so only apply it when the buffer can hold it. - const uint64_t claimed = - static_cast(bih->biClrUsed) * sizeof(RGBQUAD); - if (bih->biSize + colorTableSize + claimed <= dib.size()) { - colorTableSize += static_cast(claimed); - } - } - if (bih->biSize + colorTableSize > dib.size()) return {}; - - BITMAPFILEHEADER bfh = {}; - bfh.bfType = 0x4D42; - bfh.bfSize = static_cast(sizeof(BITMAPFILEHEADER) + dib.size()); - bfh.bfOffBits = sizeof(BITMAPFILEHEADER) + bih->biSize + colorTableSize; - - std::vector bmp(sizeof(BITMAPFILEHEADER) + dib.size()); - std::memcpy(bmp.data(), &bfh, sizeof(BITMAPFILEHEADER)); - std::memcpy(bmp.data() + sizeof(BITMAPFILEHEADER), dib.data(), dib.size()); - return bmp; -} - -flutter::EncodableMap GetMediaInfo(const std::wstring& filePath) { - flutter::EncodableMap info; - - IPropertyStore* pStore = nullptr; - HRESULT hr = SHGetPropertyStoreFromParsingName( - filePath.c_str(), nullptr, GPS_DEFAULT, IID_PPV_ARGS(&pStore)); - if (FAILED(hr) || !pStore) return info; - - // Duration (100-nanosecond units → seconds as int) - PROPVARIANT pv; - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Media_Duration, &pv)) && - pv.vt == VT_UI8) { - auto seconds = - static_cast(pv.uhVal.QuadPart / 10000000ULL); - info[flutter::EncodableValue("duration")] = - flutter::EncodableValue(seconds); - } - PropVariantClear(&pv); - - // Video dimensions - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Video_FrameWidth, &pv)) && - pv.vt == VT_UI4) { - info[flutter::EncodableValue("video_width")] = - flutter::EncodableValue(static_cast(pv.ulVal)); - } - PropVariantClear(&pv); - - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Video_FrameHeight, &pv)) && - pv.vt == VT_UI4) { - info[flutter::EncodableValue("video_height")] = - flutter::EncodableValue(static_cast(pv.ulVal)); - } - PropVariantClear(&pv); - - // Artist (album artist — single-valued, matches v1's FirstAlbumArtist) - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Music_AlbumArtist, &pv))) { - PWSTR str = nullptr; - if (SUCCEEDED(PropVariantToStringAlloc(pv, &str)) && str) { - if (wcslen(str) > 0) { - info[flutter::EncodableValue("artist")] = - flutter::EncodableValue(ListenerPlugin::WideToUtf8(std::wstring(str))); - } - CoTaskMemFree(str); - } - } - PropVariantClear(&pv); - - // Title - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Title, &pv))) { - PWSTR str = nullptr; - if (SUCCEEDED(PropVariantToStringAlloc(pv, &str)) && str) { - if (wcslen(str) > 0) { - info[flutter::EncodableValue("title")] = - flutter::EncodableValue(ListenerPlugin::WideToUtf8(std::wstring(str))); - } - CoTaskMemFree(str); - } - } - PropVariantClear(&pv); - - // Album - PropVariantInit(&pv); - if (SUCCEEDED(pStore->GetValue(PKEY_Music_AlbumTitle, &pv))) { - PWSTR str = nullptr; - if (SUCCEEDED(PropVariantToStringAlloc(pv, &str)) && str) { - if (wcslen(str) > 0) { - info[flutter::EncodableValue("album")] = - flutter::EncodableValue(ListenerPlugin::WideToUtf8(std::wstring(str))); - } - CoTaskMemFree(str); - } - } - PropVariantClear(&pv); - - pStore->Release(); - return info; -} - -class ClipboardStreamHandler - : public flutter::StreamHandler { - public: - explicit ClipboardStreamHandler(ListenerPlugin* plugin) : plugin_(plugin) {} - - protected: - std::unique_ptr> - OnListenInternal( - const flutter::EncodableValue* arguments, - std::unique_ptr>&& - events) override { - plugin_->StartListening(std::move(events)); - return nullptr; - } - - std::unique_ptr> - OnCancelInternal(const flutter::EncodableValue* arguments) override { - plugin_->StopListening(); - return nullptr; - } - - private: - ListenerPlugin* plugin_; -}; - -// Builds a CF_HDROP global (DROPFILES header + double-null-terminated wide -// paths). Caller owns the handle until it is handed to SetClipboardData. -HGLOBAL BuildDropFilesGlobal(const std::vector& wpaths) { - if (wpaths.empty()) return nullptr; - - size_t totalChars = 0; - for (const auto& wp : wpaths) totalChars += wp.size() + 1; - totalChars += 1; // extra terminator closes the double-null list - - size_t sz = sizeof(DROPFILES) + totalChars * sizeof(wchar_t); - HGLOBAL hMem = GlobalAlloc(GHND, sz); - if (!hMem) return nullptr; - - auto* df = static_cast(GlobalLock(hMem)); - if (!df) { - GlobalFree(hMem); - return nullptr; - } - - df->pFiles = sizeof(DROPFILES); - df->fWide = TRUE; - - auto* dest = reinterpret_cast( - reinterpret_cast(df) + sizeof(DROPFILES)); - for (const auto& wp : wpaths) { - memcpy(dest, wp.c_str(), (wp.size() + 1) * sizeof(wchar_t)); - dest += wp.size() + 1; - } - *dest = L'\0'; - - GlobalUnlock(hMem); - return hMem; -} - -std::wstring BaseNameW(const std::wstring& path) { - size_t pos = path.find_last_of(L"\\/"); - return pos == std::wstring::npos ? path : path.substr(pos + 1); -} - -UINT CfFileDescriptorW() { - static UINT cf = RegisterClipboardFormatW(CFSTR_FILEDESCRIPTORW); - return cf; -} - -UINT CfFileContents() { - static UINT cf = RegisterClipboardFormatW(CFSTR_FILECONTENTS); - return cf; -} - -// Names a single virtual file on the clipboard. A unique name stops Chromium -// from inventing the fixed "image.png" (localized "imagen.png") that web -// uploaders such as Gemini reject as a duplicate on the second paste. -HGLOBAL BuildFileGroupDescriptorGlobal(const std::wstring& fileName, - uint64_t fileSize) { - HGLOBAL hMem = GlobalAlloc(GHND, sizeof(FILEGROUPDESCRIPTORW)); - if (!hMem) return nullptr; - auto* fgd = static_cast(GlobalLock(hMem)); - if (!fgd) { - GlobalFree(hMem); - return nullptr; - } - fgd->cItems = 1; - auto& fd = fgd->fgd[0]; - fd.dwFlags = static_cast(FD_UNICODE) | static_cast(FD_FILESIZE); - fd.nFileSizeHigh = static_cast(fileSize >> 32); - fd.nFileSizeLow = static_cast(fileSize & 0xFFFFFFFF); - wcsncpy_s(fd.cFileName, MAX_PATH, fileName.c_str(), _TRUNCATE); - GlobalUnlock(hMem); - return hMem; -} - -// Reads a file fully into an HGLOBAL for CFSTR_FILECONTENTS (single file, -// lindex 0). Returns null on any I/O error or if the size exceeds a 2 GB single -// ReadFile; the caller then skips the virtual-file offer and keeps CF_DIBV5. -HGLOBAL BuildFileContentsGlobal(const std::wstring& filePath, - uint64_t* outSize) { - HANDLE hFile = CreateFileW(filePath.c_str(), GENERIC_READ, FILE_SHARE_READ, - nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, - nullptr); - if (hFile == INVALID_HANDLE_VALUE) return nullptr; - LARGE_INTEGER size; - if (!GetFileSizeEx(hFile, &size) || size.QuadPart <= 0 || - size.QuadPart > 0x7FFFFFFF) { - CloseHandle(hFile); - return nullptr; - } - DWORD bytes = static_cast(size.QuadPart); - HGLOBAL hMem = GlobalAlloc(GHND, bytes); - if (!hMem) { - CloseHandle(hFile); - return nullptr; - } - void* ptr = GlobalLock(hMem); - if (!ptr) { - GlobalFree(hMem); - CloseHandle(hFile); - return nullptr; - } - DWORD read = 0; - BOOL ok = ReadFile(hFile, ptr, bytes, &read, nullptr); - GlobalUnlock(hMem); - CloseHandle(hFile); - if (!ok || read != bytes) { - GlobalFree(hMem); - return nullptr; - } - if (outSize) *outSize = bytes; - return hMem; -} - -} // namespace - -void ListenerPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto plugin = std::make_unique(registrar); - - auto channel = - std::make_unique>( - registrar->messenger(), "copypaste/clipboard", - &flutter::StandardMethodCodec::GetInstance()); - - auto handler = std::make_unique(plugin.get()); - channel->SetStreamHandler(std::move(handler)); - - auto method_channel = - std::make_unique>( - registrar->messenger(), "copypaste/clipboard_writer", - &flutter::StandardMethodCodec::GetInstance()); - auto* plugin_ptr = plugin.get(); - method_channel->SetMethodCallHandler( - [plugin_ptr]( - const flutter::MethodCall& call, - std::unique_ptr> - result) { - plugin_ptr->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); -} - -ListenerPlugin::ListenerPlugin(flutter::PluginRegistrarWindows* registrar) - : registrar_(registrar) { - cf_rtf_ = RegisterClipboardFormat(L"Rich Text Format"); - cf_html_ = RegisterClipboardFormat(L"HTML Format"); - cf_exclude_history_ = RegisterClipboardFormat( - L"ExcludeClipboardContentFromMonitorProcessing"); - cf_can_include_ = - RegisterClipboardFormat(L"CanIncludeInClipboardHistory"); - - Gdiplus::GdiplusStartupInput gdipInput; - Gdiplus::GdiplusStartup(&gdip_token_, &gdipInput, nullptr); -} - -ListenerPlugin::~ListenerPlugin() { - StopListening(); - if (gdip_token_) Gdiplus::GdiplusShutdown(gdip_token_); -} - -void ListenerPlugin::StartListening( - std::unique_ptr> sink) { - std::lock_guard lock(sink_mutex_); - sink_ = std::move(sink); - - clipboard_format_registered_ = false; - - HWND hwnd = registrar_->GetView() - ? registrar_->GetView()->GetNativeWindow() - : nullptr; - // Use the top-level window for AddClipboardFormatListener so that - // WM_CLIPBOARDUPDATE arrives at the same WndProc that dispatches - // to RegisterTopLevelWindowProcDelegate callbacks. - HWND topHwnd = hwnd ? GetAncestor(hwnd, GA_ROOT) : nullptr; - if (topHwnd) { - AddClipboardFormatListener(topHwnd); - clipboard_format_registered_ = true; - } - - window_proc_id_ = registrar_->RegisterTopLevelWindowProcDelegate( - [this](HWND hwnd, UINT message, WPARAM wparam, - LPARAM lparam) -> std::optional { - return HandleWindowMessage(hwnd, message, wparam, lparam); - }); -} - -void ListenerPlugin::StopListening() { - if (window_proc_id_ >= 0) { - registrar_->UnregisterTopLevelWindowProcDelegate(window_proc_id_); - window_proc_id_ = -1; - } - - HWND hwnd = registrar_->GetView() ? registrar_->GetView()->GetNativeWindow() - : nullptr; - HWND topHwnd = hwnd ? GetAncestor(hwnd, GA_ROOT) : nullptr; - if (topHwnd) { - KillTimer(topHwnd, kClipboardTimerId); - RemoveClipboardFormatListener(topHwnd); - } - clipboard_format_registered_ = false; - - std::lock_guard lock(sink_mutex_); - sink_ = nullptr; -} - -std::optional ListenerPlugin::HandleWindowMessage( - HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { - // Deferred clipboard registration: if AddClipboardFormatListener was not - // called during StartListening (e.g. window handle not ready at plugin-start - // time after an MSIX/standalone update), register it here on the first - // window message. The hwnd passed to RegisterTopLevelWindowProcDelegate is - // always the top-level window, so no GetAncestor() call is needed. - if (!clipboard_format_registered_) { - if (AddClipboardFormatListener(hwnd)) { - clipboard_format_registered_ = true; - OutputDebugStringA( - "[CopyPaste Listener] AddClipboardFormatListener registered " - "deferred (was not ready at StartListening)\n"); - } - } - - if (message == WM_CLIPBOARDUPDATE) { - KillTimer(hwnd, kClipboardTimerId); - SetTimer(hwnd, kClipboardTimerId, kClipboardTimerDelayMs, nullptr); - } else if (message == WM_TIMER && wparam == kClipboardTimerId) { - KillTimer(hwnd, kClipboardTimerId); - OnClipboardChanged(); - } - return std::nullopt; -} - -void ListenerPlugin::OnClipboardChanged() { - HWND hwnd = registrar_->GetView() ? registrar_->GetView()->GetNativeWindow() - : nullptr; - if (!hwnd) return; - // Self-write guard: only skip while WE still own the clipboard. If an external - // app grabbed ownership inside the window, GetClipboardOwner() != hwnd and we - // must process it — otherwise a copy made right after our own write is lost. - if (last_write_tick_ > 0 && - (GetTickCount64() - last_write_tick_) < kSelfWriteIgnoreMs && - GetClipboardOwner() == hwnd) { - return; - } - - if (!OpenClipboardWithRetry(hwnd)) { - OutputDebugStringA("[ClipboardListener] OpenClipboard failed after retries\n"); - return; - } - - flutter::EncodableMap event; - - try { - if (ShouldExclude()) { - CloseClipboard(); - return; - } - - std::string hash = ComputeClipboardHash(); - if (!hash.empty() && IsDuplicate(hash)) { - CloseClipboard(); - return; - } - - std::string source = GetClipboardSource(); - - if (IsClipboardFormatAvailable(CF_HDROP)) { - auto files = ExtractFilePaths(); - if (!files.empty()) { - flutter::EncodableList file_list; - file_list.reserve(files.size()); - int event_type = 2; // file - - if (files.size() == 1) { - event_type = DetectFileType(files[0]); - } - - for (const auto& f : files) { - file_list.push_back(flutter::EncodableValue(WideToUtf8(f))); - } - - event = { - {flutter::EncodableValue("type"), - flutter::EncodableValue(event_type)}, - {flutter::EncodableValue("files"), - flutter::EncodableValue(file_list)}, - {flutter::EncodableValue("source"), - flutter::EncodableValue(source)}, - {flutter::EncodableValue("contentHash"), - flutter::EncodableValue(hash)}, - }; - } - } else if (IsClipboardFormatAvailable(CF_UNICODETEXT)) { - std::wstring text = ExtractText(); - if (!text.empty()) { - int event_type = IsUrl(text) ? 4 : 0; // link=4, text=0 - - std::vector rtf_bytes; - std::vector html_bytes; - if (cf_rtf_ && IsClipboardFormatAvailable(cf_rtf_)) { - rtf_bytes = ExtractBytes(cf_rtf_); - } - if (cf_html_ && IsClipboardFormatAvailable(cf_html_)) { - html_bytes = ExtractBytes(cf_html_); - } - - event = { - {flutter::EncodableValue("type"), - flutter::EncodableValue(event_type)}, - {flutter::EncodableValue("text"), - flutter::EncodableValue(WideToUtf8(text))}, - {flutter::EncodableValue("source"), - flutter::EncodableValue(source)}, - {flutter::EncodableValue("contentHash"), - flutter::EncodableValue(hash)}, - }; - if (!rtf_bytes.empty()) { - event[flutter::EncodableValue("rtf")] = - flutter::EncodableValue(rtf_bytes); - } - if (!html_bytes.empty()) { - event[flutter::EncodableValue("html")] = - flutter::EncodableValue(html_bytes); - } - } - } else if (IsClipboardFormatAvailable(CF_DIB)) { - auto dib = ExtractBytes(CF_DIB); - if (!dib.empty()) { - auto bytes = ConvertDibToBmp(dib); - if (!bytes.empty()) { - event = { - {flutter::EncodableValue("type"), - flutter::EncodableValue(1)}, // image=1 - {flutter::EncodableValue("bytes"), - flutter::EncodableValue(bytes)}, - {flutter::EncodableValue("source"), - flutter::EncodableValue(source)}, - {flutter::EncodableValue("contentHash"), - flutter::EncodableValue(hash)}, - }; - } - } - } - } catch (const std::exception& e) { - std::cerr << "[CopyPaste Listener] Clipboard read error: " << e.what() - << std::endl; - } catch (...) { - std::cerr << "[CopyPaste Listener] Unknown clipboard read error" - << std::endl; - } - - CloseClipboard(); - - if (!event.empty()) { - std::lock_guard lock(sink_mutex_); - if (sink_) { - sink_->Success(flutter::EncodableValue(event)); - } - } -} - -bool ListenerPlugin::ShouldExclude() const { - if (cf_exclude_history_ && IsClipboardFormatAvailable(cf_exclude_history_)) { - return true; - } - if (cf_can_include_ && IsClipboardFormatAvailable(cf_can_include_)) { - HANDLE hData = GetClipboardData(cf_can_include_); - if (hData && GlobalSize(hData) >= 4) { - const void* ptr = GlobalLock(hData); - if (ptr) { - const auto* bytes = static_cast(ptr); - int val = static_cast(bytes[0]) | (static_cast(bytes[1]) << 8) | - (static_cast(bytes[2]) << 16) | - (static_cast(bytes[3]) << 24); - GlobalUnlock(hData); - if (val == 0) return true; - } - } - } - return false; -} - -bool ListenerPlugin::IsDuplicate(const std::string& hash) { - ULONGLONG now = GetTickCount64(); - if (hash == last_content_hash_ && (now - last_change_tick_) < kDebounceMs) { - return true; - } - last_content_hash_ = hash; - last_change_tick_ = now; - return false; -} - -std::string ListenerPlugin::ComputeClipboardHash() const { - std::string signature; - - if (IsClipboardFormatAvailable(CF_UNICODETEXT)) { - std::wstring text = ExtractText(); - if (!text.empty()) { - std::wstring sample = text.size() > 100 ? text.substr(0, 100) : text; - signature += "T:" + WideToUtf8(sample); - } - } else if (IsClipboardFormatAvailable(CF_HDROP)) { - auto files = ExtractFilePaths(); - for (const auto& f : files) { - signature += "F:" + WideToUtf8(f) + "|"; - } - } else if (IsClipboardFormatAvailable(CF_DIB)) { - HANDLE hData = GetClipboardData(CF_DIB); - if (hData) { - SIZE_T sz = GlobalSize(hData); - void* ptr = GlobalLock(hData); - if (ptr) { - const uint8_t* bytes = static_cast(ptr); - std::ostringstream oss; - oss << "I:" << sz; - if (sz >= sizeof(BITMAPINFOHEADER)) { - const auto* bih = reinterpret_cast(ptr); - oss << ':' << bih->biWidth << 'x' << bih->biHeight << ':' - << bih->biBitCount << ':' << bih->biCompression << ':' - << bih->biSizeImage; - } - signature += oss.str(); - - // Sampling only the head would compare the bottom rows of a bottom-up - // DIB, so two screenshots sharing a taskbar collide. Raw bytes go into - // the signature directly: a hex dump needs zero padding to stay - // unambiguous, and getting that wrong silently drops captures. - constexpr size_t kBlocks = 16; - constexpr size_t kBlockBytes = 64; - const size_t blockLen = - static_cast((std::min)(sz, static_cast(kBlockBytes))); - const size_t span = sz > blockLen ? sz - blockLen : 0; - for (size_t b = 0; b < kBlocks; ++b) { - const size_t offset = span * b / (kBlocks - 1); - signature.append(reinterpret_cast(bytes + offset), - blockLen); - } - GlobalUnlock(hData); - } - } - } - - if (signature.empty()) return {}; - return ComputeSimpleHash(signature); -} - -std::string ListenerPlugin::GetClipboardSource() const { - HWND owner = GetClipboardOwner(); - if (!owner) return {}; - - DWORD pid = 0; - GetWindowThreadProcessId(owner, &pid); - if (!pid) return {}; - - HANDLE proc = - OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid); - if (!proc) return {}; - - wchar_t name[MAX_PATH] = {}; - DWORD size = MAX_PATH; - QueryFullProcessImageNameW(proc, 0, name, &size); - CloseHandle(proc); - - std::filesystem::path p(name); - return WideToUtf8(p.stem().wstring()); -} - -std::wstring ListenerPlugin::ExtractText() { - HANDLE hData = GetClipboardData(CF_UNICODETEXT); - if (!hData) return {}; - - void* ptr = GlobalLock(hData); - if (!ptr) return {}; - - SIZE_T sz = GlobalSize(hData); - size_t maxChars = sz / sizeof(wchar_t); - if (maxChars == 0) { - GlobalUnlock(hData); - return {}; - } - - const wchar_t* wptr = static_cast(ptr); - size_t len = wcsnlen(wptr, maxChars); - std::wstring text(wptr, len); - GlobalUnlock(hData); - return text; -} - -std::vector ListenerPlugin::ExtractBytes(UINT format) { - HANDLE hData = GetClipboardData(format); - if (!hData) return {}; - - void* ptr = GlobalLock(hData); - if (!ptr) return {}; - - SIZE_T sz = GlobalSize(hData); - std::vector result(sz); - memcpy(result.data(), ptr, sz); - GlobalUnlock(hData); - return result; -} - -std::vector ListenerPlugin::ExtractFilePaths() { - HANDLE hData = GetClipboardData(CF_HDROP); - if (!hData) return {}; - - UINT count = DragQueryFileW(static_cast(hData), 0xFFFFFFFF, - nullptr, 0); - if (count == 0 || count > 10000) return {}; - - std::vector files; - files.reserve(count); - - for (UINT i = 0; i < count; ++i) { - UINT len = DragQueryFileW(static_cast(hData), i, nullptr, 0); - if (len == 0 || len > 32767) continue; - - std::vector buf(len + 1, L'\0'); - if (DragQueryFileW(static_cast(hData), i, buf.data(), - static_cast(buf.size())) > 0) { - std::wstring path(buf.data()); - if (!path.empty()) files.push_back(std::move(path)); - } - } - - return files; -} - -bool ListenerPlugin::IsUrl(const std::wstring& text) { - if (text.size() < 5) return false; - - static const std::wstring kPrefixes[] = { - L"https://", L"http://", L"ftp://", L"file:///", L"mailto:", - }; - - static constexpr size_t kMaxPrefix = 9; // longest prefix is "file:///" - const size_t checkLen = (std::min)(text.size(), kMaxPrefix); - std::wstring head(text.data(), checkLen); - std::transform(head.begin(), head.end(), head.begin(), ::towlower); - - bool matched = false; - for (const auto& prefix : kPrefixes) { - if (head.size() >= prefix.size() && - head.compare(0, prefix.size(), prefix) == 0) { - matched = true; - break; - } - } - if (!matched) return false; - - return text.find(L' ') == std::wstring::npos && - text.find(L'\n') == std::wstring::npos; -} - -int ListenerPlugin::DetectFileType(const std::wstring& path) { - DWORD attrs = GetFileAttributesW(path.c_str()); - if (attrs != INVALID_FILE_ATTRIBUTES && - (attrs & FILE_ATTRIBUTE_DIRECTORY)) { - return 3; // folder - } - - std::filesystem::path p(path); - std::wstring ext = p.extension().wstring(); - std::transform(ext.begin(), ext.end(), ext.begin(), ::towupper); - - static const std::unordered_map kExtMap = { - {L".MP3", 5}, {L".WAV", 5}, {L".FLAC", 5}, {L".AAC", 5}, - {L".OGG", 5}, {L".WMA", 5}, {L".M4A", 5}, - {L".MP4", 6}, {L".AVI", 6}, {L".MKV", 6}, {L".MOV", 6}, - {L".WMV", 6}, {L".FLV", 6}, {L".WEBM", 6}, - {L".PNG", 1}, {L".JPG", 1}, {L".JPEG", 1}, {L".GIF", 1}, - {L".BMP", 1}, {L".WEBP", 1}, {L".SVG", 1}, {L".ICO", 1}, - }; - - auto it = kExtMap.find(ext); - return it != kExtMap.end() ? it->second : 2; // default: file -} - -std::string ListenerPlugin::WideToUtf8(const std::wstring& wide) { - if (wide.empty()) return {}; - int sz = WideCharToMultiByte(CP_UTF8, 0, wide.data(), - static_cast(wide.size()), - nullptr, 0, nullptr, nullptr); - if (sz <= 0) return {}; - std::string result(sz, '\0'); - WideCharToMultiByte(CP_UTF8, 0, wide.data(), - static_cast(wide.size()), - result.data(), sz, nullptr, nullptr); - return result; -} - -// Another app can hold the clipboard lock briefly — Chromium and Electron do -// it on every copy — so a single attempt drops the operation silently. -bool ListenerPlugin::OpenClipboardWithRetry(HWND hwnd) { - for (int attempt = 0; attempt < kOpenClipboardRetries; ++attempt) { - if (OpenClipboard(hwnd)) return true; - Sleep(kOpenClipboardBackoffMs[attempt]); - } - return false; -} - -std::string ListenerPlugin::ComputeSimpleHash(const std::string& data) { - // FNV-1a 64-bit hash - uint64_t hash = 14695981039346656037ULL; - for (unsigned char c : data) { - hash ^= c; - hash *= 1099511628211ULL; - } - std::ostringstream oss; - oss << std::hex << hash; - return oss.str(); -} - -std::wstring ListenerPlugin::Utf8ToWide(const std::string& utf8) { - if (utf8.empty()) return {}; - int sz = MultiByteToWideChar(CP_UTF8, 0, utf8.data(), - static_cast(utf8.size()), - nullptr, 0); - if (sz <= 0) return {}; - std::wstring result(sz, L'\0'); - MultiByteToWideChar(CP_UTF8, 0, utf8.data(), - static_cast(utf8.size()), - result.data(), sz); - return result; -} - -void ListenerPlugin::HandleMethodCall( - const flutter::MethodCall& call, - std::unique_ptr> result) { - if (call.method_name() == "getMediaInfo") { - const auto* args = - std::get_if(call.arguments()); - if (!args) { - result->Success(flutter::EncodableValue()); - return; - } - auto path_it = args->find(flutter::EncodableValue("path")); - if (path_it == args->end()) { - result->Success(flutter::EncodableValue()); - return; - } - std::string pathUtf8 = std::get(path_it->second); - auto info = GetMediaInfo(Utf8ToWide(pathUtf8)); - if (info.empty()) { - result->Success(flutter::EncodableValue()); - } else { - result->Success(flutter::EncodableValue(info)); - } - return; - } - - if (call.method_name() == "getNativeThumbnail") { - const auto* args = - std::get_if(call.arguments()); - if (!args) { - result->Success(flutter::EncodableValue()); - return; - } - auto path_it = args->find(flutter::EncodableValue("path")); - if (path_it == args->end()) { - result->Success(flutter::EncodableValue()); - return; - } - const std::string path_utf8 = std::get(path_it->second); - - int size_px = 256; - auto size_it = args->find(flutter::EncodableValue("sizePx")); - if (size_it != args->end()) { - size_px = std::get(size_it->second); - } - if (size_px <= 0) size_px = 256; - - auto bytes = GetNativeThumbnail(Utf8ToWide(path_utf8), size_px); - if (bytes.empty()) { - result->Success(flutter::EncodableValue()); - } else { - result->Success(flutter::EncodableValue(std::move(bytes))); - } - return; - } - - if (call.method_name() == "startFileDrag") { - const auto* args = - std::get_if(call.arguments()); - if (!args) { - result->Success(flutter::EncodableValue(false)); - return; - } - auto paths_it = args->find(flutter::EncodableValue("paths")); - if (paths_it == args->end()) { - result->Success(flutter::EncodableValue(false)); - return; - } - const auto* list = - std::get_if(&paths_it->second); - if (!list) { - result->Success(flutter::EncodableValue(false)); - return; - } - std::vector paths; - paths.reserve(list->size()); - for (const auto& v : *list) { - if (const auto* s = std::get_if(&v)) paths.push_back(*s); - } - result->Success(flutter::EncodableValue(StartFileDrag(paths))); - return; - } - - if (call.method_name() != "setClipboardContent") { - result->NotImplemented(); - return; - } - - const auto* args = - std::get_if(call.arguments()); - if (!args) { - result->Error("invalid_args", "Expected map arguments"); - return; - } - - auto type_it = args->find(flutter::EncodableValue("type")); - if (type_it == args->end()) { - result->Error("missing_type", "Missing 'type' argument"); - return; - } - int type = std::get(type_it->second); - - bool success = false; - - if (type == 0 || type == 4) { // text or link - auto content_it = args->find(flutter::EncodableValue("content")); - std::string content = - content_it != args->end() - ? std::get(content_it->second) - : ""; - - std::vector rtf; - auto rtf_it = args->find(flutter::EncodableValue("rtf")); - if (rtf_it != args->end()) { - rtf = std::get>(rtf_it->second); - } - - std::vector html; - auto html_it = args->find(flutter::EncodableValue("html")); - if (html_it != args->end()) { - html = std::get>(html_it->second); - } - - bool plain = (type == 4); - auto plain_it = args->find(flutter::EncodableValue("plainText")); - if (plain_it != args->end()) { - plain = std::get(plain_it->second); - } - - if (plain) { - success = SetTextToClipboard(content, {}, {}); - } else { - success = SetTextToClipboard(content, rtf, html); - } - } else if (type == 1) { // image - auto content_it = args->find(flutter::EncodableValue("content")); - std::string imagePath = - content_it != args->end() - ? std::get(content_it->second) - : ""; - success = SetImageToClipboard(imagePath); - } else if (type >= 2 && type <= 6) { // file, folder, audio, video - auto content_it = args->find(flutter::EncodableValue("content")); - std::string content = - content_it != args->end() - ? std::get(content_it->second) - : ""; - std::vector paths; - std::istringstream iss(content); - std::string line; - while (std::getline(iss, line)) { - if (!line.empty()) paths.push_back(line); - } - success = SetFilesToClipboard(paths); - } - - result->Success(flutter::EncodableValue(success)); -} - -bool ListenerPlugin::SetTextToClipboard( - const std::string& text, - const std::vector& rtf, - const std::vector& html) { - if (text.empty()) return false; - - HWND hwnd = registrar_->GetView() - ? registrar_->GetView()->GetNativeWindow() - : nullptr; - if (!OpenClipboardWithRetry(hwnd)) return false; - - EmptyClipboard(); - bool ok = false; - - std::wstring wide = Utf8ToWide(text); - if (wide.empty()) { - CloseClipboard(); - return false; - } - size_t sz = (wide.size() + 1) * sizeof(wchar_t); - HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, sz); - if (hMem) { - void* ptr = GlobalLock(hMem); - if (ptr) { - memcpy(ptr, wide.c_str(), sz); - GlobalUnlock(hMem); - if (SetClipboardData(CF_UNICODETEXT, hMem)) { - ok = true; - } else { - GlobalFree(hMem); - } - } else { - GlobalFree(hMem); - } - } - - if (ok && !rtf.empty() && cf_rtf_) { - HGLOBAL hRtf = GlobalAlloc(GMEM_MOVEABLE, rtf.size() + 1); - if (hRtf) { - void* ptr = GlobalLock(hRtf); - if (ptr) { - memcpy(ptr, rtf.data(), rtf.size()); - static_cast(ptr)[rtf.size()] = '\0'; - GlobalUnlock(hRtf); - if (!SetClipboardData(cf_rtf_, hRtf)) { - GlobalFree(hRtf); - } - } else { - GlobalFree(hRtf); - } - } - } - - if (ok && !html.empty() && cf_html_) { - HGLOBAL hHtml = GlobalAlloc(GMEM_MOVEABLE, html.size() + 1); - if (hHtml) { - void* ptr = GlobalLock(hHtml); - if (ptr) { - memcpy(ptr, html.data(), html.size()); - static_cast(ptr)[html.size()] = '\0'; - GlobalUnlock(hHtml); - if (!SetClipboardData(cf_html_, hHtml)) { - GlobalFree(hHtml); - } - } else { - GlobalFree(hHtml); - } - } - } - - CloseClipboard(); - if (ok) last_write_tick_ = GetTickCount64(); - return ok; -} - -bool ListenerPlugin::SetImageToClipboard(const std::string& imagePath) { - if (imagePath.empty()) return false; - - std::wstring wpath = Utf8ToWide(imagePath); - - Gdiplus::Bitmap bitmap(wpath.c_str()); - if (bitmap.GetLastStatus() != Gdiplus::Ok) return false; - - HBITMAP hBitmap = nullptr; - Gdiplus::Color bg(255, 255, 255, 255); - if (bitmap.GetHBITMAP(bg, &hBitmap) != Gdiplus::Ok || !hBitmap) - return false; - - BITMAP bm = {}; - GetObject(hBitmap, sizeof(bm), &bm); - - size_t rowBytes = static_cast(bm.bmWidth) * 4; - size_t imgSize = rowBytes * bm.bmHeight; - - BITMAPV5HEADER bv5 = {}; - bv5.bV5Size = sizeof(BITMAPV5HEADER); - bv5.bV5Width = bm.bmWidth; - bv5.bV5Height = bm.bmHeight; - bv5.bV5Planes = 1; - bv5.bV5BitCount = 32; - bv5.bV5Compression = BI_BITFIELDS; - bv5.bV5SizeImage = static_cast(imgSize); - bv5.bV5RedMask = 0x00FF0000; - bv5.bV5GreenMask = 0x0000FF00; - bv5.bV5BlueMask = 0x000000FF; - bv5.bV5AlphaMask = 0xFF000000; - bv5.bV5CSType = LCS_WINDOWS_COLOR_SPACE; - bv5.bV5Intent = LCS_GM_IMAGES; - - size_t dibSize = sizeof(BITMAPV5HEADER) + imgSize; - HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, dibSize); - if (!hMem) { - DeleteObject(hBitmap); - return false; - } - - void* ptr = GlobalLock(hMem); - if (!ptr) { - GlobalFree(hMem); - DeleteObject(hBitmap); - return false; - } - - std::memcpy(ptr, &bv5, sizeof(BITMAPV5HEADER)); - - BITMAPINFOHEADER bih = {}; - bih.biSize = sizeof(BITMAPINFOHEADER); - bih.biWidth = bm.bmWidth; - bih.biHeight = bm.bmHeight; - bih.biPlanes = 1; - bih.biBitCount = 32; - bih.biCompression = BI_RGB; - bih.biSizeImage = static_cast(imgSize); - - HDC hDC = GetDC(nullptr); - auto* bi = reinterpret_cast(&bih); - int scanLines = GetDIBits( - hDC, hBitmap, 0, bm.bmHeight, - static_cast(ptr) + sizeof(BITMAPV5HEADER), - bi, DIB_RGB_COLORS); - ReleaseDC(nullptr, hDC); - - if (scanLines > 0) { - uint8_t* pixels = static_cast(ptr) + sizeof(BITMAPV5HEADER); - for (size_t i = 3; i < imgSize; i += 4) { - pixels[i] = 0xFF; - } - } - - GlobalUnlock(hMem); - DeleteObject(hBitmap); - - if (scanLines == 0) { - GlobalFree(hMem); - return false; - } - - // CF_DIBV5 covers inline-paste targets (image editors, rich-text composers). - // The virtual-file pair below covers web uploaders; see the SetClipboardData - // calls. We deliberately do NOT use CF_HDROP: browsers ignore it on paste and - // it confused the listener's own read path (CF_HDROP first) on self-writes. - uint64_t pngSize = 0; - HGLOBAL hContents = BuildFileContentsGlobal(wpath, &pngSize); - HGLOBAL hDesc = hContents - ? BuildFileGroupDescriptorGlobal(BaseNameW(wpath), pngSize) - : nullptr; - - HWND hwnd = registrar_->GetView() - ? registrar_->GetView()->GetNativeWindow() - : nullptr; - if (!OpenClipboardWithRetry(hwnd)) { - GlobalFree(hMem); - if (hContents) GlobalFree(hContents); - if (hDesc) GlobalFree(hDesc); - return false; - } - - EmptyClipboard(); - bool ok = SetClipboardData(CF_DIBV5, hMem) != nullptr; - if (!ok) GlobalFree(hMem); - - // Offer the PNG as a named virtual file so Chromium hands web uploaders our - // unique .png instead of inventing the fixed "imagen.png" that those - // sites reject as a duplicate. Descriptor and contents go together or not at - // all. CFSTR_FILECONTENTS via the flat clipboard is read at lindex 0 by the - // IDataObject that OleGetClipboard synthesizes for the consumer. - if (hContents && hDesc) { - if (SetClipboardData(CfFileDescriptorW(), hDesc) == nullptr) { - GlobalFree(hDesc); - GlobalFree(hContents); - } else if (SetClipboardData(CfFileContents(), hContents) == nullptr) { - GlobalFree(hContents); - } - } else { - if (hContents) GlobalFree(hContents); - if (hDesc) GlobalFree(hDesc); - } - - CloseClipboard(); - if (ok) last_write_tick_ = GetTickCount64(); - return ok; -} - -bool ListenerPlugin::SetFilesToClipboard( - const std::vector& paths) { - if (paths.empty()) return false; - - std::vector wpaths; - wpaths.reserve(paths.size()); - for (const auto& p : paths) { - auto wp = Utf8ToWide(p); - if (wp.empty()) continue; - if (GetFileAttributesW(wp.c_str()) == INVALID_FILE_ATTRIBUTES) continue; - wpaths.push_back(std::move(wp)); - } - - if (wpaths.empty()) return false; - - HGLOBAL hMem = BuildDropFilesGlobal(wpaths); - if (!hMem) return false; - - HWND hwnd = registrar_->GetView() - ? registrar_->GetView()->GetNativeWindow() - : nullptr; - if (!OpenClipboardWithRetry(hwnd)) { - GlobalFree(hMem); - return false; - } - - EmptyClipboard(); - bool ok = SetClipboardData(CF_HDROP, hMem) != nullptr; - if (!ok) GlobalFree(hMem); - - CloseClipboard(); - if (ok) last_write_tick_ = GetTickCount64(); - return ok; -} - -namespace { - -// Minimal drag source: drop on left-button release, cancel on Escape. -class FileDropSource : public IDropSource { - public: - FileDropSource() : ref_(1) {} - - HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppv) override { - if (riid == IID_IUnknown || riid == IID_IDropSource) { - *ppv = static_cast(this); - AddRef(); - return S_OK; - } - *ppv = nullptr; - return E_NOINTERFACE; - } - - ULONG STDMETHODCALLTYPE AddRef() override { - return InterlockedIncrement(&ref_); - } - - ULONG STDMETHODCALLTYPE Release() override { - LONG c = InterlockedDecrement(&ref_); - if (c == 0) delete this; - return c; - } - - HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, - DWORD grfKeyState) override { - if (fEscapePressed) return DRAGDROP_S_CANCEL; - if (!(grfKeyState & MK_LBUTTON)) return DRAGDROP_S_DROP; - return S_OK; - } - - HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD /*dwEffect*/) override { - return DRAGDROP_S_USEDEFAULTCURSORS; - } - - private: - LONG ref_; -}; - -// Offers [paths] as CF_HDROP files through a modal OLE drag. The blocking -// DoDragDrop loop runs on the platform thread, so the host window cannot process -// its focus-loss auto-hide until the drag ends. Returns true on a real drop. -bool DoFilesDragDrop(const std::vector& paths) { - std::vector valid; - valid.reserve(paths.size()); - for (const auto& p : paths) { - if (!p.empty() && GetFileAttributesW(p.c_str()) != INVALID_FILE_ATTRIBUTES) - valid.push_back(p); - } - if (valid.empty()) return false; - - HRESULT ole_hr = OleInitialize(nullptr); - bool ole_inited = SUCCEEDED(ole_hr); - - bool dropped = false; - IDataObject* data_object = nullptr; - HRESULT hr = SHCreateDataObject(nullptr, 0, nullptr, nullptr, - IID_PPV_ARGS(&data_object)); - if (SUCCEEDED(hr) && data_object) { - HGLOBAL drop = BuildDropFilesGlobal(valid); - if (drop) { - FORMATETC fmt = {}; - fmt.cfFormat = CF_HDROP; - fmt.dwAspect = DVASPECT_CONTENT; - fmt.lindex = -1; - fmt.tymed = TYMED_HGLOBAL; - - STGMEDIUM stg = {}; - stg.tymed = TYMED_HGLOBAL; - stg.hGlobal = drop; - - // fRelease=TRUE hands ownership of the medium to the data object. - if (SUCCEEDED(data_object->SetData(&fmt, &stg, TRUE))) { - auto* drop_source = new FileDropSource(); - DWORD effect = 0; - HRESULT dd = - DoDragDrop(data_object, drop_source, DROPEFFECT_COPY, &effect); - dropped = (dd == DRAGDROP_S_DROP) && (effect != DROPEFFECT_NONE); - drop_source->Release(); - } else { - GlobalFree(drop); - } - } - data_object->Release(); - } - - if (ole_inited) OleUninitialize(); - return dropped; -} - -} // namespace - -bool ListenerPlugin::StartFileDrag(const std::vector& paths) { - std::vector wpaths; - wpaths.reserve(paths.size()); - for (const auto& p : paths) { - if (p.empty()) continue; - auto wp = Utf8ToWide(p); - if (!wp.empty()) wpaths.push_back(std::move(wp)); - } - return DoFilesDragDrop(wpaths); -} - -// --- Native shell thumbnail extraction (PR #6b) ---------------------------- - -namespace { - -// CLSID for the PNG image encoder built into GDI+. -// {557CF406-1A04-11D3-9A73-0000F81EF32E} -constexpr CLSID kPngEncoderClsid = { - 0x557CF406, - 0x1A04, - 0x11D3, - {0x9A, 0x73, 0x00, 0x00, 0xF8, 0x1E, 0xF3, 0x2E}}; - -// Encodes [bitmap] as PNG into a fresh byte buffer. Returns empty on failure. -std::vector EncodePng(Gdiplus::Bitmap& bitmap) { - IStream* stream = nullptr; - if (CreateStreamOnHGlobal(nullptr, TRUE, &stream) != S_OK || !stream) { - return {}; - } - - std::vector out; - if (bitmap.Save(stream, &kPngEncoderClsid, nullptr) == Gdiplus::Ok) { - HGLOBAL h_global = nullptr; - if (GetHGlobalFromStream(stream, &h_global) == S_OK && h_global) { - const SIZE_T size = GlobalSize(h_global); - void* ptr = GlobalLock(h_global); - if (ptr && size > 0) { - out.assign(static_cast(ptr), - static_cast(ptr) + size); - } - if (ptr) GlobalUnlock(h_global); - } - } - stream->Release(); - return out; -} - -} // namespace - -std::vector ListenerPlugin::GetNativeThumbnail( - const std::wstring& path, int size_px) { - if (path.empty() || size_px <= 0) return {}; - - // Defensive: most Flutter platform-thread invocations are already in an - // STA, but `CoInitializeEx` is idempotent if the apartment matches and - // simply returns S_FALSE. RPC_E_CHANGED_MODE means another COM apartment - // is active — in that case we proceed without our own init. - HRESULT init_hr = - CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); - bool needs_uninit = SUCCEEDED(init_hr); - - std::vector result; - IShellItemImageFactory* factory = nullptr; - HRESULT hr = SHCreateItemFromParsingName(path.c_str(), nullptr, - IID_PPV_ARGS(&factory)); - if (SUCCEEDED(hr) && factory) { - SIZE size = {size_px, size_px}; - HBITMAP hbmp = nullptr; - - // First attempt: cache-only, fast path. This avoids extractor invocation - // (no COM-out-of-process work, no I/O on the source file). - hr = factory->GetImage( - size, SIIGBF_THUMBNAILONLY | SIIGBF_INCACHEONLY, &hbmp); - - // The shell may report E_PENDING when the cache entry is being built. - // Retry once without INCACHEONLY to let it materialize. We keep - // THUMBNAILONLY so we never get back a generic icon for unknown types. - if (hr == E_PENDING) { - hr = factory->GetImage(size, SIIGBF_THUMBNAILONLY, &hbmp); - } - - if (SUCCEEDED(hr) && hbmp) { - BITMAP bm = {}; - if (GetObject(hbmp, sizeof(bm), &bm) != 0) { - // Discard tiny bitmaps: when the OS has no real thumbnail it can - // still return a 32x32 file-type icon despite THUMBNAILONLY in - // some shell versions. Anything <= 64 px on either side at a 256 - // px request is treated as a generic icon. - const bool too_small = bm.bmWidth <= 64 || bm.bmHeight <= 64; - if (!too_small) { - Gdiplus::Bitmap gdi_bitmap(hbmp, nullptr); - if (gdi_bitmap.GetLastStatus() == Gdiplus::Ok) { - result = EncodePng(gdi_bitmap); - } - } - } - DeleteObject(hbmp); - } - factory->Release(); - } - - if (needs_uninit) CoUninitialize(); - return result; -} - -} // namespace listener - diff --git a/listener/windows/listener_plugin.h b/listener/windows/listener_plugin.h deleted file mode 100644 index 004b4ad5..00000000 --- a/listener/windows/listener_plugin.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef FLUTTER_PLUGIN_LISTENER_PLUGIN_H_ -#define FLUTTER_PLUGIN_LISTENER_PLUGIN_H_ - -#include -#include -#include -#include -#include - -#ifndef NOMINMAX -#define NOMINMAX -#endif -#include - -#include -#include - -#include -#include -#include -#include - -namespace listener { - -class ListenerPlugin : public flutter::Plugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - explicit ListenerPlugin(flutter::PluginRegistrarWindows* registrar); - ~ListenerPlugin() override; - - ListenerPlugin(const ListenerPlugin&) = delete; - ListenerPlugin& operator=(const ListenerPlugin&) = delete; - - static std::string WideToUtf8(const std::wstring& wide); - - void StartListening( - std::unique_ptr> sink); - void StopListening(); - - void HandleMethodCall( - const flutter::MethodCall& call, - std::unique_ptr> result); - - private: - flutter::PluginRegistrarWindows* registrar_; - int window_proc_id_ = -1; - - std::mutex sink_mutex_; - std::unique_ptr> sink_; - - std::string last_content_hash_; - ULONGLONG last_change_tick_ = 0; - static constexpr ULONGLONG kDebounceMs = 500; - static constexpr UINT_PTR kClipboardTimerId = 1; - static constexpr UINT kClipboardTimerDelayMs = 50; - static constexpr ULONGLONG kSelfWriteIgnoreMs = 700; - static constexpr int kOpenClipboardRetries = 3; - static constexpr DWORD kOpenClipboardBackoffMs[] = {5, 10, 20}; - - ULONGLONG last_write_tick_ = 0; - - bool clipboard_format_registered_ = false; - - UINT cf_rtf_ = 0; - UINT cf_html_ = 0; - UINT cf_exclude_history_ = 0; - UINT cf_can_include_ = 0; - ULONG_PTR gdip_token_ = 0; - - std::optional HandleWindowMessage(HWND hwnd, UINT message, - WPARAM wparam, LPARAM lparam); - void OnClipboardChanged(); - bool ShouldExclude() const; - bool IsDuplicate(const std::string& hash); - std::string ComputeClipboardHash() const; - std::string GetClipboardSource() const; - - static bool OpenClipboardWithRetry(HWND hwnd); - - static std::wstring ExtractText(); - static std::vector ExtractBytes(UINT format); - static std::vector ExtractFilePaths(); - static bool IsUrl(const std::wstring& text); - static int DetectFileType(const std::wstring& path); - static std::wstring Utf8ToWide(const std::string& utf8); - static std::string ComputeSimpleHash(const std::string& data); - - bool SetTextToClipboard(const std::string& text, - const std::vector& rtf, - const std::vector& html); - bool SetImageToClipboard(const std::string& imagePath); - bool SetFilesToClipboard(const std::vector& paths); - - // Starts a modal OLE drag-drop offering [paths] as CF_HDROP files, so a drop - // target (e.g. a browser upload zone) receives them with their real, unique - // names instead of the fixed "image.png" Chromium synthesizes for pasted - // bitmaps. Blocks the platform thread until the drag ends. - bool StartFileDrag(const std::vector& paths); - - // Native shell thumbnail extraction (PR #6b). Returns the encoded PNG - // bytes, or an empty vector when no usable thumbnail is available. - // Runs synchronously on the platform thread; the cache-hit fast path - // is typically < 50 ms. - static std::vector GetNativeThumbnail(const std::wstring& path, - int size_px); -}; - -} // namespace listener - -#endif // FLUTTER_PLUGIN_LISTENER_PLUGIN_H_ - diff --git a/listener/windows/listener_plugin_c_api.cpp b/listener/windows/listener_plugin_c_api.cpp deleted file mode 100644 index af248c91..00000000 --- a/listener/windows/listener_plugin_c_api.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "include/listener/listener_plugin_c_api.h" - -#include - -#include "listener_plugin.h" - -void ListenerPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - listener::ListenerPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/listener/windows/test/listener_plugin_test.cpp b/listener/windows/test/listener_plugin_test.cpp deleted file mode 100644 index 874dd6d8..00000000 --- a/listener/windows/test/listener_plugin_test.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include - -#include - -#include "listener_plugin.h" - -namespace listener { -namespace test { - -TEST(ListenerPlugin, ClassCompiles) { - // ListenerPlugin requires a real PluginRegistrarWindows* to construct, - // so we only verify the class definition links correctly. - // Integration tests cover actual clipboard monitoring behavior. - SUCCEED(); -} - -TEST(ListenerPlugin, WideToUtf8RoundTrip) { - // Verify the WideToUtf8 utility via the public header. - // The actual conversion is tested implicitly through clipboard events. - std::wstring input = L"Hello CopyPaste"; - std::string utf8(input.begin(), input.end()); - EXPECT_EQ(utf8, "Hello CopyPaste"); -} - -} // namespace test -} // namespace listener diff --git a/pubspec.lock b/pubspec.lock deleted file mode 100644 index efc9a96b..00000000 --- a/pubspec.lock +++ /dev/null @@ -1,1135 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" - url: "https://pub.dev" - source: hosted - version: "93.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b - url: "https://pub.dev" - source: hosted - version: "10.0.1" - ansi_styles: - dependency: transitive - description: - name: ansi_styles - sha256: "9c656cc12b3c27b17dd982b2cc5c0cfdfbdabd7bc8f3ae5e8542d9867b47ce8a" - url: "https://pub.dev" - source: hosted - version: "0.3.2+1" - archive: - dependency: transitive - description: - name: archive - sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff - url: "https://pub.dev" - source: hosted - version: "4.0.9" - args: - dependency: transitive - description: - name: args - sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 - url: "https://pub.dev" - source: hosted - version: "2.7.0" - async: - dependency: transitive - description: - name: async - sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 - url: "https://pub.dev" - source: hosted - version: "2.13.1" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - build: - dependency: transitive - description: - name: build - sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 - url: "https://pub.dev" - source: hosted - version: "4.0.6" - build_config: - dependency: transitive - description: - name: build_config - sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957 - url: "https://pub.dev" - source: hosted - version: "4.1.1" - build_runner: - dependency: transitive - description: - name: build_runner - sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" - url: "https://pub.dev" - source: hosted - version: "2.15.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" - url: "https://pub.dev" - source: hosted - version: "8.12.6" - characters: - dependency: transitive - description: - name: characters - sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b - url: "https://pub.dev" - source: hosted - version: "1.4.1" - charcode: - dependency: transitive - description: - name: charcode - sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a - url: "https://pub.dev" - source: hosted - version: "1.4.0" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" - url: "https://pub.dev" - source: hosted - version: "2.0.4" - cli_config: - dependency: transitive - description: - name: cli_config - sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec - url: "https://pub.dev" - source: hosted - version: "0.2.0" - cli_launcher: - dependency: transitive - description: - name: cli_launcher - sha256: "35cf15a3ffaeb9c11849eaa0afba761bb76dceb42d050532bfd3e1299c9748cd" - url: "https://pub.dev" - source: hosted - version: "0.3.3+1" - cli_util: - dependency: transitive - description: - name: cli_util - sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c - url: "https://pub.dev" - source: hosted - version: "0.4.2" - clock: - dependency: transitive - description: - name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - 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" - collection: - dependency: transitive - description: - name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.dev" - source: hosted - version: "1.19.1" - console: - dependency: transitive - description: - name: console - sha256: e04e7824384c5b39389acdd6dc7d33f3efe6b232f6f16d7626f194f6a01ad69a - url: "https://pub.dev" - source: hosted - version: "4.1.0" - conventional_commit: - dependency: transitive - description: - name: conventional_commit - sha256: c40b1b449ce2a63fa2ce852f35e3890b1e182f5951819934c0e4a66254bc0dc3 - url: "https://pub.dev" - source: hosted - version: "0.6.1+1" - convert: - dependency: transitive - description: - name: convert - sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 - url: "https://pub.dev" - source: hosted - version: "3.1.2" - coverage: - dependency: transitive - description: - name: coverage - sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d" - url: "https://pub.dev" - source: hosted - version: "1.15.0" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937" - url: "https://pub.dev" - source: hosted - version: "0.3.5+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf - url: "https://pub.dev" - source: hosted - version: "3.0.7" - cryptography: - dependency: transitive - description: - name: cryptography - sha256: "3eda3029d34ec9095a27a198ac9785630fe525c0eb6a49f3d575272f8e792ef0" - url: "https://pub.dev" - source: hosted - version: "2.9.0" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" - url: "https://pub.dev" - source: hosted - version: "3.1.7" - dbus: - dependency: transitive - description: - name: dbus - sha256: d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270 - url: "https://pub.dev" - source: hosted - version: "0.7.12" - drift: - dependency: transitive - description: - name: drift - sha256: "055c249d1f91be5a47fe447f88afc24c4ca6f4cd6c5ed66767b4797d48acc2e5" - url: "https://pub.dev" - source: hosted - version: "2.32.1" - drift_dev: - dependency: transitive - description: - name: drift_dev - sha256: "88a9de3af8571518148a6d8a513b57779fd1e60a026d3ab8a481a878fba01d91" - url: "https://pub.dev" - source: hosted - version: "2.32.1" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" - url: "https://pub.dev" - source: hosted - version: "1.3.3" - ffi: - dependency: transitive - description: - name: ffi - sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - file: - dependency: transitive - description: - name: file - sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 - url: "https://pub.dev" - source: hosted - version: "7.0.1" - file_picker: - dependency: transitive - description: - name: file_picker - sha256: f13a03000d942e476bc1ff0a736d2e9de711d2f89a95cd4c1d88f861c3348387 - url: "https://pub.dev" - source: hosted - version: "11.0.2" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be - url: "https://pub.dev" - source: hosted - version: "1.1.1" - flutter: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_acrylic: - dependency: transitive - description: - name: flutter_acrylic - sha256: b3996dbde5abf5823cc9ead4cf2e5267c3181f15585fe47ce4dc4472e7ec827a - url: "https://pub.dev" - source: hosted - version: "1.1.4" - flutter_lints: - dependency: transitive - description: - name: flutter_lints - sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" - url: "https://pub.dev" - source: hosted - version: "6.0.0" - flutter_localizations: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "38d1c268de9097ff59cf0e844ac38759fc78f76836d37edad06fa21e182055a0" - url: "https://pub.dev" - source: hosted - version: "2.0.34" - flutter_test: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" - get_it: - dependency: transitive - description: - name: get_it - sha256: "568d62f0e68666fb5d95519743b3c24a34c7f19d834b0658c46e26d778461f66" - url: "https://pub.dev" - source: hosted - version: "9.2.1" - glob: - dependency: transitive - description: - name: glob - sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de - url: "https://pub.dev" - source: hosted - version: "2.1.3" - graphs: - dependency: transitive - description: - name: graphs - sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - hooks: - dependency: transitive - description: - name: hooks - sha256: "025f060e86d2d4c3c47b56e33caf7f93bf9283340f26d23424ebcfccf34f621e" - url: "https://pub.dev" - source: hosted - version: "1.0.3" - hotkey_manager: - dependency: transitive - description: - name: hotkey_manager - sha256: "06f0655b76c8dd322fb7101dc615afbdbf39c3d3414df9e059c33892104479cd" - url: "https://pub.dev" - source: hosted - version: "0.2.3" - hotkey_manager_linux: - dependency: transitive - description: - name: hotkey_manager_linux - sha256: "83676bda8210a3377bc6f1977f193bc1dbdd4c46f1bdd02875f44b6eff9a8473" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - hotkey_manager_macos: - dependency: transitive - description: - name: hotkey_manager_macos - sha256: "03b5967e64357b9ac05188ea4a5df6fe4ed4205762cb80aaccf8916ee1713c96" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - hotkey_manager_platform_interface: - dependency: transitive - description: - name: hotkey_manager_platform_interface - sha256: "98ffca25b8cc9081552902747b2942e3bc37855389a4218c9d50ca316b653b13" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - hotkey_manager_windows: - dependency: transitive - description: - name: hotkey_manager_windows - sha256: "0d03ced9fe563ed0b68f0a0e1b22c9ffe26eb8053cb960e401f68a4f070e0117" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - http: - dependency: transitive - description: - name: http - sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" - url: "https://pub.dev" - source: hosted - version: "1.6.0" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 - url: "https://pub.dev" - source: hosted - version: "3.2.2" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" - url: "https://pub.dev" - source: hosted - version: "4.1.2" - image: - dependency: transitive - description: - name: image - sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce - url: "https://pub.dev" - source: hosted - version: "4.8.0" - intl: - dependency: transitive - description: - name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" - url: "https://pub.dev" - source: hosted - version: "0.20.2" - io: - dependency: transitive - description: - name: io - sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b - url: "https://pub.dev" - source: hosted - version: "1.0.5" - jni: - dependency: transitive - description: - name: jni - sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f - url: "https://pub.dev" - source: hosted - version: "1.0.0" - jni_flutter: - dependency: transitive - description: - name: jni_flutter - sha256: "8b59e590786050b1cd866677dddaf76b1ade5e7bc751abe04b86e84d379d3ba6" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8 - url: "https://pub.dev" - source: hosted - version: "4.11.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" - url: "https://pub.dev" - source: hosted - version: "11.0.2" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" - url: "https://pub.dev" - source: hosted - version: "3.0.10" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - lints: - dependency: transitive - description: - name: lints - sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" - url: "https://pub.dev" - source: hosted - version: "6.1.0" - logging: - dependency: transitive - description: - name: logging - sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 - url: "https://pub.dev" - source: hosted - version: "1.3.0" - macos_window_utils: - dependency: transitive - description: - name: macos_window_utils - sha256: cb918e1ff0b31fdaa5cd8631eded7c24bd72e1025cf1f95c819e483f0057c652 - url: "https://pub.dev" - source: hosted - version: "1.9.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 - url: "https://pub.dev" - source: hosted - version: "0.12.19" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" - url: "https://pub.dev" - source: hosted - version: "0.13.0" - melos: - dependency: "direct dev" - description: - name: melos - sha256: "2f7381d209ab7554203c51481a6a57c7896593b7f06190a06a467aa5bfd693c5" - url: "https://pub.dev" - source: hosted - version: "7.5.1" - menu_base: - dependency: transitive - description: - name: menu_base - sha256: "820368014a171bd1241030278e6c2617354f492f5c703d7b7d4570a6b8b84405" - url: "https://pub.dev" - source: hosted - version: "0.1.1" - meta: - dependency: transitive - description: - name: meta - sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" - url: "https://pub.dev" - source: hosted - version: "1.18.0" - mime: - dependency: transitive - description: - name: mime - sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" - url: "https://pub.dev" - source: hosted - version: "2.0.0" - msix: - dependency: transitive - description: - name: msix - sha256: b6b08e7a7b5d1845f2b1d31216d5b1fb558e98251efefe54eb79ed00d27bc2ac - url: "https://pub.dev" - source: hosted - version: "3.16.13" - mustache_template: - dependency: transitive - description: - name: mustache_template - sha256: "544ff0b837836f5ad6b351e7a676ff7c2cad4fa412c465908aeb9358caddb6fc" - url: "https://pub.dev" - source: hosted - version: "2.0.4" - native_toolchain_c: - dependency: transitive - description: - name: native_toolchain_c - sha256: "6ba77bb18063eebe9de401f5e6437e95e1438af0a87a3a39084fbd37c90df572" - url: "https://pub.dev" - source: hosted - version: "0.17.6" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - 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: - name: package_config - sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc - url: "https://pub.dev" - source: hosted - version: "2.2.0" - path: - dependency: transitive - description: - name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - path_provider: - dependency: transitive - description: - name: path_provider - sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" - url: "https://pub.dev" - source: hosted - version: "2.1.5" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd" - url: "https://pub.dev" - source: hosted - version: "2.3.1" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699" - url: "https://pub.dev" - source: hosted - version: "2.6.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675" - url: "https://pub.dev" - source: hosted - version: "7.0.2" - platform: - dependency: transitive - description: - name: platform - sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.dev" - source: hosted - version: "3.1.6" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - pool: - dependency: transitive - description: - name: pool - sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" - url: "https://pub.dev" - source: hosted - version: "1.5.2" - posix: - dependency: transitive - description: - name: posix - sha256: "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07" - url: "https://pub.dev" - source: hosted - version: "6.5.0" - process: - dependency: transitive - description: - name: process - sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744 - url: "https://pub.dev" - source: hosted - version: "5.0.5" - prompts: - dependency: transitive - description: - name: prompts - sha256: "3773b845e85a849f01e793c4fc18a45d52d7783b4cb6c0569fad19f9d0a774a1" - url: "https://pub.dev" - source: hosted - version: "2.0.0" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - pub_updater: - dependency: transitive - description: - name: pub_updater - sha256: "739a0161d73a6974c0675b864fb0cf5147305f7b077b7f03a58fa7a9ab3e7e7d" - url: "https://pub.dev" - source: hosted - version: "0.5.0" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - recase: - dependency: transitive - description: - name: recase - sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 - url: "https://pub.dev" - source: hosted - version: "4.1.0" - record_use: - dependency: transitive - description: - name: record_use - sha256: "2551bd8eecfe95d14ae75f6021ad0248be5c27f138c2ec12fcb52b500b3ba1ed" - url: "https://pub.dev" - source: hosted - version: "0.6.0" - screen_retriever: - dependency: transitive - description: - name: screen_retriever - sha256: "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - screen_retriever_linux: - dependency: transitive - description: - name: screen_retriever_linux - sha256: f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18 - url: "https://pub.dev" - source: hosted - version: "0.2.0" - screen_retriever_macos: - dependency: transitive - description: - name: screen_retriever_macos - sha256: "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - screen_retriever_platform_interface: - dependency: transitive - description: - name: screen_retriever_platform_interface - sha256: ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0 - url: "https://pub.dev" - source: hosted - version: "0.2.0" - screen_retriever_windows: - dependency: transitive - description: - name: screen_retriever_windows - sha256: "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - shelf: - dependency: transitive - description: - name: shelf - sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 - url: "https://pub.dev" - source: hosted - version: "1.4.2" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3 - url: "https://pub.dev" - source: hosted - version: "1.1.3" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - shortid: - dependency: transitive - description: - name: shortid - sha256: d0b40e3dbb50497dad107e19c54ca7de0d1a274eb9b4404991e443dadb9ebedb - url: "https://pub.dev" - source: hosted - version: "0.1.2" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 - url: "https://pub.dev" - source: hosted - version: "4.2.3" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b - url: "https://pub.dev" - source: hosted - version: "2.1.2" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812" - url: "https://pub.dev" - source: hosted - version: "0.10.13" - source_span: - dependency: transitive - description: - name: source_span - sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" - url: "https://pub.dev" - source: hosted - version: "1.10.2" - sqlite3: - dependency: transitive - description: - name: sqlite3 - sha256: "56da3e13ed7d28a66f930aa2b2b29db6736a233f08283326e96321dd812030f5" - url: "https://pub.dev" - source: hosted - version: "3.3.1" - sqlparser: - dependency: transitive - description: - name: sqlparser - sha256: ab2b467425f1d4f3acfa5fd11a08226f7d6c26ff102c06be1807e1dff34e050b - url: "https://pub.dev" - source: hosted - version: "0.44.3" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.dev" - source: hosted - version: "1.12.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 - url: "https://pub.dev" - source: hosted - version: "2.1.1" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.dev" - source: hosted - version: "1.4.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.dev" - source: hosted - version: "1.2.2" - test: - dependency: transitive - description: - name: test - sha256: "8d9ceddbab833f180fbefed08afa76d7c03513dfdba87ffcec2718b02bbcbf20" - url: "https://pub.dev" - source: hosted - version: "1.31.0" - test_api: - dependency: transitive - description: - name: test_api - sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" - url: "https://pub.dev" - source: hosted - version: "0.7.11" - test_core: - dependency: transitive - description: - name: test_core - sha256: "1991d4cfe85d5043241acac92962c3977c8d2f2add1ee73130c7b286417d1d34" - url: "https://pub.dev" - source: hosted - version: "0.6.17" - tray_manager: - dependency: transitive - description: - name: tray_manager - sha256: c5fd83b0ae4d80be6eaedfad87aaefab8787b333b8ebd064b0e442a81006035b - url: "https://pub.dev" - source: hosted - version: "0.5.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" - source: hosted - version: "1.4.0" - uni_platform: - dependency: transitive - description: - name: uni_platform - sha256: e02213a7ee5352212412ca026afd41d269eb00d982faa552f419ffc2debfad84 - url: "https://pub.dev" - source: hosted - version: "0.1.3" - uuid: - dependency: transitive - description: - name: uuid - sha256: "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489" - url: "https://pub.dev" - source: hosted - version: "4.5.3" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b - url: "https://pub.dev" - source: hosted - version: "2.2.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360" - url: "https://pub.dev" - source: hosted - version: "15.2.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - web: - dependency: transitive - description: - name: web - sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" - url: "https://pub.dev" - source: hosted - version: "1.1.1" - web_socket: - dependency: transitive - description: - name: web_socket - sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 - url: "https://pub.dev" - source: hosted - version: "3.0.3" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - win32: - dependency: transitive - description: - name: win32 - sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e - url: "https://pub.dev" - source: hosted - version: "5.15.0" - window_manager: - dependency: transitive - description: - name: window_manager - sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd" - url: "https://pub.dev" - source: hosted - version: "0.5.1" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" - url: "https://pub.dev" - source: hosted - version: "6.6.1" - yaml: - dependency: transitive - description: - name: yaml - sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce - url: "https://pub.dev" - source: hosted - version: "3.1.3" - yaml_edit: - dependency: transitive - description: - name: yaml_edit - sha256: "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488" - url: "https://pub.dev" - source: hosted - version: "2.2.4" -sdks: - dart: ">=3.11.1 <4.0.0" - flutter: ">=3.38.4" diff --git a/pubspec.yaml b/pubspec.yaml deleted file mode 100644 index dd68b5c0..00000000 --- a/pubspec.yaml +++ /dev/null @@ -1,58 +0,0 @@ -name: copypaste_workspace -publish_to: none - -environment: - sdk: ^3.11.1 - -workspace: - - core - - listener - - app - -dev_dependencies: - melos: ^7.5.1 - -melos: - name: copypaste_workspace - - command: - bootstrap: - enforceLockfile: true - - scripts: - analyze: - exec: flutter analyze - description: Run flutter analyze in all packages - packageFilters: - orderDependents: true - - test: - exec: flutter test - description: Run tests in all packages - - test:coverage: - exec: flutter test --coverage - description: Run tests with coverage in all packages - - format: - run: dart format . - description: Format all code from workspace root - - format:check: - run: dart format --output=none --set-exit-if-changed . - description: Check formatting without modifying files - - fix: - run: dart fix --apply . - description: Apply all auto-fixable lint fixes - - fix:check: - run: | - OUTPUT=$(dart fix --dry-run . 2>&1) - echo "$OUTPUT" - echo "$OUTPUT" | grep -q "Nothing to fix!" || { echo "Auto-fixable issues found. Run 'melos run fix' and commit."; exit 1; } - description: Check for auto-fixable issues without applying - - outdated: - exec: flutter pub outdated --no-dev-dependencies - description: Check for outdated dependencies diff --git a/resources/copypaste_v2_en_screenshot1_panel.png b/resources/copypaste_v2_en_screenshot1_panel.png deleted file mode 100644 index 7713b59256def8526303e4f0fea818a050e77560..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211951 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 z 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�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%0D|fosU`X;@kwL!i`6RiP46F9Ve(BFvJ{J3 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

&VDVemElKMB*|4=@R6ta|L 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 tfE@n^00960TY0kQ00006NklPa*&S diff --git a/resources/copypaste_v2_en_screenshot2_categories.png b/resources/copypaste_v2_en_screenshot2_categories.png deleted file mode 100644 index a6ed99f06aa7df110323d0689f4040f3ce2987b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151148 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

J 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

q9(=i3_U#W8jGoe@30&T{bjz&1 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 diff --git a/resources/copypaste_v2_en_screenshot3_settings.png b/resources/copypaste_v2_en_screenshot3_settings.png deleted file mode 100644 index 65afd926ae23e930fd6cbf66a2da86a9bfc6f336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177001 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

mOXe6Wf2xBUAMK#1+~yz` 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 Hmx%uX&$)n^ diff --git a/resources/copypaste_v2_en_screenshot4_multiplatform.png b/resources/copypaste_v2_en_screenshot4_multiplatform.png deleted file mode 100644 index 9156238826e4324c263822245122105cb0a0781b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198691 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

Wh+Xmw}+-@7}KtSp_x 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 Y(bWA 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⁡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 LNkvXXu0mjfv`2P{ diff --git a/resources/copypaste_v2_es_1_panel.png b/resources/copypaste_v2_es_1_panel.png deleted file mode 100644 index 6e72f2b05bd3763a9646885fe7852b416d50bc24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211616 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�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 diff --git a/resources/copypaste_v2_es_2_categorias.png b/resources/copypaste_v2_es_2_categorias.png deleted file mode 100644 index fc60541d2dfa93dbdb33582bd8857c6a2b408d66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103500 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 Rd^YfhvTy+7uG9( zdOVxif1ezPaxK_Y&|c>c9>!^7UTiUu)?vX$g!j_0mA(&(550^-1i=2BH6mZ%_`0`r z%|zze`9{lasGC~fM}9!qm~wXKCjOPcwS~7LXwq$~umT#>`+EE%Zzw;UezomVs59)) z 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%0A0`-e1Y)Ssgj?Eff~+>J@a-|ER;(#bAEzyVa0 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≷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�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

OOI9OJe+I~!xNdvqjPma| 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 diff --git a/resources/copypaste_v2_es_4_multiplatform.png b/resources/copypaste_v2_es_4_multiplatform.png deleted file mode 100644 index 8a05a22b11a8a945d8f497c2ccd38d7966f01ae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206668 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 *jmM6Yv`o=+H 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%0DZH3y!L=|{QNh?^GDaAt~F%Et@SbDI#v z@)fp9L}hhk_Vwp~pZMveH%J`nF ziWTm0{-%MJiL8d3Gu>9k_bQzFf#MY%8}t`#CD=VlSlDpya*242>&ms#T%;tRuz&Cc z#ZaQrS)|z`Jja%@Op%o=U0qG+pV_?&?c?XkTa>oja0e+7t|{jZJITw;PftX3IScpY znF~oCP_>E;{Rr&B9~a-fRwTbCBYJsM%g%Xv^XEYR@@#>@a`$>Ir>CIG?#;%tckZQynw|8I;s<@YYRlYUNs&fwd&3^)Lnm8tvH zW@)fzH1^QS95YJ4*3d&LB)ufSwIg4h?9n$Pf_d4YNwuGg%kw4HMXZ)-Q=T zDj5dn_>nMt=5kDs;g-`L-F3G`4YA{?qa>Vpirh1umZoJucMphmw5BaCrrp2qiwQ92 z=zQC=yB}DnZ`=^^^7psd#i91tvmPf+Yu3fX-w6o`XS(wFdG|n8K(nX)s_MR1ZBp@Atds`zx&DL6~(V|k`sLj2!T zz8$3oV*jzhI;-6YHG_Yu{AhS%m*Y2yEl1tA*ue9;fBQ35szs~Yf^_8Pzd7HCm`xbB zg)$BY4UkTXE$0-}*4DPRUIS4K1TrM$p+$FoXz5L3=8Ro57zo(%z=0DP^_S za{ITo+;7(~^;pfbSVc*?*HrNjn zc*jK4F|^|H)hNAxMo~%ysqBd z@(wJf;cl+30*qweW@ecFa6=>I^8qF%z>}z-2gu#XWpx*MpvhJ~bHu3S34p~L!!6QJ zy>bCk zM-5_XAdogSrF`5cm=!5yoASkAXWh8N1J=>SxlKUN(@MDC(;P;vPs??v3rlRo4-oef zpt&;b3lg9qPT>T0Q~j4!s>T}Ag4^)G)Ns!}kg8+{Z--JQrt$x=^xg4P_y7Axgp9b6 zy`4ma>@u@w$R^pc3ZZO;2wBG-5sB=Ty_4)6vWe`yx8L)8zQ4!g{^P#8>74ib{dzyg z^}Md@x&3-G7AKEVCo$#?>Lh`8fh8$-4e!lX&UlUYBvqzUDl!;sgLP_MD7(${YTsq8 z=o`!VF#^9$ygrLfR^#;S3v$0qR#F3>b4~2|HFT`ZmTkh%D8e(?D7c?ZLN!J^`XK`n5(fvz(DT5cpsAN{ zcx7c<|9-JIQwm!Y;BO%*s}Dpf3JM9)XlOiq_>ea{J}fK@mkFFGSV^VYi=EnOo=dy= zRE2DWH%(a4{;{q53&+}OB5#YS zSw;zcl%jE5aqjr|@AdCviLvY|you{8D;-+=u>M4!GcLA+PE*B^bqYJZN?aa3!~p#v z555*!voQ@=9<-GWb3bCjP|m<|wxwbFFs@zsyT0`}PErH(>t%P7;CG{zz+hxr<%GeWWRBYj9S+0E*trozjr($m}Msq3R0802G%exM+)YGm#A7UV46 zV0Y$>M&f|THd1KBq4-2iEn;R%h#41XWsNh&`uaA4$wYJyGi{QPiY0pX z z$!Y+8+Fv~(xvm}c{rupe{^z@avAzOjuQ+d>jDKdVm*NT>vjap-R>P0+|t+RJYr? zylgEk-2z|f|0uGD>TLVtc0~|~p~`tecDsvLaglNNI<{uy|LJ%h7iXBt?LM|>?V9iU zBh`i2EV8suPh@0lPPET#Ffvo5tig^I$P3B;w!3ev=ogUlekA5T_Mn!kYIRKVoDvGj z7_+c0L$1LV$rq>iFep#G;AAp9_P;KIfVX@a83~@Un5v`%&dDbo!0w0__gPL4LIBR{ z4osL|RLMPub40$vd#At{Lm*Z)Gt~?Vbc#lk*Z!LGTz}-Fnxd4MbfQg7V3o+OAuDbA z{`*tZZ-Z;At6rE#qn*-`WU6c8b8)FL>2{GeRy7&#ve<%#HeG}{$;&cwOY}s^2xQH7 zR)YJ~|^mJIUB(dh}B+YLxVEOAm-bSNd zoDyG;@AYLDjCN61e?HDWasOu0bW#5B;=1!mo%9sHS>OWJqvg#_7R10G^(`W-Uvd{T z2BQzx1!c8a=GY#Q&_{64hM#tJVPgk92>;4fS_4F*$*z7aMq-!R(T2-KkvT_;X9w() z3Tv$r+hn(teZ{SlzK`87P?y!vSdjHGacxAASy*>kuuZY?|2)>m{6{PFyNLu2_uAn*2r0FUL`o&2yX#Alnk1_lJmAz5pycH@Hi z^#kr4mZP%|edk`ud)mD(^0KyG==`_#vNAfu<>JT4J-T>qNVI^DoT3 zzLC%t!DV%j&i2EMNjO~V)&*(u39r>lYbA!~TdxMqRhCOwZIq7uN?-l^WrCN~8n%;n z6?p6Pe~@83N|T?A{7?2QZ$&@v+cP^VL+cW^PTTy~LP%Wi$5smwk-qs65rJ_eEra%g z1N^E_kg6JBUx^hEl5sbryOf~s4weQ#7YnXY4^zk!rM6&Ba?M9JR3>wEUU}GxyaeV0 zUo8-~*_pa-sH2E;E|mE{@#6a7Yw>rx0KbHj==N^mKV5;nJbrYjG6)Gojqyhfy;`ul zq0<RY;XJ=oI5Au%XoFD&dpCr_66r{R?M^&-pmN(zT^ zCfrWVinw{&kh^E{+?IE#^#XIY-5*4+oQ81)W_kVl_c;4YrEgQQ?R^=$FAvK7P6bVQ z5~M5-a2!P?ewrwKXl0|$*TF|H(l5oQi{>Rza1MGDxIM%Dd17fi;-%Xlv=^$EmZ~|E&t8C_R7ve43_MF7;llSHVUeA z&jW0K0|Oc?^5!TO`XLVs-#4l-XoR@`O7)->e0t{F{^k?$Pm97hV3|a{>+_V8DUye zS64)_p337Ou|zVxxScb9!Ms-6vd+>B+iC)mV3=DDHK7%WkZaL^?2i9Ogqj?*{)>fvS6ltAb7Q0jwNAbO+}!ktt=M8 z=R(+b2Nj&jrsxD_xp6m@?*$^wV~GKcAa?UfXxwW_R6t%Yev<$3UW?4L6K3DJx>wVI ze=^dKn^srRBBD}hl9)Elc}EYMKxKAX4SwoKS&V|uUbWqyCnW;@M4I}vmwsl;;Ji)R z@s_Q1v5JH#lWB?uQ>unbMH)9J$5-pcEe6^3_y75`>)~}(;tRe3ZdUjc4gMGpB=%!BIThpMwB@G(@|YvDB4{W~0#q@XZuW(_$niw*(^ zwVX37T2leVRb(w_NK4j3oq9sDgWDeJ=%LKn@4Q^^_Z>+DY zAV~}>>^t25Lh<3#=sQvIf=uASC^Zd@h|l>kCXr}UChhA5JZG9|K5yAp7!(}M`1&d<2o<_e84JV9wQY z1%Zb}^W3FfMls@zJh9ZZtZUDi!_ujYWveIt)j7_E{P&CZ_6tGo{udyNAC3{ZXdIjV=_#&zZ2-Ssz1y>p2cE+Yw>xv$xZ%R+gn=M61#TiI~J2e z+@t&jMMV)=Hqrx*tG{!Kd@t7EiW`S*Rgom4MaFN0Y2mi)b)T;e=aI=;vQtC7Y@t8h z;9dJ)?BTGk@xj>z5cGTN0+AiAYa{P&&%dq}dHB$;d6vlcxCIT4@~Z+CLRGZyQ6C|G zx=gERll1!H)U|Qus$ZJuhTnFWgV+2}+9jICKY5)|vGhT!C_bm+V6#6?Nk;nT4*asZ zb4DUVW};AN4@99MBl{Tf+)a;z*wMGA=-sOyU!8G^o{469zE#19jC=Ul{ol}4<=gkx zA*^nmlJC+p4hW7p*d^HWHC!#ocGh{Qq6f=mLg zy}^BN5fCfs^!}!%CSZ_e46q?)e+H8lHC}o!M;#BwH)v^V-y*;^_E`B^Ipafv*iP*8 zvg(Sv*C%!~N#wKbAOFn5W^b_v$op4s!siF8zkmO}KGQf8nYZ!!4615dTibk{HIAaX zzk4Sj{Hd0>oR`=HM`g;a{QUgdT2DBA^btWzCymFUjmKpYXM9On=p)y7zS{+o(#Cz| z#_v8C9*CwT@uO-<#wMr9w5yXe8Uqr9q-=;azsL6MBNll~4YJ0)Pg}GSK3;1h1!>1W z@4!bE7*>YUi5zzG^$`#fid~)WWviu4*SN0n^@+~Es^*=@E-7&WI5syI)T2lH``;@n z#E&MOfp#7XboSGg?8+Athv>)K9>s!q>wR|UeLl|+k6hXP*98z4oG}T+?58)=Cp!_o zv=ME-7o)yY{RPmaoo@$8h{Br$_jIdvtD(qy!)~ef)7gGDtdNFHv>;UY$&G;>O)<;O zn^nc;BP)$j{jMARD)C%VvqyxWd>7PwJ4zY5sue@t227b&8gxf8rrfN}_~u$JFf~=5 z5=jLn+c@wsTx;^RjEBY7%e<&qeVnPEzKs8rU~eueKX}cx+HOR0?I8w!^=1g zb#;XV1xF?()^^-L*lTED&~3E`(iy-68jf4JVN`R_oyZ4T4>+8j!11qh=TjYec|;IL zt^c&n&8aU{EJAd*-T1uKIN!MOa@unXA^;2qf@S`~FWkCy3;mg@tV8yTL`X%Q|LNLT za=_)Z@g%viWMTuFLp()P+S%k193AwrPP2Kv9t%DdRyN-v~p!fUYXy% zKcf&WFAKBLTT?$vKCp8NMTTNUJb!;3n#xC&+U@!VE52FGN>4aREUjzmx>>qN(q?aI zE8_W0z051jot+m|{7+yw_Fn^UxVa+APd%QLUmMor!LkMc+Jd@!m?OL~!W;sBtw{nT zs}K6dn|!Z1x&7t5_P1DY-*5a16L~$G4FAXO?yID%3m;z?_&7T|dwQPDocGMMmjc%q z438e8kQfLMQXD}#R5v!hYG;Y4gR4Wl1+50?T#9OHKnP`|Vp=&7=1mSAHlx+2VPY(% z5HrrKAjVjv4Lku5``gUmz|C$p*~Mj`9r7h#^nthfu$j^VUFC^s(;UaVg{A7{3f z+@EO=carVxBo~7eYNyTv{2QRs`ts!q{MpOOiEryJfq{Vymj^{O zuSs9mUPPyz|4;h?FpWK&G5805uJO>W@inBl?pmMIp)?Tlz(HsL2-q1OD?kvC+9Mbw zd>~co=;}JmG}J=?s;f(xuL2o_bSUurbQqwTC!>=ENb4(whijguMOgJUU`R0KsQz~v z_ks3yc1~FgRp6JWc1Q`vfyChG1cfC+=Wf&=eSvTjnV5O_Z2@E_lCvkQ_aI2m^ zj_yDrTP>b^Xd?wrwI2=xMjG7*EP!AVOW7`Gu1ZM7Ngy_8FuEPf@bsw@$5P`bD53d6R z?jprb^K#}}a;y-3ataG!yi7|)l~YhKEcDE%W`BQ3Z41Vr1M&=FjtzBUCz)Nk8zpZzZkgjm-gF^IojPoQ6OxeJ3~p~KCoGx&XoyjRt8vVKU#mQzV$ ztfVZyHy1i%M@@ykCYwh$uaZCp43B|A0up1@=$hWU3pU;!u9&dj;Qh zz*uxS3M^vMPh{5zY9aw3HVYEt`0pCQe6y%>XqK z)t(ZP#G&CNYuHu{%B6o@@et@@E^S_x7^5=5O#qB2;l5Klv1Mr*8~g73Z8dKTN6(Ti zV8a_hHj(}`vqaiowaW!Hm_b@;e(1(Y>pRN!JZz*iXmn<%yLxo@0PM{hwzqV zH0$xG;NQ(aUISL-&WQ(eq6#v4g+o?R4M{$4e&6SYcSJcs!Z~&h+dxpjqt8Dz)~SmH zNqb);Rb$`wz%b0A5$?{k z!j7Mdiu$(6Zy-RGDIZSzj@YUdRp&JS>m4S}N9%BK5`ows-!hk=I$(0{0{$UWwQtHe z@e$Sz4iYZQP=_E8pCQ9GRx({mFvIjZ|L?|S@<#r|}l4P)uvszR5sdH_tL@+=VTrK;{;bN!2Ub#=0@V znqgzh`(N}=MaxHAdZvv8f8sF8G9>-{!c`@AG1(&n z%gdV>ABUhv*xXQB`U4B${!5z1Q$g=Y8$T^CNh|}>NY#iuDKMQ+ zO-iD!oOnUNGEwP3gzYbf2OpT9n_B~A9wbu>{f4!|+SRqSvRvt*@BgU|eJ(8QRS&0p zuR+%OO-o)rh_ef-W(lXiScut8p1u;N380&zgP{+|YKPf>aauj692)ueu?6I#H)|4+&Mzj)&Yx1GQ6no$Op=y5h4 z7&aapPB@6r-UN9MCk>1e`d{D0+rjcrL>O$G1{JfhU%HW=@bWafE67-%&T(=bWu2!u zHS^0#=lYfv29|Mu`bRuzoH$h+bJ^*IM=WVIqB-}SSqkq)sgpmw4+(VWHouU4rJtAx zWd}K*XHk*L4yaeYNYIsEd4~M2pWl1$JsT_XQGX;C(ZWqwzc)_SD_8?AQtTm0tS%IR zJhv~T5Iy{g7_T`=D1JunyrsI5W_zI`wsXvaJ9kWjjgjIu!x&JUZpIMcnEc?pcIMPh zx-bw_;OREhQg1C4BihVU2BH;iG@ZVnYWsC>{wm~)$GAP!BXwdaLh0tDHipUi z@%jEM5~k$xoa7=d%aJ`+weVORX$m_D_`F&7vh(M=?LN-$HwLENocB5vKH$xeWMmAv z8*u9RJmvm*@a6n-@vG@?m`uOLTpXFlc8F|OFGjtQ&wKiC?+VcnED-`Illke1eC~gx zcQ}%MshAFAtGr@uz~svk(SDlHXA+8Iq4JW=AT;pWATK8>VD^c)g!3caKL^Nm@{2)js^=JU~8(!e9lN`lgs|Un~=BAbd&KuOyJ5=(x^ns*{(U> zF$+ohJNZyUsYO}*XEIyX$3=i%LIkzhQEMh~3F|tYL1F^%^P2m!C#KUClmIA^rK7*& zyAJN{$}bBE`^SS`6D zvF(%8p!$Tii`OL`i{dTm7099zuHkSz#-}^K_k&CXO%2bskj446@Ze;~SUj74uZuzM z?ln5XfI!L7&#dkE%0E{e?Z^MzRT`{qQ|oz67!Zk6%nWMP3gg2CtO&o>Y?tcGp!`$->J9*fw%)sqgq(ybv+6Y~3Wf03iRMh>?K}I-! zY==jL0WANq5P0h7x=j}1FnFagvm?JooIB9FwQUhumjz9@?X-^aXLjsboZR7%LPhr9 zevLvhcx`*9OD_NPe16?Y^z;prx|iTh>tW-1%YQ%KJbkcYb0KMS8P_4(`G0B#QdUTN#-(2Ke`LZkUO+c`1hzhIfdr`4sT@c+gjlO4AoF%qe)bKOorDktS?AXi>JcsM@VRr>0{;Et4ntbs6XiC&K? z;Xz6wK9=-Ur3axUP8YAMt3cnyv8=YnR)gKqw3tW)y~xU*yAjuOPI8Gin}ZcEXpFe- zJSi_*;s(O8q2VY{`!O-4bwW=dyjxJ!6d5}(qmWzPGtc7YwPaTqXl-r3&DUFo&JoZmvs_0!V5@77hUL$Dw_Pzv3noY&TK3%w`<+@I-8gw zmmS!6-DXy@lHLi35wXv43xk;~CM!M~mbb#> zpvFsjLOB_d6W*#7|1WR;$-nx{4{Rj4c;B|0Y>7CXo3fOcX?3HY=m@rNyb4bOQBm^L z>YlqzAOIB3@zwUP*JhiDRfl4=Z^4_3f8)>4#LTFOp2pl%vClnOO}JA)4+7%cFWqM& z(-q?6p)<>MHrBjQ2RY7lsu_F5nvdNxe0aDuvp3E?eHa@rAUN_~Ix1?QBv)yszyI45 zh)Y*zC*(Qu>O8k5PZka3lagWZFi6a(_;>1!nt%YfsEuM{)`T$45>fTMI$UqXOM4bL zlntn{qO@FYVJ<-s^PBZ?Ig|xIb))&{$h&vV_man%0?aQN8J5blI9po2fOy81sCM#k z<%H{u_t~`D{6>0uR2W@B0nG?hY2T`==P)BA_In(B8_Qic%I!Y+V@mgV?L%8UJ-?ND zT0e8sVApu)F!SPt(dej1|EL5dK|rr@6;{aHz&#h&7NrS+k6~eS;$C_v zBnl}nFK=FwFl>9fW2atJdExwI5BO6V8Gei(AWKki5|PQeW+L4EhgK$`Y_$Eyh5KW# zPr`S$2_w#O#&b)oc%1VaJHb3zd{;SbNT8Q=WfF%?NX}`i76r%R{9p# zsu}&`+t-YDUG>z;{z^n8=3;ZD(t&{!2Dqx2@ioH>YhQDO+*KG1r!!PbeK`7CZ_81b zEo8Eye12GWhC~*9gQ3Lj@jTq9b}u_S4NKn9o8*a4P>`rC@dx=&uc64Bm-<7KZU-LO zZ5ynLxfvN=Ce}z|T&$L;{ob3H$-@SVPNQ17&l+B1B0lGIwtq7w`C3s?E+3IfNlC2} zH9p(}0O;u#yg=;?sauGBV_R#Vyf8APg2BNSbf_zzvBh(p)9T# zAi!Xvfo2Jhm)kLT?+=WR8z7nz`JOjiY&ba69$g+aqSv|loNZM4Zu>JpnFS2Ju?~i8kJNp60EiJ&f*(kcvKY_{PP0oQSu*y}fDY3wIy}0lszx zL-DrKb!btq{uy7kvULOaov3|XKd#8AcJb(J3rbyxARVP%P*n3h?`}v;F=3J;_3&1%|phI)Z|Nhp-XzVzubglJCMunz%{9f zpDZK^*bTBzLgCGDImcixXb65HVDRR&>u`1G0G1wv;TKB; z;*MJC{@DeQ*nXr&^T5CWSc(L-n4X_XTrFLlqXEsbF)x6iQd3jq>D{rUj^VS#E|2Fq zyMO_HxfD!#hd1vEnv|-kP5Ao0jnMD`^aUB@@?;5KkjoK62atSld(Gi9oc(FzUGrK0 zQv#4{@X~?M#n#p37HRO$lf5P2k0~p60py8B`2m^L!}dqRa2N<^PJDMe?u0EZ0SNCsA0~wB$8$=7aQxR93xAub zg~h@<9D4O(_7--;=gP_>d5KdEU*9XhbHz^wB5adhZ%$Tkc`b>^MbX1i1O)MVgLcA? z1P9L8zd1LsHGy}$w2zf2Pu9A9O*#A1?pIpn4CE=k)Ko_LFXhRy;6Li}j^CeUQgb`$ z;*@-S|NT|;?HG#(lz8!;UADP*AB5A<9VnM-X&c#;8O(e6EdfK?xc=3~cGUcr%eT3A zL-GNmaB)3QK;^UDZF7=(qHb|JN&)Z3dczGyBx8EcYSU~x%wn+~sn|$=KYE;U-)a3< z_y}Iw*6$o=epym1(=z?_o1RE&OvKa10a+BZSD&U#ll3Z+s@;PE>aOolfnCyANE@kedu zrpch8Rk_~gc&*(`gNVcQDq#>yWI#NZv6{Q>=Z_h;rfLkPMLu>X4^}?~LDMtu18v0H zVOwCSN*x0arla&6;BwLP?G`XP+G;o}Ect!jcsY9I!Pz=jXoDZsXg47ID#>fBkh~{Utx~I`8MNF6HI&U^<-sb zp&?|?nX_paI1H&t7-?$m!Dmxd!`wQnpkM=bZ(X!<`#5ck3m}^QhonLy>UB8w9B@Oy zdf2*jasd`RJ}pAcXzc<(4iR1pELe|H#JwNxDLo=?*o`f+pQzY?FY122)7A+83H-Gk zQ3+w;1QmTss*L>0aE{J&=^&_D_8@9Cf|<-GDNgb;bm@Vny+_H@-w0}n=URC!DJCWc z?Km1JySz99xc3U+MsS5}Zf@37VZbBk?Cfj+*piAJ{nCQR8EZ6q83kBRx}{3EuKq@6 zyI>i3SN`r)F$s2+p0AhnHC$b6ZLO_|I4=?)J~uXAbs1mo0&}|7vWuMMJ@8dwz*3u@ zZVC|%!U=H;55q~j{Gjbk=|7vRs~+3UIOtowxVY%xvzN?%`-{oIG@t%)ado9Kl0cIP zdCgK_Am=x;C69a2%y8ZeVu2m_uA38;MRj#vFeybN_3)rJ_D%-b6;Lkw%L7nvL-XL> z7ET9nRqB8-`reeh*_zHy^{{nx+=f5`h`F$n8T`96puY1F5|_h8J_5wJU{(k#&3s@= z17T);d)qNCgNYuE%6dUOMc-(;HM%g+1c$Z z)q-2vx1tojm+i&%ExoX@Q9`1k3cp?QN%=9}j`qv4#$}2h8t7No-Q?hNN*T6#H=j3c zU2*yNK_I{MRFUDeuRr~}jRi7|s=d7T76l&>_odeA>1&$`I&nqt(a*zzcJlCm8LvHc z!?POIje?s&7f{vRy6s8z;wJxR*Xg=jxItTveSz#1nxFbGMp=3q8RB)Z)Mp%yGXv_bci$8g+) z1G| zJUoC(|AIpatku!qzq_+XkG5tSJ&#_(C}{6|WhfiC@=2FD0F;%NAHaYRK)sL*EdOT1 zN?4eo-IEaBHa}Kwr)y|vxYz-fnOoEKXP{HLhUn)s(~dV$0oDDa6FpjoN!Co+bC|pWjS=49cv%fF zAM^M3kBT`O1M9fPnLekK9;;+0LSLAP0JYcN)|NyTJ#2)^MliV`Bjd-4%jJ;7#Solx zRq!YS1hQkHsp+lVV!tS#BMi_WNCE)rB3*J?QGQRqK?(pwAgsTEtY_L1ICHr%h%-F8;iBE;y# zj=LeR;4{zz7m?TNJU=g?j1mJ43Jle5O^qd>Y=z zFaEisLKfH3mXJ(#fKKSMWYqZ9xTs>_!Uw1c(@>X%*_SLbg&FMphHP$4s&$h;~-ya+-MNw=t4Sq?*^=YyXA<80BNn> zKwqCKv{leyI%SMv$L%SZYi%wJgZDQ8q<`Rfm|xOo_N(SY#`2CEsI&;SXspWgwTIyg zy{;|LS%XTS?q(a5nBWc$_j7Q1`Y|zI_dOx|KaT5v?rV_2+|t~99tvjI>tmBN!herC zY!mVyT=*7L6FxAW?;AK9dH~SAd4$*@n5mgqTU&>BStnKKal)bCzZa76KO1u>ny(t* z(g3+WKZMdA3KO#uJ$~woSsaNffXRVy>$PS$LxS}VjmwjNAq02EI76)Lp_9DE)4ZAU zMIn&-KwLv0z*-1QAO#GX>;>A99Njr#aKRI!i9i!aUl>a!`s_t6QTo#4B8;;0D5@% z$B!P9y=@HMk{VjRjG1hcpGvc(DxA*-aT6ocbEwl4Y!$v(E5*5L_ssUU8~f~B zW!egHUAstYJhOcmWjIyudvtZd$M%XxJkbn{C1w2=uEa^`0-GpNB6lfeLd5&w}rwFf=(yz_h-; z&i|M35(?g(2pEv$d7c@B##&5v0l*WVi6% z_oj*^D=JXF~HZC<7nBpl)J12P;;6Bhf*b64#KUiH^LDy$SMs$69P?4c~vO*hb z$Z9J}R?I-TbO+t21XNHS_0ROo2$4SiPQIqce@x(OB)cG}v*F3GqkBvSyqZ!ZCH zfkKpyPGJA3(97k=FD&(evc>Uexz{czCppvykF!Ze&!}^rrz2Nq0d{tFOK(7ZDkMW=VgbNjAprkz3{(E%URfe0Tm&UYl=t=rR1 z0x{68Utcr8qL3${3K4ER{P%`;ErQ#R?^Df%FaP~KYF?5sxr~ARw9AqKo4lYFlBj&(n|{icx5L_FJvYSq&<+a zGvwvwj#oL&<3niK1AYe3W-OGILx)z7xL~3>+5cZL=fvcs{f8mJ38goh{Gp864>dkF1LoDr6b{y-Om94xw{(=+>q%EVE$qIyjzC0r z?92P^%ddPRMN>ftU4KCn0npHUOq`p*%wqW!OC~G8&#y9*XsoMyRNd#jSvzx42<3f^ zYhK@yIpyNz+1AxzWuy1@Y%`kM0$9G_ItyS^A6dss%!8OfIRY){O`u~O%0~iW6N2CL z^fXYK{1{nh_zNd7+Q^Pr){$U`t;a2%>*ctQH*ucCT%|$F#F`*1(!p#6O z8XU&tne(ih9qwNGY3sg(nrM5H0VD=qWxiy-|BcC zQsgPzqYhEStXUQ4yxTOn5s}64c<-x_kH=GUu}kO0>zdqx_5<0MSi#ly+!Q##>|ZPD z)`E>H=vh1?%;H0wfNCy}>1}+^9A!C`HtENx`7dc(qgW+BHO_Rn?X47(5K+@AWzVDk zo4c1&sNCCwxjTU()Bm5l(=Mw$48UD!%-T|^*Tzb56JdJ0@=y|&=I-Gm+{$F;w2MPy zD*X09a>*IY07Mtcrv7b-qb;okefFr<&{A1=8MzT(QQ|YzVrFHV+Kd?peB%2TLkx9p~(8!h6*7!WTs) z>@C7+;*aY;dOS7N&|>;MBQpQdv}dO;?c&FPDZbP<&*fQ}(s>qbTUtr$AJ>&@h_PIg zRaG8<$1ug9sOFW<@Xo=$b5xKxsktf8yQvZ}@D6Y!Yo(0XPYzL!+3-L{vsc})sl90rQ4i}) z$tvDGw!Gn#TwOES-McP{xJv>Yd_N!l0)vR|S0|fqBhB@#3MF4Y(3>eX;B*xjCQB?( zD$L0l|1+(mspV|${k~7RDaHF5Wzuw|LuHTnrbTMjvg^GbDC}~Jiu4;_s=6NF-D9~! z+Tketu(H?BGNJZxv*!6sYW`lJ^E(wH%$lHU!kZtPj-!8nB3*t)wBL6Jso=+-sCw^S z&wMs3*B6D53^r81Hy#R0aVXl??0>cu%`w+PORV*%#E5(GE9WMWx-!{zZ_`d-w;0Gy ziU~9q57dzlczE)^@nIDjwvSi6bZg~RSqm(Wvi`ni)hC6|cO`ID%6s%HoY4H;TU5#u zE5(>&tO(-eKYs*;g%^kd_+<@cp4Ip^$581T;AY!+EFInhFe6MR11o?$&qms=t6;Oi zQMlB+jodbJwPs8@lNNvVW~U1azl@~R(d#UE?DukiPCoL@N3uUKmQ7;XwoAfxjSo8A zKq`_%_D6!{_xQJah&*J=9P=R3Ym;PMFgLw;ragKxY*QbpO#`@vyGCa4 z1%~ysbhR!dqp zqzvz8+=?XAuOiwu#C^{B`9HEU&Qey?)pc78dZ*%NP~ypYi5D^AdSCd{2vx}a7;r>B z(bk?j!U>X>8|oSE*IRpC>)~;lm&@_=vHY7i#`=k#Zf-G*9|Y`@*ie~lyXWsY{QX;g z#f8y{2-Z&Z;!_mD%CW<=#&bC&`Bd5SJF<~?9;aTm2c;2Tk6Mae>NS2^mi3OYL+s6_ zu>0y$e)3AadvB&o%;$fNn6Sx6{#`7XCf)jEJ5^lR&=6>;CmscC$g;=TFJKfP#jJ0r z>%DpYRb9B$`7G{TvuSkjyq@5NBr&quMw6z^Nyy<)olM)eA%SS*6+px4zmMsS22idG)^8Zpk+Ga7SlH9&Va!b63{)grp zHierJAG3r`G|99zH9OQl=H{dXZ>(%qP84uO?2Qj|l_eV17M@I2D}w+rr{r1Of+KQ# zLge!|JdEI))78^)YJH8>HCsxZnNI`1pU$Z3cD({LR6e3%bh-j)#0|Tv7%X1^(ac_3 zEXdP+XlI)z_`=?Mt$?M(jh1P@{cI~#&J3QA`)ZE7}J7xCjc;rn{}>LIXTl-E0Z#) z!SGH;TbEy8SUF=-g2!!rD*9!m-3#R*3lrVUJdKpc**z~eVDSG(J)SH8$QGWWg{L*E zA)UK^>im?HR;+nOcwnL55lqCZ((u-kK+}w@J_Dn1=snhE!4GEN)6lm+d+Cxf5Zn#t zpnv<;iff=g@}v_t%|&UTn2%=4vcVcKO7v^iew3a}Vbp|VYJNQ;dYn7>`?V#;GFW)ykEUb?!T zwjJ>x2%I&|jV1zJZ!l5a08knuxd+TEHuBhX$!?PoOwb)Rr~juv;wqi^qbfINsn^J? zVyIwkG`HsK4ZkMGy-41WfygN#WUX+C68gr0 z({*|KBz4?g0qJ#_8``)0*_lHg4MY|_YK?PKtNI_+ELxesj{ zg#|ewG8saJ5&t1e+%;=+ZFVS)_5aNaAO8Jnmn>8sP3Cm*tALPZBn0KMVenj9`csRk zkkeCdX;t2+kH3zSlJ3fC{D`tliIlP2J|OZ}N^Bm_=<4I$Y?$ zz~rF6J>h;*d1V0$qtk3tx^UmBbBE@?2{f+(d8eOqSzNIB>7WC1N<8z>;qr-pC5=Q7+@9p0#SyehH zv`BQ^b}ik}!qK`aJKLD-t2$4Lipp5^-HuXb4#DL2OQbiG@6j*GYMf6WrP^74JNelr zF(|=m;a$q{H>Jj(3p=IF=!(pL;jr(giZ7)>q>!Zc_&r>JR;y)FZ;! zkE!0@K#~?=V)d^$9%H8OzH-q1y0u#VIIZsuh_W=3sGS_$ET(F#WCy;wMRYyjU34&N zJls#*3w8Vx#lc&SOgzNLWl}^fSJ%bC;s;B46jD`sWpt|azjSnTYdh@m-C6S8pI5tNWK`51P~g3#8qGM^>6gh!Nve+N-Q#7ps;CjO`R2d31%@I4nZ(;T z9Cz!6dS=1(`o~;*#fxNq)%vkv^Qs33gv;yckYC3IhC-lQd+Fx3-f@Rs+;_9{eW3Ga$HG9N(w~xsuJ)`@WZGvbVQ!MCYz6x?NYLS>!^@Ym!r`VX zn>5}f*7hzCtFsPa8tM5$*;!WhWI18Rv@)@0QT_kXbk5OrHSgPxt;RM^Y_vhc#-t=5Oj2HaK!5$`7gOv)Z$Dy^ zTg^E&HZH8N{wFW^vU0|6-^${`%qU|a;yVhk!mp|Ffy{9Sdp^vs+A}V9qanA)^MJZn zL3!t(#NW)UBCos2Pyc$YgI_Vb1tYvKHdI`hL%;+fP%3r@_{3eO`33docJqAGw{fDT zasB4M^R0GcX|&Qwt)JTLUGI}T|L(4F1UFpovljbWiXz;!QaQYOEdYN>hCq&5L(Dwn zWVyint~I$?Q_OR0^+%ZR&$YAxe!6sc0~miIEZ1s-4~+=Ob0`NK8bEtE4YoZR5y)^R z)|!gB-^py{JV#0}+|j?@(GN(14#t?EGw?ix7^x%kd%EoKCSIs=Ke9u^Q8%1RHVed$ zR>~;>7o~?-gUhNbj@u?xvG~;0w;hd*j1HE6jc2Vvc5JFtVRJf9X>O^jqdVukTfP8u z@%3#3xKEU2?GoC%F9*{~KLtK%zO66tR@k>}M^(PQLI)UGiOdn;4@~k=3l$2Pt&Pcp z%(f=ORu^u1Ih}Jx@bt=xp}s0XxCEJvAx!2mQRA`;|-(~1&P(*Px@1sNEqTtMY3q5R{=z|%9_ z2Pn;I*HXfxb21>(!NIDR3_(pp&7;E{??E;cfDTOhmh+PC1D7{tWlzunQq;5vTYzG- zC*PE8xD=-V9-*jd{u^)s@Ynf1)Aa2-IRft|dv&!0O?3_6NX&!l(3$}> z3hu5L?eQ0=g2kn$n^wPpfIDwA@}5{N4l0|u!jT1^&br%U9n7%ctcOR&Iwn^)4NZ*) zskmkziF;=Pq|j=;4vHa_R+T{VtdHKEqq?*|yCcWb>zKmh9`15Yzl;v9z2&ZDy?y`O z>zDzOfnOI&+Q2Hy8;X-togGr$$2M2dfQM+mxi*ZU#)<9&UVtdF&*mrce3xsf&iky# zjPHb);`$#h0EM3*)ta~p25{%!NjEb5i%7qKlw9m{DF|Ev8i>x8Y56SVPb#@)?-+|Eu7 zQ}h+RsiaKxkFrdQyTr>k*UGByYq(YEu!R)~#z-5psIUf7doU%Y=6r?5!Qs{REcLm&fO8A2rdZt-Ah^8Ow(v#R2R7z5v%h30W*Oji(R*Pv-eI&LSC zabcVNZC>8jRu8kVD!tVqU5Xaaw3!ez0;g{bgr!p+2@P>+HS7?)K1NM@Ev7vsJ^>B^ zIP#wZ9zt0^`?m6^0Zp44mXq)tpTdx8BQZ{NZGzVwQ7Tw*yV4=e3Y}@^!`YM z({S*i7{YGpfOa&m$)B7s(tJ!$^)mbR5SXuD*c9?#0@?bAME4Z?Ym2N>of=~U9V?RE zz&lx(-8lLe3VoN8L0-U#3y|p_0$v2iB%-GfIf~4@lA|NAZj+bTpUGgh=>4tu zO1@j8`Fq|D^uNto>c7lX#HH>_hU=IL;SGkW-N}OJX>TA^mBp14%(XG7#UjhCjfy{7 zHD^YLnh?HTqyQ^9gVq$lL_{J*{R&*capLOFP|yJhv`!(dRgx7jt&pEZ|G7FM4&s2q zmIJLyuM;wtWi&bxwqGBg(iaZ`O2^%uOr!vJR27RK#)v74O?+i@lid`@ca)6FDdM{Q zjNZt{>4&)BUXWjo?z#1mH{FDJ5>H1%7H%;o-im8Z?GD6fp1G$S#NKhxgHscE7y1|greny)J}5*c(hKj3Oc^RKmg$Za9^nE`h#x!b0Icr zDiRd%*$KFS3M@kQeH#p?-xpKrK1sDz>Jaay?g_77NH3L?Dt@+%L*UmPhs z?x$fQC;uX%e*cLX96k)A^f!MP+I0dvwxX&>*7f+fuVpcfdcsn&(n9gHf4?5X*Z||t z^wgoyH6MDu>6pwZwZMVz=s?Rd&y7a&ahth23=&TD6L$MQ46xBvw1hnTWiS%w^$Ztj zp$RFvj9pgl;WLR;T!xp^bP^;G0F**wDlSZ@xhe0loeEH&O3YJcB%uNHQ-u&vG7OBq zz-srMBfS+c=XnBHYxt37zxI=lMo0t*H?PS3Q)TguR#KInCS<57(=<&&geqwvm!FYm zY$(t}i+yO%|8=2}lo!FFq6ATwS}K4hkfGCepK;_RJR+NW)Rr8fWKiWUzi!lSwdf3m z>@yFp4xJungkkC%=e67(Z8Sl2vA17uCpmk_=W)wEx715~d4AG&_iivnrEiK!H`}%g zp8sbJ(!YE7a)|W*Qo&+5>HV>Dx{cp9hLA02L2=WoK2|b&LLtN*==HQQYp79nYidzs zRI7G(Qv)Dy&cApEVppgj?fDWca2~!g9k$@zrL7B4X~V@&0Fe%~_HqO4AyZ`zyJG|@ zZ?zgsD+I`O8G9%XsK4d>`N*jeF@?#c1K;Eh*=bZQU_W|F?VFg;t78QFKjWQFOBA&% zy=J4yQ3{!673`M^kcaS{9nd#Dl7H>yyv z5kc)i8K1perbw)Ze&6!lLJmeV#bF}J)o*K|r9N{r>Em#M*M_Xduk zs_z6)k+~`iS`kzO==h>I)lllW$p9n_A_gF(v`SNGF@#O)myN5kPVpq$d@+!;LHOsZ z52pme8rV`yAfQTQ_0vR!Wtd4NfT(*LXQ|Bkp;OgvTqYH}2`SSejxiU%GDxSV>`_LQ z_o3F`&0o9A`n5bpo6R_CUT4Lqe%-hdG|6{yaps22c*(WhEM3OL5hSLq$LFter2DY9 z1sZpg1XWErH&1^;Gi`$bP)h6wfkxUIbJ8GilGBz^dwL0! zYO&bwYTP*3Sn+3<7Fh3l^@~EXd7ST`oC!JK`JDHf;#Z0X$5Nf13#c08DEz)Ud540H zzO?uz;dDf_S#;1oM@g_*D;LKT2s&-O-)^9(wu4y2d)eN!Qe>>BZ>eNi555573?SkE zrJGcgZ9RN%DG&^n$XNyM762_Jkl_aXCWM0v``56ZDTqp56-S~76bhpxc67R@`%%wk zLQgL1%^KIr&&j)p>W$vpduE79$}Zc@e=qRG45@zjbV=p$bmvZ+u}f)+gsJ`@Yb7p6 zuiX$C=b1Bm!86r!G*##6F=KO_fJz=10(BVCL4bBiZ_$yp-8KHQRbBHDniK@waZ~_! z^UkP0g&Z!dcITHIfzOQDPu3>B8oacUWt0^1G*S$^)U3P2_HaOADe8-!llLC1&fPcf zPv?iShnyp)1Yx60O~qKLY*9Z#=$rPl60ug35i&4ySc(xXJ9YaniI*E%T+w8YRpn>y zgR!>zv4O@0w{(aXXQR*iv3-n7Ih-n$+dhxdrD9i=d3M zWY5AASN2)$#wr$4X!p!hIhnA+6})hIM-py21rQa_Mo!_9wyfnX(Wp5SA9tA<@5Im)ZTHD(bF0D2q&}503D~cnW*uTJCnU zwya7s0hC*`WKy0X8N^APm5((n7y#=0BW#6L%8c75!_ajfdUy*zz)&iNf`~>?RpXNE zv)pSp_b~&8NmsPbBg((m5KljIDPxa` zd1dSW&E7q_p(#BD#S`J;CN0kvB=rxEO}TE96bK^#9T^I$VmTrXl)U=a&{0G;k!XNc z?s-u=5k$H3u{ngT5cR)NRJXL#KH!N{DKdYi9Nn`_Sewc7F1jB0Sm>URI(RbeEhA2x zjFqhHm7Vlg{M*uWn;#$gVF!rk1(y);Oe%xoC=pcV624j>sme*X#Ah!RH6Wu2vM0O$ z^voMfqb@Jw;C9$QdFJ4l5Jo`2oaPdlp?1Rw_#>A>VcyhRQ7r)ME<5o5l`&Ug1hfjR z6{1j5Q`EvzDiqRF)Y4cn-#=kB$$z-Pqwi3}D%;FJ-cv1bH>L9}x)F+p_DAR$&`pp0o4UTT2QWJ$Ovnxe=aopQ7UO$Qs7@KR|Dl$yVfxyr#3f%PRmu)5 zF2|I>j5-3Mi-63Y>?sM?Q0jS)5mFmnMuz2u=&Uag-^z+0U0=XApIZ$5vfqiB@3S7+ zQW8$XzQj?B63$XpGKo((q{G{{>_ls+$xvh4a)3ungb_gCvnO?R?zW&pkl-*ttsjE< zkpozSJ<$L>Jg!7h8jDv8^1Y^=P8jVFVY08T@0b#Gk>nb5sXvf6WgO~mro2L(iv>O6NrHUgCjb%xpP4Zw6qicas7+%f0x4m|1@igG8g+SA~hs4ll8V%g3d;t z4xAi)m9B+EPs;h2>bsr-Y9^(%kKTNL6Y6e+nMz`><24NsUlmq0l`dP#YhF(JZ)fKN z9Lt=%56@~^*Z_`AJC?*f00L4Z9$OkC#0HXcESwCkes;s{+I!7Hn)S7+&?j?eBNtoT zbU^$p`&?XQPp)1;6GIee^;GeU9T-sKB?IB9aRn+|(#lJ=d0(Y4)xoqH;g=j8~<-=%3+&T2TKRe~nmAuviSWreDo)We||A6ebtHX?Z2u zm0;-@W>QaS&H2=C_^FO7IaQpC;kCcIeb32}2Ob(?v0>@?0n7RX&Fuq$t81wLQ~Y>` z`<%`C?#Q&p&24|@?QJ-^;B>R8W#4_LZ%Z*h;Q4Y%?h|FD#6z)|5=N+%2ew9f?El9; z_xdXYW=1k3Wdnb;gUS8egJuC;PU35t z5q|gX*4n$3s(B&}VQgz_H!kwnb=};snwn0P0a`>P?WgJ=X=%jwf=Xm42)M{3NJzYP z!4MEUM5>zhbch~@dFwVsrjA3s%BYcO>G})4Ks4tcwvTD_8nSza^+Z_4@_fLyN&|c+ zRblK7=NwAYu-C+vbOGL?)pA8;HK_WsQIJB;Qk7IkaJUaD-rIEL+e5oWrS(2ZVm?(^ z=h|YdI~?T)_E@D8H;ebzTh`9WR5{SETb|_b4lkOAEo6Nh9NZ`>>9~jYw|nnM`Egr* zUvu-K?2gIXURCC@Jm1}S{tkP8TLIcWlWAyl9u(9|M1!;T56g`mTazoVl4$q-x9ex0 zFD%Z(OvUDY&1;E!t^2xi|7!Gq=qhfqVg7-EhTcc!(d_u{>sr1_oziU)wQzBFZrMni z_wx@h0cgpzM=5jXzSZh5k0_iAaJt|f2Vn}GT8YJoMaZ8$}jMBz0!Dztz zH4K?EgaPRAAD^c&ASpzIA=g&0?LSk$mJb z`o+$|d%qU8iM&6+Vu%EczSgz#Z0lEbNoynCd|pA)?F{Wt`ClC zry;t~--}ws1|6oG-$w1G@lB)Feh0BdzmE025Kv%3;U2LDLPO$M2eRUjI(`ju+ap-bUb`aY&qYiYM@ysp2trsW+8wPdS`m z5-)HL01b|fq)Ds|8S+(|TZ#QUIv8Ey2jia7k%Z)ea zF=oo@X2CTX-|3BL^@XZ<7OG&-It0m!wj>MIJ2xNQiF`y)Y-2 zq^u~%heVvOcKShOReBqOu8%x_k`)Y&hIb1qjXJ2cv$QrcbnDq}i(!!{WoxZHUVoiQ zsjW5FMoXI!HD+q+Z7x&(^_(xA&qu)p)1Fkbf4B6S)>apY z$}8(VN5(pluFF~1!Q#|l%2xX?YN%tj5wj~;&U`6WY89ow%ny;tA>8QJ$yjr*>^16YhHn#N<^js`C;M3A~%OjKHJT3V=y zbbW*VS6#VMfpv>|D5g3Mo1dr=Lb(qEiO6EH9j7#KzL>~1;{^?UkZrV)vL?VSw!eBGkp`}?OSzfszTWH;LBhnx}vt@s6S-*{u z8^?7G;q_W`d>ZACIk_*Cc5AxicGW~ zhqSVi_B=}13UVOAAebD2y04@x?<->(e-Xa4ENQ7#Z9h@dmK`1fRIq4w_Uq+`?TJvh z=Xx^x*FsC)m*=jm=e;h&html=^QDzm{#3}e%*XzF(yT!!4lWUur?&Uf^}huLcO1e9 zT1hYA@9S9!@o0l=UMz+$$AUWF7LB#9&bwOI5iFKwPaa0Pmc?dz!?wjBzOO&`oT|@h z#07u(HKfT~50)wzj8$__3q}yk${!$+W*?h_y^zEDN`tu(u?I!;hP5!sH_l!@zPKy}J zc*^+UG(8{oV3=erh97Z9u*dR;1U!)wRpjtHMdfK<7eU!Wa^^*&j@zoVukR}Ks@Soe z?v%-w$F<;Gm=*v_ba7Ebvx}*V-3O>A0Y?ZRrDMbmcO>T3eEHd@#XkCW6jhG7@9P_@ zGI=egmD1M_MErvP`8w2;s1uQ(W78+@ z;!2I=zM}+c3S#`aHXn_2+1TCAELnx*>h`)15F2Etw;DVjAZRg_3;46tjtTh%)(9ae zq*Z#LGZVR)i7mC)JKam(Tk{5en0BtzxT}^TFk)zOtM^s5)0nZxKwvq{okvc41Zh&% z=Y&sKdx%zLb2rVK-8cJUcweVKS6PXN)yDQJ8aBtKnyM$-`j+#rw-cSLsdn&H!WSic zwYN6}ymv!Dej@{&>~a{o2nI$s7M;Q*m!N>a-@ktaI5;rF#2f8a0mVArJ(Pt+!DQq{ zQ4#d*BnV&bE+|MBrao?Gp_oLqeIvKB2DI}wZA*}(^;Y_a-a=7cgZf=c(S4!C$S9{O zx1-Zh)pUd>klgx6XQA=TZnb&B#8o2S51hBs^cNn{$*e?HOlPE3f2!m&+ww7UwR0Pz zZ=(D!RFbz?gC9L@ownzT4$&1-yjAUtNMT2<8fnJo&BydYxMyddG}qfp9mn>-W!xD< zxHsr(^Hsd5Bq5mYHCzt+WtEBQ z@$cMuvMgLAD75df)L(6EB8t8i&wTAIyLt2hu!Z0+`G6)E&_Q~s#f7v*WIlI{Eb=RZ zstA$tVjdyvKysS_%>VibLNPjqV`G-sRTq2C+PL|fwE*!z{ns&*MllmjB~Oz{osNwH zLRgOfjkAvxyOr%Vq%%*3*yXKmwlVB%jiU-9l;bi z;#qV{j<%4KrXWQ_rI6p1`tgP7KU-I8G$-92Un zx)I04SjeKq81w%npaDR{w0U@Egxr-=0K8%c;6!n?lW@$9-`wjA6jM61e$ujN>9y1T zJA<(QS6_o8mv%_U%?b(7M5i&F$sq_uMJZWEh9pj+GY2D#KGx5uQ^-oo&sjzei8En- zWTiG?vaYiJyExs-PfSQl4hbQL7?1EZEp&FYB$Zl%6Gd{SqHM6PVxXEMsS5%^l#+Ht zI;uV)ae?Z4Tv*ABdhKAIi3Y}MDoDPTIG&>>fN3NRNVMN@V*mnhfIDY; z1Y}Qy{p~>GG&IU>7^v2!DLr<7eX+pgb-_IvO4?*E$DORM9?f)~I7!Rdr0qt!}H+6vVkA6^4t+o?ahOKmeW; zWL-QlKVCkosQ8Nb1Ybl0&5XN$)|TC!C%Ul%L9VSp4?uC;e=n%dXs(j7~1wWtP1Ex>5gEZ4L6^FA2DTY)~hV63V59ude#5 zyKWMcwFz6Y>y~zdQvH30pCh5AH83WNKBfS;$AedOG`f8jD*s*8V~#>5C{dV6RWiF0 zdtl0qYfL!cf8I|KFnRiIoiW8VcIfh>hh18QyZ|%IgM(fLyQhw}ZIvLJPF=n5D-Z5A zj)bZ@M)+kvf8KGnDm{7T<@W4HGZ@7wE+ELRcCNdbuO6oGS4b7c9ucFA^sP`)4zTvh zWpO^^iQc=YosdO$Q&m5Y*f=7DEiPJB7nNd&O2k&Uxl8P(Sp>IMWk(DIUS~&<%ZE!q z`>x_i#7d^kJ0HIoovVW_)a9vuzWaOIlkN`2X2XA>juO`w))&q!=~R+OD<7n2^Wy9I zCS%4cslrQR%}3?^v2Hh3qquVQ_ROm=QRDe$VA=1f$H2R=II%rxm(FuNihGvmE8o`7 z6M`|9=%K@{n3Hd$`hEGxzBpya5Jyl*u;h-ror9bloL9fqVRN>;1&~r5%`L<&UOFHA zy1s`9B##xj@h-UWEL`ciSv!Y}oO-r*ic(~+uKR8eYpM>7snlM~6ZxyN;1y?ku*6G` z16HkBJAv$dk4~3I`!}f+`KyKX7b1w?R~_ji_jU~G_J01_FI1h5)$I3Sd7Fb4&P#Ih zr?&<7_uBJ}T8Ou4446+fH3whQL?YDaUNoPGC?U}m_ucXyK{49C2t^*gj=Qvlt3){Ir9!!)uR4J-he#5VDiPMj)t!h(&I_#Wiz8 zI$X99lo)<_+XnnRh|?Jku6EuwUa4ZRN)_7DnhamQ`hLY5?dV`e*xY-1)wAmFjXVejC4OWvWFjvnT6&rfjlx56LCkdtD|s=s}q3M;Vs9bIxt_i9T` zXeFl#ZloZ*Q0?!!G<%43(&k8yvTaJU2LWTYFiw^DE|8$P-ha5)g87_}H`t%=+M{!qOAaV%*X{w&q-mA%S~D zoY?(Q+lALc(T)mnnp~7xutR%n(@mQs~ z^CnM^h=f$1yD3l*)pBRJi*l>Wdfjh^bSSmokByD}}eNp}NVp%E7#s(8@ z{YUjrjy3t2r!*)u=FF-uAwS28=Afxb4FMkKDy9Dr;m}on2o4De90W&02pXNdINbYy z0OJ#5HMQ?L+3|b(HY8defbq7i8Vok$hYl6E6YwtY=!JfY#R~LKc14<%LGk`bUr|iB ze&%8x+VRVFU176f`6#l`0a@76B!+u-8Cq12?*#$ZECAm!ATV$XgJQs3NgM8KjLg2L z@kV&DLl=EzNp2PMH{n$I=SD%8-(oD0oiFr9a57v<4fF1sKmC1|pFKEb@Vn7AB|SO}>%;B+p1i9~xF-<_f!D^DDwxjvu5hgo|HE z7fElIb#n(cHas%$khs`EAr92pcutxiY2!PIo$HXf)780CeaXj>UCbEh2kThoqT@*+ zB=8< z)1m;~IuvB#`ToVOL`}MFT|Kkm8DXo+%Bq@OGbok%yC()sc1%J@dUSL!Xa?kdAGcsG zd><+lW(Q$sd8x&63Xk$ksUi+5%CIXb{cQH-2mIT2v#R?*h6Pva&ZUP!CfGyZp;Lkf zgo}K9Y~4cK)YUanR}pKa1eYnrc+k`!{+Z_P`&2xl?_nyx^;7L0i3C(hujWj_Cs)KPU)5D`n$!&8 zU^n5W!$W10-^0cq=&b$crzcYXmxz^97fRpl{+ID_fc%r5t_v{2MlCqQ!;t}l;h!M* ze<28f8U65OZ^RUr==#Ag89yOsI7e_Q^g6O}9}J4Z22BZ1p=JN%d70&+Ik?Wtnf$Zs zw%e>{U;RE4Ee{O=WEPBkzxVhX0`-xybYPp56e%()GC_9Nq%>h-f7Pz(^Tzqf1tf&Z zpN(_l6wTpmN4#1HBfUy?6Dji&9CR|oMk0_v{(Ui|??{~2ipZ!Zpk0sgp zW7PN@{ZSO)2_D%Mdf4aySh2m|lO5os#0A55uTiyDbIrK=fM$Tzy1c1L3$&xpGM1r-SY=Xc9})v+%WdoddjQqhc<}N8Y00$og5QlP=K$%~_ zh)L!EkZxrKn9uzDE8E+qEXmeZRvt!17k`2hS64HIf4^`32>%!V^80tr!1m$sNIlc> z^&=1x1B@2%?xv>J10&hpJr)oU0QNbg2RYo_JU~PCrimcfuf6=^0B1H7A;7Q?;4<}So8@CoxCU#9gqI#J z)l7aLaVav_FVJL?9i4@qo;vxN(u2^56RdK8g3X1CyW=-oH$YgnZ%l{i5l%9vfaZK& zg0?5=Gw$AYyT66Q$BQ4b;0@t}f`08_IzBx-k~lsGIW{F2#72@pFjiD-3OD9M z`=|sH6a=I~wCIf|@iSjTT$z6#gp#QKjl2x)JL{SIp*;p6S)1w{sq#5k{;y=HF~9)O zp2v%}r;cxXe*PLg(AN4yo;?8!PF0nHehz%{2#ph#jNF@#Q1;LXIvN~7C?bqkNIhs+ z%+eAF-Tja+aB^A*B(7e2vZTrZVdTO&nhon`>s@qL$N=5-(MO0hdjIji76?Ra;_c0dtGnm9wtwt#H8dfLFn#z6 zSmd>AJRR8hK7IODX*FoZv9iLyx+(~83IJ0(FauLZJ16#oFsiDnPfu*_@6k*0r-F-m zqr$0lPp0!c5IfLdM3sH6bKV)w$)`%ed4fh;#F8RY5&u>n=e$y8MX-g30SYt$+!9-! ztLolkoKe#O#=-5gx0ir{djMlEFK>$;EZRlBsaUKkooAL}G2l1WlBMRsQI*l_3bC>n z@)lg%+@uJFyg#eHD2y994aGQh1T8CL+eWCgBrHulc(=B-wn4pRnUwB0wS@PXbSklp zY?uYOewYYsr{^J9+ z;sp|lM7EUTPirJ>7fb}|GRz3uz3j}+9E*t5D+#t6#$19pgA`Y zt$t&dGGj>8(f7rOwnssaPJsQn$p-K<6f^j~+Cr)*@reND|H(-JS%neCmK^?pGWvUN z?xyf>`{TrTIoi*UJKK_^sYeF~2yj8b7%`0?sUR!>G=RLRgLuUU1h;@3jV=@*FzpYupNql9bRZsdvNKc$5P+~FTmj;u3H(y>LEZHYOELGZA#VI z`GJgx}gw9Pn!XA<)21F55N(CFJf)I^=BO+e`Gi?9%?hZ~5Bgu1zu;$9hmGzhA zU^)jjpG+We&ZxCla)6#vdTE6NSOMFFLtF#GUHhQ?2_;294e5HufATEn5nf_=pSNo@agGje4GX1<>F!xpuCo<#wI2v0@~PHub$1CgFzrb>FSDO zz!3`z%dacjSPxjgtgXv|=_alSU!A<``L@>4)@P#ZQUO$P3}@H}*RJIKaDj=5DJ!RE zr>EW*M!P}iYxf=kKr)N3@2kQYGc4?f5Ya!oqM6R7rmwT5Ln@^%`{TBoI^-GC~I9aUGQBkMo#k{<{67M-c_EM;^2TUT}?^M{>)p=BvDm94jn*qYw-*!;0 zge5T~Ut$|abshW=tYzhB(6Ps${uQavCxXwv5Sg}Kfg{j$+1~NF6K6-q+h#6?Ca9U9 zsJxsrb=lebF97)U6|CapYu1xvFK*1 ztZABdP32AYIlLSD&Fu@@n@%CCt7bTOQd10r&X2mX?r_h~{r!?~L9gH8kBP$g-Om%j zpav>-*%r06CF!C#Z=h)Hj6EmdNO-~DJpjP3c1I4TAe z2{ETbpL`Xul8NP3>Vkkk5Dgy^e{gyV)TKa2ns4NLkZ}rt@QEIXS16V(%$wK;$~T~d z&CKLal`E3`o}%20cwlL7pFOgRYr{-^dGQRL=j-}(BSx7^o>yGF55)643eY|1lIH=N zDv)soU=n~A62NH&1c)S$?A}s}^geiaSX!nV7g(qQrG+s0&0n2B>AQaFE zG_kQ6-9N5T=c-|P?!~eMOJLtz0`L@TYxLn=Cm=!S_wS91i;E4T8ZfPStP_|S_t!Zj z*Jxr66W_?>x5h@8PoE1ob-}p*j@Tej8YE5(8cRR0WNX8{Xqe2L-+Q;ORi2){b#{)A zqlv_kCvIPQw0+`_EA3b{Q~7JnhEIHObhNxGzgO4N8L&1!9u-xkfCn8vq-Otnefyjq z8_7;{==ic#@N9LJdZaGj6o8s`z_N5Tc5XVgw0gJl^ZV>_#3?5Xn>VeDvB`On^>si4 z>AQayweW)FgbW9F`9ASmd0z-@5o#>(%+K=zYZ%g_k4b#{5)4|yjCg5#Q;*A~6eH3J<@jtMHx{%yBpnL?*jJj>uE8y3Ss zs<}_wfe_duyFNm!{TCBv^`uR77zZLmMf-d}Xt9)yg#G&FNc+exDe(!b!{c1$s*x32 z`k1Y)eRO0L3K|N6Idt^Et{c!a1Sae8@uf*_%G{HqQUkjOK>e@LP)-ufP5CRYu8hYd z_UDqWc*#!GCUggvA`(hlATo?-XBFh}+c~5m8nqzYe7iwSCPj~9P}AXnmB-1B2|LUtNjCDcqPY0_switQ7bt^9n!>*@%4c;&(IP4#2z{*5ST^2XYKQ3-q z%6#AMVf!s>U)BfFGfFp4i^M>)KSCCv$E6?{a_Q{-Y?VG|rQEP_7YA z`p|B(Cn`%=n18dJ-!MGIHkt~ ze!YZnadGp|W;JA>`r~Fvw>(~>HM)P@Vl%#dXrXP-(6TT$v$}mgZe9-*i6#6>Fj86c zc*sAkCgncTjEh{3((d8#D8+{Ag{~mEM4w)ffG-uP(aLf#GsLt}HNJaGD=Bf&^~$T4 zjUZEC_vC{=Gi$?%3P{mlvrk-)Xk+)9eI`m)I2IKpocs&Nn@P6S)O{%kbkOXS@&fWC zg035k9I})8MFdzI-c%S8DNN(z_C;8dy=z*JZatto-a6NQ2PMwwWnmFO!tSbktZjiM zM}j)M^Uw=1`P4CSE!D;Rz<*La^ZaK+xKwX^&uNHy8LnE5rHveXk~m}m?%Ud%$E|06 z%ubdqtQ#mqBR9e8kPbf~A2Zau(ZRkPE z5NM5s4a1CY6#YRBi>{)*)6=VFEp4O8b$`)*_Y`2vqE0{Om{W>QKj!Wks5w3pljP^{ zLHv6X%tGAq`Dg;&B?H$$i@7kar}AK!CX3OzbjN^YfIu7W1JDR*Y-H)r5OWGsp&!`Q z?^fJ7Bkx@s*>CPp^ZFd`$S%jmb%1_jV}ELAdk)ThOUUyerKjhb>Qnv;&s~#M_XnnN z2IjRojSTSw-u>MI)athXqhZzC z*}J0*9n`|B@&{15u!u1+w)#)<2wfe9?PJ#WEpLeL9k1#Q=fMSL)0be|b|z<-y&o=5 z!j5KPp=Wm37WA2G_QKv)`ZuI$zN$A_ZlEhNh*Y_xyPkPpgHPvSn1-V`vUUTVO9IhQ zEIF%`4MuvPhrk0EU2%)gq?*|S`DeBj1D+5ZOH7{zuUB;Whjt9IM#9Yk;=kq|NVCk( zS%I(-E6bm}4=~Siw+F+2eRpL4Nenzd(G%fRdR*bs6h_>Sr{dVJ>jQP56DZ40e%kp| zSQDt%wWYR|8Sci5wdG1(cT%qdHHjUl*c6AXkiabv7SgA!oM|RtbaB`8_eTm(XGv~! z&soh;hWGcE;u~CNR&A&6|4~(aL#C zI9sz+Z$oC+1ksib4GpHW;|5p`3vhi1~)*M!vi-duojToAETc0*WYQs8}X7b zUVC!im1F*rc=Rh9$7HT8Qr!QMxRwJ1Z5%daq@vP z2w7a6S-0C7oc!GQWhIp>_&c9lT#5PM`cv?J$h+kCh1J7Lw^jjxVEEcSJ!i=pbOB|@ zSZr6x%>709kLEuH{}lIL&BQEXpS-kPafQO|!>vitxug+26=YQ3!;fTWqHb ztk3aKGKJIUui@`EYcD~>O>LN6XhzzyTp%HAq$%=a^5FMo0jtt3(wyraLi@PG7N;=P zj;$L{hyKM145_D)$LqXm6R=m_>(5YHLh4zE$|Z+BG?lzu=IrDr|3mnm=Jqwx>L0Ku z?oy5L6~}@F;$m1iJQffV+6jRa;177Q3Yw|gVb6SnL)fyq;4u)1vLC}^u#L%(mNNKj zKnA~)#2`+J4e(@RUG zdaz%(Heg@^tZMEG{v8F=b8+(^>F^@NgI?knKA?85ji#1B_Alte@szcAj(gv%QHZ}Ajsg2*_97j>VO*|X$T2Doul(Mk9Krb2G9|+ zgd2!;w#BCL8#b<0THv@T%yQB%J=;m_&;?N7!EhL;wl|NVd-I)E8M5WK&6%t;Noed^ z9DmCOJYg!hVtFv~@$%k5JS{iy%Vi&AYEfaa4B57)97+2Wu%e{)I!rE*;W{%^IDUsD zAR&_%VtbXc9pfp6r{WmbeV7#=ZV}DEG{m-yuV$q8$4IL%j`PQw*Bh7C7s9@77ZqJ$=C67 z3_Hglg-Bk}{1J{PQ_g^wNw&QH+bOkNe_R+S+-U#z%#O295eTbr%C{28;RNAU#zU><@22$aQg^m&RIFwO0bZh{&az$W5^QC zdct|ST(tDBB^mGPY#HgW=q3(~WtRF@=*&OZcpGOiB{E4P2HzZYA(4?2-K(&y($fbl zCe`K8OlD*5-%LA-Nau`&Ox%(Pe3*fcP_=e);HmtW;{enA1fhe?BBF3{jYM~tL9CPHl@1@-|aeCz9EnwAyww9B~=H|!^)%mHaF!Y-X z!T4`1|3ypQcJAK&NCl<_mSG-Q?*jR z{e_6H{ke~`8+|vCQR64ki-{u&C_e$kXs0YTLwb+}l#yVIZ(OT2jD6)D(*1>}E6KcZ z1k~?cJ7`OjU;2uZAnzsrRS(6*hLQou=_rjfUItrPO*~Qnr<`TP1S_kZu}c5OJ95GX zPK^EV9i(S_Wz%q<|IKx;D3Mxe54dJMyZLQEGpUDxi^gLRl;3KWo{_BKZf@Smx1y%8 zOJi-AqGQsPXzp!%PUh*vNG&W)z$M9a?St4|$I+&~1id7sfp=kUZP@SH>YZ-b8Z*}%=^(*1WfKk`SWHoAw394=J?EKacZXr~4k$mFd6JjW%mV~5&>geiesGpI1 z1@eO^yR7D?F&C@zmsn*@zXAVYrBw=sdZ4!s>Z)rQg$xqs!XT1u|70rTxHNg?B=I32 zO-$ZKg3HQ3<|o|J@NZ28Y35iG^3@6ZW=-z!YiWnodkJ{%*P@(yAHm= zN%aKHfGl?Lb9Z&Tzz?VxIr>?$k18!O6U8&BzkFGu=9oW$!!mLXoJ0Io)h!gR;bPP0 z8pXwk#?Vj0;NXLk?^ypGcL@Lf(By^<5#!VQT3|J{PeaFRCRSgg!ak8GTXXP1fWF;; z_oBt4ny8ha|1>ay_)t+N0xvlr1`~o3+E61-2Dkp9NeOuwLvHde9LY#8uiEQDR>vnn zE@dK@p5&?uZz4~O@&~!}nJW@>AoOP$a=v}j2nZ9l8@R4TN`d65ji#3T$nWO0JC#`J za0<&74Z&kbb%po|4Ho8QnIz6`v5_9nN!DePpLBAlmbFWM%NSuo{vQDPKn1`2FB1JA z^lX7^*yrN=TwFs3suqlD?cmF+QZcfzL*^9as%79v#eb~?Zh5BX)Vso|o>~=^rHz_)@tD%cXKTpD!>BWIQgGad{aC zU5pDtmtwNxdVay4*Ba*}2YxlqfaX+L_8s8K2EQ1+53kPd4pe{d>RVj(b%M4a5vnQ2 z>Fppdm0BItDiI``LCd;nbPxs)3ti!I`~}G;LbN@g1+$=SGUB|%?k;c*qJOtUC`hq5 z)k-BgL!&~H&Wi=e3LI&n77v1_*hHdZy>iavH7;v7uqNAS8}PS_#UrF2jn+oxZz{dJ zkfUNX9Gf!_J}t$dDOb_JnfP&Fp(1duP#TgN-z2#}Wx%Wc5!${jQx8W1?J+;Jlrz*^ z8U@8cf)WiBb%&GJy7m)m_$by?Hbu)lFO8@{OG8My1fDOK04S9JD3%Ix9zjYV8vNwN z8dBYsOQP7Kt3!=9@he`pKI%*-&^*(K=4lCecJDBGWyLv+9-^!`N?qMBmBd8}@&SA# z7@8=>s8e(WnsS7dPhBmT$XnaJ#W-|Wxl(XCxfYEWLHs4m=d~n&tgcW8vv|#_*`?^i zaZAi-8Q`Vjx#Wy?4^`*4La@6CM=e@#M8{71p@w^G>2qPi;AvD5a;O&L8Pmooav`Y} ztOSMCQ#z?M*bQ!C3VDfVJlgY(R)=4^x`(X~&7g;*8`6(4J&|bG;YAG4pr#`g zuHg+d``v2CzbYUy#A20|4vONT1wrSBwaFPMC=MBvXrO4P&rWN8NRRaMlBZb)t+gh< zrVt&epj$yTv%Y|Hy1{PIvr^unYBXkgar7oFbyJ0qeHJW=vIy9K^;>z>(I{Hb6^!+H zqZVAN3zt0<2%;E?RS?@J29p!H24R;y%;j75f-vJ6#1W(&oYKyFips&bH7!QL2+kT9 zxj?*jH9cC=mDLK8h+PecYRsa)Y)7doINzpd%de=-$TfY`IvUN8OBL8?iqd_-gpwp$ zK^n!9YzRARC`Jy3qGuU&L01gqf~NgS!ZwZ2(3bNzm_ zG!RW59<7P4pdxjgX_{KUqx5+-$@3y}4TdCya97&Hh6E;b1DSC!3(i+XC$m@;uehu_ zRN9PabZhJR&`i3Me!Y>9Nkf(?|JS9J>}SPb(dE#-ro^2il%lb0ykd}OLa_ErYWJ2C0E$y5Jp2<_yf1`qiac zxzB65t+axwQ9TG;1I}mYJRTIef}wTd=5QFRAQy!>S%`bZVv=v!4@9kjD3c%%F(%d> zzPMY#d&_nVk_ZgGU589PFRalw$yDJ(2EoeL9@nQg?HM)}n)cKswWU(?}EG-!OIV*Lf)ZU+i7>o|<|t1677 zN;Ut%u2=I^Y#)$baHO#_>V>2BN#Wb*CRuWTRMO&AqYnzsjNLD2c3_GZ}JD+-FH0wo$Kn)CBv=WK6ATJvSyZ~PN% zSVbewZIyKagHb9h;AuWqabrw$5LOc7y+>IHS7V1s1>=<~!O!IY=eV(}sZ{i&*RRVFE*ZND z@o(L(1f=^c#s!eq#Enbi*vcM$%x=h8Esj_FxGPz3Z*jEJ3VGdFLP93ncaE|OPL`-> z7rJ$A(^;^1F~)jjUl=^SG%PXGRC)(!7UOkG=)}>bz~%OV!~c#r=`xsC9pQCAEI~Ip zFnaBX8lP$)>VT@rR@J!{L<8oBEsbg(eU-d91w|dvszih0SK5ZY_ATE0Dq$_0H_v9b z{e-4m2Z09F5;TkJ>KTotW}qT07tD2)7*Uy=khpwtAd5kViKb~ttuVDVbP24l*d&qW zry}IFs|znoU<$NEg0dnnMG%zD5TS5f;SaIR25{*w)*M~+>Z-UTMZrQ68b*cI6qCoW zo}ki27r?x!$-_+bgRT%(IjnZ3XsbDJs||AJH5eA2t1Q=oUr;iOJBg~v>{r{>G9?Fo zY;fpy?vPGsA_;0(23#nkUsG?l&RVzm#({&*50CWof=6+#MA71CRic5S>CyPf3AqLm z&y6kn*T^+!mvVKIVB<L zjW2DC;0PK8hgRNXHFB%7S=$bWJ|qw4y5x|WwY*04LL-sOBe942NT6~xN)S*yYJfO6 zW$w@T>Xcs$!iFQ7aj&n_?$8mQZ%{Pr-E6bx=Ty`{EW!!b zfR{yBGL>d=ST+-Zg9zfanBic)kO%)&f=yXT<*ibCoUI*FNi$4S6Hmy(1FIoqq%925 z28Dx)=YncD5ghK7=l}|@Q$1RF1`ohGsrl|tMDgLp>$!*t{tWchfhxcWxTHz*nh`n+^^qmnyEX$Okt03{kIT29TV_r!Blv`so` zImk@cK=OfC@+p%pGl7Hda9tW)(^tglI$I0S3x~tt*R58)wBDgk+f0$Kc2&(XtIoX8 zGh=!_OjEdK8v|n`LN#E!K0=|kJ;du$_WF>vHo!(WxZRm5TA3n%a#l13vZ? zmO;ZKh$OlCqEIyy*mxJYK#jb}ILuoU4V-UKGyq5Wc~Ln7MJt064HS(-?XP)Ozg$mMr$~3BPva~@tN3wQEMx+S~LAoe?)_Qq2IL*|w-V-g?NLzP(HIb7mB5D#e zp4Yk}N%6{MDFUHt$&ye8iMpwQQj`#ZK_?0j)ZW^r@lFP#nodLJnPkz7HSMS(jS~GZ zSC@*dMvJy_SIBvZL=w1TlAyfcac;}!_<6bLMX_y@){San^QG*DJDMV|?UPcgc1V}(I+ z{*DDx&^MhIR1#RTWHv+mH8dPrU*9m?AHxVjfg-FtCh#MQ{iOuXBitVHkW;EQ4rlFM zw(Atmr4cO%(#2PGl_Mj=YisMESzs$Ks^K$DkR^#Dht#`_q}y22ie^KHRkO{f+Y^<~?3FKw;RU4Nl+Kv5n5a}__B0TO_Z4c3@1JLKYUXF3o)~iP{ow20 z{n|zW9dmWfJo(s#$&nL&X6wQ2Z+`Fn>!~t;OnCC~FP=U2P|#P{UVHuOwZC~#D0=%o zf8ldK{qO*jxcAL(zx{WcDEr{?Cx7E7`)~gB_rAI&lqNvZ9{>;tM*iXFAN%xpU%wj^ z_LKKlSFXN(-b9Zf-V4Ca%O8!AU&W0j0GgFa?5DNg8jK|}P^VgyY z&LpF;j03Y!*kI(`xtWQep9KJLsdy~5urR-bS{gj};tSJ$H6@pdEzQqgk0v<()E8fz z4W$-eeQ7RMVP%suGc%EJfaQ|0==|K=l5qPE0RHgQ*{SJ?FuF`Gm59d{elQnJ0XBU8 zh36ye($$x)L^)^0M11i@;r;;9lM0@F;f1ro*tM4~FK91KPwJTqJj@6Re|Tz=jn79D zxHL#UH-7%&`3WvMcjZlVO9{LnG?uS!>Vh3tbVfo3eA5?_3Q8U)!kfT5aBSw$$3{ka ze30i-TdVgzxVf;l*A{Q-YUdjV+b{|u=<}i-k)o+ViH4>``zYY5BK@5%G7zg0xdzKS zXvH;{a|GJt%Id9o9XL#q*{lmWS(&fCqg0i%P5Nc6S3@?2^>B54?(^rrGU?3}A;UmM z%EN>o`Rp%zW(e-YKVJ5oKJoC+{pi-p-!7+y9{z<(4^MDApWN9C9vglB$Dg?S)%mrD zo_Hag`R3QI!>6A4$sY+XeB;h$=g1e&PZU0Q<8RjrdhZDU0^zg2^WtO2Jutbka(z4R z2@Fj?^ytIK``ADG_A8rZ)!4wiAapiM*XZJiG6I1Ahl^VD~!wV`KTIzyS8i%e-H^>=<^!~`RUwC%X z2S73&izPuQ91c%i`htJ%^5w;ZHUDR9qZtFC+I>?Ozc?G>V$r#)u^bzkoSvFI9{}9T zS7Nr-tg1I@5by@G;o0XePK5yA60xNu=L>|wk?9NJ0Q>Ugg_QV6xp*`d2Otm#hl3N- z=X+W1-;&x9oPF-%R45f&n46DtY&bGA zId%Sdko?+QA~t{J)u=BSch-pD^x4@dFc-y%2B+^{$G1u}-u21Z@w2nD;pCO2XnYSp zk5aS2U?4vC&8xAL_)Kuhz}N~|!9f1FNTXhIgiz@OZDzL+uLK;G75h-8!7FWTmw_ z?CRIPeiuA>;U68BJr0$7u!jKokCA!FvzZs&Yqbm-TULWHOro#nQ~9{)PYYSN~!E*e_i=GkbEdzm)#u zgSkKWRy6(4PyEqW9vT1u{Pb78_3+>Q=6AaO$A9+pu}{A9PyT#ysT6qOpZ>SM71?>| z-+uLLeY5}Smp@gw_O;*s`0?NWB?$On>3b64M7jB`9Pj-NU=8wvY;AQfMjyD}F`0sqts zFV2SIi}R`AR3yZ5@#x=9uO1{(+k0N`Saa|M`mZwqE&s6 zOCeRowHR7izwpAvNpJMkm#)S*;6L+)pPdQC=U)28B8y}NY-}M4!jVAy>dRN+DEm3o zN-iFqzdpAp80u_zYWCbr1eKYHUb}Wx(;QO-CugQYfQ!w&_UfXP!5^7D8%~OyM?i9U z{^~qhoM*$cFFZfx4@E-kyiK{G*)M!?Dioi8`5QM9KvoUJu72-kJh~8%-CT^NKro3` z{zCy4901Ya5BWogVOqQ{+^wZpDi-mB6o=Y2b3sxx#3M+ikyyN*3_ThNvRq2{bg z@(`*E1#inT004WAJ^Jtf54LW8``b6Sgwx*9r=FeZ8R+gGIeq^8aWCM(%ujuJWd7Ut zN1pxM2zT$+R?oyRxA^*!(ln`5Z~sJO(i@H4+1L?k@9yvJhHz))&IfmP00b+E-QA(C z{at}sfDl422u(jdJ=WWq-+yrH-Nk#mc~9@;lTVK3AH1`epZd)4P5?mn=p&yUI9+Dl zsEVm)E`>gP{rde3Vl_I0$BvC8H<#Bk0&kk!+)PD!dwYWcfChmlFdFj0(%RaVBbGsT zGo68YSF|6$Pzl9Q9m`->eZ`3yl$(OW0T|G-Fxy?Ksb22Q(vHJ~^B0+35bdlSGHpys zO?>+kKN!ZfJS-+ZX`xT>N=N^gG}62oHYqDzRcr)=S?PiOqvCLCbqFVgmQ!!MapU!k zd=Vl!gLK&4eXNId6|yUtGA!lRcR81@I}-2(gB=iNH&Xc`D5Mg59K(kCeV$U8@d&k{ z5}4lb^p_v;J=p2_*LK>-oB#DMZxv5{_Q!tn^F#SN^M5+O4IqeJ z|GR(j+WlBbELgZdLhwe!lZcHGO5cgT^@ne7Ljdl+_3Hoj%AM5sv%mlApMNf}b@}U; z|I>VO?Chog=hvQk(v3N#D}D|dCJ#E1@F*H@l46_{umtTHuA>p5#J%47L1#I}KOBbiZAh9raZ6WEOzIc8rh_a(HLJ@R)F_vOO zk@GXSi-G7X0RS60|H7s7Q?t<2 zbZu@S#-4ia!c$>Z%5MBeu7ZdD;OQU_x#fjuTsgQGy>|8L!b(bQiTp<{mCUJmE&oX@ zEhhj!G!YyEJY<8%LOp=nScc6R6K=58IkkPpP!u$ z2mK(nw79qw)7On2YcMha;x`v#Nj5mCeXLx3;aU`BNk->hosXsvH*|hF2$tvPuEn^} z%=zacVrt<&L*NU~{^Z4}2@qeHn_EZ*rZ1wz$Y)3BJRuN^B7!M2eSUTl#G=uZ&yVj?N_NDqVwjJAs#Iy zy}iE=K;NfkpFR87siD5^O#JTMdvTFyK#AG#cz0&y?t_fCYixS@xcJ6{kYNB!-dp@| zwE!W=+<*V=58i!$H47oktbRDZw2EGU0<$ZmR6o$Ewbc}ay}?0LjyEtG^uYbZT2gf^ zt2>(dD@H-Sho*Pbbef_)P&3P5BTS%j28vb!RWwkv5S&MZHcM@c*FZ>U&@hlh;3R>A z?z7?8v4RMqX4?+dJbN8LXEVZGkVG>M?*?QT7sD`8n0BU%g|JvE6jAPC2{MrFVqG0R zw+j}EC1l(exKaVSy94g6#D4KpBWJ@~aI~|Sah-i;!W($k}J^ zedn9o0v`Z?*VohI0Wg`}6^!lBL(l!|FGu=?w(dv2`x{?FvId4p-?)73&zCX)z?*;a zAO1{uqTM6@ryoCie5|i0cPqM!2ctV9qQHwZu>x3%P3Fp}u5NZt_2pi*cB zox=smenJ+6&&L9g<2WQzkW+CS#{n2Xr-U2A#TFN0i4@?L;?u!Uc*1`JM#2G*i_Om= zcm7l$9G;pC2N$D45ga^8;%H8YIJ^nZZXD& zrz0##MX${vmw}~}@5>h>;i(~ioRf@t&AUYTCl#A}a~??@re?xEkXpQc_1zd+nZF(K z<&q$Db}|G&eE!P!7g8X^h9+kwCPO!3s#G92^TMUG{`fWldc*(#Chti^K~y#55P@|& zwwDDEaCweHm9pXUU%nVY;VS^h#jbwia#C)La5fk@JB@rS;waKYz{YqDG9o_Bt5?OR8JP)BhHhMm zbEq9$Vk4HyfuJzTlBic8<}5fNRSLMJ@Bine?+ZWJ-1w<*I2a1D61zsSYVfZVBnAr6 zi}G|7y_Aw=eJq3=$K~-&C`9D9wzl)|1jui#Z*1kgBSL}O3qO1-ng+l-EKym|JN(&8 zPfsA_0~+a%JolwXc#vOz`|8}v2iLC`9{%*nq43GR@JRsp^v0c!Z!WCtOOl4|TMIYt z?s#^+L!TS(?&|Wued!GZKqiqa6e09xcaw?D{jRP890$eS%|x=$b!_%Wr(_zo>od=d z0RZ;z&%ORpa&v97*c%K5dv9kvqrEK5Zmy*Yrf+hc!z66(g{g!5I=AQ|8m#u_ky!_; z1A025AuNMK0R{!dA%YSO6o>0QA(c$nu&aVd4Mh4t`zIDxTc22UxwoJj^k<~~#_^Mu zq=N(Z3PLT8Kj*OVZZ7m2X1EVdc?Q9hmM5vOm?}UQ>t@{m8K#`&N_*J?1EJUL zf}rf}@c0o_hH7fY-B~ zEehopa_RjNWI8(gd=RAho%{3u_N%x00+Fx$^us;k;9|PLU%AAk1P zWIv0R`XDU0U0&gPfWk>&O;?7ExIn0OGQ9tzUHRNSC=y?8Ypa-t02b4Cvn2>S2726H zbfMawBrTiD#fc+Oc6m~6tHDoPFj|x#6Y^mmfLtyQfZxaZAV|q$02xQw?Tma=kK&eHx0u^O=rm5KC)vqmHMY8=!WO`~k5}CaK zQeRsL2!SX?s}a?m10cZqS&&c|5S~z6E-t!Vuz`Rem=Fy|E)heq7}+ptCJ3E-@mJ1C z={Xi1!ZhYD zyU#lJgRlR6Y)2VQ){SBqSvi$Zvo6#t-g$ zdGEyIPaXrYci&sy1E8>t=!Bh>58jM@0HCLPIDGQtsZ+y|v);_^>nj4!naLo<11uB@ zc>q~2^olA4MB9olE^!wbNxmSzXZKe>yq@s@Pw(-m$>9F|_m>g{P{<&cp-f_RcQOI7s-898lua$^`)}If+>QmTI3=V`0)v^rcwN|Oiq@ZXxDACYxRB8IP zPdrFxN`zXAGLl)0Z4VLD+lkGymy)u3kF%t zZtWLfZ{S!L^ETHpI?w@2n;V&2YP-NN-D3k@PYm>h0^Oi+J5?xf>2JUC%C}zuouiNa z_Ll@$?Yygce}<%|BW_Z?GsEH>9b2`NlnWiK7Xaw%I^N^a^A6bG5ES=P z90a}rzncXh@993-=>}kbD^=u-yWvTkg1TL$d^4s06CaMMWjZZ>i{-ysYn$(*6mWn4*V8|bSG!k4{ zOrXseQ1FDXveqs9lUh>thDgR^!t%ZoJ$51%O@P_Z^z>=g4^z>lI45j5F&Rq6t}n)x z67gIp9FBx1L;j^yqnQRaG&OrRjC>px5?m@4y%y)#7cWk-=sxP7qGa#egG;425CXCJ zYl{gfPc9h;Y*-ph5`Pe1oV%`YEK27wR4e8|e{jMx4ke?yr|DPe1bJW>gIo9`Gfz!U zfTh>|^6Cnhy!g}4j!VT`j29D8gPO?d`z0US+gsZM^5z%0@9?7@S)Xxi|QIkvKr2z(VwUa%5ST$rDtNKe~|S>dfW`~4vq}Z zxU-w_?S+rFa>qxXd;XbF%JV%+4oQ?xqE) z0s!v*FMNKg|K7DfyqnDgcGmLjL#M{4)8QeIese1?r9sQ_Td#cYqsLyH`t(oz{eORU z`POSg0Jx7m9C>E> zlli^WP7XXgKK;cfQpbiK|FL29;V6@SuE;^?KKaP$3->FEd;56y&4 z*3wh4r5HC6j!d7411@}aHWErLF3&H};km?4^h0DpM;{Op91F1{r0yr?!c0nP;@lPIV`RNU3U zADWt;nhJ-bagG&l$wm@+?}N%vslRzX$NA7MBjKTmXgrB@A>m0Da

S4hHnJiH<_i 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

CJe?F_LWhV($Jx32+lUSksD!t+-qAIi z+v756kOWc5uuY+vSMnjpQMWN57r%O|@Q3LuXvk@6J5Qn;b3~0kl~$*^YUe}X%iy7$ zoGH+hE-kkQ_CW^YW-GJUR>c8GqT6V#Hp~$gRVO>FG&hK7o?nuQh&Iw6gA~5y(B^j; zM?|RQ|9j4``%~}Lajvv6(ReReZa3&FnQjGO1fA2ozg%v^xhoXwtNnuN2gW+kpe*$< zwm$BkISi}dqRUmav7q36ISpPME>$N$l|6-qcvkfOB5vgJ5_R&Tz;DW%sGP<7>d*l% zIwPg~L#&-QqahLcgwWksc-{n&hz!RFlU$D+sj5W@lb?YJt8RFz`j#tBnJPhtssvK( zeKF>d*w*0+^&)!FUAeN`#{nEz6%xwMM9MZ9AC2o@_N+eXnLhNRJB#h%R#;45O~+$j zP`|k$&Qb*erpab>UJC2_N=ObUIn7=F1S8Jm1y&MGxfYn7%N+62o}=$!;>I&DnqxAY zuZwhSpNqbs#vaFDpCnY^NNXhtlAKL!E}l&@eRyv+nFJ^tcClgG*I?4KGj4tjr4%aQ)# zl)2(qQ;5XvdLL7tMhVgkdWOLpTE&sv^s8Kc?#~68e9(D<<#3K*X&7XPxL{Kl$5?fr zE2iDNyHV9(vNTU9GJ=24Cshd-J#SEr^Rzkyy0`?X?ONes#INCFC3tLQ3)>6eeq!0&AU`Xq6<9bxkd` zfV2vlFMN3(7`#X#?C)-d@~yO<`kJ29M<=iAXQi&?N z@*gWf%H#4?o^qtwvJGqoS~LulzkVZ~4Lfc*qRiIz`9}PQhMFb~%V~zeQXo+@*+aI3 z?XUm_dl=(N^eX0n1tuY1np>Alzd3{)B#Q<5kt^t_8J9=sW08oABSL22TyIrIRa-Yi z9FVPsWWAv>&%;|{A=wU8$jOQv$jTQlEpu=h+|c3vKYtd&E;GO+a4p;K7M8Qd&sv>x z@@dn5BQqTkShM{e{RV~^9kQt&Osvw0gLIJ9iNCU>32IIb#Mwi&@P<@x1|Den^!~tZ zRwX4=jH9QX)zT_}gSSDA$P8C_fUhxexTDwl=@;!20{8bHq9dppT14EctPbdwmKP6w zouG>yVxPKTHymbRs`0Z>7B&cDr>!)`Pb0#o&Ben>)S1jmQHuZbwbIE3j9H!q)-o*} zDiZSUpEhO9uM0detwEv<@4FXl+_m_$q88N(9RmJ)KcKR{sH_T9o+>bD3vNl!#c2$z zYmyodH25u{V`i6SqO0|$XJL(ya>(K`; zY!-I;T1h~sr;^L56JyUd-j;sWP{&Clrxjj%#6<}T!il+WQXU1pV zyj1laLpHnOs<2?4#Tm+3XA~QKgu_yR+fS)8;GQ+cze3q|pkr<9Sre)7At;n|>tgSV z)n-^y2(c>cF7jPk#}8!izEe?^==D?Jwn^(`5Z!BVU)gWb;9!9LzwkH&G`h$p;z~vS zQVY}ivD-b&0Ix{rWKInz`E4>8##ae&Q<5t~$rsklV~8t^r#^-^`X4$ zn2`Y|S(K#!?t!Yo1DZQ){;8sms{!XsDN+vl|Dqn97o!}@*mjoe+;j~F4rEDoI7dyL=ERAJ?Cb$L-vujyuZ$kAr z<~JVtomqppZ;0d2%VsK%b*GH057Z(l|9ek;Avj) z6O1*+z$Q33Y`mqrA61ad=Z{JoSyTB29w!lT8gguSO4A5NKN2k_iV$i)LpCrus7g+^WS0N{fMBndi0RJqDb9WV=mhW(iislW}AHOob#C}&~B1MID zM*AfVyK*I3&V}OnJZB1mUX{WKDI?ZEp_T+}qfwjyV^|`BPw0ayL(_fjES#=#G2Ood zW0$DwPv~)vm5gCO;PX7i7%&FoY!LH&XAPd;6H+c5Qs_G6Ib?+g2@f*S7T1hO=3$8F zmhzM})87vH;+GWgu>~LRlvcBfbAM3`B430bURT}_M}=uyQgN#v$$D?zJR5B^v9Je7

Vw0?J0a7?eE>C_+jzu$ySqA^k2IP8sXrtx*7dh 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�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 Dy&pu@ diff --git a/resources/copypaste_v2_screenshot1_panel.png b/resources/copypaste_v2_screenshot1_panel.png deleted file mode 100644 index 9f6947910a49447c8f09191fcaf01baabed46316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205334 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 JlCJJtz0bW)3TGqH-OiSX0i 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 aR09AifNU@NK_*530000^ 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 f~(d{8UO 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�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 Z05?@W<7Cc{lcX_PN7F!~QqAtwe*h0xd3^u? diff --git a/resources/copypaste_v2_screenshot3_settings.png b/resources/copypaste_v2_screenshot3_settings.png deleted file mode 100644 index 463d2ae65e98877640002aff66cf917c3efc93d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175754 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⪼>*C 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%0DvT@zoltTOmR>MT zD5ylGFx9{9RCrzp5^J5b(PVI03_ozljg5x+Mp!&$rMsmW8w*W==-3@S9LV2L$N;Us zevjIBY*`TCNd#o*IY;4rb@*Q|KN7B{Q^&&S8@8U{sobm zn@4UXktTwQMl;I&?VS){do$9PZ{td&uQ#UlVm{0S>5kT-n2#ad{;#0nRBz*csDeM2 z5L%~mbP_E{<|<*g-~T9)yq{opXa0dEXugPoC3zjcaz`#c%eKf12WzkI@aTQ+=okJN zbW!S`^7sa%Pchf!JYf=)s?>JD8`SK-HqzNf-F< z|27ovbot6*ey#f^bN8EAsdvHQ!P0EZu)zN?>?q$WNVcS}+F%H{aWl1@?``9eAvVU) z;(4*E-`ld33*IaM2_uCxuoF}c4PT}gVnH*21TGnO43kKAyIct%`FqKXSgqnNk9zed zFv;!NYVE)oJ#-_$3=2jIMl@ytJVagezB=OiHF8d4SeV0-7OE9O$c}&+NFrVWp?=c z8Fitks7T1=P?%BzeOySz=wV2yQ&@3$v6N_r)Cr!Yp2Wf#AC7b9%N#jL6V1;B2(bQ2{OuRw3SiNx0Y7V$$LjrPaSaB0F?&J7{ zlE#&HK}3;W@K0QZTXE*t8I@_Ol}KU*Z;w@un3V)hn=~g6h-7&)Vr3t4H{HDwK>xAi zP^nvYcpl{>MUJM#l9=-)^Ji<#MzGkZ-}b(m?Fjd^#lIaSlFsNrA^1qJr%p}g!_sz* zzn@}@RxJ2fEl(`jDx4>RgSt9xgNrOwH;Phoki8(IUV1 zLXWPLP$d`u(F+L)J&;8hM~$**UX}_0z6D-o8C{0rEa##iaz=zSx!lk zF>zvNKXS?$hp%oxT(pQxMqRA9sM&d@TrnpRrk-)$!0mw3@CV)M9(><>SvPv$Yg@zT z0ds&H()ypG1U{bP8?55zk*-FMR&3AybnYid5Wo=CJ>yz5rZcs-AI{GR-3 z`o9={^x@FDadLk7efH0*Q1I>WKLvbaOYlEzYG}BMF??PS{(6ZW+Qm|ECvSRsVO~uk z%S_hp_wSvy_&V(98-K;;@zDGyJWrke{&!~%fps-Bv_ff4mX?bg#UnNhsah$eE<>yS zP3z~Emt$7N?W$#TLa$ZlI}Cv;6|=BhEp?^0q&AX1|tv6JD>o)YY^Y~V|)pgO8hCNO_wDEY~;+PH5q`Y59+czSz zgNB(3btr>cgfA7KlFgs*6Td1(zT@RO2UGol4#(^#g1>q>3ydFodS-XFmrqOqoHF%& ze8dqnzjay~9Ls&14y1*N4G!D>qY{Q9W>CZKx-Xm}y;+DoABzvdo$ z>p$e=m=}woGX?cr2vfUcalbe5iZ#2(A_mS zSAD>Gdi!X1ESG1TRi2VZS5%38ZxJzpQ29SU1B~k}LI8sc4B7=rPg#ix^!U1#oLRCJ ztE+X{-6`|yDYv{#&TT;dT_=p_koU;E;8K}~ce(+q#;Q!u4Q%n9;<4KpE_Pf^gV$9S zyJdU<&(DARkiPS+93&M|}={EIoyS?jn`3{7CG`SwYZ znf#~b!(?4Dve)G;hWYb~{>x()x9>VE$DzmTU_#?*>n-m0@84qqUw^OspZHmjhYdy0 z|M-2|q;R297^(zNuoyl8!o>e+b&<@|Y*k~oSL5s-Glg4yjy&d557b5#T8Axl9rT7S zT6W&TToiGqBs2dD3A5PyT|eJe_kg>7qa8P2UT?{59ZN>20BgA6BYU^pb#~QLGitT6 z)Sz7jec0Q*?oC?=3vbM=n|NEtS-aVlMXuXmq-hN12Wr4#U@C3(B0goN><6kP)9v7F zcX&I#SVNg}9$B`S`}_;3-%F;gd`=P<-bUJ!x7M~du*IaSCcpPU+A02XVA=Npn=$*c zg4DZ|yPh@pkDc*f_@V5&9NAQKiyP=UPHxV8o$LIX9Qfg$#Bjw9-%#xsV~6d|l1+&6 zuv`+~!N>qs7FF1FnxkIp5K8oUG8KcLDrXhX97rYnlinlf9Ilv08PQ%@emaDCMXW)1ts~ zgFm422ls3ZW5m#=G62?@s_lg9I5+W$B&vl(hydi{W!7(odj28R$b_r!siLjD`uxnZ zqRW8Y;p~9@dU1Yk;wUXGJ@2UKhP?zj4#oYlb1#9d-QcNWP%Yql2)G&7r-|*PHO;jnc-`#g(hO zJ2@XDB{)DQs3Q>K))!$KTLN|xX8|X#radTq97*_H>+9>|*ZFjw`I~{sCS%6-4(;NP z&%OBpPzGgh+rISvod5atcCz#?DQT$`azE&Me5G`;5_1~S6um_NV31;Hg+qV7Wm7RUh;f&7WmSw=xug}+<2CKgF z=rrl>p&aT_1sL;D;#APXwxk>UQg^s5a2Q%03wMIn=!GYEY9EVOH$QnEDfmNcndap z1V$^815a`A+L00{ior{xt*uMKDkgBwK{q_rD3Cf)6_7D`1IWO`7i;cj4^0PcBgHH zT_w)?>*Y{){_4x`;cLnwoWjb+?zR8x?KF;i>;A84|DAVM(qL{h@3Duhi;Mcd%z%hl z)FQ(?row*=H!e8hN3fkL99&#(u0)uzeoju;X?gsjNV%YksbKbVubj|P$n_Yl>*2*$ zHq!6lK$%?S1#}?q5e=WkzE(eBNj!~=b~Y&by(JnN{`UF3y?fn>s1`z}ON*$aiV|3b zZLr!j>Uo*2=HvQBlRHNBJ*!JIIG(1!jy3$6*Hzc+ItnoT;X82sj2gr<{AT3iA@s}7 zvXW)`VphoWspYpN|GEL9UKZ)sYXm7OpIUmmC5g2UwOp##Y{>c(lp{ko$?JLjT#BFY z%W&Vo!}l5c}C+D_Pd$pken5&wqWyN`YDp1*blj{ObjX8%~RmcJ@lXFBD2p zSEFnBuh#2opYl?PepgokUAPkFprNyRu)1$4hJ7F7MiSya0Ur;&{fB1zB7u8v>w9E= z10bu29gMug5reAc(B#BD%-CH2nA^&779X@u%U)$kJ)9dVoQ)OSY8^ zPkm7nJiZi)2vdq^)bNG7Gz|vGW+Jw*E&>5&at=k?gKTCMC9!mgR9hm@DPBUZCSTX3 zdUMO%gP1O#r+GjaV4_FB9aN5(`ely8psbj)iMRrUQSv&~^q#DyT2>(=0KxsuYar0@ z>lOFWeY>yM@cm!LmdBG$NPd78@t$ z!z2GyU};jQN=Se_(D!e?0I!T5BEh7A&+ob%$Q}b7>L;A4zqEp+qH}Cn%&kvV888M3 z6$%Y__>Bx*6v_lG7>k6aqQ57J#N$Cu!xFv3IuDM?xDuClg=poYG^EIIf;7|rN7Fet zRQCPhI=kj%*E!j?ZBNr=*JOLLZQGcv$+lfnO`2?5_k8cYzw;M#+Iye1_Gi8C^R#|G z)t#*^NAf-Y36GZzGI{&!?vD0~7{2?MXYO8*y12yLuEF`1gsadM{BfJc(7x$?ry50L z64uYID1$DGiMmS1tC~dZ?Tg!^8jTO3Mna)REBnvZoYe`lp37o;jYr}M`6rs{7ehW; ze>H<8LmLtE zVTf{M3k$!EP=8!K&-e(DZJ#Vz@1DWnGd_Sv0CUvB_hVrsUPmXDwW7fXv$L}o8@0kO z9nvvUO&>EcH1N zIC$ZKGZMLp**qez`PL1f)CDl@IZjK4bA3~?4 zd=QZwM4;NH!4{%Ml(xKbS zgxNYl)EO!?6w!MZ0noj7zXp(E&hbar^P$LB`flE`UW7rlm%{AgyMN%QW6;Dc!GY&@ zrM{H+3CwXy7kXGd5q{SY!ud02VthMfXDd4-KeM2QACGa7m{{<|&*p;N4-(^emXTEZ zDPLf9~*WZ4QTV%gnPF9}YHg@TT7J_eZE@5ig84qo~0pU&h7adeAO+96gGgTGA4vJrzqKEW3ckebMf$Xg_9P&}b=1lx>Oj9nQLJ&zgkw3%= zL5sTL{VP(EiVpD<0jFHMTJmdglGltBxH!?2yU8>TnFzr!s-1u}-{`*4B+uF`>e%^1 z%cI`K1|s@R0+FUm-3fMp&B1?dRZY`3V2_L!(4i!#j_G#!vf{d;kKXR{Jk-;3coQXh z^R&#}{T39~4Msf8hv1!39cgx#K^_%Q6m{KcmQ`H>&WTdp&PDtZo#D4NYnyH*SI2O- zXN`E)pu?1V6G$SgF$_(Kn~tbM=DJe4KJvy;)8qt5%>3dS>nT&YSKdP6UB+#ak_egU zf4;-ACJtp=A>JS@$S_4arxA{>x zni}>_XI96gOG_u4Rmyn_`V^_ZM;dh1-sgJ3V(X(H9t)Wf%yN5w{%YPb(9%Zo?iyZT zZlx3UJYKuB&#h(4{c!(>N`Q1cporGbJJTu&jkO2eWsc|NL|7jpHpjIM%-$CdzOb$=MR}Vobvp&Q97UU|ovq16FN(n9(nzf` z4{|BX#w`5l8e$~fJQn;*=q|0IMcqDGrY9|`Eu!Asv@Cfh!M1kq_8sF#wM4`sca_b2W0`T{!NqT;oegtfkX!g+unX)Ro&du#m$eLgAk(+J&8jogKs4+pR~EQvO19( zs$C0j-k3uh#%Cxn%O2Chs)t216pzWK7Gc&-Y*4N@^|MY_yoRYLyjBvbFOj@oCo)zzdXvBRVa%3pN$$GYuSVANWE zr>@&}NpWm8xC>2|9>P+}IXsiupDZTP&g~YX@0{fODLb*|RidbBV~of2+HV|}NOPVm zvQmSzVfrnhrrNs7we4g7Gk_zoA%l-UdSNz^d_Uvo+QYs7F@!8&zFHE8;XhPstUg^x zK5f7(9tvOMlCiv}wNgwV2Z_}eaPO(P&#*D`Ts_)plmIE*Ooo%Z?JLA_0SQus-RPBda!(TZKhuT1kC-16xL>CIOG=|B0{e*U905VjuMLmQ`kku*W+Bi;L~{Q8adOvNb;+ z*iE}=p&YGDB6Z6R z-~>Z5OWtDhrS|9a+jZ&MzoalCWSlgiPuzZ|+|D;RP3@Y^=k)Jd9BwPz*gt+!;ig)| zk$k=M(T<)xuFm?8staX~xGZX3np4lFqA8oN0+h^UBkYJVkIeX4Tgk2t#1+wokI@t7 z5?g6%Akci@#PSETgXb|{)(*Ug$>W;9n55DtInUX`fGVBMD#`?w>Oc`l_!vPd9Zf9D zW{B$HNFG=vm6-pKMG*PRhUceeND_MXvoDQendC)Ocdjw_UgpGPvRVo`KIZ!EZ*2>& z&OdGs(Ey>T`!92`528|apY7|qsyYRrrYTe;Do=$rd=B3LbH7c_W=2JV`B1fA8W6Ak zW2NP@mYg4DAA6R+2;askE6Z%8OyV*YIhT%`kT%9~B+DW!&@?&nUC8VS)NeE}b&7p) zKM679JPG1I8N}C?SNCYdA{5$X_sqXk;vK`saJ&%#2`s!)?NOLnbY*PgLeIP@>W$G` z2*^X8uF#MhNuXU6T>EADiGY?xD(X2Oul>`!*e`LLz7ziibC=QOD0X*~+&aK5?4!Hm z-eVWP=ZVInM{qaJ`!P*;2#x~5_~I|GpWjPcef{;t1^Z}yRp+A3Z(u5K^uB9Go zHsqnHZvJl;khs3Sj?T@^!qR&K%diIitj96xcjEa-96d~Cu$L+2WM*dzIBY{0SxfH~W41Mo6fA6a!;=oZ5727s!PI&k^YE_KV1i_;N_Fc#fXj7@D@tprlo0 zZs{WT2A{|EpY&uO?=0!#_U_IPAoF8yabcG$6XG)7CXI^&AQC}8D1~RF${(u z!NRbr|A0%E7WS81ka{r&*zo00S?%lVXs((5-Q75CAp3jl;^U)&-$g!LlCE6=8@w__ zut7QJVQYMh`GxIbK}5eYPdR^2i`&vveKWGC!8VA%MhcnwGq=2KM1em5DFVi4xfXB1 zQYy$xP;?ZmiV&!Jt+iK2u9*jA8Y!S?&j+*3&)GFuqVOeW&z48eaxYuUlFOY0ps^cL zV7`f!uOw03HFeEII(=tsWyUaL)2=Gs_!FTCC$_a{0TCqqg+)|GBK#=`I1QWLp^7CX zr)L73EGJrnNAEMdN<%TmAKgSdpslFjK0+8bK5I_+-3`Wj{dSPEI&H?1JM_f@=$&R{ zH!ua#=5gJ4efzv~qZ}QnQl=ka@iTCD=n2i1?;JUW;)RHFk9?NS_dps}qqW>imK28) zDM;dcmN9D$%7Bdq#LkCl%vtZN7{0NH<;A)7n~8PaUi8T`ZF-;m8Iz1UfoOCLYU%8B z+3Y-#M7G9VUUBjPXSUMQ>$I!6a=O9thg{x;*CFP=&tbwJ|5ZnbNBH64;OOZOb)E0Q zb&~Ezx2f?k-zNlcSP3#>Iw{;MSC?G&r;iH3n6Y@C&f06upn2;3SrI+XoE&O;gGdKq z_ce;Z7A^5HTeqkhw-dfS;GnAG?0E~_=Q6M4m)0?pmuH@Zqm)U z)-MiX5LG34b$l{wU23XWG|qfy>L51Xwr5HX3bpS+qj>3T%i6yQ#LaQ2WO0u)|Mz$$ z%a)2=tKfS+t&d{`x$G?sW_+Ox5)DLw2$U_AAKT=xXl1IrR=x+vo<)nF-Ig7jDmEOd zkyt(%d z$_nHrBK{}c=_-xTtXZwN|6fm2f_gI)c8q8FyT~>KEj?Wyl4yHx94Mar zQv3q;VF9cyUcn5sbUOvPUVmSH9Zfu4CrNEKfW&Rolx^^l)wh$RLSb40W*eM~Nu*Tt z@p-3nHRMiBOq{Q&xd4v~u)T7CMy$vQHPb@K3}CitXj5`1qK(%6fL{BEu#SfDRq|2i ziPIpf?D?+RX}Zfi%*NLUc)}(uNtndIZ4%Uj+@k#7o3pLmh?Vd~nS za*$nAb@wKQ3v3cd!7$HdcZha?12M=%8G|RazEQQ{jdFzFVg)J|_w>JmH8G1O6o`DXRqv~_8PH+m=zdtjX7O_hyVr|Cm|KdoC{h?py{+3MzA4nD zndSqqKEV1oSi&$xj}QMWB}ZCi{AZr5yd?)u|M04*)M_Fp`l;mg3W`1U<^ev%SDG&) zCtCg>n!018`q5CyAQ>wN2*+HEV8A^Y>ySS>vXsN{NtR83HLlD_l*k;6;PMXt8gx4V z9&{x9L3N@mbpPeypYW#-;yXCASJxuF9#_;8-|}DrS$UcJbr^isZ^pyg^~3LJ*T50> z;-|In%fOFshQ)|;m6S&?BoYvcj51iqT8t4A0qP*?JuJ#9cn<-vdOQ8pn!G6oG6@BiTHd!Y z0)Vm46v)%tAj*V&RjfsG#i+PPEhoRbKV-`{;tk1`31xpv)N~?^hvQ6h6 z@C-Xgb5~9D6sb{jG{bSFq-vsu2uc~HRAEXmHJO0Rn>j7o@ckK?tn&v-+|);ge2zu& zR4#MtAW}dIw%;@y<-Y?`2@!02tmunE1E_ykL>$a=fZ&rRIr5s$jtmHJ zet-WlcOQyM2muGp*SDv~x(qDF`m!hiCvztYCjn3DXceKD2h$sy83jfIQG-7m_Y{L$uYZsSRkB&sN5 z6o4EUMMI`i62gY0bx;${e_JxEJV@5f3Ju+d<7a6;;*7L zIxT2ZwgfR!4@oFFd;xz~zfvod7A#eMKX&l~$6ya8@kPh>_xUJ5@t{2A3iWnf-uex7 zb95mOF%G9@^uqrS5*yWJkC2OsuOzOyC3|ziK(CjEZj{>A%&J(?HCUNfJI_mP!HaP- z$A-w{TH*NJ)KI1boJu8AYM#zimh#ENO;0QmzlNF#CH46^>qa( z{YixtY8A9(j^SwqWyYG}a({2#vY4bnUx?-r#X{q(Tvk}%xlhn@4{3IC2A@1&I**r` z*79VFTGd7T*Mr8nMRh@QtD#h1ltxDW2etctpx3+3WWHAHy{dp{>yJ*6cwTYvt zrZFiT*rYnShCnC@kbanc^^A;;zySD+E>- zi7&tW`j2?Fs$}&`qlTOhUhMdc-HPBuhntH%OzX}ilNRZYg{hxb8OgJcEnJC!B#0uU z7+0&PEG`LdgTI1A$22Xo->z(kH-%lUgfnBiOD%czoHw1YD4=Cz_DjZ(^gxpPgWxn^ ztHrNgrAWDgzQ@N<%afji6AiSCIJl0rSu7EYV~ILq#J36CZ-2PpoV*N2l})a=l;j5f zfez6q20O3g>5bx2(Km<kO-ARtp-G#y)XU zaWrN3HP2U-F2nQEbQmQia^Mv)@NSE5oAZyh>} zw!m>|lUztPochCxF6V*yI7JpB%X5)Ln(FiP>q;|+)zrp06@S5!WL3XR{IrYr@WM1d zxECMaIjK$)dREG=I&X-?_I0ExX^eK0%} z@mRJ}#HRG1>UOpCfq^9U?v*_)Dv4}tOezy(_asGoo zp6rIf_*FRm|LAbfaN{_L(Vo99$Xl13IboGh=L>Cr*;k5r?5U$~_clV3NS3q|>) zxDrGfgWD=BV2(oM-K zE%J+W1G&(4mM}j`Fu#GHhDoxCcr}Ui1R2C&u?r<%D7k7{XFg&>FaN@9wL17NZ!9X&HRn@0=?Nz*dm zLk}$dqf)5NvQJRd>E_!%#E}l=i*=($S%44r+O~#j;j&6A?Ww+ItBDoJv@k$5q8R(r zhW>@i`PY~MOZ<}IIcdRWp;~jDrsV&&fSaVlhb|9;b;zTbQ2`v4HGSy{PgO1(LYBf~ z|E62NtaClGa6MpFw>9jBiie_RIEe{+J(sNTYfwTw6>?!^d8}lJi87rDS9i zWGTjcm`zPicqkwNA|McG%BIC2T(1b4->NjJDd>$aodSvn^5CEb!~iY%<`d9_Z$9ZE zg}$kVESL>5YWYIp;2u}S-m0Q1z5OOz?wF?JXL58<#XKB|Esr|Dp{Glhs8A;h!;nqZ zlR8oZo|Du@6;lz{pyP5LUn@D1PQ5@^UqvDs_3AQwAMyqMZx)aNaEd4Fmw}-f<*XZR z(+F?QEMi>&Mh6}eK*_8Yf_R^-b*ws}JHUNe=YLfx{zSrkF(eiS=2l#c9|f&P*YSd8 z6nZYlgve6k338NRJnHUsd~q+#cQWXmXqU5eYZ?lQE*Gfa2Ugiu7c!hzKz%wCZ`&eL zN_+Xd5aj`dFql!(UXFAh$>c=#J56iOIDd_>18SFx-T#dlVUleSlFMk+d5{7pKmRlu z+PDTpJi4`5=5(cL4zN2h#@e4uWg%wPbMfHBU_48Sy$(yjaH`mgmy6Sci!AKauief< z<)5oh)!)waPtfay3ED0{oK!Iy_tF2x0j_94fGKJUztpjhM{Il`f>GYZ2sy(06llo+ zry|b~>B-Iq3FHjoXi!p_SKG`CwUDp|#!TId*`N(`8vF<@TsoU#i#cGdmh6--$OUp& zikKbon9EpU^5-4}yV|Hs4iUC0Hw9pE5|*?ZN54}^tp@hT^qk+i=%p8~VhG}Enp}x~ zE%mQuM4NFyrU{NVyQnn3BD_aqs8($8sQqY#pUYj+cHD||yU%XP$(o~1&q~^KQ6dW) zd`45bf}XW|?jsu^c%qC61mqqS55$QsnxTZ@v2Guf0~4%kT@MzZ$v>tLi(gia_mIi> zFS8r%{M!;Uvt?x<+ER1x#ObIxu6+;`y+wfAG)G@Yk!6TL2I@`nqpZaZuy1uQx$Pbo z-X&{C1W*fNP*5PBSC-<2BV#Ucx}=v*SyFW=fLzN+&g?pDWp7Ykl8r7%6`QpB->Rn8lh{CU;GNVNjA!%I;^^=rBt}Ev~PpgkS z6$f1g1<4_oTVRZy^5?y(%XRN#cdRd%R=9I0{0^@30Fcvzal7?tw`VRD+D3>LwZ7FW z8LZ_q{Za!^0%RbirbVFk+` zM`X+64A3>icaqKsOb7-p-om;`=u)QJ92niJZ!5?OugbYyHCD*v=w6;shc zZGRnTAlvH?4}NauEK#fXaP$FFESD-Zh=iP?NwGrhfW%JQkzt=cM$|9j-}&_LUl{4= zewEKc&h;YGAVD8dMrxQFw-grqVjv2BooE-!T?{Tw$LlaE|p>|p}QWx!kDxhJJ&sB~d$7!n!ssT|;jfAx|4;<3$@_q!@0B?*Nxczn?QaBGtD(y-5@+<&m#( z^5YAv&%hjrF(oBnrOfKs)q~?(QR+*Mg0twmx$*pr+X#jfK7j5L^1ON0Dhkbd$aNUL z#Dt)?Kj0eGndK#9T3dUH&iJoQho+!CpdmWxJ59gVpl*`CK0{&6w!H%!WYW)U3qF=7 zyvS_Uy;Jyw^F5Y16$qIL#55uh(R&`+i<%lylqzL_f9Jumg%POu{O(qmx>G z_y%5Z-lXa%qf&~kl?si7MHy^vpO_&Q?i=+Rk%K1UXbMg-1#l%KFO$U+GMGv}h{=0g zrcO0z2RRo31oO8<%~CdEcqhDtTBb?GQAT{7=HGhsySSyLuAo4GKKv5fTrR8l&Iju!R9# z(N<%HiYWcb5QiXCk8FPkOms)oRvc6!NZ<{egk!C0ba;BzKII@cX`j4U-7x|?6pL7e za(=foH;m;1{Q|lS9+K|!)j0`Yyj)ktokV+I_pCPCX0_&j zP5{6{>IVyH1qlWNV_#S2B811o*GR4JC1mu2C&PEDWDt^|UA%>>$Qhr~anQfyjB*c0 z2R)htXBai&rcVPbYH)wsAuXV~{EDAt@y4A9X~sb(ibMMwet!6$^!#k z|5Nsf6cz@;ulaH1m1UzBZJKvW`VZ&Fr2LLI)U~F9-6@$N{7?zTQT%maUDb9L;yb4I zFy*?kchEsr8h7Lcz-!6dO_&aT@n4rz zpb22EaXzdd(i=Hah{nbL=aPm{8oj|6DA3hp_V`ZqZDr4GaT9e^Ci%d^2K(~ z?z6QsmvC@G7<8C~ZwEcL!l_*GDM$A+(W$MSqX`A%l3!BV#+&&oW?pp4ocY@rW(q46 zhIEyN4l)GsLp;$f2)nXFKgLMI^SO&(N5cdN?PTjc!EZ zd|FS9d&}*?{k3S6la~@W;&_4Xi==LtGnlvK#}1=INAyOwKH0BU{b3F3`UIj zig_o|2#rP~MDYcxaj|Kee3=q7Bmzw`0$>D5wW{l~&Liz?`or~`a$zBilM}<>!6&$g z|H%TZ#J@O@5_0ZwCi3pE)z=;M0Z`8CCOEASt`K*2X`v<|i=|Y80<^H&XqQnA?j)W;?aQa zQ$+oGtYu$wWhZOi!2}k3QGi=V5XPnljWk03oygmKggR&TB4<(jd*C)EsAsGzU0oB- z=$F4q2hd_20)}L8hn&S6f(%tTuo$YxIzV*>np<>K z7TeG8LjVP^ur<_w)dXe*pun=dtcmb!00$uu6j6>9swzVcsQ2QkOe!*v^(Tvdy8|8K z!U#GOS>y_DQW94%B688QNc~b1*A7?W-p|dht5_VO`&K`4e(jN=M|d;d3rXISK*#_c z?aaN9j=CqtFi1vxgy(Bc&}O#A@>N$n^(NL!3k(25J2kfv$}!?c^AHdwG+OdX|7WB;}KP z@70Bt8V8*5fRyi}iS#81IAQFHa8wW+QGrdNWUc!qhKUp$h%;IWeIFD2JX#hG=%OwZ zsyihZp0cX~yaiCa(8>7YW_fs**j{);bywk#cxeFv*}#4Rz?Npf!7L`n)|)5`OZc9a+B4vS56g$!rsR zr*g5OXMj`J+7CS5na){O`-U%G!x-_a9;(Vaw=V$JSej69H69_VQ#apt9$HmGT(?i{O7qbD5|eFt;rK>mF33hb}aN z?K9pLqS!L3|H$eMrwENqRIr$|!SE<;FlEUtF1KEV+Bg5d1IgB%r-R7L*Nu~koip5T z3K(m)teQ^oB`i|BIP-`mIK{S?kDn7i&OU65 zkUA(52HHR|W?F-{)dA_}?qWr7HEDz3ulhl%?kF0siLj)d*)ajJrNS_+Ko^G+5yz(Y zKEJ;*5n&vkq*8GwpK5!`^Wq-nBk^|xMGL_bN8n4KJeo*%iP&g7q?D)P5k!EYlL=4I z9fx{r{lF;WB*z5A?%yexe_xodA15T!o#O(-l~~rplh$kog(|tM!=t=Sv0>t$OE3Xa z>-$$dWsCRJnJxBhekduep;FVG#gl9@$Hr0j$t#CYZLn`42V|wXF>= z*mNF(lp?HUUIzMJMW?9{*62k(>ZsPr1Ne`pv_v2=oKbzL-CCs4HXtAnY!`cLmsDgF zQS*GpCcH8H-x6mMtUUTS`UQ{8X!{zg zAig}95+pi@3D=s@OB#cP`M+5J0vY^iKMDn6BMQ;p-#2fodUKyDqJzI7x%1w_TGGWe zTtV7)0rtx*>+x7~0Qq`Z)1|3}ocUX_ck=Ii7rPQ)j(A8+>QMSLLGkEygEr?6FMolD zfPy09JtP1%ryci+JmH2uwZH!8Fa4bYU!oe&5%hoes%JR26+${246%t5YVVdz=qRjT zOkvPuAb2H(s5Ocy58lBGJeDO;qb*RINsuW9jsUKQzNvFjzrcZn8L$k=`kj^LYC5k( zG`(P0`?hccnFC`J;{sTn(<|h_`d7eDnT!e!GmcuakROJ4#9@xfx>`cNlJ_&)CAN>Yfk=s9CY4V$~gJG?WSCTIzp@Ey$c{YUn&2`y+5|8JsdnX@f)OYkz)0XkpyZ@p!H@#c4__{!3(c)t zC7mAB8xE`Fho3YTlgYKsiVP_y8gC8JX@>QYIcaw?T1FU1;JA$z{E5zCu>Bm4sLetT zkSk_^XC(M%gWU{8viR73IP_8vpI1eVXt05*WLCo|y}fb8hS z-*wrP4dJ0`n6-JbDLYC80M7q8C7%72uU# zcgu$QV@r={1%NQFW-#aSA7hIU>QThs1wja@Ea6r;I~$=*jzTTMv~==L z0%Rc%f%$}_2g?-{ZGkMN4s}X>mi1ghzUL6dAp&qDaa2zB7qARO%tYMAVb1g4((r=7 zj~AvkELo)MGf}CRQ{u{zC}(=c3wp$KktXrzy=oesqEH2-X)TyxQ$z#v1hEKTy<&M&J>~M3*=U6j11fxels#H- z&;(*+8}t+&j|oAsdBK#Zh_Fd%ia+~>jG(hSn~dNH-wKLF4TkI&1qLiaHY919HK6NVp>Ed3KTX`TM@YjJl$|UA2b;CIBAz!GR)=SjVxc8BS$|Ds=G( zX;IPR=rZ`@WS=~PDbq>0k#B5erRE)z#{>-`kQv8fs;cPe^*0KI0Jf*t2JOSI1$h5P z6`rGJw(Ol>qM@bD*N#H>ZkUuvr@cK(rJ0p!a}W!a1TX73f8(){mqm!Mg|O{zsp5>7 zLY=5auWI+j*YhCY*%m-pLLx$?c{2wF^fL@BeYe$HZAdOX-V*ABh9H%}kcm~R4pD>3 zPjE2AW+lK8&r{Y+o;fTL)Xxhm&VGLcd_I+QEeQuYIe*8Z>A8qa{}W$ zbb~%Ow_2GDz;O z3vZ?RG4FJ36gw4|YKZB=Uo=h!bTO44;LOtQk=}|#5s*fx#g!G=Q1Z4I4tVmd}FAY1BrZ(nN_(vR4(S!k}u43qH z4LpB>c#T$i`H|_@{WbG4g-ppN93!y~I!$0gflUJ3+r4NSmHU=49j@9{cLSjC^TCuo$9f)T*+>SAN4@{s(aE-`T z0cwM}q6Ie3Wxu>xgJmE=DHy@(stT*rK6Y&S8Z0+}xk<6!5cZ$=oe{-*=IFJ65RB@B z-o7HYj-nd7k8Iu-i$bH1x6IPv5U>srZl!+L16Kxf_E6aUA{%U19f{4s+VwN;=i|VV zr8#mjtDyxeG-o%Q35sEIYW~tS<_Iki?rg5LpS;bEt~x`D1psGIHn*~<_XwRR<1N+tO?6!=SzGOav{2cQ!Nvym)qWA=`&O_hivw~>s9T!rTaJ^Iah(|UeHSU?0W z!~Z?U`IEc2wFS2+GM`&ar6p93$WfyQA=uZeNsERyJ0jPHc@Q&!-S zWxcmCP~`L3`zzB5|0M~^v(XXECj`+Pd>>=SEaO!BYc+Pd^&lHf)4q$L9y|MSD3j&I zvtyrQ@m9jYh8QqqEK2UaMz%4HOk7^fBKMi~JLk|SaK2{K8T`6rBNPQ3WS0oZvsIx9 z54mr~#7xqau8^3YZ&0sY0m0&-Lt3Sbs|bFt)<{dW0y{6=Ez&u-!XI^da`z*LWT~ScdCPst*CqzeoIGOi7rckHZ3)TvjFVCzTVPV|!ELMg zU0cJdWp&f{wYOi=75l|0&@i>GK8jv&D^a94gY&Z{4VcAJJ^nem36Yc<`pAVfw3!bXi)7gsIc2 zcTjNgQN5#At|*&ji5`V*`UJ^>lX+R^nkgx0ouNkrbc9@S+YaBT|luW zqM*K);cS_Th#v0%Q66bYLOhHt_A$;ss+ep{YVn&1(nj0ODNVzTvw z8?u>OJaZgchMe${xA5}o>n@4Z=6KbhdSs=^WuA`+V%wiG95wB9sa;$V5DjqT_*ET3YIP8zQIwUL)}H;jFSl|9$5R zY2num$sv`mjqkhbes{a1d~@N#>`&w0yS-ke?fz@oecrMAK`#va+;rZ@^z;6w?B{i} zY40sqa9HfM80Pm}`Nex1dcDTaPiNgXzSXx33KR%hn}iH!u}WvGg3g?iv`MA}&`RmN3)(ck-yuEJu;-UW2=Af_|E_A%ImI@lQhdz%e! zknseIQU3gS%3NYxT5?XflHmdosfSx5=(1Va`RJVsf8ImstZx2&RPxlqr<-)&6ueui z^@dA%{?B=$FrN2$6L(tEVGPbiZsk4C;0pV#tX~qP>u3dRuKf_cjo{w&mM>BJj|azZ zu(5k+3L5AC=Wu#@VBk4K+2eCJ#&6g2tSNn%m-_;5rIb`TUk(|f7QrD}R=PBLuEc!f z_5Lk-=4+SBhJd=<9pZS4dB~YUkG;bm>NHuvMxA5z+ZMlowYDh*?56ihltp;T1O@d^ zZ*A1%v3v=+6?OTT_wHu;;uPnjYs5OclH&K`IHJ2q9wSUD7X(v8N)83g-h3m3=!+oe zOKOZc`r6hmE0_rg$vTuboaB+Ykx6J7;Md}x#hPtI^-sZzTlmsLP`hI>32N~I5-ttd z7S3@F0ki_Lo8Nz>v!+5$iu?te8#urU9rg%Ii?m};N7`YW70v7N3@3vr9KIwWqlcpU zCc(Y@?VX)q?!n34My^75_-S$seSq_g{Btzce8fExtbxl$pbXdJ3xHyUMkAewg^108 zGK773i=#-~)&)4F$?cDmk?#L%MCoJ@{P=U3m6g_cGd?{$Tsq_P;Qa3M4$kM-0xAD` z?=ph<63-K1ehHw$g8B+XGt=8tMNCXgLn-w27fNKug}(cfk4Qq(FHq)aMi1KYE69i$ zB{>3(I0gjEhXe#TXkX%#6cordpqu|${35DY01NWqzqByxt&P6aYn`X0V4Iatf@NHP z+eDY=jPcjE+$^3WDR)gU!@YQ%ilOJivptU7H+k!pYX>UThiIyPwc#J_jwa;mKKezu>qrv)a(Cpe5m^sm+A5DWXh*|NC z?k*E-*ika*HhL#05!<1*owH66e69V2#mS;5N@v~hmq04uNZ`hTUZ_Ds={ta{(B2mh zC|1jiA*@$BF_!%by?};`%R0&8bjEj{)g+h7A!EZeHn%HO0<}DqMu*+qptdR{s8R{q zzt*a58ljg|hK#3D;>4;P>vi}9c%WzFfG7|lcJ|d-CNbu`E3#LRJug7vpch!oY{z^I zQBvYUJc00%TaUSX#seuXvfu!4|2G0IJtORR;0#3205&dIM%ZY?3e88Wb57rN_F)yt z-2sziN59tuEa79r1caJ~+d1%+S!D7jBx#B;++whZhmc_;7JE}?VLE>Bc9XR@7Mpm+ z&2=mkn*3{45(?Ik)ndFF4=qrH>RL<~A zb}CnsSwxbpC&Iw!5!;4GsKbN&9R%tF-||AH({pdMKF-gZzg;9w^HH9;?W`ot zjcf+~3(-fPxUhs3w$s~@w6Glk-pev~PuK2Hn(u3t^!Hlb+kIxAXUx1-Ocv`2*U=K& z&%Pw;_BlyOSmz6Jf~%rB`?J;c1)l?h86o#|ThiE3y*kO~)fw-LDeedSnY#j+%g);* zAX2ldE4ZSw#i#s`Z|r$9R(8Ow=}&~qs2_cE-yu!KWfOAH^JOAMJ)hhQ1_ zPdrk};R`yr`a;S(94h8YQZYs2d7wH`@l|S&I66B0^<|nCd+>On3zU(gCkQ^HEV+8S z8Z8)5(7eO-@_IPy{qsjcc?O@t)Odbv!_~`WF|gs-fd~95sUq*cR|Jz^u1a%PpFWkE zlp}aVV0lm!PK!?{Z6zRwn6#L?pi$XX`&hNIOH9I=C-_4w_D3KkPN4_nh7|CRj&O#+GVX30t#H#av2 zH>Zm$`?~U(hviC;@Y9fWZI|cppE#jg*xN%eHC6Jm(`UQ4pvYI;H?$1_8&~0gxs|Y( z<6~_00W9?9CsN{IAFQ+I-N@gsAxphw7*GKH&Q47WiGs47Zi3 zo20hkA&m!}O6|lLlxE98D0pCOztJ{@haaBQ^_R2%!`3?mN!qjxw{6=tr@N?h=`Z4nL%oQ+US{+NT#NHCI$hX zhy8O#q3yZ~Z0)cGb`QAMl#C(bv=s@OWi$s(?U{stwPKmH)zD~bSJNs^jFfkWLsb0W zXM41*Sh~Jz96%ke%+iC|;9-et4o?PcF4bxL1IYkCiIv!*qodn+o0tU9?s_aHSPl&* z(_jg|u8Jw;-TXc_b~>*+UwFS?Z|Z*fpWMQ)07!(p4(F5JryBdMyLoQE?x~sAGefYZZ{{i5YUc+Q-(sjMo%=x}DmCNOL z?+#Jb^<7)ks__{z6|C6)?A#8c%98{l^1SvhluGk`?!~91rENb|cJcTfJY?H-zPP- zDZ7B>c_~yVH8lm$WAuNezQ6c;;4KGtUB53a`gM(g`NrRINKmJ?xv zRk2$G4b5;uuv-_P;ITZf@-D zDL&$Iv4OZs#IW@B3@t5rK2FL#6-Nj;!o$Idi3DOL&#@X!3rCB5BIp>g$LR_eAcwh7 z$rP}C+mF^xOmODEJ&r06M&9>&&+>`P`hQvLi;#)$u0oEOO!no{6~wm^ibuYEzx48% zVgLN+#{sa?TrXvrl1DF;@SAY(%8mo z`qZ@?mMHUuFdhkdi_}iu$6+$7W=ns1qH8LcJ8Y9N^L&5Hyq~yfsuh&zQS>{z!8{AS z?#rJ~FCY(YNhi@eyN*L)7yTSZfM}UI70jN*LM)LAn{ypUo<!{__$_X&ze1P^sF3n8J07|vnLME|Jhgk2Yi+pQ$yjLbp8NVyOun=3^P8;mf~lXtS47|#{zv=Fj3(D6MCer?X9)bn;{WlXU!x}0;Q27kdvI`||MRQq zZUA)WXFJ<_he4ZG{_`&KMel2SI-8w&!SCl)|NH&K7jOu_jp(V3)ev^WpFxj(jq~#c z+G(%U^gXX%T)*{ot;JmK{9Mx$e3KtsrELg7e|%!{hkvhL$os!L)2K6Yxab0-=L3lBYCx#Pe+ z$OwiR3EEzj$zta4`M!7UbP;Y5*xHLbADr%|Y4b(+-Mmfk`hNM=_4HmCY!m|al1OP5 z9p`1%3ZL(fouALga(;*y%lA(J749rax|QI<0ON!^H;&%t&bct1{QW^<7|$VRe_W>5 z+>jj!xCvAO@n^JYHu!9BiJJ5sG!!TUYy}9=0xmFzxX(}cGo(MKKep(4^8xjN=gHwy z672f<&Q1uW<8u(0FpEmrndfnTHh1+m-A=dMW11&`m&5cp zg0J;Bo1;4A!tXRyd7s&(OM0I2$L5bb1b3h$6c+)9ga5rGg59&7P!+5Qt%;dUuGmY~}(a&S`^(62nlf%$e(>uy8wu znM}Z3v=#!Y6(|yn>L{mJ11@_@H3wNsur2W7%#!AK;1|dxlbj`#2OQzM6&0CuKyiuI zB?B;#3ZX?k49eYz?K#jyg+=tjWAU+g^J9o`j7D(JPz-1KUCRV<5S)9uC7(K?U9SD0 zQeC$fKl+cIye7zk(~3}LkEB^(e?|MZjef36Rxjo82N5_o^!?esjaS9|aH zSPzB4>mYjZ4vFM2GATC>oy_(*eVhKf8-OIxYBB?Cu&n@IGj+!HU7cNmXh>(bdx-uO9iEZ?s z3O9Gbq}4!T3azMRD%fc{0cm{%1d|xvii(Voiod?Td;>BI2t*iXYX0m~G&=ou-dI~3 z-;RrmE7-va4kX8!$>GeMfWuXuUfaSJf{ii8W_1|c)gu4}YfS~GCgEEFdbNdxn~Hom zgUD+`O2;c(Cn4F@gPAU$AFPyt`F;XZf|ltzz0#p0d>57mD$)ejx_?~(yY82g%Pp(g9yLya%`tt zBW6tBWhoG)7Z8YVpy_7%5|^o<8XH_HoEpKH5~bAqbOy^E(GgZDZxkl^8R7 zdgLj<#qY7J-fzB87!p7Q>^LjS2J}+`kgQLvE8Q;u_~!s=-}})@uiMQD-$#eVcyVzI z-Amie$8(1>uI~jz zUquXToY?n3NCE+=@2J$txtD)iYeSu+5PQk_-zMWLeVvX&0031t^gKLa`}YWC-ls8D z!7`U616Eaa6=XOBeAulR97goo1>MIWCO_eCY<}E9BZs*Vzmr*5EJvFizx2Y+_d-IR zhzL+JczBa5gpQPSb()**;U#^>BFtTkb3AoKp70xZL? zV&FQudZ%|CAq3z$Aye4xvS9^Ygm)pjPFMrGL#OQ^y2tbX%LRD2e`1QlzDCC%;^Y^R zgl@=+=C-pKkBO%dKbfHWi31yNn~;y7UtW-j_~X`*vhqdhOQcbps;mk(iU?Y`eIls;Tc_rFuINAISb|LN>S&-tpj&$GEiJWnw*qG&C^U_4j;ii}V5hwEscjdfGOf zq{qJcW`D%1ms!|Y3NBuB-M5}LT4iOz5L-_#ZoEIP+Ro3YU)AjIha5}%=FY3Ckzo;%p;BjYjIGZk7 z)cczg3bOwG$-%-h$l_iV7KH4*3QT~2H5{Wne2ZBSU88ovdZ+AeAO^cTkx~9E#(s)l zn;{zg>5gg1HNXJdy{DpTOFm9PD6eSORui8HBzg}GLV`rbOpxOdiaqT&MxvA?w1GAn zPn0x8I|9aP0$H?Ny9e@mWRslN$k6-yreZ=*# z#DE0p*%0O}E#cEvr}`^ewY=L|Tna9nV`2tiP^mYh^v~-$+?Sp*djO<~mjWyc4ptkYfA_w& zYTMJ$(Rm+dn)iO?+I#ZkrJ>WM+xL6|IQ@PnTkZ-*Y4qB6c`x07_d8oX-t2-@we9;+ zblGiqyzBoxY}>8Q7SHh{@4jzV;n+O@zOwi0c|-k=#@%7E{O7ZK-;tTQ|He1DbedlM zSx~8TS`k^H!f3pEcjv{j`?hC!g@otiG-3Diy7e^11HJ!U^Z@a;nrGdOUr%rCHSbNw zzVD6qPS;JZ^9tn+z=>>Y`$3%~^yUj#H+}%Ha84NU>&bo!<*~Z1(`!75e3s|o@r=3L z{l?E1K(rzJz7@~FXW#KWVb1?*{%b@{NB1>6${#oZInUT^upAHUIJcb29C>#P<$Aa^Z<23%P=}@4W4R=LcCpQFTkghILa{q1WlT9_$|1; zs&gz9Up)a zPr#KoX+{=&lLM*!#Gn`v0YyUl+oMi}PW7i?Pop4IriWUZ++gAu&fz#~(}W}p8lNeK zb`%nI)10GoEZj0KFR$zoySfpp5_F^|H_sqrPMl4VXjysx<}VLH@B9l3Q@ZjINc3{p zZi{}loIoHr!O)z%z(u(+*64x{!3kbu78nfEx@nD}%6o0Eqqy5%tIa5fI@2Dx%_2 z$ZfZXj4)`OL6-QOM2!l+j?%Jmg}w>PDZo+^S284bQWBYI<&+$Q4x?uVyB3c!(mn2= zLy|88y2xY##C-qF_?jX1!nxI!AM$FFSIWH(H$u(^y%>fzy+2{XSkrfw!494HwGb)R zII2B}B^{8oEzZ>5pL0V*Mkp5NtqI9BlLqnss>f<-gRB56a>$RX-xeO+!s#`%h5#?mm&|vTnpn&=rW&YvudK?>y z=eggu-j3FJ?rs2d4nw%XN?iLo5F{PHAhKM)GAHjg-)(W8?!(ZcH(Xi07Heu z3f#+9MO683yBsQP5UTxoFVJGfJS51Gdno*hkB`koKES4K7FF76r^_-0`Yb9nwxPqm zg0kET)gp>?0|y~`O=4bSDP+u;BsX(E!506`HrqZK5xr@E%@lOHmarDg;>yJdl;PFc z(c_i|8PDKcO2?x&?o5Q!Qy~EjgQin7z%M`W>t?){m1~`dm`9l8G8C1XpGaTMVNskb z$qdmE-o<0qFOH{fR2Lw zaK5(f%lfc_Y5hy!Isn3L-v+X&aq@HfFux=^WA6c3qW6t|7PZtb z4}`PY#l;e0`B2FN?O1-iejVYYfV+IzVB4&_BFTS6!~yl3z#-!%LC2YVP`IqaP-ykE z5m-i{w!*~&Sga}k6t@{GMM#KP?n%mmBPbf$XSXI0COd3-j&s^wckVRN*Whjf{wn@VsA;pB@?}{mLMN1r zY)S{DuY#XN|HFjj2H%0oD8tpQ$UUheTd)k~eUIQYQ$d8a;LrCo5#0bW=Le{8QyTE- z9Ph6EV*iI#5#Ih^!c+no7K2-$&@G~uod`(iYK1xN!|(Wj7ff;&wJ*nqo8mwvEz1_f z*VEfKw8HzMH)0Nadb(yoK!o0665q@vr-&N68vA58bd0jyVEzeu?EM%)z#t_Onb1 z4BC0lJthqJo{QYy2ja~iijf$932H4Cpg>DytQIH`z$e(O4Ax?Qv03YDyURa)i9KMc zf^I!@XDSs<6)VGA@AIM>jCbp@ch{6<5KH9W?=1+`KeiMokUWFzn^fU}|7O#fxsC*6kl&Ms z%;&os9O^fwv)SnFttVTqbar~xl9dZ12M3D*7pxh`d>Ipi2aQUDW^vHiGAc3%IDZMp zETb9jg2@sR((zBJF{kt6dW5+Ehe1$8$c-7D1z}Bs3P%~O9w9cbPz06E?@0minm-X1 z6hR4KctvWubDw~L_(R_4V+In9ED$4lQ37YSx9;jjo1W~x++(O;=Fi;6mZm(yFpc)-XXq+64P#^&nI z4!;$_TD{-F*eO)?RQ2*N5j+Rcvxz5(p}INsdJ$n3g?>=T4Wy7KjDsQ=oS` zYHHn1ld}kZV5rhk(`3|Sa&q$IxQ5ReKV-ood0hc+>5X zTU2XM9u~T(6m?vS?;*^z|5HdRVjkX%uQ#PA=2UWl*D6O>>IaT^StxHHofK6@^4?rx z7&rziTg2uZs2DS91Y{Z=g_=Lfde>lr_4qD<{QRxN8%07l$wQkhLN0{k)kiN<o84%T&~T2_!!qz28k@FC;&=EMh1-<)kY5h^br|EL!E&86$|r~ zQ}_^U=iVP9RK46x$Q|@M;a*=$$!(i8geNX0MnzqfJ9j1lNdy?rmcP^HtZ}e6c=n3nMml7zM!54)shz( zo4G_y2eJ-MLdOw^B(xg99olCv2mZfY01K=l(S&g+RTrYi0miQ#2T}ztfN?AEkf?R= zBAcIU{_L((K+w?4JJV*A542-iB4yDOo8fN)f=RX`(3v7Wb3bc9go&xnQ0QJQy>%#m zQ;t*~BNqT29pa4DQ9$e=H2g?hbiEje9dRm(M7x6IH>}ga>-Heh*6C5J#5H=MTL>(?Xt)|PI+KG@b)E-Nc6U`@lq!{y!b43vOC&51pH34)+9ATsEVL!YAGKR(v9 zOO+z2fJzo7kDP{~UVZq8aA1$=>osc*4va79q^4e9L)Mtq8;y>zjpt^&!EtK-8MbZM zFt(LaQBzxLOdZ;pxM0oG2%m&UMMtmHYDO#h?;l2LxFKZ%$&AROTyd3QG9(F_wF3@b zJ0K8d+6GU^0fr|0)6{uB&qNjZ&MV{RMHVRJ35Hihy7pL#!`^fWTfWtJfxvn^F5>U# zh;#k7E?KctcEdE{yw&EO_YyEm6;`d%0l~P}(-L?H&Mx(j%{*%MjI5%O)cYi>uXV-? z?2jeS1Y-$TF>g2DRLyZZ0E?JHrfp#MT00-!mDbKZGjPml2Cz9%(pc*ZUG}rY;PlI& zEj^~oy&@+o7+E`{C<=%4X*}VH&BVJn)Qc0u5H*vKuSSt??x{t6I--YR9X zOjP-uDshNXxf6u~|LViSegE(i;-3jkN$BmH7pCwigKq>$lsLRsaaUHulNaGZN}CoP zl@c2(Yt^zYPr|^bC?x;%7{bGl%!#(PwJiHDNz3-^v;w<>gq-jT0CWS?iqD?V&6+Y1 zdPy=>&hNy}{q^Upa%pL3?#u~hDl>vpvPQzh@@Kiri;O%xLY^>mnf@4$|i)m&Rult>Fe6&DoKu+g6)eW+%%ocaOKXR(`Z@2u~H;cw|nB*hr}#6pR33-*iVrb z-@(0SbGJFo4~jw}5`Y1aAIEHi_zj%VOQx5*I)iBmKO_1v3ikb3k` zJK(0m{ke-V3m|XZ-j8r(_|KV0%^r2gg(3C=E?Ubs2`lfycxW z2*O15HS};kIH%HuhNrj%YixlCp$TCj4A(NwbkMdEM1gMk?m=1ih0^{+WD&BxAvJeJ zfO0pPb3HAIaG~7D6~KVGdoNU;?XZZmU{2Wf>}koQB_(t)c*`yzj*f?vgt?d#ctTCY z{i~v0JYmfip`2PvStV2h0@n!4042o3r+qW|KZc5OIFp?-0&q;X5Co02TCvPhJEaiD zq#;CB#*}Nd$9#&#K&!(l^{J4tY{EteSUe)R`SG5GV`M+h`lfP*1G1;aGf% z*UzGsZjJK+8(dU0z*AXC7!(H!4Y}=G)*v>787%gNdN<^c-CuPon6o{EL}w_HPMO(V zW1wXP1?C6g&%b(j-(+bz_IHZn!DKK;O~BEbCwlA%XIDk25icQa|LbuKC&({A_DY{H zOF69*ok(SssiIj_+rkNHc^W$2X5-jPMt{}79VWHxs(k1H@lOFscH`z}1S9sYBY*Qn zC%+!^>+cJni+0n~l{kS{QEVn_hTKr@6MF>8&u)!uYn%VmT=MsDv_wFe;fMS6cF~#l zbzwf=igcg~a8rsVl}Bdm>B1>1e8$mGqzzTbnlWn<2>rzxHKc@j9o()=ntRDawuwT5 z>X=a}@iiN~WT~>i8?xn+zz5|RkMas=OxA(8 z@iPaK_VWVzPa+izBs9#kWUSFey>wfhN;=5J;7KmI(XHY@;pp3(m0I0Vy_UAN@J|n( zy#M17dII>#fcO#+D@KY0dB8-6uI*O!{agaN4Yus!7xx?>*5Fkn*t%jL=_d-lJ~%XN zr@rIT7^Rh+L8ZZ|pp33MTmJljLLxAf%hBrBs#RvCvmnC5KfSz6n%qxJNSP)s7*vS) z&E)ZlE2b=-8SDhOI-xjX2nz>Og_TaGC6OIHdBlj3eyEhwn1^y-J}2i+DWZ)zOF}zy zRR3iPV^aE~^dF)3)jjC){2aqe82h`u9n?{4F89RT<{pio=TL4h4DX9pwd@qgr`xp9 z2uDY_vr2>sbO*|n&oi^Z+Q~)^Sgf-ji|?&c8V?!HO`efVJQ)Y1%;4J$%&92)l=O`1 zm|`NhehNw)>3Ty6BxWOG$^*1`k*#w~k`Sq7ND&OhPgsIhQuB#i7Qh<AZX8+6y%LZ6Yuq`#X1R*K)KtXBtrtwLmNsE*q&CErXo%8tl z&5`4hge?XPw2C^y99F5^$BJ=_)*23XD&w6xDCj~uRY+2U4)-3ss6RqxWk+7jn${5T zETSEJoNux>wWCNj)}NbJczJ<0!jp3;Nrg0Nj{%izN8LDl*q9=rffoq!;*y&cBf?KG5iIlB=lrMqbnL<5 zVG$7*<`9LaYyf7nGy}3<0)BC|j`*NVz_0@(s~)h`3dDI(Al&EIrvTBBk^PN@FV=vt z3;%o55%L9=@66$hlzN)sBG}y+rMHq)w586`cnTufFpZ*(o)k1_-+Wp^OJwZOLCGqr zN=33@3u+nK;d_$5e(+uokge9*(`WE4yaaAQbj7sNdCAJ=LJ$=R7FSoVFkHW%dx6ex zi&{RqLa=ZfTwh%BFS~v&Z8uXAF*c&6_m>E2CAw_HQHNoRCc*VLlS)&U$vDF^z>@bj zJxy{L{M)wFBbD`LVJHA)W(GMTD1I0Fh`k@%i4Hu#V?d52qADT}YllcEkPC6&LhvkJ zREQ^A{PVHs-D&e#iYl_4rft{N+oDznZe~1MJ^i+22)dP{y zweI$vjSTXb&F}t`OEcDbvJugu4R>5lxWA$B`q$37#`y2`d%QkvQ19M(w*Bh5Qnfk| zE(!Q^@9m>M*Ob84eWd+nPpF0e`8eBL-J- zKXof8H$GR>Hp}5==|9a@MLN{D!>^9mSEm z%~^J2Pfwv8<%9}6gL#o!8B06-EaZL(nMyqHzL(d46+^{lo!6%)% z0U8AUva(&WAX0n^Zzq_un_=HWNcuEYd>3e;eNdZWGn65o+AouR+u9k%^s$H#D;XH@ zuj~@)3*qfSlPwH{<;meOoYDx%h9kjfs|j!=nHG5FLdU~G-7YE8g61piHoysD3Id$W z@DbWlL=(YK_?%&!!Xl3i1Rs+!DEJKmWXv!^wW7iT35I~n19%}g^&meRz_k2z+=8=U zrfhNEw(0PdrWJG|-geZa-{EXsOaMo~yABCw&HuXAWoN1M(0$6j)%(@?&#TILw5cnm zz;e>oeY;T%5ldP4*l?0u8?JSxwpWo!>C&xl_4!%PK*M>`{L|=Zvd#Z3PdmZR{=&}w zhJv-FX5+f^;Y%jzvyfHxrq5LypJ5|FXvgD;Zl(3y6B?WKiMUkP-eL*$v~8xKz>C{k zCSY!bxKY5oLbw^o)b8eh=2@ix$xgEx9&He^b|=P&?7X)3fK>aFRyaM>VjC?^y3gh# z{pOjnvAm~;GGoljdLo#S(_}8;+8cSgZzfgwih9jEBQU1v2$QAbhIA9o^$S^R*4ww!t z3RQ_=TaWZ9X&TEWPeI%RXPH-l%|3I^xZ@?AN2QK{q85Nh>L{P=w=Rw#i= zg#!HrQJAra1lX@~7jQzbbQS=jb5%OXfXgE3Ovh6V+NCH96ANWQurG&~tVBsgYN{9F zvSyT-JRM!}tTlOf%$#h6tN8uE4c6vryb$XXM`mABe?;+@X%<@@dkg$>D1Y?XIGBc+ z+&Efa%pg6gR}V7my7KwBfdqwebug2mO}xNkJJiJI*`ve4c+$Je!%kO_3&iF!Ff>x8J# zz`V|3#$wi%z~09>NO5P1i%81+-8&XI$CXtM3BzR~w>**0ep)NR#D(e)ke+1#J#J$P zx@(Jzm{j;#y%nqPfxj5kuM^k8^>Nic*P9r$f@V+Ds3w(V%nLkdy$Sty&weZPUFCVV zEn{a@wQzGtgTqg@u~?H`JJ0feSDUZvKBaHDO=9GxG3xBXG`e1I*)kDsK550bNG>9O zQjPvE7qICQTG%Tmj|byH>`iKm{b@w6sYdej$p3MX&$9x4{=4fbINKGcN33qAc>ySZ zvtG8?Zwvp$4-kJ}l)bOynGPxT%<{iBxlg^bZuI%BVEEehx0$7Az0br-!@d6s z)`L8+W;rZq_{!+@l(qJ)(X+3vTLEsYTSUX*d!vCv{}lqMNW9eZa}D?{I9b)rb%CjL zEieY$_m2SOs<};-%}~$In?dqUb#J8XA$N|5osHF&hGWTw$=0e-#ey{iyerqj<|3@s zQ-tFwNj6P$zt5_L(&>eZ#BoRMP&h*Dl{NQw7J&xjVpIFb&o=SH_9FZ1$x7)VRhULz z(pTK@a58XafrIHt_N0ueS$D=M7*j_t%9DT(S)yD+m0^iYsSar(8FvRPX)CtMyQ@Yz zP3{e^P??I*>&l#LkR?&-OJ0S6dG}1Y;~7|VftY--Nw(Hli@@&8dq^gT7E$e-qYZ{mV!pu*cm^c;%>qNT5d|1n45SgWx?tC#A_Gvf$e1n}H^m1Lk*aC~ehg!J z;-jPTJqnnVDFokd`H8+H)9}biIj4_ual;(E?C?V|(ip&^ozMal3L|%o-I6(umLm3jZ;uk+?Pe z-O*i#5VtLmJebYq<4VNM6ybUB$V6zz@iQwfTs)$IKa(IKsT4`% zne30Ji%yU_q#DrF7fv)1Yf|H5N?g_%O9K|m@Sxb(u6Kqa3Q`0@w%el=iad0NkD&|B z9-m)t(QL75%U3gj=_GjnL8X5KE~VsJ>l-oo@}d*PJSB z$@}7QCfPU>oR&GtuAtb2Vl#(dQ8f0QLIXEY}#M z$jb={Djo)wmoGBDOO8-vqiMu}y3NJtOn%9>8VoTDf?)g0b~yGMibh|z;f6Wi>itO5 zbDMs_mhzaR56t7jUy=hkuWKre?-KvYU?NLENWL#Kiv9cJGtddTBY_sI}*DHMsS~W@}SJztGyQ2jmOe{qu3a+)Ig{ff)$P3zPCHZiz}|h4L>-+lUMAJRB483ohu^TuN=E5S zraMpM69h@l$#B@$sW4DM5F zU6pGltwg|xLb>^DG=s_ox}P=3{E0&21`Af!%D)ThzBf?QYdj`UU0>;90$uk80H)Og zza*D2OQ7R{GIUP8Nm7)47(>E@jz3YjSZ!i>OdL)qI1lffMGKQ@L!A~1B`9>@-ZWg{}CRMR?Tri_MKo! z%qTm4&HV@E3BksYkxA@pce8{vNkXogMQY#)lnh0v(T1cdlL)B1+3i7>&Fv+-NWhHZ zvLh;tH3Q%O95HwXRi0?rYfyL{pQd$HIL5Po9iocWlEB;6{s*2_g^MK+LsiKz>dz1i zY5u8rLSxj_b94f)6$!vV&OoU8jy#AvqPiB49ea{|@P&bf@`Qh)RtShkf|7Xn=(XU@ z-#`}}Z~+NCV~FcN6-8ypipCT`V^7%(vC2ZG5ppc9=0F=tqqBa#<_-D%>*PFaR$GCB zzVE6hd#6p6u9P=zzS8u9>rWesQUX3t8ykM>s?H@~n;7J673tCxZGPD6P#h-^_3ER|X52s(tBYw(c;eG}fG%{g1L zb=D(TlVGsoBNMn)eN&IUwy*6)D|aiqCfYlM8FZw7mD|akdW2{8f^t@A2JAXy`UNg+%N(jy& zJ)V)SUik~i_3*oIcgp{f5b5(^1J?l#p&h=G3JPpb9L-Zh6ponD3A-^kcpe)G0mN|F zoKWeEH09Bt(bCQyUD)-c^CQxc3lN;lMHn~0fi%n!t&`$szC-1M$Q!`HqT!Up`%B?2 zFopxN+x*^v8W52(UVp`Fg=vGQP8i+s{0`gtxVIclOqNT3dY-RAkDlxUEoVK;5u`U3 z`@C)J*-Q1iOebML*ScOB!t-s+Tj`+C1#h-v_RCI}v5iL55|6@^svI`7=h64Gp{rkz|9Y(-0SG)Yh+$PuDd zI(@74Tt%XfoG_OS$kkXGLl%{TgGc}HUc#U&XOs;io-a6XnI7Fj_U zU|<|aUZ{&SILkFO0T1b9$s)xhQ2S1~ZV^~!)BwM@AIb25X#X)eh1lqHYHN&0kO~=f zhhdPC4(ZqPHlpC{fV9>aCK$Bt+ao7F|8~Hrg8~6HYG#yzqhkizc821qtx$%BYE)}R zgjEsIkA7f;5s@8yus}IY(;A-QJY_A<0}Xrp#>X&imI8?W5V`d~eOJj$JxWIn#G4J@ z?hhAZ->s@?Ox~Ys!Aa`HRYT*P-J`6|-UoY%81kMg+w;ajPeijteK|QQpcrjWq|+ zR3*`|P0+0!TijH7i_gQP#?B;?wk<|EMP7VLf9_qSX-$vWtcgw(hu7HPKcd2xst3L_ zJn}t$#}T+=Edb%_+?DUct6bG^kM0qacsPZd@n!ks51BTS!1NY>^li^%Jq2Pza=wo$;{K`5h9X(&m+ zo-|UpX~Z(*0x}C%ylI4ThKmHP#4r;WX^}A$+?hy1e!57F4$EW$Uq4!233!Fk4sFxF zfl4ERH!U?+drfw`?37nXQ0?EHC7yRivYKx{>+)O_m#CC8K|upkO>m(A$hv_E7=tjE zL6XziqdMqVZnPY4ywg(^)10@2Yn>6wCI0Y89PYIK$$8I2}VsZ_a)hHIk4i6l0hfZ$YH{1pI)DucBa zup-?_g)1qyYC{p9zNQk>wZeO1D(*v|FvkkBX#3K@Ib;*w&ITb?Q(tUJ%-wjHVDXRJ z3y@lT#H8QfRfATDzz-CfhmE@={!xyVi~~D}l+X_lz+6986!4EnLryl0D4~0$1)W{X z2bLJkS(A5oH&xP|XTeSV!zx*UutVKMTQW+~Lx9=YW2c?j`nc5L{3}$6ni9e$MZT1O zZjqnKhQRM3BuXJgj=Z3YFF5>V6<#@6!}=`Lx@`GTX>GS8rkl@Hih z>uGA-fMhaayDk6VM zt`EWXh;sWE9V93(1G#O3`zSA~ksDH29ynet3boQ3|9`mvsWJw0;n7?COw_m-9a2)5 zY`nlq&jg8*K(EQCUuA!1TrlIqk(%(S{{>{Yf!wWHU;$i4Kl8Dz0y&Ol*JpF+yZWLJ z;2^zVZ+uyC-x&uUh!Bx(;UMlT?u7+Az_*$Z*Pw-Dw^2!yQE{0@f_CH>V6ep6}r!r}hrQ)BS5#SIIZ@Bkzi*%gwMUu3q zk64s~H@;kmxyhl+pE!)~j7*R@2U$%JDo02vtCyBjEw6hMx3JRjs7aq0ed^=yVg4p! z<>mD{R<$@~ZntPzdS|Y61^QRm5oG)+S4qS6oo2e5Co^9nIxijB!zsc7zFtaMB|$Dh zKdn$SgOekD%o$|`;=AiNr7lq)Awg>J`wpK(=p%V@k%Z}mQ!Qm>RCo^ zU2ulz$tdp)GbI)+gzwUZi1aR^^oL=R!5V4a$eh!PvE=8`lL6qM%pQwvSDbK(3-Rw`BUG_n!*kCD%3v+WX; z#^?TSkyqy8=8UyVB{hq){1P<8EA!vthUifvC#XzEQh$spz2@ z?Fx~FdIFq*%AZ0Ba32^3>PssGw-eXrsJLSs0S<4&THsr7vB$%+&L`k+X;Ge>gDaZUrRst?l^$d^v_}Uy0Vm^lpA?5w``t`06s~kWSDcJLH zFi|m;#*q2J6-)hd#bYVA?y3p5M~=y84Z%of6GRh(ERL^R=|P@ne{Gi6G+X07xj3DC8rQp5@-+48%=*zO%LW_3%Vk%MjUlQ zysah{Q|fE1-HulugR=*_$i4#IuIb-oeZEGa^Xs2on6d?fU1+CoGKp)dDUq$zes>H# zdugBajr#VVZ2HeQU;Q%rfv)yn6xXl2dxRyA=JTusPDDT*S(J}nEdZXmRnM{d#Flb@ zU4llkH_LaX&w<%1V0g!lLBQe#DGdbydxOzZu)`C`n=)_eUaEGdZ`s(*u@hm01YV!HXgn!oigSR`d}LlOQ0TcSI2+2Ohac8fE0%<;7tz zBEm-}737u2k}LViKm*-nh9T-rcr66y5hX(nIu-v`pFcxr9hre3eSh;-z$x5 zvJxg@*C`U@=unL1KKw#;3j-SF{X*)Ir9|z^=VcWYL#PO_Y$3g`dj-o?D^dYTuG^R? z=PN!I##j30{HLCt0H~*p_h-}K!fY&RAak#H*%*9><+%+lG;0a3EC^%r#e{a6yEWxC zV#7K3h71h{BOc*vT>Cu=DC=2y3azbbL5h8KgC((R$l@r;q2l}wN{Fudi-R`B-^I6F zob(oSB`pGJFe2r1C78-+EokKyk_Ne@Mk`T?5C7ev@1n=%$0EtWqE#~05iH8-C!eyHQAsOZXc}7Mi{7NB0%D_i` zu@aF&zoO5ig2hotNd}WTcn^#W+2tc3)g80bMR^G%gUMxpigCmoS9|c};&ST)G8O?j zSV#Zl_rBS{9Zx)Y`zor^5N*`7X_1f|GOPZXu3WxaHZU{4Yyi92qTSsZ8f3m5eCXe9 zB78;10(5Qz^#ynXLwxSS9Xt;Vbg?nO;&OlVTjOSMUP-RDvaHnnvvrq7$|kL(iqo)3 zQZ-?${Z{{u9E*vFiTG6BK{V6)GZmpPB4#Ewa+BQ`5wns`(|$$F&65-(9dD}_(46{N z1$S*=#cy+$|4sQA-1akn@N=!t`*mNv^Fip>JJ|dFng3JAf9C&?EB3JC_>WNh&!ZPY zZ{7B0r?)#GVeudykI*UH=J|5f^|Eu#`)MIRkXrYMTJ-+_`#=Q0zxVKiz0_3A_IA7X z#lsJtb@lU3=sbBp@cFrBi#m@!?&t|H3HOaHpfUg%%(_3QV9|b|Dz-2AWsTLy9xe}K z#O3UJ1vz7SoG#iYbuq};yApA{KNAm2xT1frzn9C}V?L~8;Vm>%0a$#>>UdmwNfS*W zwA4aSGZ5X7(a~PBKX!DR+qWMKHHhI~ zy@RKZo{zoXjotfqb~l^U>vwwe8ol`Yr}W?l*N+~3H1f2YTi>7jO}D@Qpxry7*5=6g z(bG>Jk1`MQzP-CSwAMdjLkr`x)ZV&(_x9#!g|q(A-m~y){Bc|W4ehpD!vx(Ij~?#_ z-1&{|J9l=shxV!0eera(Yn;B<3u-sT? z9rdYQyAR%f)@|+Hxf3urkB(Zq_ixXdGI9bpc6T>=dmlf1`0>Nxq3v!3E7BS&44o$r|88+CGmiHjJ^#Ab z{o?V*&&KM*W{ZYZnkW&Y0w$$D8@A!NlEeDPw=9n6-rdbfJZ}g9W1sIE(C>8H`zEi?S%Gti|4x#)&?e$vB*$s6C48)Sq9_ zfAimW&-(x7PyR9cKmXsS-QybLtB043Rets_FRuPOwn+}@?>+pecjxWhySML-gB!ly zd-izmxcS<4tM}s3*k|tSz1V$leY4r6?Pl+&GkU4seZJS(`fifdZs%wmBXQKF-J#v) zBJWVz==Mg3)ZQN2-0O^^7&@J!-L1{xi~CT-LI3EeJIS)w?LTO>=6-g+^U-X^LATqZ z&G8%mar$u)!;Sr6fz)hnxB8vQG>~CQz3uJRP$v-23TeHzz0*C~?{xPcKc=z9F{3v- zmhSQRSV%Ul0p{qRJ%sGpKE4tc|QDKy|zNuV9c50aWUu*YfB(Z z)JIah$aGH>U;J07H3So~L^Hw)CTR^kGK`!29aIb!?mrKFD1yfY7FsALAvJ`B29e`G zC)oy^#{cA^Xh7mU|A6UVZCeK>jv@vr_bntV)Z`1Jqh{q1dj@{qkkIxwp14=zVD zCOXe(Qa_9l5- z**@1fV6%j%UWj0%Z0w#ZqUG?}GJ%0A+lm71Q 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 diff --git a/app/assets/icons/icon_app_256.png b/resources/icon_app_256.png similarity index 100% rename from app/assets/icons/icon_app_256.png rename to resources/icon_app_256.png diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 00000000..73cb934d --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "stable" +components = ["rustfmt", "clippy"] diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 00000000..20dffbc1 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,2 @@ +style_edition = "2024" +max_width = 100

Q_|r2Y!m1Pq6>s+S-e2OfcvN* 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

ceI5d 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 QStuY#yqS0g?^9U`L07oDfgsMgO(|Y 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�OWfIK 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 z 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