From 850abdbc351e434fea3a46cb4a28159a46023231 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 11:07:15 -0400 Subject: [PATCH 01/22] Fix deprecation errors in my code. --- .../audio_video/media_kit_av_control.dart | 4 +- .../media_upload_editor_control.dart | 4 +- .../media_uploads_control.dart | 2 +- lib/controls/notifications_control.dart | 2 +- lib/screens/editor.dart | 2 +- lib/screens/gallery_browsers_screen.dart | 2 +- lib/screens/interactions_viewer_screen.dart | 2 +- lib/screens/message_thread_screen.dart | 2 +- .../message_threads_browser_screen.dart | 2 +- lib/screens/messages_new_thread.dart | 2 +- lib/screens/search_screen.dart | 2 +- lib/screens/sign_in.dart | 8 +- lib/utils/html_to_edit_text_helper.dart | 8 +- pubspec.lock | 80 +++++++++++++------ pubspec.yaml | 2 + 15 files changed, 81 insertions(+), 43 deletions(-) diff --git a/lib/controls/audio_video/media_kit_av_control.dart b/lib/controls/audio_video/media_kit_av_control.dart index fd04e9b..c3c0a2b 100644 --- a/lib/controls/audio_video/media_kit_av_control.dart +++ b/lib/controls/audio_video/media_kit_av_control.dart @@ -63,10 +63,10 @@ class _MediaKitAvControlState extends State { width: widget.width, height: widget.height, color: Colors.black12, - child: Column( + child: const Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, - children: const [ + children: [ CircularProgressIndicator(), ], ), diff --git a/lib/controls/entry_media_attachments/media_upload_editor_control.dart b/lib/controls/entry_media_attachments/media_upload_editor_control.dart index acd5dbc..4e438f9 100644 --- a/lib/controls/entry_media_attachments/media_upload_editor_control.dart +++ b/lib/controls/entry_media_attachments/media_upload_editor_control.dart @@ -46,7 +46,7 @@ class _MediaUploadEditorControlState extends State { alignLabelWithHint: true, border: OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ), @@ -72,7 +72,7 @@ class _MediaUploadEditorControlState extends State { alignLabelWithHint: true, border: OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ), diff --git a/lib/controls/entry_media_attachments/media_uploads_control.dart b/lib/controls/entry_media_attachments/media_uploads_control.dart index e51c81f..acbc35f 100644 --- a/lib/controls/entry_media_attachments/media_uploads_control.dart +++ b/lib/controls/entry_media_attachments/media_uploads_control.dart @@ -112,7 +112,7 @@ class _MediaUploadsControlState extends State { alignLabelWithHint: true, border: OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ), diff --git a/lib/controls/notifications_control.dart b/lib/controls/notifications_control.dart index 328927d..85869be 100644 --- a/lib/controls/notifications_control.dart +++ b/lib/controls/notifications_control.dart @@ -169,7 +169,7 @@ class NotificationControl extends StatelessWidget { void _tapProcessingStarted() { _processingTap = true; - Future.delayed(Duration(seconds: 10), () => _processingTap = false); + Future.delayed(const Duration(seconds: 10), () => _processingTap = false); } void _tapProcessingStop() { diff --git a/lib/screens/editor.dart b/lib/screens/editor.dart index 99ce270..33846f0 100644 --- a/lib/screens/editor.dart +++ b/lib/screens/editor.dart @@ -602,7 +602,7 @@ class _EditorScreenState extends State { value: CircleData.followersPseudoCircle, child: Text(CircleData.followersPseudoCircle.name))); circleMenuItems.add(DropdownMenuItem( - value: CircleData('', ''), child: const Divider(), enabled: false)); + value: CircleData('', ''), enabled: false, child: const Divider())); circleMenuItems.addAll(circles.map((g) => DropdownMenuItem( value: g, child: Text(g.name), diff --git a/lib/screens/gallery_browsers_screen.dart b/lib/screens/gallery_browsers_screen.dart index b44e21a..7addd8e 100644 --- a/lib/screens/gallery_browsers_screen.dart +++ b/lib/screens/gallery_browsers_screen.dart @@ -95,7 +95,7 @@ class GalleryBrowsersScreen extends StatelessWidget { StatusAndRefreshButton( valueListenable: nss.imageGalleryLoadingStatus, refreshFunction: () async => await service.updateGalleries(), - busyColor: Theme.of(context).colorScheme.background, + busyColor: Theme.of(context).colorScheme.surface, ), ]), body: RefreshIndicator( diff --git a/lib/screens/interactions_viewer_screen.dart b/lib/screens/interactions_viewer_screen.dart index e3474c6..b6dae99 100644 --- a/lib/screens/interactions_viewer_screen.dart +++ b/lib/screens/interactions_viewer_screen.dart @@ -59,7 +59,7 @@ class InteractionsViewerScreen extends StatelessWidget { StatusAndRefreshButton( valueListenable: nss.interactionsLoadingStatus, refreshFunction: () async => await refreshInteractors(manager), - busyColor: Theme.of(context).colorScheme.background, + busyColor: Theme.of(context).colorScheme.surface, ) ]), body: Center( diff --git a/lib/screens/message_thread_screen.dart b/lib/screens/message_thread_screen.dart index 5e72063..e202237 100644 --- a/lib/screens/message_thread_screen.dart +++ b/lib/screens/message_thread_screen.dart @@ -111,7 +111,7 @@ class _MessageThreadScreenState extends State { labelText: 'Reply Text', border: OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ), diff --git a/lib/screens/message_threads_browser_screen.dart b/lib/screens/message_threads_browser_screen.dart index 9d6e226..61ede99 100644 --- a/lib/screens/message_threads_browser_screen.dart +++ b/lib/screens/message_threads_browser_screen.dart @@ -28,7 +28,7 @@ class MessagesScreen extends StatelessWidget { StatusAndRefreshButton( valueListenable: nss.directMessageUpdateStatus, refreshFunction: () async => await service.updateThreads(), - busyColor: Theme.of(context).colorScheme.background, + busyColor: Theme.of(context).colorScheme.surface, ), IconButton( onPressed: () { diff --git a/lib/screens/messages_new_thread.dart b/lib/screens/messages_new_thread.dart index 1df3cb2..095428a 100644 --- a/lib/screens/messages_new_thread.dart +++ b/lib/screens/messages_new_thread.dart @@ -29,7 +29,7 @@ class MessagesNewThread extends StatelessWidget { Widget buildBody(BuildContext context) { final border = OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ); diff --git a/lib/screens/search_screen.dart b/lib/screens/search_screen.dart index b411ce5..c2b4721 100644 --- a/lib/screens/search_screen.dart +++ b/lib/screens/search_screen.dart @@ -159,7 +159,7 @@ class _SearchScreenState extends State { alignLabelWithHint: true, border: OutlineInputBorder( borderSide: BorderSide( - color: Theme.of(context).colorScheme.background, + color: Theme.of(context).colorScheme.surface, ), borderRadius: BorderRadius.circular(5.0), ), diff --git a/lib/screens/sign_in.dart b/lib/screens/sign_in.dart index 5744ec0..7870384 100644 --- a/lib/screens/sign_in.dart +++ b/lib/screens/sign_in.dart @@ -177,7 +177,7 @@ class _SignInScreenState extends State { color: Theme .of(context) .colorScheme - .background, + .surface, ), borderRadius: BorderRadius.circular(5.0), ), @@ -224,7 +224,7 @@ class _SignInScreenState extends State { color: Theme .of(context) .colorScheme - .background, + .surface, ), borderRadius: BorderRadius.circular(5.0), ), @@ -261,7 +261,7 @@ class _SignInScreenState extends State { color: Theme .of(context) .colorScheme - .background, + .surface, ), borderRadius: BorderRadius.circular(5.0), ), @@ -275,7 +275,7 @@ class _SignInScreenState extends State { onPressed: () async => await _signIn(context), child: const Text('Signin'), ) - : SizedBox(), + : const SizedBox(), const VerticalPadding(), Text( 'Logged out:', diff --git a/lib/utils/html_to_edit_text_helper.dart b/lib/utils/html_to_edit_text_helper.dart index 20a5c76..f452b2b 100644 --- a/lib/utils/html_to_edit_text_helper.dart +++ b/lib/utils/html_to_edit_text_helper.dart @@ -43,14 +43,18 @@ void _updateSwapTagLinks(Node node, List tags) { print(node.attributes['href']); } } - node.nodes.forEach((n) => _updateSwapTagLinks(n, tags)); + for (var n in node.nodes) { + _updateSwapTagLinks(n, tags); + } } } String htmlWithTagLinkSwap(String htmlContentFragment, List tags) { try { final dom = parseFragment(htmlContentFragment); - dom.nodes.forEach((n) => _updateSwapTagLinks(n, tags)); + for (var n in dom.nodes) { + _updateSwapTagLinks(n, tags); + } final result = dom.outerHtml; return result; diff --git a/pubspec.lock b/pubspec.lock index c93acf4..04260a7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -181,10 +181,10 @@ packages: dependency: transitive description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.18.0" color_blindness: dependency: "direct main" description: @@ -598,7 +598,7 @@ packages: source: hosted version: "0.15.4" http: - dependency: transitive + dependency: "direct main" description: name: http sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" @@ -614,7 +614,7 @@ packages: source: hosted version: "3.2.1" http_parser: - dependency: transitive + dependency: "direct main" description: name: http_parser sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" @@ -705,10 +705,10 @@ packages: dependency: transitive description: name: intl - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.0" + version: "0.19.0" io: dependency: transitive description: @@ -733,6 +733,30 @@ packages: url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lints: dependency: transitive description: @@ -761,18 +785,18 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.8.0" media_kit: dependency: "direct main" description: @@ -849,10 +873,10 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.12.0" mime: dependency: transitive description: @@ -945,10 +969,10 @@ packages: dependency: "direct main" description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -1239,10 +1263,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" sprintf: dependency: transitive description: @@ -1279,18 +1303,18 @@ packages: dependency: "direct main" description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1335,10 +1359,10 @@ packages: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.7.0" time_machine: dependency: "direct main" description: @@ -1523,6 +1547,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.17" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" volume_controller: dependency: transitive description: @@ -1612,5 +1644,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0 <4.0.0" - flutter: ">=3.10.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/pubspec.yaml b/pubspec.yaml index f86a0fd..6786bdf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,6 +57,8 @@ dependencies: image_gallery_saver: ^2.0.3 + http: any + http_parser: any dev_dependencies: flutter_test: sdk: flutter From 359a0d286cdd608e49cfb1ea4ac148877c6b3cbe Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 11:15:18 -0400 Subject: [PATCH 02/22] Remove device_preview since doesn't support Flutter 3.22+ right now --- lib/main.dart | 17 +++++++++-------- pubspec.lock | 37 ------------------------------------- pubspec.yaml | 2 +- 3 files changed, 10 insertions(+), 46 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 7e1a85d..025a936 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,3 @@ -import 'package:device_preview/device_preview.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:logging/logging.dart'; import 'package:media_kit/media_kit.dart'; @@ -46,10 +44,12 @@ void main() async { await fixLetsEncryptCertOnOldAndroid(); await dependencyInjectionInitialization(); - runApp(DevicePreview( - enabled: !kReleaseMode && enablePreview, - builder: (context) => const App(), - )); + // TODO Add back Device Preview once supported in Flutter 3.22+ + // runApp(DevicePreview( + // enabled: !kReleaseMode && enablePreview, + // builder: (context) => const App(), + // )); + runApp(const App()); } class App extends StatelessWidget { @@ -134,8 +134,9 @@ class App extends StatelessWidget { ), ], child: MaterialApp.router( - locale: DevicePreview.locale(context), - builder: DevicePreview.appBuilder, + // TODO Add back Device Preview once supported in Flutter 3.22+ + // locale: DevicePreview.locale(context), + // builder: DevicePreview.appBuilder, theme: buildTheme( brightness: Brightness.light, blindnessType: settingsService.colorBlindnessType, diff --git a/pubspec.lock b/pubspec.lock index 04260a7..c67b088 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -265,14 +265,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.0" - device_frame: - dependency: transitive - description: - name: device_frame - sha256: afe76182aec178d171953d9b4a50a43c57c7cf3c77d8b09a48bf30c8fa04dd9d - url: "https://pub.dev" - source: hosted - version: "1.1.0" device_info_plus: dependency: "direct main" description: @@ -289,14 +281,6 @@ packages: url: "https://pub.dev" source: hosted version: "7.0.0" - device_preview: - dependency: "direct main" - description: - name: device_preview - sha256: "2f097bf31b929e15e6756dbe0ec1bcb63952ab9ed51c25dc5a2c722d2b21fdaf" - url: "https://pub.dev" - source: hosted - version: "1.1.0" fake_async: dependency: transitive description: @@ -414,11 +398,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.0" - flutter_localizations: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -525,14 +504,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.14.6" - freezed_annotation: - dependency: transitive - description: - name: freezed_annotation - sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d - url: "https://pub.dev" - source: hosted - version: "2.4.1" frontend_server_client: dependency: transitive description: @@ -701,14 +672,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.1+1" - intl: - dependency: transitive - description: - name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf - url: "https://pub.dev" - source: hosted - version: "0.19.0" io: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6786bdf..b7e904e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ dependencies: carousel_slider: ^4.2.1 desktop_window: ^0.4.0 device_info_plus: ^9.1.0 - device_preview: ^1.1.0 + # device_preview: ^1.1.0 file_picker: ^6.0.0 flutter_dotenv: ^5.0.2 flutter_file_dialog: ^3.0.0 From bcc7c5320c304a5d06a2d68da07f486fd8d3952e Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 11:16:50 -0400 Subject: [PATCH 03/22] Minor versions bump --- macos/Flutter/GeneratedPluginRegistrant.swift | 2 + pubspec.lock | 428 +++++++++--------- 2 files changed, 220 insertions(+), 210 deletions(-) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 31e0654..f0bc79e 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -19,6 +19,7 @@ import screen_brightness_macos import shared_preferences_foundation import sqflite import url_launcher_macos +import video_player_avfoundation import wakelock_plus import window_to_front @@ -37,6 +38,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) + FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin")) WakelockPlusMacosPlugin.register(with: registry.registrar(forPlugin: "WakelockPlusMacosPlugin")) WindowToFrontPlugin.register(with: registry.registrar(forPlugin: "WindowToFrontPlugin")) } diff --git a/pubspec.lock b/pubspec.lock index c67b088..95d329f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,34 +5,34 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "67.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.4.1" archive: dependency: transitive description: name: archive - sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03" + sha256: ecf4273855368121b1caed0d10d4513c7241dfc813f7d3c8933b36622ae9b265 url: "https://pub.dev" source: hosted - version: "3.4.6" + version: "3.5.1" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -69,34 +69,34 @@ packages: dependency: transitive description: name: build_daemon - sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.0.2" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8" + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b" + sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa" url: "https://pub.dev" source: hosted - version: "2.4.6" + version: "2.4.10" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.0" built_collection: dependency: transitive description: @@ -109,34 +109,34 @@ packages: dependency: transitive description: name: built_value - sha256: "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e" + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.7.0" + version: "8.9.2" cached_network_image: dependency: "direct main" description: name: cached_network_image - sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "56aa42a7a01e3c9db8456d9f3f999931f1e05535b5a424271e9a38cabf066613" + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "759b9a9f8f6ccbb66c185df805fac107f05730b1dab9c64626d1008cca532257" + sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" carousel_slider: dependency: "direct main" description: @@ -173,10 +173,10 @@ packages: dependency: transitive description: name: code_builder - sha256: "1be9be30396d7e4c0db42c35ea6ccd7cc6a1e19916b5dc64d6ac216b5544d677" + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.10.0" collection: dependency: transitive description: @@ -205,10 +205,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+6" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -221,10 +221,10 @@ packages: dependency: transitive description: name: cryptography - sha256: df156c5109286340817d21fa7b62f9140f17915077127dd70f8bd7a2a0997a35 + sha256: d146b76d33d94548cf035233fbc2f4338c1242fa119013bead807d033fc4ae05 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.7.0" csslib: dependency: transitive description: @@ -237,26 +237,26 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" dart_style: dependency: transitive description: name: dart_style - sha256: abd7625e16f51f554ea244d090292945ec4d4be7bfbaf2ec8cccea568919d334 + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.6" dbus: dependency: transitive description: name: dbus - sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263" + sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" url: "https://pub.dev" source: hosted - version: "0.7.8" + version: "0.7.10" desktop_window: dependency: "direct main" description: @@ -269,10 +269,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "7035152271ff67b072a211152846e9f1259cf1be41e34cd3e0b5463d2d6b8419" + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.2" device_info_plus_platform_interface: dependency: transitive description: @@ -293,10 +293,10 @@ packages: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: @@ -309,10 +309,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "903dd4ba13eae7cef64acc480e91bf54c3ddd23b5b90b639c170f3911e489620" + sha256: "1bbf65dd997458a08b531042ec3794112a6c39c07c37ff22113d2e7e4f81d4e4" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "6.2.1" file_selector_linux: dependency: transitive description: @@ -325,18 +325,18 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.4" file_selector_platform_interface: dependency: transitive description: name: file_selector_platform_interface - sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.2" file_selector_windows: dependency: transitive description: @@ -357,10 +357,10 @@ packages: dependency: transitive description: name: flat_buffers - sha256: "23e2ced0d8e8ecdffbd9f267f49a668c74438393b9acaeac1c724123e3764263" + sha256: "380bdcba5664a718bfd4ea20a45d39e13684f5318fcd8883066a55e21f37f4c3" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "23.5.26" flutter: dependency: "direct main" description: flutter @@ -370,10 +370,10 @@ packages: dependency: transitive description: name: flutter_cache_manager - sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + sha256: "395d6b7831f21f3b989ebedbb785545932adb9afe2622c1ffacf7f4b53a7e544" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.3.2" flutter_dotenv: dependency: "direct main" description: @@ -394,18 +394,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5 + sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.2" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.19" flutter_portal: dependency: transitive description: @@ -418,58 +418,58 @@ packages: dependency: "direct main" description: name: flutter_secure_storage - sha256: ffdbb60130e4665d2af814a0267c481bcf522c41ae2e43caf69fa0146876d685 + sha256: "8496a89eea74e23f92581885f876455d9d460e71201405dffe5f55dfe1155864" url: "https://pub.dev" source: hosted - version: "9.0.0" + version: "9.2.1" flutter_secure_storage_linux: dependency: transitive description: name: flutter_secure_storage_linux - sha256: "3d5032e314774ee0e1a7d0a9f5e2793486f0dff2dd9ef5a23f4e3fb2a0ae6a9e" + sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" flutter_secure_storage_macos: dependency: transitive description: name: flutter_secure_storage_macos - sha256: bd33935b4b628abd0b86c8ca20655c5b36275c3a3f5194769a7b3f37c905369c + sha256: b768a7dab26d6186b68e2831b3104f8968154f0f4fdbf66e7c2dd7bdf299daaf url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.1.1" flutter_secure_storage_platform_interface: dependency: transitive description: name: flutter_secure_storage_platform_interface - sha256: "0d4d3a5dd4db28c96ae414d7ba3b8422fd735a8255642774803b2532c9a61d7e" + sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.2" flutter_secure_storage_web: dependency: transitive description: name: flutter_secure_storage_web - sha256: "30f84f102df9dcdaa2241866a958c2ec976902ebdaa8883fbfe525f1f2f3cf20" + sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.1" flutter_secure_storage_windows: dependency: transitive description: name: flutter_secure_storage_windows - sha256: "5809c66f9dd3b4b93b0a6e2e8561539405322ee767ac2f64d084e2ab5429d108" + sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.2" flutter_svg: dependency: "direct main" description: name: flutter_svg - sha256: bfc7cc3c75fe1282e8ce2e056d8fd1533f1a6848b65c379b4a5e7a9b623d3371 + sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" url: "https://pub.dev" source: hosted - version: "2.0.8" + version: "2.0.10+1" flutter_test: dependency: "direct dev" description: flutter @@ -479,18 +479,18 @@ packages: dependency: "direct main" description: name: flutter_web_auth_2 - sha256: "75613aa4d8e43df3de0fc3d93df36ae5b4ba2e94070384c5a9baeda99f5a235f" + sha256: "4d3d2fd3d26bf1a26b3beafd4b4b899c0ffe10dc99af25abc58ffe24e991133c" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.1.2" flutter_web_auth_2_platform_interface: dependency: transitive description: name: flutter_web_auth_2_platform_interface - sha256: "9124824cbd21e12680bf58190e27b77f251c897e80ec81cd557ec1fde9aecabf" + sha256: e8669e262005a8354389ba2971f0fc1c36188481234ff50d013aaf993f30f739 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.0" flutter_web_plugins: dependency: transitive description: flutter @@ -500,18 +500,18 @@ packages: dependency: "direct main" description: name: flutter_widget_from_html_core - sha256: dd585321db498911414a9b08659b8aa965f8f0375b39856429220fbcacdf59bd + sha256: cc1d9be3d187ce668ee02091cd5442dfb050cdaf98e0ab9a4d12ad008f966979 url: "https://pub.dev" source: hosted - version: "0.14.6" + version: "0.14.12" frontend_server_client: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" functional_listener: dependency: transitive description: @@ -524,10 +524,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3 + sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 url: "https://pub.dev" source: hosted - version: "7.6.4" + version: "7.7.0" get_it_mixin: dependency: "direct main" description: @@ -548,10 +548,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: e156bc1b2088eb5ece9351bccd48c3e1719a4858eacbd44e59162e98a68205d1 + sha256: c5fa45fa502ee880839e3b2152d987c44abae26d064a2376d4aad434cf0f7b15 url: "https://pub.dev" source: hosted - version: "12.0.1" + version: "12.1.3" graphs: dependency: transitive description: @@ -572,10 +572,10 @@ packages: dependency: "direct main" description: name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -596,10 +596,10 @@ packages: dependency: "direct main" description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.1.7" image_gallery_saver: dependency: "direct main" description: @@ -612,34 +612,34 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84" + sha256: "33974eca2e87e8b4e3727f1b94fa3abcb25afe80b6bc2c4d449a0e150aedf720" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.1" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f + sha256: "0f57fee1e8bfadf8cc41818bbcd7f72e53bb768a54d9496355d5e8a5681a19f1" url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.12+1" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7" + sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.4" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497 + sha256: "4824d8c7f6f89121ef0122ff79bb00b009607faecc8545b86bca9ab5ce1e95bf" url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.11+2" image_picker_linux: dependency: transitive description: @@ -660,10 +660,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" url: "https://pub.dev" source: hosted - version: "2.9.1" + version: "2.10.0" image_picker_windows: dependency: transitive description: @@ -692,10 +692,10 @@ packages: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" leak_tracker: dependency: transitive description: @@ -740,10 +740,10 @@ packages: dependency: "direct main" description: name: markdown - sha256: acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd + sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 url: "https://pub.dev" source: hosted - version: "7.1.1" + version: "7.2.2" matcher: dependency: transitive description: @@ -844,10 +844,10 @@ packages: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" multi_trigger_autocomplete: dependency: "direct main" description: @@ -876,26 +876,26 @@ packages: dependency: "direct main" description: name: objectbox - sha256: "4b645c71771b87188442143a50c55ab238a8e60fe367b6a0968c0842292ffb30" + sha256: "9fb2810156e8f78d82ecf672c36a1aba2c1de16d7903675335e00e374bdc3ba8" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.5.1" objectbox_flutter_libs: dependency: "direct main" description: name: objectbox_flutter_libs - sha256: e9a3d8e3ce0d47d6fc942921ef0444a238cd4258e8fcefe13b994cf984a8bf61 + sha256: dca86b2d1074110573b69cbd9afb6b67ab9d2c824704c6ac5187e546418baf9c url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.5.1" objectbox_generator: dependency: "direct dev" description: name: objectbox_generator - sha256: aaffef7eb51b4d911bb00a7c52b19b55fe3e5a69de8ec56552cf35550a1e9beb + sha256: c22c59c27edb90e709da00f0b2e788a5774a4cdce12d393d117a39500877cfb7 url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.5.1" octo_image: dependency: transitive description: @@ -916,18 +916,18 @@ packages: dependency: transitive description: name: package_info_plus - sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" + sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "8.0.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.0" path: dependency: "direct main" description: @@ -948,26 +948,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.3" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.4" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -980,10 +980,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -996,34 +996,26 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.6" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" + version: "2.1.8" pool: dependency: transitive description: @@ -1036,10 +1028,10 @@ packages: dependency: "direct main" description: name: provider - sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.0.5" + version: "6.1.2" pub_semver: dependency: transitive description: @@ -1061,10 +1053,10 @@ packages: description: path: "." ref: HEAD - resolved-ref: "12a2ae1e0830f4aff32f1d94835901de545cf917" + resolved-ref: ff39bd37976d925d2cce3ed662d4bb1a5a2e6b8d url: "https://gitlab.com/HankG/dart-result-monad.git" source: git - version: "2.3.0" + version: "2.3.2" rxdart: dependency: transitive description: @@ -1141,26 +1133,26 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7" + sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.4.0" shared_preferences_linux: dependency: transitive description: @@ -1173,18 +1165,18 @@ packages: dependency: transitive description: name: shared_preferences_platform_interface - sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a + sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf + sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" shared_preferences_windows: dependency: transitive description: @@ -1205,10 +1197,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sky_engine: dependency: transitive description: flutter @@ -1218,10 +1210,10 @@ packages: dependency: transitive description: name: source_gen - sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16 + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" source_span: dependency: transitive description: @@ -1242,26 +1234,26 @@ packages: dependency: transitive description: name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.3+1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "1b92f368f44b0dee2425bb861cfa17b6f6cf3961f762ff6f941d20b33355660a" + sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.5.4" sqlite3: dependency: "direct main" description: name: sqlite3 - sha256: db65233e6b99e99b2548932f55a987961bc06d82a31a0665451fa0b4fff4c3fb + sha256: b384f598b813b347c5a7e5ffad82cbaff1bec3d1561af267041e66f6f0899295 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.4.3" stack_trace: dependency: "direct main" description: @@ -1298,18 +1290,18 @@ packages: dependency: "direct main" description: name: string_validator - sha256: "54d4f42cd6878ae72793a58a529d9a18ebfdfbfebd9793bbe55c9b28935e8543" + sha256: a278d038104aa2df15d0e09c47cb39a49f907260732067d0034dc2f2e4e2ac94 url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.0" synchronized: dependency: transitive description: name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.0+1" term_glyph: dependency: transitive description: @@ -1370,98 +1362,98 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27" + sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" url: "https://pub.dev" source: hosted - version: "6.1.14" + version: "6.2.6" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.3.1" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "4ac97281cf60e2e8c5cc703b2b28528f9b50c8f7cebc71df6bdf0845f647268a" + sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.3.0" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: ba140138558fcc3eead51a1c42e92a9fb074a1b1149ed3c73e66035b2ccd94f2 + sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.3.1" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" uuid: dependency: "direct main" description: name: uuid - sha256: b715b8d3858b6fa9f68f87d20d98830283628014750c2b09b6f516c1da4af2a7 + sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8" url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "4.4.0" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" + sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" + sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 + sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_math: dependency: transitive description: @@ -1474,42 +1466,42 @@ packages: dependency: "direct main" description: name: video_player - sha256: "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e" + sha256: db6a72d8f4fd155d0189845678f55ad2fd54b02c10dcafd11c068dbb631286c0 url: "https://pub.dev" source: hosted - version: "2.7.2" + version: "2.8.6" video_player_android: dependency: transitive description: name: video_player_android - sha256: "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55" + sha256: "134e1ad410d67e18a19486ed9512c72dfc6d8ffb284d0e8f2e99e903d1ba8fa3" url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.4.14" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - sha256: bf1a1322bf68bccd349982ba1f5a41314a3880861fb9a93d25d6d0a2345845f0 + sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c url: "https://pub.dev" source: hosted - version: "2.4.11" + version: "2.6.1" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a + sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.2" video_player_web: dependency: transitive description: name: video_player_web - sha256: "9c34a243785feca23148bfcd772dbb803d63c9304488177ec4f3f4463802fcb7" + sha256: "41245cef5ef29c4585dbabcbcbe9b209e34376642c7576cabf11b4ad9289d6e4" url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.3.0" vm_service: dependency: transitive description: @@ -1530,18 +1522,18 @@ packages: dependency: transitive description: name: wakelock_plus - sha256: f45a6c03aa3f8322e0a9d7f4a0482721c8789cb41d555407367650b8f9c26018 + sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68" url: "https://pub.dev" source: hosted - version: "1.1.3" + version: "1.2.5" wakelock_plus_platform_interface: dependency: transitive description: name: wakelock_plus_platform_interface - sha256: "40fabed5da06caff0796dc638e1f07ee395fb18801fbff3255a2372db2d80385" + sha256: "422d1cdbb448079a8a62a5a770b69baa489f8f7ca21aef47800c726d404f9d16" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.1" watcher: dependency: transitive description: @@ -1550,30 +1542,46 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "217f49b5213796cb508d6a942a5dc604ce1cb6a0a6b3d8cb3f0c314f0ecea712" + url: "https://pub.dev" + source: hosted + version: "0.1.4" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276 url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "3.0.0" win32: dependency: transitive description: name: win32 - sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3" + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 url: "https://pub.dev" source: hosted - version: "5.0.9" + version: "5.5.1" win32_registry: dependency: transitive description: name: win32_registry - sha256: e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9 + sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.3" window_to_front: dependency: transitive description: @@ -1586,18 +1594,18 @@ packages: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" yaml: dependency: transitive description: @@ -1607,5 +1615,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.19.0" From 17442447186b9c8371d442561155a5dd719560af Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 11:22:22 -0400 Subject: [PATCH 04/22] Update cached_network_image and device_info_plus versions --- pubspec.lock | 4 ++-- pubspec.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 95d329f..2407213 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -269,10 +269,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91 url: "https://pub.dev" source: hosted - version: "9.1.2" + version: "10.1.0" device_info_plus_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b7e904e..99c4641 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,12 +10,12 @@ environment: dependencies: flutter: sdk: flutter - cached_network_image: ^3.2.2 + cached_network_image: ^3.3.1 color_blindness: ^0.1.2 cupertino_icons: ^1.0.2 carousel_slider: ^4.2.1 desktop_window: ^0.4.0 - device_info_plus: ^9.1.0 + device_info_plus: ^10.1.0 # device_preview: ^1.1.0 file_picker: ^6.0.0 flutter_dotenv: ^5.0.2 From 5c0a5af3d421ac64044fcf06dd368cb3d230c715 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 14:57:34 -0400 Subject: [PATCH 05/22] Update all f dependencies --- pubspec.lock | 4 ++-- pubspec.yaml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 2407213..988b7a4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -309,10 +309,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "1bbf65dd997458a08b531042ec3794112a6c39c07c37ff22113d2e7e4f81d4e4" + sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "8.0.3" file_selector_linux: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 99c4641..973e1e3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -17,12 +17,12 @@ dependencies: desktop_window: ^0.4.0 device_info_plus: ^10.1.0 # device_preview: ^1.1.0 - file_picker: ^6.0.0 - flutter_dotenv: ^5.0.2 - flutter_file_dialog: ^3.0.0 - flutter_secure_storage: ^9.0.0 - flutter_web_auth_2: ^3.0.3 - flutter_widget_from_html_core: ^0.14.6 + file_picker: ^8.0.3 + flutter_dotenv: ^5.1.0 + flutter_file_dialog: ^3.0.2 + flutter_secure_storage: ^9.2.1 + flutter_web_auth_2: ^3.1.2 + flutter_widget_from_html_core: ^0.14.12 get_it: ^7.2.0 get_it_mixin: ^4.1.1 go_router: ^12.0.1 From 87ff643d933f2f9f6fa299fd30c99fa734acc156 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:00:10 -0400 Subject: [PATCH 06/22] Update get_it dependencies --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 973e1e3..3ad3bc3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -23,8 +23,8 @@ dependencies: flutter_secure_storage: ^9.2.1 flutter_web_auth_2: ^3.1.2 flutter_widget_from_html_core: ^0.14.12 - get_it: ^7.2.0 - get_it_mixin: ^4.1.1 + get_it: ^7.7.0 + get_it_mixin: ^4.2.2 go_router: ^12.0.1 html: ^0.15.2 image: ^4.0.15 From 1ab86198552290b2669a112110ae0d247044b198 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:04:01 -0400 Subject: [PATCH 07/22] Update go_router and html dependencies --- pubspec.lock | 4 ++-- pubspec.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 988b7a4..38123cb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -548,10 +548,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: c5fa45fa502ee880839e3b2152d987c44abae26d064a2376d4aad434cf0f7b15 + sha256: aa073287b8f43553678e6fa9e8bb9c83212ff76e09542129a8099bbc8db4df65 url: "https://pub.dev" source: hosted - version: "12.1.3" + version: "14.1.2" graphs: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 3ad3bc3..f912c62 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 0.10.0 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: '>=3.2.0 <4.0.0' dependencies: flutter: @@ -25,8 +25,8 @@ dependencies: flutter_widget_from_html_core: ^0.14.12 get_it: ^7.7.0 get_it_mixin: ^4.2.2 - go_router: ^12.0.1 - html: ^0.15.2 + go_router: ^14.1.2 + html: ^0.15.4 image: ^4.0.15 image_picker: ^1.0.4 logging: ^1.1.0 From d9aa6928b7dfaca8a2030afea117bdc02c779ef6 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:06:37 -0400 Subject: [PATCH 08/22] Update image and image_picker --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index f912c62..e77639a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,8 +27,8 @@ dependencies: get_it_mixin: ^4.2.2 go_router: ^14.1.2 html: ^0.15.4 - image: ^4.0.15 - image_picker: ^1.0.4 + image: ^4.1.7 + image_picker: ^1.1.1 logging: ^1.1.0 markdown: ^7.0.1 media_kit: ^1.1.10 # Primary package. From 74f14a32eaff2b85c3dae6759070c4c3c2852c07 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:09:58 -0400 Subject: [PATCH 09/22] Update logging, markdown, and network_to_file_image --- pubspec.lock | 4 ++-- pubspec.yaml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 38123cb..c31686d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -868,10 +868,10 @@ packages: dependency: "direct main" description: name: network_to_file_image - sha256: "47528730539abf61ea9b5edf30fe2803b5f8212b2049e1a6cb3b564acadc46dc" + sha256: fda3fbe1b66d9fcab1336f04729b4016ed8d26d783e1a26cdb1bc4513fbacb7f url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "6.0.1" objectbox: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index e77639a..3a5a1e1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -29,13 +29,13 @@ dependencies: html: ^0.15.4 image: ^4.1.7 image_picker: ^1.1.1 - logging: ^1.1.0 - markdown: ^7.0.1 + logging: ^1.2.0 + markdown: ^7.2.2 media_kit: ^1.1.10 # Primary package. media_kit_libs_video: ^1.0.4 # Native video dependencies. media_kit_video: ^1.2.4 # For video rendering. multi_trigger_autocomplete: ^1.0.0 - network_to_file_image: ^4.0.1 + network_to_file_image: ^6.0.1 objectbox: ^2.3.1 objectbox_flutter_libs: ^2.3.1 path: ^1.8.2 From 53dd9ff793cae8cf4617e831ae34cb7bbc05a4f4 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:11:16 -0400 Subject: [PATCH 10/22] Update path and path_provider in yaml --- pubspec.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 3a5a1e1..65d6687 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,15 +31,18 @@ dependencies: image_picker: ^1.1.1 logging: ^1.2.0 markdown: ^7.2.2 + ## TODO Media Kit Update media_kit: ^1.1.10 # Primary package. media_kit_libs_video: ^1.0.4 # Native video dependencies. media_kit_video: ^1.2.4 # For video rendering. multi_trigger_autocomplete: ^1.0.0 network_to_file_image: ^6.0.1 + + ##TODO ObjectBox Update objectbox: ^2.3.1 objectbox_flutter_libs: ^2.3.1 - path: ^1.8.2 - path_provider: ^2.0.11 + path: ^1.9.0 + path_provider: ^2.1.3 provider: ^6.0.4 result_monad: git: From 352b2f94bc451892e49b1c7edc4ad2fc165c7c3b Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:11:51 -0400 Subject: [PATCH 11/22] Update provider in yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 65d6687..0f0f5f4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,7 +43,7 @@ dependencies: objectbox_flutter_libs: ^2.3.1 path: ^1.9.0 path_provider: ^2.1.3 - provider: ^6.0.4 + provider: ^6.1.2 result_monad: git: url: https://gitlab.com/HankG/dart-result-monad.git From 25f2bb5f570ccd099d48d751d27009e83c856bf5 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:13:55 -0400 Subject: [PATCH 12/22] Update result monad to use latest version not direct git link --- pubspec.lock | 9 ++++----- pubspec.yaml | 4 +--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index c31686d..9215491 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1051,11 +1051,10 @@ packages: result_monad: dependency: "direct main" description: - path: "." - ref: HEAD - resolved-ref: ff39bd37976d925d2cce3ed662d4bb1a5a2e6b8d - url: "https://gitlab.com/HankG/dart-result-monad.git" - source: git + name: result_monad + sha256: "430c123b09a14b1f0e64cce02155244a33bca822027aed29dfab071d8b3783ef" + url: "https://pub.dev" + source: hosted version: "2.3.2" rxdart: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index 0f0f5f4..9d38408 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -44,9 +44,7 @@ dependencies: path: ^1.9.0 path_provider: ^2.1.3 provider: ^6.1.2 - result_monad: - git: - url: https://gitlab.com/HankG/dart-result-monad.git + result_monad: ^2.3.2 scrollable_positioned_list: ^0.3.5 shared_preferences: ^2.0.15 sqlite3: ^2.1.0 From 8045868e8be4edbc2623cd603455649dc5e37786 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:17:00 -0400 Subject: [PATCH 13/22] Update rest except ObjectBox and MediaKit to latest in yaml --- pubspec.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 9d38408..6e7ba95 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,16 +45,16 @@ dependencies: path_provider: ^2.1.3 provider: ^6.1.2 result_monad: ^2.3.2 - scrollable_positioned_list: ^0.3.5 - shared_preferences: ^2.0.15 - sqlite3: ^2.1.0 - stack_trace: ^1.11.0 - string_validator: ^1.0.2 + scrollable_positioned_list: ^0.3.8 + shared_preferences: ^2.2.3 + sqlite3: ^2.4.3 + stack_trace: ^1.11.1 + string_validator: ^1.1.0 time_machine: ^0.9.17 - url_launcher: ^6.1.6 - uuid: ^4.1.0 - video_player: ^2.4.10 - flutter_svg: ^2.0.5 + url_launcher: ^6.2.6 + uuid: ^4.4.0 + video_player: ^2.8.6 + flutter_svg: ^2.0.10+1 image_gallery_saver: ^2.0.3 From 168a2cf78621779876de030a79c0de68c0eef507 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:18:17 -0400 Subject: [PATCH 14/22] Update flutter lints and build runner --- pubspec.lock | 8 ++++---- pubspec.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 9215491..7de23fe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -394,10 +394,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: @@ -724,10 +724,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" logging: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 6e7ba95..9a50ec4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,8 +63,8 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^3.0.0 - build_runner: ^2.3.3 + flutter_lints: ^4.0.0 + build_runner: ^2.4.10 objectbox_generator: ^2.0.0 flutter: From 2fb8f0d17c8049baa35c9a890d116f862df37bf1 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 19 May 2024 15:34:10 -0400 Subject: [PATCH 15/22] Update ObjectBox to latest of 2.x line --- pubspec.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 9a50ec4..f9d0e4b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,10 +37,8 @@ dependencies: media_kit_video: ^1.2.4 # For video rendering. multi_trigger_autocomplete: ^1.0.0 network_to_file_image: ^6.0.1 - - ##TODO ObjectBox Update - objectbox: ^2.3.1 - objectbox_flutter_libs: ^2.3.1 + objectbox: ^2.5.1 + objectbox_flutter_libs: ^2.5.1 path: ^1.9.0 path_provider: ^2.1.3 provider: ^6.1.2 @@ -65,7 +63,7 @@ dev_dependencies: sdk: flutter flutter_lints: ^4.0.0 build_runner: ^2.4.10 - objectbox_generator: ^2.0.0 + objectbox_generator: ^2.5.1 flutter: uses-material-design: true From 051cc50b5eaf6a9976a372336e17412733f0ce2f Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 21 Jul 2024 18:44:35 +0300 Subject: [PATCH 16/22] Updates to get secure storage working --- ios/Podfile.lock | 88 ++++++++++++-------------- macos/Podfile.lock | 44 +++++++------ macos/Runner/DebugProfile.entitlements | 2 +- macos/Runner/Release.entitlements | 2 +- macos/Runner/RunnerDebug.entitlements | 2 +- pubspec.lock | 8 +-- pubspec.yaml | 2 +- 7 files changed, 73 insertions(+), 75 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 074b413..f295169 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,35 +1,35 @@ PODS: - device_info_plus (0.0.1): - Flutter - - DKImagePickerController/Core (4.3.4): + - DKImagePickerController/Core (4.3.9): - DKImagePickerController/ImageDataManager - DKImagePickerController/Resource - - DKImagePickerController/ImageDataManager (4.3.4) - - DKImagePickerController/PhotoGallery (4.3.4): + - DKImagePickerController/ImageDataManager (4.3.9) + - DKImagePickerController/PhotoGallery (4.3.9): - DKImagePickerController/Core - DKPhotoGallery - - DKImagePickerController/Resource (4.3.4) - - DKPhotoGallery (0.0.17): - - DKPhotoGallery/Core (= 0.0.17) - - DKPhotoGallery/Model (= 0.0.17) - - DKPhotoGallery/Preview (= 0.0.17) - - DKPhotoGallery/Resource (= 0.0.17) + - DKImagePickerController/Resource (4.3.9) + - DKPhotoGallery (0.0.19): + - DKPhotoGallery/Core (= 0.0.19) + - DKPhotoGallery/Model (= 0.0.19) + - DKPhotoGallery/Preview (= 0.0.19) + - DKPhotoGallery/Resource (= 0.0.19) - SDWebImage - SwiftyGif - - DKPhotoGallery/Core (0.0.17): + - DKPhotoGallery/Core (0.0.19): - DKPhotoGallery/Model - DKPhotoGallery/Preview - SDWebImage - SwiftyGif - - DKPhotoGallery/Model (0.0.17): + - DKPhotoGallery/Model (0.0.19): - SDWebImage - SwiftyGif - - DKPhotoGallery/Preview (0.0.17): + - DKPhotoGallery/Preview (0.0.19): - DKPhotoGallery/Model - DKPhotoGallery/Resource - SDWebImage - SwiftyGif - - DKPhotoGallery/Resource (0.0.17): + - DKPhotoGallery/Resource (0.0.19): - SDWebImage - SwiftyGif - file_picker (0.0.1): @@ -42,9 +42,6 @@ PODS: - Flutter - flutter_web_auth_2 (3.0.0): - Flutter - - FMDB (2.7.5): - - FMDB/standard (= 2.7.5) - - FMDB/standard (2.7.5) - image_gallery_saver (2.0.2): - Flutter - image_picker_ios (0.0.1): @@ -55,10 +52,10 @@ PODS: - Flutter - media_kit_video (0.0.1): - Flutter - - ObjectBox (1.9.0) + - ObjectBox (1.9.2) - objectbox_flutter_libs (0.0.1): - Flutter - - ObjectBox (= 1.9.0) + - ObjectBox (= 1.9.2) - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): @@ -66,20 +63,21 @@ PODS: - FlutterMacOS - screen_brightness_ios (0.1.0): - Flutter - - SDWebImage (5.18.3): - - SDWebImage/Core (= 5.18.3) - - SDWebImage/Core (5.18.3) + - SDWebImage (5.19.4): + - SDWebImage/Core (= 5.19.4) + - SDWebImage/Core (5.19.4) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - sqflite (0.0.3): - Flutter - - FMDB (>= 2.7.5) - - SwiftyGif (5.4.4) + - FlutterMacOS + - SwiftyGif (5.4.5) - url_launcher_ios (0.0.1): - Flutter - video_player_avfoundation (0.0.1): - Flutter + - FlutterMacOS - volume_controller (0.0.1): - Flutter - wakelock_plus (0.0.1): @@ -102,9 +100,9 @@ DEPENDENCIES: - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - screen_brightness_ios (from `.symlinks/plugins/screen_brightness_ios/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `.symlinks/plugins/sqflite/ios`) + - sqflite (from `.symlinks/plugins/sqflite/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`) + - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) - volume_controller (from `.symlinks/plugins/volume_controller/ios`) - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`) @@ -112,7 +110,6 @@ SPEC REPOS: trunk: - DKImagePickerController - DKPhotoGallery - - FMDB - ObjectBox - SDWebImage - SwiftyGif @@ -151,44 +148,43 @@ EXTERNAL SOURCES: shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: - :path: ".symlinks/plugins/sqflite/ios" + :path: ".symlinks/plugins/sqflite/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" video_player_avfoundation: - :path: ".symlinks/plugins/video_player_avfoundation/ios" + :path: ".symlinks/plugins/video_player_avfoundation/darwin" volume_controller: :path: ".symlinks/plugins/volume_controller/ios" wakelock_plus: :path: ".symlinks/plugins/wakelock_plus/ios" SPEC CHECKSUMS: - device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 - DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac - DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179 - file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de + device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d + DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c + DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 + file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_file_dialog: 4c014a45b105709a27391e266c277d7e588e9299 - flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be + flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 flutter_web_auth_2: 051cf9f5dc366f31b5dcc4e2952c2b954767be8a - FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb - image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 + image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 media_kit_libs_ios_video: a5fe24bc7875ccd6378a0978c13185e1344651c1 media_kit_native_event_loop: e6b2ab20cf0746eb1c33be961fcf79667304fa2a media_kit_video: 5da63f157170e5bf303bf85453b7ef6971218a2e - ObjectBox: e7ff611291a0663380e0736b46786bcd077294ff - objectbox_flutter_libs: 0948d6feb7de4f7edaebc7a898b9e85b7fc2bc89 - package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + ObjectBox: 46757a559717ab49b1cc0612eaff82b705acf394 + objectbox_flutter_libs: 103f3a273b594cb664255086a386740bc179f97d + package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 screen_brightness_ios: 715ca807df953bf676d339f11464e438143ee625 - SDWebImage: 96e0c18ef14010b7485210e92fac888587ebb958 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 - sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a - SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f - url_launcher_ios: 68d46cc9766d0c41dbdc884310529557e3cd7a86 - video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126 + SDWebImage: 066c47b573f408f18caa467d71deace7c0f8280d + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe + video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 volume_controller: 531ddf792994285c9b17f9d8a7e4dcdd29b3eae9 - wakelock_plus: 8b09852c8876491e4b6d179e17dfe2a0b5f60d47 + wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1 PODFILE CHECKSUM: 1df1bb3ed89ef4be6115286519e24a9fad12e640 diff --git a/macos/Podfile.lock b/macos/Podfile.lock index df9ce18..56dadc6 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -10,19 +10,16 @@ PODS: - flutter_web_auth_2 (3.0.0): - FlutterMacOS - FlutterMacOS (1.0.0) - - FMDB (2.7.5): - - FMDB/standard (= 2.7.5) - - FMDB/standard (2.7.5) - media_kit_libs_macos_video (1.0.4): - FlutterMacOS - media_kit_native_event_loop (1.0.0): - FlutterMacOS - media_kit_video (0.0.1): - FlutterMacOS - - ObjectBox (1.9.0) + - ObjectBox (1.9.2) - objectbox_flutter_libs (0.0.1): - FlutterMacOS - - ObjectBox (= 1.9.0) + - ObjectBox (= 1.9.2) - package_info_plus (0.0.1): - FlutterMacOS - path_provider_foundation (0.0.1): @@ -33,11 +30,14 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sqflite (0.0.2): + - sqflite (0.0.3): + - Flutter - FlutterMacOS - - FMDB (>= 2.7.5) - url_launcher_macos (0.0.1): - FlutterMacOS + - video_player_avfoundation (0.0.1): + - Flutter + - FlutterMacOS - wakelock_plus (0.0.1): - FlutterMacOS - window_to_front (0.0.1): @@ -58,14 +58,14 @@ DEPENDENCIES: - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - screen_brightness_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_brightness_macos/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/macos`) + - sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/darwin`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) + - video_player_avfoundation (from `Flutter/ephemeral/.symlinks/plugins/video_player_avfoundation/darwin`) - wakelock_plus (from `Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos`) - window_to_front (from `Flutter/ephemeral/.symlinks/plugins/window_to_front/macos`) SPEC REPOS: trunk: - - FMDB - ObjectBox EXTERNAL SOURCES: @@ -98,9 +98,11 @@ EXTERNAL SOURCES: shared_preferences_foundation: :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin sqflite: - :path: Flutter/ephemeral/.symlinks/plugins/sqflite/macos + :path: Flutter/ephemeral/.symlinks/plugins/sqflite/darwin url_launcher_macos: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos + video_player_avfoundation: + :path: Flutter/ephemeral/.symlinks/plugins/video_player_avfoundation/darwin wakelock_plus: :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos window_to_front: @@ -108,23 +110,23 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: desktop_window: fb7c4f12c1129f947ac482296b6f14059d57a3c3 - device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f - file_selector_macos: 468fb6b81fac7c0e88d71317f3eec34c3b008ff9 - flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea + device_info_plus: ce1b7762849d3ec103d0e0517299f2db7ad60720 + file_selector_macos: 54fdab7caa3ac3fc43c9fac4d7d8d231277f8cf2 + flutter_secure_storage_macos: 59459653abe1adb92abbc8ea747d79f8d19866c9 flutter_web_auth_2: 2e1dc2d2139973e4723c5286ce247dd590390d70 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a media_kit_libs_macos_video: b3e2bbec2eef97c285f2b1baa7963c67c753fb82 media_kit_native_event_loop: 81fd5b45192b72f8b5b69eaf5b540f45777eb8d5 media_kit_video: c75b07f14d59706c775778e4dd47dd027de8d1e5 - ObjectBox: e7ff611291a0663380e0736b46786bcd077294ff - objectbox_flutter_libs: 32997857c213cbcc6f9b25ffc73e1e3c34ea3c8e - package_info_plus: 02d7a575e80f194102bef286361c6c326e4c29ce - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + ObjectBox: 46757a559717ab49b1cc0612eaff82b705acf394 + objectbox_flutter_libs: 0b8632b8f181b902e09b5763437082926c790b68 + package_info_plus: fa739dd842b393193c5ca93c26798dff6e3d0e0c + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 screen_brightness_macos: 2d6d3af2165592d9a55ffcd95b7550970e41ebda - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 - sqflite: a5789cceda41d54d23f31d6de539d65bb14100ea - url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399 + video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 wakelock_plus: 4783562c9a43d209c458cb9b30692134af456269 window_to_front: 4cdc24ddd8461ad1a55fa06286d6a79d8b29e8d8 diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements index 1c2c03d..e85ef7b 100644 --- a/macos/Runner/DebugProfile.entitlements +++ b/macos/Runner/DebugProfile.entitlements @@ -14,7 +14,7 @@ keychain-access-groups - $(AppIdentifierPrefix)T69YZGT58U.relatica + T69YZGT58U.relatica diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index 891ae4f..0233b0b 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -14,7 +14,7 @@ keychain-access-groups - $(AppIdentifierPrefix)T69YZGT58U.relatica + T69YZGT58U.relatica diff --git a/macos/Runner/RunnerDebug.entitlements b/macos/Runner/RunnerDebug.entitlements index a0f1b76..46e75ad 100644 --- a/macos/Runner/RunnerDebug.entitlements +++ b/macos/Runner/RunnerDebug.entitlements @@ -18,7 +18,7 @@ keychain-access-groups - $(AppIdentifierPrefix)T69YZGT58U.relatica + T69YZGT58U.relatica diff --git a/pubspec.lock b/pubspec.lock index 7de23fe..cb97b33 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -418,10 +418,10 @@ packages: dependency: "direct main" description: name: flutter_secure_storage - sha256: "8496a89eea74e23f92581885f876455d9d460e71201405dffe5f55dfe1155864" + sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" url: "https://pub.dev" source: hosted - version: "9.2.1" + version: "9.2.2" flutter_secure_storage_linux: dependency: transitive description: @@ -434,10 +434,10 @@ packages: dependency: transitive description: name: flutter_secure_storage_macos - sha256: b768a7dab26d6186b68e2831b3104f8968154f0f4fdbf66e7c2dd7bdf299daaf + sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" flutter_secure_storage_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1b5d4ef..1562c99 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: file_picker: ^8.0.3 flutter_dotenv: ^5.1.0 flutter_file_dialog: ^3.0.2 - flutter_secure_storage: ^9.2.1 + flutter_secure_storage: ^9.2.2 flutter_web_auth_2: ^3.1.2 flutter_widget_from_html_core: ^0.14.12 get_it: ^7.7.0 From 8d435b1507f5ab56c1c3cccb4105e95547d409ef Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Sun, 21 Jul 2024 19:02:00 +0300 Subject: [PATCH 17/22] Updates to get ObjectBox working --- ios/Podfile.lock | 8 +- lib/models/connection.dart | 1 + lib/objectbox.g.dart | 338 +++++++++++++++++++++---------------- macos/Podfile.lock | 8 +- pubspec.lock | 12 +- pubspec.yaml | 6 +- 6 files changed, 207 insertions(+), 166 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f295169..3fea0cc 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -52,10 +52,10 @@ PODS: - Flutter - media_kit_video (0.0.1): - Flutter - - ObjectBox (1.9.2) + - ObjectBox (2.0.0) - objectbox_flutter_libs (0.0.1): - Flutter - - ObjectBox (= 1.9.2) + - ObjectBox (= 2.0.0) - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): @@ -172,8 +172,8 @@ SPEC CHECKSUMS: media_kit_libs_ios_video: a5fe24bc7875ccd6378a0978c13185e1344651c1 media_kit_native_event_loop: e6b2ab20cf0746eb1c33be961fcf79667304fa2a media_kit_video: 5da63f157170e5bf303bf85453b7ef6971218a2e - ObjectBox: 46757a559717ab49b1cc0612eaff82b705acf394 - objectbox_flutter_libs: 103f3a273b594cb664255086a386740bc179f97d + ObjectBox: f5319bd9ad2ea960796eff7227e86471867e9ef0 + objectbox_flutter_libs: c7748f6c6fda47d22f15c8062fb8208063fd948a package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 screen_brightness_ios: 715ca807df953bf676d339f11464e438143ee625 diff --git a/lib/models/connection.dart b/lib/models/connection.dart index 176f77f..14f32f9 100644 --- a/lib/models/connection.dart +++ b/lib/models/connection.dart @@ -5,6 +5,7 @@ class Connection { @Id() int obId; + @Transient() ConnectionStatus status; int get dbStatus => status.code; diff --git a/lib/objectbox.g.dart b/lib/objectbox.g.dart index 15e4315..0caea86 100644 --- a/lib/objectbox.g.dart +++ b/lib/objectbox.g.dart @@ -1,17 +1,17 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -// This code was generated by ObjectBox. To update it run the generator again: -// With a Flutter package, run `flutter pub run build_runner build`. -// With a Dart package, run `dart run build_runner build`. +// This code was generated by ObjectBox. To update it run the generator again +// with `dart run build_runner build`. // See also https://docs.objectbox.io/getting-started#generate-objectbox-code -// ignore_for_file: camel_case_types +// ignore_for_file: camel_case_types, depend_on_referenced_packages // coverage:ignore-file import 'dart:typed_data'; import 'package:flat_buffers/flat_buffers.dart' as fb; -import 'package:objectbox/internal.dart'; // generated code can access "internal" functionality -import 'package:objectbox/objectbox.dart'; +import 'package:objectbox/internal.dart' + as obx_int; // generated code can access "internal" functionality +import 'package:objectbox/objectbox.dart' as obx; import 'package:objectbox_flutter_libs/objectbox_flutter_libs.dart'; import 'models/connection.dart'; @@ -19,143 +19,158 @@ import 'models/hashtag.dart'; export 'package:objectbox/objectbox.dart'; // so that callers only have to import this file -final _entities = [ - ModelEntity( - id: const IdUid(1, 1213035855270739890), +final _entities = [ + obx_int.ModelEntity( + id: const obx_int.IdUid(1, 1213035855270739890), name: 'Connection', - lastPropertyId: const IdUid(14, 7495390888349913259), + lastPropertyId: const obx_int.IdUid(14, 7495390888349913259), flags: 0, - properties: [ - ModelProperty( - id: const IdUid(1, 4133343279264917280), + properties: [ + obx_int.ModelProperty( + id: const obx_int.IdUid(1, 4133343279264917280), name: 'obId', type: 6, flags: 1), - ModelProperty( - id: const IdUid(2, 3393770296096844708), + obx_int.ModelProperty( + id: const obx_int.IdUid(2, 3393770296096844708), name: 'name', type: 9, flags: 0), - ModelProperty( - id: const IdUid(3, 5864801995210079539), + obx_int.ModelProperty( + id: const obx_int.IdUid(3, 5864801995210079539), name: 'handle', type: 9, flags: 0), - ModelProperty( - id: const IdUid(4, 2926904168461994523), + obx_int.ModelProperty( + id: const obx_int.IdUid(4, 2926904168461994523), name: 'id', type: 9, flags: 34848, - indexId: const IdUid(1, 8342366639839511243)), - ModelProperty( - id: const IdUid(5, 3621370552742492695), + indexId: const obx_int.IdUid(1, 8342366639839511243)), + obx_int.ModelProperty( + id: const obx_int.IdUid(5, 3621370552742492695), name: 'network', type: 9, flags: 0), - ModelProperty( - id: const IdUid(6, 3054748457893853359), + obx_int.ModelProperty( + id: const obx_int.IdUid(6, 3054748457893853359), name: 'profileUrl', type: 9, flags: 0), - ModelProperty( - id: const IdUid(7, 3716471511430220806), + obx_int.ModelProperty( + id: const obx_int.IdUid(7, 3716471511430220806), name: 'avatarUrl', type: 9, flags: 0), - ModelProperty( - id: const IdUid(8, 3334077197732145885), + obx_int.ModelProperty( + id: const obx_int.IdUid(8, 3334077197732145885), name: 'dbStatus', type: 6, flags: 0), - ModelProperty( - id: const IdUid(9, 7727190023732579468), + obx_int.ModelProperty( + id: const obx_int.IdUid(9, 7727190023732579468), name: 'lastUpdateTime', type: 10, flags: 0), - ModelProperty( - id: const IdUid(10, 7236128628019094924), + obx_int.ModelProperty( + id: const obx_int.IdUid(10, 7236128628019094924), name: 'note', type: 9, flags: 0), - ModelProperty( - id: const IdUid(11, 714760695336940281), + obx_int.ModelProperty( + id: const obx_int.IdUid(11, 714760695336940281), name: 'followerCount', type: 6, flags: 0), - ModelProperty( - id: const IdUid(12, 4204087390924684186), + obx_int.ModelProperty( + id: const obx_int.IdUid(12, 4204087390924684186), name: 'followingCount', type: 6, flags: 0), - ModelProperty( - id: const IdUid(13, 6842754750534163483), + obx_int.ModelProperty( + id: const obx_int.IdUid(13, 6842754750534163483), name: 'statusesCount', type: 6, flags: 0), - ModelProperty( - id: const IdUid(14, 7495390888349913259), + obx_int.ModelProperty( + id: const obx_int.IdUid(14, 7495390888349913259), name: 'lastStatus', type: 10, flags: 0) ], - relations: [], - backlinks: []), - ModelEntity( - id: const IdUid(2, 8060242331335522964), + relations: [], + backlinks: []), + obx_int.ModelEntity( + id: const obx_int.IdUid(2, 8060242331335522964), name: 'Hashtag', - lastPropertyId: const IdUid(4, 985152873657204249), + lastPropertyId: const obx_int.IdUid(4, 985152873657204249), flags: 0, - properties: [ - ModelProperty( - id: const IdUid(1, 3633001791521338712), + properties: [ + obx_int.ModelProperty( + id: const obx_int.IdUid(1, 3633001791521338712), name: 'id', type: 6, flags: 1), - ModelProperty( - id: const IdUid(2, 3468373950035339457), + obx_int.ModelProperty( + id: const obx_int.IdUid(2, 3468373950035339457), name: 'tag', type: 9, flags: 34848, - indexId: const IdUid(2, 6156017341759176249)), - ModelProperty( - id: const IdUid(3, 5102584273729210526), + indexId: const obx_int.IdUid(2, 6156017341759176249)), + obx_int.ModelProperty( + id: const obx_int.IdUid(3, 5102584273729210526), name: 'url', type: 9, flags: 0), - ModelProperty( - id: const IdUid(4, 985152873657204249), + obx_int.ModelProperty( + id: const obx_int.IdUid(4, 985152873657204249), name: 'lastUpdateTime', type: 10, flags: 0) ], - relations: [], - backlinks: []) + relations: [], + backlinks: []) ]; -/// Open an ObjectBox store with the model declared in this file. -Future openStore( - {String? directory, - int? maxDBSizeInKB, - int? fileMode, - int? maxReaders, - bool queriesCaseSensitiveDefault = true, - String? macosApplicationGroup}) async => - Store(getObjectBoxModel(), - directory: directory ?? (await defaultStoreDirectory()).path, - maxDBSizeInKB: maxDBSizeInKB, - fileMode: fileMode, - maxReaders: maxReaders, - queriesCaseSensitiveDefault: queriesCaseSensitiveDefault, - macosApplicationGroup: macosApplicationGroup); +/// Shortcut for [obx.Store.new] that passes [getObjectBoxModel] and for Flutter +/// apps by default a [directory] using `defaultStoreDirectory()` from the +/// ObjectBox Flutter library. +/// +/// Note: for desktop apps it is recommended to specify a unique [directory]. +/// +/// See [obx.Store.new] for an explanation of all parameters. +/// +/// For Flutter apps, also calls `loadObjectBoxLibraryAndroidCompat()` from +/// the ObjectBox Flutter library to fix loading the native ObjectBox library +/// on Android 6 and older. +Future openStore( + {String? directory, + int? maxDBSizeInKB, + int? maxDataSizeInKB, + int? fileMode, + int? maxReaders, + bool queriesCaseSensitiveDefault = true, + String? macosApplicationGroup}) async { + await loadObjectBoxLibraryAndroidCompat(); + return obx.Store(getObjectBoxModel(), + directory: directory ?? (await defaultStoreDirectory()).path, + maxDBSizeInKB: maxDBSizeInKB, + maxDataSizeInKB: maxDataSizeInKB, + fileMode: fileMode, + maxReaders: maxReaders, + queriesCaseSensitiveDefault: queriesCaseSensitiveDefault, + macosApplicationGroup: macosApplicationGroup); +} -/// ObjectBox model definition, pass it to [Store] - Store(getObjectBoxModel()) -ModelDefinition getObjectBoxModel() { - final model = ModelInfo( +/// Returns the ObjectBox model definition for this project for use with +/// [obx.Store.new]. +obx_int.ModelDefinition getObjectBoxModel() { + final model = obx_int.ModelInfo( entities: _entities, - lastEntityId: const IdUid(2, 8060242331335522964), - lastIndexId: const IdUid(2, 6156017341759176249), - lastRelationId: const IdUid(0, 0), - lastSequenceId: const IdUid(0, 0), + lastEntityId: const obx_int.IdUid(2, 8060242331335522964), + lastIndexId: const obx_int.IdUid(2, 6156017341759176249), + lastRelationId: const obx_int.IdUid(0, 0), + lastSequenceId: const obx_int.IdUid(0, 0), retiredEntityUids: const [], retiredIndexUids: const [], retiredPropertyUids: const [], @@ -164,8 +179,8 @@ ModelDefinition getObjectBoxModel() { modelVersionParserMinimum: 5, version: 1); - final bindings = { - Connection: EntityDefinition( + final bindings = { + Connection: obx_int.EntityDefinition( model: _entities[0], toOneRelations: (Connection object) => [], toManyRelations: (Connection object) => {}, @@ -199,37 +214,58 @@ ModelDefinition getObjectBoxModel() { fbb.finish(fbb.endTable()); return object.obId; }, - objectFromFB: (Store store, ByteData fbData) { + objectFromFB: (obx.Store store, ByteData fbData) { final buffer = fb.BufferContext(fbData); final rootOffset = buffer.derefObject(0); final lastStatusValue = const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 30); + final obIdParam = + const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0); + final nameParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 6, ''); + final handleParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 8, ''); + final idParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 10, ''); + final profileUrlParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 14, ''); + final networkParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 12, ''); + final avatarUrlParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 16, ''); + final lastUpdateTimeParam = DateTime.fromMillisecondsSinceEpoch( + const fb.Int64Reader().vTableGet(buffer, rootOffset, 20, 0)); + final noteParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 22, ''); + final followerCountParam = + const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 24); + final followingCountParam = + const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 26); + final statusesCountParam = + const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 28); + final lastStatusParam = lastStatusValue == null + ? null + : DateTime.fromMillisecondsSinceEpoch(lastStatusValue); final object = Connection( - obId: const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0), - name: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 6, ''), - handle: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 8, ''), - id: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 10, ''), - profileUrl: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 14, ''), - network: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 12, ''), - avatarUrl: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 16, ''), - lastUpdateTime: DateTime.fromMillisecondsSinceEpoch( - const fb.Int64Reader().vTableGet(buffer, rootOffset, 20, 0)), - note: const fb.StringReader(asciiOptimization: true).vTableGet(buffer, rootOffset, 22, ''), - followerCount: const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 24), - followingCount: const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 26), - statusesCount: const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 28), - lastStatus: lastStatusValue == null ? null : DateTime.fromMillisecondsSinceEpoch(lastStatusValue)) - ..dbStatus = const fb.Int64Reader().vTableGet(buffer, rootOffset, 18, 0); + obId: obIdParam, + name: nameParam, + handle: handleParam, + id: idParam, + profileUrl: profileUrlParam, + network: networkParam, + avatarUrl: avatarUrlParam, + lastUpdateTime: lastUpdateTimeParam, + note: noteParam, + followerCount: followerCountParam, + followingCount: followingCountParam, + statusesCount: statusesCountParam, + lastStatus: lastStatusParam) + ..dbStatus = + const fb.Int64Reader().vTableGet(buffer, rootOffset, 18, 0); return object; }), - Hashtag: EntityDefinition( + Hashtag: obx_int.EntityDefinition( model: _entities[1], toOneRelations: (Hashtag object) => [], toManyRelations: (Hashtag object) => {}, @@ -248,16 +284,16 @@ ModelDefinition getObjectBoxModel() { fbb.finish(fbb.endTable()); return object.id; }, - objectFromFB: (Store store, ByteData fbData) { + objectFromFB: (obx.Store store, ByteData fbData) { final buffer = fb.BufferContext(fbData); final rootOffset = buffer.derefObject(0); - - final object = Hashtag( - id: const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0), - tag: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 6, ''), - url: const fb.StringReader(asciiOptimization: true) - .vTableGet(buffer, rootOffset, 8, '')) + final idParam = + const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0); + final tagParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 6, ''); + final urlParam = const fb.StringReader(asciiOptimization: true) + .vTableGet(buffer, rootOffset, 8, ''); + final object = Hashtag(id: idParam, tag: tagParam, url: urlParam) ..lastUpdateTime = DateTime.fromMillisecondsSinceEpoch( const fb.Int64Reader().vTableGet(buffer, rootOffset, 10, 0)); @@ -265,79 +301,83 @@ ModelDefinition getObjectBoxModel() { }) }; - return ModelDefinition(model, bindings); + return obx_int.ModelDefinition(model, bindings); } /// [Connection] entity fields to define ObjectBox queries. class Connection_ { - /// see [Connection.obId] + /// See [Connection.obId]. static final obId = - QueryIntegerProperty(_entities[0].properties[0]); + obx.QueryIntegerProperty(_entities[0].properties[0]); - /// see [Connection.name] + /// See [Connection.name]. static final name = - QueryStringProperty(_entities[0].properties[1]); + obx.QueryStringProperty(_entities[0].properties[1]); - /// see [Connection.handle] + /// See [Connection.handle]. static final handle = - QueryStringProperty(_entities[0].properties[2]); + obx.QueryStringProperty(_entities[0].properties[2]); - /// see [Connection.id] - static final id = QueryStringProperty(_entities[0].properties[3]); + /// See [Connection.id]. + static final id = + obx.QueryStringProperty(_entities[0].properties[3]); - /// see [Connection.network] + /// See [Connection.network]. static final network = - QueryStringProperty(_entities[0].properties[4]); + obx.QueryStringProperty(_entities[0].properties[4]); - /// see [Connection.profileUrl] + /// See [Connection.profileUrl]. static final profileUrl = - QueryStringProperty(_entities[0].properties[5]); + obx.QueryStringProperty(_entities[0].properties[5]); - /// see [Connection.avatarUrl] + /// See [Connection.avatarUrl]. static final avatarUrl = - QueryStringProperty(_entities[0].properties[6]); + obx.QueryStringProperty(_entities[0].properties[6]); - /// see [Connection.dbStatus] + /// See [Connection.dbStatus]. static final dbStatus = - QueryIntegerProperty(_entities[0].properties[7]); + obx.QueryIntegerProperty(_entities[0].properties[7]); - /// see [Connection.lastUpdateTime] + /// See [Connection.lastUpdateTime]. static final lastUpdateTime = - QueryIntegerProperty(_entities[0].properties[8]); + obx.QueryDateProperty(_entities[0].properties[8]); - /// see [Connection.note] + /// See [Connection.note]. static final note = - QueryStringProperty(_entities[0].properties[9]); + obx.QueryStringProperty(_entities[0].properties[9]); - /// see [Connection.followerCount] + /// See [Connection.followerCount]. static final followerCount = - QueryIntegerProperty(_entities[0].properties[10]); + obx.QueryIntegerProperty(_entities[0].properties[10]); - /// see [Connection.followingCount] + /// See [Connection.followingCount]. static final followingCount = - QueryIntegerProperty(_entities[0].properties[11]); + obx.QueryIntegerProperty(_entities[0].properties[11]); - /// see [Connection.statusesCount] + /// See [Connection.statusesCount]. static final statusesCount = - QueryIntegerProperty(_entities[0].properties[12]); + obx.QueryIntegerProperty(_entities[0].properties[12]); - /// see [Connection.lastStatus] + /// See [Connection.lastStatus]. static final lastStatus = - QueryIntegerProperty(_entities[0].properties[13]); + obx.QueryDateProperty(_entities[0].properties[13]); } /// [Hashtag] entity fields to define ObjectBox queries. class Hashtag_ { - /// see [Hashtag.id] - static final id = QueryIntegerProperty(_entities[1].properties[0]); + /// See [Hashtag.id]. + static final id = + obx.QueryIntegerProperty(_entities[1].properties[0]); - /// see [Hashtag.tag] - static final tag = QueryStringProperty(_entities[1].properties[1]); + /// See [Hashtag.tag]. + static final tag = + obx.QueryStringProperty(_entities[1].properties[1]); - /// see [Hashtag.url] - static final url = QueryStringProperty(_entities[1].properties[2]); + /// See [Hashtag.url]. + static final url = + obx.QueryStringProperty(_entities[1].properties[2]); - /// see [Hashtag.lastUpdateTime] + /// See [Hashtag.lastUpdateTime]. static final lastUpdateTime = - QueryIntegerProperty(_entities[1].properties[3]); + obx.QueryDateProperty(_entities[1].properties[3]); } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 56dadc6..5c7c788 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -16,10 +16,10 @@ PODS: - FlutterMacOS - media_kit_video (0.0.1): - FlutterMacOS - - ObjectBox (1.9.2) + - ObjectBox (2.0.0) - objectbox_flutter_libs (0.0.1): - FlutterMacOS - - ObjectBox (= 1.9.2) + - ObjectBox (= 2.0.0) - package_info_plus (0.0.1): - FlutterMacOS - path_provider_foundation (0.0.1): @@ -118,8 +118,8 @@ SPEC CHECKSUMS: media_kit_libs_macos_video: b3e2bbec2eef97c285f2b1baa7963c67c753fb82 media_kit_native_event_loop: 81fd5b45192b72f8b5b69eaf5b540f45777eb8d5 media_kit_video: c75b07f14d59706c775778e4dd47dd027de8d1e5 - ObjectBox: 46757a559717ab49b1cc0612eaff82b705acf394 - objectbox_flutter_libs: 0b8632b8f181b902e09b5763437082926c790b68 + ObjectBox: f5319bd9ad2ea960796eff7227e86471867e9ef0 + objectbox_flutter_libs: 8ce2ac829cfbbc62ad4764a0d219786d098b1afa package_info_plus: fa739dd842b393193c5ca93c26798dff6e3d0e0c path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 screen_brightness_macos: 2d6d3af2165592d9a55ffcd95b7550970e41ebda diff --git a/pubspec.lock b/pubspec.lock index cb97b33..ea99ec6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -876,26 +876,26 @@ packages: dependency: "direct main" description: name: objectbox - sha256: "9fb2810156e8f78d82ecf672c36a1aba2c1de16d7903675335e00e374bdc3ba8" + sha256: "70ff2a7538f6f8bb56136734d574f5bdc1cf29c50cd7207a14ea0c641ecb88ca" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "4.0.1" objectbox_flutter_libs: dependency: "direct main" description: name: objectbox_flutter_libs - sha256: dca86b2d1074110573b69cbd9afb6b67ab9d2c824704c6ac5187e546418baf9c + sha256: "97adc5f95d16f33c7114d56e5dec617db4300cd11ae5022134cf76fa5f30084d" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "4.0.1" objectbox_generator: dependency: "direct dev" description: name: objectbox_generator - sha256: c22c59c27edb90e709da00f0b2e788a5774a4cdce12d393d117a39500877cfb7 + sha256: "29d9295aac0a74ce44cd00afa011e0e22404e5c8f66e37587f84e3ef4b6bee52" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "4.0.1" octo_image: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1562c99..b530aac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,8 +37,8 @@ dependencies: media_kit_video: ^1.2.4 # For video rendering. multi_trigger_autocomplete: ^1.0.0 network_to_file_image: ^6.0.1 - objectbox: ^2.5.1 - objectbox_flutter_libs: ^2.5.1 + objectbox: ^4.0.1 + objectbox_flutter_libs: ^4.0.1 path: ^1.9.0 path_provider: ^2.1.3 provider: ^6.1.2 @@ -63,7 +63,7 @@ dev_dependencies: sdk: flutter flutter_lints: ^4.0.0 build_runner: ^2.4.10 - objectbox_generator: ^2.5.1 + objectbox_generator: ^4.0.1 flutter: uses-material-design: true From a86aa60df699b6518a3fa07ac0ce1daf4ac45cd0 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Mon, 22 Jul 2024 13:48:41 +0300 Subject: [PATCH 18/22] Updates to get OAuth somewhat working but not ideal --- lib/models/auth/oauth_credentials.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/models/auth/oauth_credentials.dart b/lib/models/auth/oauth_credentials.dart index 39152b0..5049822 100644 --- a/lib/models/auth/oauth_credentials.dart +++ b/lib/models/auth/oauth_credentials.dart @@ -149,9 +149,11 @@ class OAuthCredentials implements ICredentials { .setStatus('Attempting getting authorization to $serverName'); final result = await FlutterWebAuth2.authenticate( - url: url.toString(), - callbackUrlScheme: redirectScheme, - ); + url: url.toString(), + callbackUrlScheme: redirectScheme, + options: const FlutterWebAuth2Options( + preferEphemeral: true, + )); final code = Uri.parse(result).queryParameters['code']; if (code == null) { _logger.severe( From 86c85f36c637b50d95e1b3882c6d2a50fd8521ec Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Mon, 22 Jul 2024 13:48:45 +0300 Subject: [PATCH 19/22] Updates to get OAuth somewhat working but not ideal --- pubspec.lock | 12 ++++++------ pubspec.yaml | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index ea99ec6..912b227 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -189,10 +189,10 @@ packages: dependency: "direct main" description: name: color_blindness - sha256: "8e85c212aa21ed74e7067ed7ff0a3dce39a366023bd4ca17820981dc8681a6e6" + sha256: ad18ab64d8f61ba0bd6ef2a48ebe16a1c6dc57b54833606d6ef04c0f6f939f6d url: "https://pub.dev" source: hosted - version: "0.1.2" + version: "0.2.0" convert: dependency: transitive description: @@ -309,10 +309,10 @@ packages: dependency: "direct main" description: name: file_picker - sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a" + sha256: "824f5b9f389bfc4dddac3dea76cd70c51092d9dff0b2ece7ef4f53db8547d258" url: "https://pub.dev" source: hosted - version: "8.0.3" + version: "8.0.6" file_selector_linux: dependency: transitive description: @@ -500,10 +500,10 @@ packages: dependency: "direct main" description: name: flutter_widget_from_html_core - sha256: cc1d9be3d187ce668ee02091cd5442dfb050cdaf98e0ab9a4d12ad008f966979 + sha256: df7c7c9e5ea144f7ab0adfbad733b4d4f7d408ab733c94e6e9fdcb327af92aa1 url: "https://pub.dev" source: hosted - version: "0.14.12" + version: "0.15.1" frontend_server_client: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index b530aac..daab9f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,18 +11,18 @@ dependencies: flutter: sdk: flutter cached_network_image: ^3.3.1 - color_blindness: ^0.1.2 - cupertino_icons: ^1.0.2 + color_blindness: ^0.2.0 + cupertino_icons: ^1.0.8 carousel_slider: ^4.2.1 desktop_window: ^0.4.0 device_info_plus: ^10.1.0 # device_preview: ^1.1.0 - file_picker: ^8.0.3 + file_picker: ^8.0.6 flutter_dotenv: ^5.1.0 flutter_file_dialog: ^3.0.2 flutter_secure_storage: ^9.2.2 flutter_web_auth_2: ^3.1.2 - flutter_widget_from_html_core: ^0.14.12 + flutter_widget_from_html_core: ^0.15.1 get_it: ^7.7.0 get_it_mixin: ^4.2.2 go_router: ^14.1.2 From f5baecc87c3b6513e9577c25b0d475187cae4bec Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Mon, 22 Jul 2024 14:07:30 +0300 Subject: [PATCH 20/22] Last few tweaks --- pubspec.lock | 20 ++++++++++---------- pubspec.yaml | 10 +++++----- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 912b227..e5123bb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -596,10 +596,10 @@ packages: dependency: "direct main" description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" image_gallery_saver: dependency: "direct main" description: @@ -612,10 +612,10 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "33974eca2e87e8b4e3727f1b94fa3abcb25afe80b6bc2c4d449a0e150aedf720" + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" image_picker_android: dependency: transitive description: @@ -1361,10 +1361,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.6" + version: "6.3.0" url_launcher_android: dependency: transitive description: @@ -1425,10 +1425,10 @@ packages: dependency: "direct main" description: name: uuid - sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8" + sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.4.2" vector_graphics: dependency: transitive description: @@ -1465,10 +1465,10 @@ packages: dependency: "direct main" description: name: video_player - sha256: db6a72d8f4fd155d0189845678f55ad2fd54b02c10dcafd11c068dbb631286c0 + sha256: e30df0d226c4ef82e2c150ebf6834b3522cf3f654d8e2f9419d376cdc071425d url: "https://pub.dev" source: hosted - version: "2.8.6" + version: "2.9.1" video_player_android: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index daab9f1..054f94d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,8 +27,8 @@ dependencies: get_it_mixin: ^4.2.2 go_router: ^14.1.2 html: ^0.15.4 - image: ^4.1.7 - image_picker: ^1.1.1 + image: ^4.2.0 + image_picker: ^1.1.2 logging: ^1.2.0 markdown: ^7.2.2 ## TODO Media Kit Update @@ -49,9 +49,9 @@ dependencies: stack_trace: ^1.11.1 string_validator: ^1.1.0 time_machine: ^0.9.17 - url_launcher: ^6.2.6 - uuid: ^4.4.0 - video_player: ^2.8.6 + url_launcher: ^6.3.0 + uuid: ^4.4.2 + video_player: ^2.9.1 flutter_svg: ^2.0.10+1 image_gallery_saver: ^2.0.3 From ea13e1129c957b17c20de82dc065ec1f052677fe Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Fri, 26 Jul 2024 09:59:53 -0400 Subject: [PATCH 21/22] Restore sign-in changes to fix username/email confusion --- lib/screens/sign_in.dart | 470 ++++++++++++++++++++------------------- 1 file changed, 240 insertions(+), 230 deletions(-) diff --git a/lib/screens/sign_in.dart b/lib/screens/sign_in.dart index 7870384..e4e6b3a 100644 --- a/lib/screens/sign_in.dart +++ b/lib/screens/sign_in.dart @@ -61,8 +61,7 @@ class _SignInScreenState extends State { void _updateSignInButtonStatus() { setState(() { signInButtonEnabled = switch (oauthType) { - usernamePasswordType => - serverNameController.text.isNotEmpty && + usernamePasswordType => serverNameController.text.isNotEmpty && usernameController.text.isNotEmpty && passwordController.text.isNotEmpty, oauthType => serverNameController.text.isNotEmpty, @@ -141,249 +140,259 @@ class _SignInScreenState extends State { child: Form( key: formKey, child: Center( - child: ListView( - children: [ - Center( - child: DropdownButton( - value: authType, - items: authTypes - .map( - (a) => DropdownMenuItem(value: a, child: Text(a))) - .toList(), - onChanged: existingAccount - ? null - : (value) { - if (existingAccount) { - buildSnackbar(context, - "Can't change the type on an existing account"); - return; - } - authType = value!; - setState(() {}); - }), - ), - const VerticalPadding(), - TextFormField( - autocorrect: false, - readOnly: existingAccount, - autovalidateMode: AutovalidateMode.onUserInteraction, - controller: serverNameController, - validator: (value) => - isFQDN(value ?? '') ? null : 'Not a valid server name', - decoration: InputDecoration( - hintText: 'Server Name (friendica.example.com)', - border: OutlineInputBorder( - borderSide: BorderSide( - color: Theme - .of(context) - .colorScheme - .surface, - ), - borderRadius: BorderRadius.circular(5.0), - ), - labelText: 'Server Name', - ), - ), - const VerticalPadding(), - if (!showUsernameAndPasswordFields) ...[ - Text( - existingAccount - ? 'Configured to sign in as user ${existingProfile - ?.handle}' - : 'Relatica will open the requested Friendica site in a web browser where you will be asked to authorize this client.', - softWrap: true, + child: AutofillGroup( + child: ListView( + children: [ + Center( + child: DropdownButton( + value: authType, + items: authTypes + .map((a) => + DropdownMenuItem(value: a, child: Text(a))) + .toList(), + onChanged: existingAccount + ? null + : (value) { + if (existingAccount) { + buildSnackbar(context, + "Can't change the type on an existing account"); + return; + } + authType = value!; + setState(() {}); + }), ), const VerticalPadding(), - ], - if (showUsernameAndPasswordFields) ...[ TextFormField( + autocorrect: false, readOnly: existingAccount, autovalidateMode: AutovalidateMode.onUserInteraction, - controller: usernameController, - keyboardType: TextInputType.emailAddress, - validator: (value) { - if (value == null) { - return null; - } + controller: serverNameController, + validator: (value) => + isFQDN(value ?? '') ? null : 'Not a valid server name', + decoration: InputDecoration( + hintText: 'Server Name (friendica.example.com)', + border: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.surface, + ), + borderRadius: BorderRadius.circular(5.0), + ), + labelText: 'Server Name', + ), + ), + const VerticalPadding(), + if (!showUsernameAndPasswordFields) ...[ + Text( + existingAccount + ? 'Configured to sign in as user ${existingProfile?.handle}' + : 'Relatica will open the requested Friendica site in a web browser where you will be asked to authorize this client.', + softWrap: true, + ), + const VerticalPadding(), + ], + if (showUsernameAndPasswordFields) ...[ + TextFormField( + readOnly: existingAccount, + autovalidateMode: AutovalidateMode.onUserInteraction, + autofillHints: const [AutofillHints.username], + controller: usernameController, + keyboardType: TextInputType.emailAddress, + validator: (value) { + if (value == null) { + return null; + } - if (value.contains('@')) { - return isEmail(value) + if (value.contains('@')) { + final properFormat = isEmail(value); + if (!properFormat) { + return 'Not a valid Friendica Account Address'; + } + final elements = value.split('@'); + if (elements.last != serverNameController.text) { + return 'Server name must match above field.\nUsername should be the *Friendica* username.\nThis is not the email address of the account.'; + } + return null; + } + + return isAlphanumeric(value.replaceAll('-', '')) ? null - : 'Not a valid Friendica Account Address'; - } - - return isAlphanumeric(value.replaceAll('-', '')) - ? null - : 'Username should be alpha-numeric'; - }, - decoration: InputDecoration( - prefixIcon: const Icon(Icons.alternate_email), - hintText: 'Username (user@example.com)', - border: OutlineInputBorder( - borderSide: BorderSide( - color: Theme - .of(context) - .colorScheme - .surface, + : 'Username should be alpha-numeric'; + }, + decoration: InputDecoration( + prefixIcon: const Icon(Icons.alternate_email), + hintText: + 'Your username on the server (not email address)', + border: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.surface, + ), + borderRadius: BorderRadius.circular(5.0), ), - borderRadius: BorderRadius.circular(5.0), + labelText: 'Username', ), - labelText: 'Username', ), - ), - const VerticalPadding(), - TextFormField( - readOnly: existingAccount, - obscureText: hidePassword, - controller: passwordController, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Password field cannot be empty'; - } + const VerticalPadding(), + TextFormField( + readOnly: existingAccount, + obscureText: hidePassword, + controller: passwordController, + autofillHints: const [AutofillHints.password], + validator: (value) { + if (value == null || value.isEmpty) { + return 'Password field cannot be empty'; + } - return null; - }, - decoration: InputDecoration( - prefixIcon: const Icon(Icons.password), - suffixIcon: IconButton( - onPressed: () { - setState(() { - hidePassword = !hidePassword; - }); - }, - icon: hidePassword - ? const Icon(Icons.remove_red_eye_outlined) - : const Icon(Icons.remove_red_eye), - ), - hintText: 'Password', - border: OutlineInputBorder( - borderSide: BorderSide( - color: Theme - .of(context) - .colorScheme - .surface, + return null; + }, + decoration: InputDecoration( + prefixIcon: const Icon(Icons.password), + suffixIcon: IconButton( + onPressed: () { + setState(() { + hidePassword = !hidePassword; + }); + }, + icon: hidePassword + ? const Icon(Icons.remove_red_eye_outlined) + : const Icon(Icons.remove_red_eye), ), - borderRadius: BorderRadius.circular(5.0), + hintText: 'Password', + border: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.surface, + ), + borderRadius: BorderRadius.circular(5.0), + ), + labelText: 'Password', ), - labelText: 'Password', ), - ), + const VerticalPadding(), + ], + signInButtonEnabled + ? ElevatedButton( + onPressed: () async => await _signIn(context), + child: const Text('Signin'), + ) + : SizedBox(), const VerticalPadding(), + Text( + 'Logged out:', + style: Theme.of(context).textTheme.headlineSmall, + ), + loggedOutProfiles.isEmpty + ? const Text( + 'No logged out profiles', + textAlign: TextAlign.center, + ) + : Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + border: Border.all( + width: 0.5, + )), + child: Column( + children: loggedOutProfiles.map((p) { + return ListTile( + onTap: () { + setCredentials(context, p); + setState(() {}); + }, + title: Text(p.handle), + subtitle: Text(p.credentials is BasicCredentials + ? usernamePasswordType + : oauthType), + trailing: ElevatedButton( + onPressed: () async { + final confirm = await showYesNoDialog( + context, + 'Remove login information from app?'); + if (confirm ?? false) { + await service.removeProfile(p); + } + setState(() {}); + }, + child: const Text('Remove'), + ), + ); + }).toList(), + ), + ), + const VerticalPadding(), + Text( + 'Logged in:', + style: Theme.of(context).textTheme.headlineSmall, + ), + loggedInProfiles.isEmpty + ? const Text( + 'No logged in profiles', + textAlign: TextAlign.center, + ) + : Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + border: Border.all( + width: 0.5, + )), + child: Column( + children: loggedInProfiles.map((p) { + final active = service.loggedIn + ? p.id == service.currentProfile.id + : false; + return ListTile( + onTap: () async { + setCredentials(context, p); + setState(() {}); + }, + title: Text( + p.handle, + style: active + ? const TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic) + : null, + ), + subtitle: Text( + p.credentials is BasicCredentials + ? usernamePasswordType + : oauthType, + style: active + ? const TextStyle( + fontWeight: FontWeight.bold, + fontStyle: FontStyle.italic) + : null, + ), + trailing: ElevatedButton( + onPressed: () async { + final confirm = await showYesNoDialog( + context, 'Log out account?'); + if (confirm == true) { + await getIt().signOut(p); + setState(() {}); + } + }, + child: const Text('Sign out'), + ), + ); + }).toList(), + ), + ), + const VerticalPadding(), + ElevatedButton( + onPressed: () async { + final confirm = await showYesNoDialog(context, + 'Are you sure you want to logout and delete *all* accounts? This cannot be undone.') ?? + false; + print(confirm); + if (!confirm) { + return; + } + + await getIt().clearAllProfiles(); + }, + child: Text('Clear All')), ], - signInButtonEnabled - ? ElevatedButton( - onPressed: () async => await _signIn(context), - child: const Text('Signin'), - ) - : const SizedBox(), - const VerticalPadding(), - Text( - 'Logged out:', - style: Theme - .of(context) - .textTheme - .headlineSmall, - ), - loggedOutProfiles.isEmpty - ? const Text( - 'No logged out profiles', - textAlign: TextAlign.center, - ) - : Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - border: Border.all( - width: 0.5, - )), - child: Column( - children: loggedOutProfiles.map((p) { - return ListTile( - onTap: () { - setCredentials(context, p); - setState(() {}); - }, - title: Text(p.handle), - subtitle: Text(p.credentials is BasicCredentials - ? usernamePasswordType - : oauthType), - trailing: ElevatedButton( - onPressed: () async { - final confirm = await showYesNoDialog(context, - 'Remove login information from app?'); - if (confirm ?? false) { - await service.removeProfile(p); - } - setState(() {}); - }, - child: const Text('Remove'), - ), - ); - }).toList(), - ), - ), - const VerticalPadding(), - Text( - 'Logged in:', - style: Theme - .of(context) - .textTheme - .headlineSmall, - ), - loggedInProfiles.isEmpty - ? const Text( - 'No logged in profiles', - textAlign: TextAlign.center, - ) - : Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - border: Border.all( - width: 0.5, - )), - child: Column( - children: loggedInProfiles.map((p) { - final active = service.loggedIn - ? p.id == service.currentProfile.id - : false; - return ListTile( - onTap: () async { - setCredentials(context, p); - setState(() {}); - }, - title: Text( - p.handle, - style: active - ? const TextStyle( - fontWeight: FontWeight.bold, - fontStyle: FontStyle.italic) - : null, - ), - subtitle: Text( - p.credentials is BasicCredentials - ? usernamePasswordType - : oauthType, - style: active - ? const TextStyle( - fontWeight: FontWeight.bold, - fontStyle: FontStyle.italic) - : null, - ), - trailing: ElevatedButton( - onPressed: () async { - final confirm = await showYesNoDialog( - context, 'Log out account?'); - if (confirm == true) { - await getIt().signOut(p); - setState(() {}); - } - }, - child: const Text('Sign out'), - ), - ); - }).toList(), - ), - ), - ], + ), ), ), ), @@ -405,8 +414,9 @@ class _SignInScreenState extends State { } else { switch (authType) { case usernamePasswordType: + final username = usernameController.text.split('@').first; creds = BasicCredentials( - username: usernameController.text, + username: username, password: passwordController.text, serverName: serverNameController.text); break; From 09db8803d644eec3be3613da0096d8fda18d6021 Mon Sep 17 00:00:00 2001 From: Hank Grabowski Date: Fri, 26 Jul 2024 10:15:24 -0400 Subject: [PATCH 22/22] Fix Dart analysis warnings --- lib/app_theme.dart | 1 - .../video_player_lib_av_control.dart | 5 +- .../mention_autocomplete_options.dart | 3 - lib/controls/notifications_control.dart | 10 ++- lib/controls/timeline/timeline_panel.dart | 2 +- lib/friendica_client/friendica_client.dart | 2 +- lib/main.dart | 2 - lib/models/auth/basic_credentials.dart | 2 +- lib/models/timeline.dart | 2 +- ...tifiers.dart => timeline_identifiers.dart} | 0 lib/screens/circle_add_users_screen.dart | 4 +- lib/screens/circle_editor_screen.dart | 4 +- lib/screens/editor.dart | 88 +++++++++---------- lib/screens/filter_editor_screen.dart | 10 ++- lib/screens/home.dart | 2 +- lib/screens/image_editor_screen.dart | 2 +- lib/screens/media_viewer_screen.dart | 13 +-- lib/screens/notifications_screen.dart | 4 +- lib/screens/post_screen.dart | 1 + lib/screens/search_screen.dart | 7 +- lib/screens/settings_screen.dart | 4 +- lib/screens/sign_in.dart | 11 ++- lib/screens/user_posts_screen.dart | 2 +- lib/screens/user_profile_screen.dart | 2 +- lib/services/connections_manager.dart | 2 +- lib/services/entry_manager_service.dart | 2 +- lib/services/notifications_manager.dart | 5 +- lib/services/timeline_manager.dart | 2 +- lib/utils/entry_tree_item_flattening.dart | 6 +- lib/utils/html_to_edit_text_helper.dart | 2 - lib/utils/network_utils.dart | 3 +- 31 files changed, 103 insertions(+), 102 deletions(-) rename lib/models/{TimelineIdentifiers.dart => timeline_identifiers.dart} (100%) diff --git a/lib/app_theme.dart b/lib/app_theme.dart index 97957db..3f1f190 100644 --- a/lib/app_theme.dart +++ b/lib/app_theme.dart @@ -1,5 +1,4 @@ import 'package:color_blindness/color_blindness.dart'; -import 'package:color_blindness/color_blindness_color_scheme.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/lib/controls/audio_video/video_player_lib_av_control.dart b/lib/controls/audio_video/video_player_lib_av_control.dart index bfb6bfe..cfcc8b6 100644 --- a/lib/controls/audio_video/video_player_lib_av_control.dart +++ b/lib/controls/audio_video/video_player_lib_av_control.dart @@ -27,7 +27,8 @@ class _VideoPlayerLibAvControlState extends State { @override void initState() { super.initState(); - videoPlayerController = VideoPlayerController.network(widget.videoUrl); + videoPlayerController = + VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl)); } @override @@ -70,7 +71,7 @@ class _VideoPlayerLibAvControlState extends State { videoWidth = scaling * size.width; videoHeight = scaling * size.height; } - print('Video Width: $videoWidth, Video Height: $videoHeight'); + return GestureDetector( onTap: toggleVideoPlay, child: Column( diff --git a/lib/controls/autocomplete/mention_autocomplete_options.dart b/lib/controls/autocomplete/mention_autocomplete_options.dart index de3bdd4..485b3d8 100644 --- a/lib/controls/autocomplete/mention_autocomplete_options.dart +++ b/lib/controls/autocomplete/mention_autocomplete_options.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:logging/logging.dart'; import 'package:provider/provider.dart'; import '../../models/connection.dart'; @@ -9,8 +8,6 @@ import '../../utils/active_profile_selector.dart'; import '../image_control.dart'; class MentionAutocompleteOptions extends StatelessWidget { - static final _logger = Logger('$MentionAutocompleteOptions'); - const MentionAutocompleteOptions({ super.key, required this.id, diff --git a/lib/controls/notifications_control.dart b/lib/controls/notifications_control.dart index 17a6c99..46d60e5 100644 --- a/lib/controls/notifications_control.dart +++ b/lib/controls/notifications_control.dart @@ -38,11 +38,15 @@ class NotificationControl extends StatelessWidget { } final loadedPost = await manager.refreshStatusChain(notification.iid); if (loadedPost.isSuccess) { - context.push('/post/view/${loadedPost.value.id}/${notification.iid}'); + if (context.mounted) { + context.push('/post/view/${loadedPost.value.id}/${notification.iid}'); + } return; } - buildSnackbar( - context, 'Error getting data for notification: ${loadedPost.error}'); + if (context.mounted) { + buildSnackbar( + context, 'Error getting data for notification: ${loadedPost.error}'); + } } @override diff --git a/lib/controls/timeline/timeline_panel.dart b/lib/controls/timeline/timeline_panel.dart index 9b78c75..cbd0720 100644 --- a/lib/controls/timeline/timeline_panel.dart +++ b/lib/controls/timeline/timeline_panel.dart @@ -5,7 +5,7 @@ import 'package:relatica/controls/padding.dart'; import 'package:relatica/globals.dart'; import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; -import '../../models/TimelineIdentifiers.dart'; +import '../../models/timeline_identifiers.dart'; import '../../services/network_status_service.dart'; import '../../services/setting_service.dart'; import '../../services/timeline_manager.dart'; diff --git a/lib/friendica_client/friendica_client.dart b/lib/friendica_client/friendica_client.dart index e74c1d6..74b6c38 100644 --- a/lib/friendica_client/friendica_client.dart +++ b/lib/friendica_client/friendica_client.dart @@ -8,7 +8,6 @@ import 'package:result_monad/result_monad.dart'; import '../friendica_client/paged_response.dart'; import '../globals.dart'; -import '../models/TimelineIdentifiers.dart'; import '../models/auth/profile.dart'; import '../models/circle_data.dart'; import '../models/connection.dart'; @@ -22,6 +21,7 @@ import '../models/media_attachment_uploads/image_types_enum.dart'; import '../models/search_results.dart'; import '../models/search_types.dart'; import '../models/timeline_entry.dart'; +import '../models/timeline_identifiers.dart'; import '../models/user_notification.dart'; import '../models/visibility.dart'; import '../serializers/friendica/direct_message_friendica_extensions.dart'; diff --git a/lib/main.dart b/lib/main.dart index a222708..328d89b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -36,7 +36,6 @@ void main() async { getIt.registerSingleton(logService); // await dotenv.load(fileName: '.env'); - const enablePreview = false; Logger.root.level = Level.OFF; Logger.root.onRecord.listen((event) { logService.add(event); @@ -70,7 +69,6 @@ class App extends StatelessWidget { return AnimatedBuilder( builder: (context, child) { Logger.root.level = settingsService.logLevel; - print('Log level: ${settingsService.logLevel}'); return Portal( child: MultiProvider( providers: [ diff --git a/lib/models/auth/basic_credentials.dart b/lib/models/auth/basic_credentials.dart index 8cc4430..c90e04e 100644 --- a/lib/models/auth/basic_credentials.dart +++ b/lib/models/auth/basic_credentials.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:result_monad/src/result_monad_base.dart'; +import 'package:result_monad/result_monad.dart'; import 'package:uuid/uuid.dart'; import '../exec_error.dart'; diff --git a/lib/models/timeline.dart b/lib/models/timeline.dart index 768ccf1..013af3a 100644 --- a/lib/models/timeline.dart +++ b/lib/models/timeline.dart @@ -1,5 +1,5 @@ -import 'TimelineIdentifiers.dart'; import 'entry_tree_item.dart'; +import 'timeline_identifiers.dart'; const defaultLowestId = 9223372036854775807; const defaultHighestId = 0; diff --git a/lib/models/TimelineIdentifiers.dart b/lib/models/timeline_identifiers.dart similarity index 100% rename from lib/models/TimelineIdentifiers.dart rename to lib/models/timeline_identifiers.dart diff --git a/lib/screens/circle_add_users_screen.dart b/lib/screens/circle_add_users_screen.dart index 0ebf071..cfbe6e6 100644 --- a/lib/screens/circle_add_users_screen.dart +++ b/lib/screens/circle_add_users_screen.dart @@ -54,7 +54,9 @@ class _CircleAddUsersScreenState extends State { onSuccess: (_) => 'Added $messageBase', onError: (error) => 'Error adding $messageBase: $error', ); - buildSnackbar(context, message); + if (mounted) { + buildSnackbar(context, message); + } } } diff --git a/lib/screens/circle_editor_screen.dart b/lib/screens/circle_editor_screen.dart index d354a69..6061050 100644 --- a/lib/screens/circle_editor_screen.dart +++ b/lib/screens/circle_editor_screen.dart @@ -81,7 +81,9 @@ class _CircleEditorScreenState extends State { onSuccess: (_) => 'Removed $messageBase', onError: (error) => 'Error removing $messageBase: $error', ); - buildSnackbar(context, message); + if (mounted) { + buildSnackbar(context, message); + } } } diff --git a/lib/screens/editor.dart b/lib/screens/editor.dart index c1b0360..d0fa4f9 100644 --- a/lib/screens/editor.dart +++ b/lib/screens/editor.dart @@ -178,7 +178,7 @@ class _EditorScreenState extends State { return; } - if (mounted && context.canPop()) { + if (context.mounted && context.canPop()) { context.pop(); } } @@ -220,7 +220,7 @@ class _EditorScreenState extends State { return; } - if (mounted && context.canPop()) { + if (context.mounted && context.canPop()) { context.pop(); } } @@ -254,51 +254,49 @@ class _EditorScreenState extends State { } else { final mainBody = Padding( padding: const EdgeInsets.all(8.0), - child: Container( - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - if (isComment && parentEntry != null) - buildCommentPreview(context, parentEntry!), - TextFormField( - readOnly: isSubmitting, - enabled: !isSubmitting && canSpoilerText, - controller: spoilerController, - textCapitalization: TextCapitalization.sentences, - decoration: InputDecoration( - labelText: canSpoilerText - ? '$statusType Spoiler Text (optional)' - : 'Your server doesnt support $statusType Spoiler Text', - border: OutlineInputBorder( - borderSide: const BorderSide(), - borderRadius: BorderRadius.circular(5.0), - ), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + if (isComment && parentEntry != null) + buildCommentPreview(context, parentEntry!), + TextFormField( + readOnly: isSubmitting, + enabled: !isSubmitting && canSpoilerText, + controller: spoilerController, + textCapitalization: TextCapitalization.sentences, + decoration: InputDecoration( + labelText: canSpoilerText + ? '$statusType Spoiler Text (optional)' + : 'Your server doesnt support $statusType Spoiler Text', + border: OutlineInputBorder( + borderSide: const BorderSide(), + borderRadius: BorderRadius.circular(5.0), ), ), - const VerticalPadding(), - buildVisibilitySelector(context), - const VerticalPadding(), - buildContentField(context), - CharacterCountWidget( - contentController: contentController, - linkPreviewController: linkPreviewController, - ), - const VerticalPadding(), - buildLinkWithPreview(context), - const VerticalPadding(), - GallerySelectorControl( - entries: existingMediaItems, - visibilityFilter: visibility, - ), - const VerticalPadding(), - MediaUploadsControl( - entryMediaItems: newMediaItems, - ), - buildButtonBar(context, manager), - ], - ), + ), + const VerticalPadding(), + buildVisibilitySelector(context), + const VerticalPadding(), + buildContentField(context), + CharacterCountWidget( + contentController: contentController, + linkPreviewController: linkPreviewController, + ), + const VerticalPadding(), + buildLinkWithPreview(context), + const VerticalPadding(), + GallerySelectorControl( + entries: existingMediaItems, + visibilityFilter: visibility, + ), + const VerticalPadding(), + MediaUploadsControl( + entryMediaItems: newMediaItems, + ), + buildButtonBar(context, manager), + ], ), ), ); diff --git a/lib/screens/filter_editor_screen.dart b/lib/screens/filter_editor_screen.dart index b772bf4..baff573 100644 --- a/lib/screens/filter_editor_screen.dart +++ b/lib/screens/filter_editor_screen.dart @@ -133,10 +133,12 @@ class _FilterEditorScreenState extends State { } if (filteredAuthors.contains(newConnection)) { - buildSnackbar( - context, - 'Already filtering on ${newConnection.handle}', - ); + if (context.mounted) { + buildSnackbar( + context, + 'Already filtering on ${newConnection.handle}', + ); + } } setState(() { filteredAuthors.add(newConnection); diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 82fb0d3..6833cf7 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -10,7 +10,7 @@ import '../controls/responsive_max_width.dart'; import '../controls/standard_app_drawer.dart'; import '../controls/timeline/timeline_panel.dart'; import '../globals.dart'; -import '../models/TimelineIdentifiers.dart'; +import '../models/timeline_identifiers.dart'; import '../services/auth_service.dart'; import '../services/network_status_service.dart'; import '../services/timeline_manager.dart'; diff --git a/lib/screens/image_editor_screen.dart b/lib/screens/image_editor_screen.dart index 6217189..9edcb3f 100644 --- a/lib/screens/image_editor_screen.dart +++ b/lib/screens/image_editor_screen.dart @@ -106,7 +106,7 @@ class _ImageEditorScreenState extends State { context, 'Cancel changes?', ); - if (ok == true && mounted) { + if (ok == true && context.mounted) { context.pop(); } }, diff --git a/lib/screens/media_viewer_screen.dart b/lib/screens/media_viewer_screen.dart index 74c094a..a2d687f 100644 --- a/lib/screens/media_viewer_screen.dart +++ b/lib/screens/media_viewer_screen.dart @@ -67,7 +67,7 @@ class _MediaViewerScreenState extends State { final bytesResult = await RemoteFileClient(getIt().currentProfile) .getFileBytes(attachment.uri); - if (bytesResult.isFailure && mounted) { + if (bytesResult.isFailure && context.mounted) { buildSnackbar(context, 'Error getting full size version of file: ${bytesResult.error}'); return; @@ -75,10 +75,13 @@ class _MediaViewerScreenState extends State { if (Platform.isAndroid || Platform.isIOS) { final saveResult = await ImageGallerySaver.saveImage(bytesResult.value); - if (saveResult['isSuccess']) { - buildSnackbar(context, 'Image saved to gallery'); - } else { - buildSnackbar(context, 'Unable to save to gallery, check permissions'); + if (context.mounted) { + if (saveResult['isSuccess']) { + buildSnackbar(context, 'Image saved to gallery'); + } else { + buildSnackbar( + context, 'Unable to save to gallery, check permissions'); + } } } else { final location = await FilePicker.platform.saveFile( diff --git a/lib/screens/notifications_screen.dart b/lib/screens/notifications_screen.dart index 2c52a27..e8802b6 100644 --- a/lib/screens/notifications_screen.dart +++ b/lib/screens/notifications_screen.dart @@ -168,7 +168,9 @@ class NotificationsScreen extends StatelessWidget { final message = (await manager.markAllAsRead()).fold( onSuccess: (_) => 'Marked all notifications as read', onError: (error) => 'Error marking notifications: $error'); - buildSnackbar(context, message); + if (context.mounted) { + buildSnackbar(context, message); + } } } } diff --git a/lib/screens/post_screen.dart b/lib/screens/post_screen.dart index 31cc629..c8d9a24 100644 --- a/lib/screens/post_screen.dart +++ b/lib/screens/post_screen.dart @@ -30,6 +30,7 @@ class _PostScreenState extends State { @override void initState() { + super.initState(); Future.delayed(const Duration(milliseconds: 500), () async { getIt>() .activeEntry diff --git a/lib/screens/search_screen.dart b/lib/screens/search_screen.dart index c2b4721..5667bbe 100644 --- a/lib/screens/search_screen.dart +++ b/lib/screens/search_screen.dart @@ -62,13 +62,11 @@ class _SearchScreenState extends State { } Future updateSearchResults(Profile profile, {bool reset = true}) async { - print('Starting update'); if (reset) { nextPage = PagingData(limit: limit); searchResult = SearchResults.empty(); } - print('Search $searchType on ${searchTextController.text}'); final result = await SearchClient(profile) .search(searchType, searchTextController.text, nextPage); result.match( @@ -80,12 +78,9 @@ class _SearchScreenState extends State { onError: (error) => buildSnackbar(context, 'Error getting search result: $error'), ); - - print('Ending update'); } clearSearchResults() { - print('Clearing results'); setState(() { searchResult = SearchResults.empty(); searchTextController.text = ''; @@ -329,7 +324,7 @@ class _SearchScreenState extends State { await cm.fullRefresh(connection); } }); - if (context.mounted) { + if (mounted) { context.pushNamed(ScreenPaths.userProfile, pathParameters: {'id': connection.id}); } diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index f5f0c3d..e358eb0 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -219,7 +219,7 @@ class NetworkCapabilitiesWidget extends StatelessWidget { } return ListTile( - title: Row( + title: const Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('Network Capabilities'), @@ -230,7 +230,7 @@ class NetworkCapabilitiesWidget extends StatelessWidget { ], ), subtitle: DataTable( - columns: [ + columns: const [ DataColumn(label: Text('Network')), DataColumn(label: Text('React')), DataColumn(label: Text('Reshare')), diff --git a/lib/screens/sign_in.dart b/lib/screens/sign_in.dart index e4e6b3a..907e7b1 100644 --- a/lib/screens/sign_in.dart +++ b/lib/screens/sign_in.dart @@ -274,7 +274,7 @@ class _SignInScreenState extends State { onPressed: () async => await _signIn(context), child: const Text('Signin'), ) - : SizedBox(), + : const SizedBox(), const VerticalPadding(), Text( 'Logged out:', @@ -383,14 +383,13 @@ class _SignInScreenState extends State { final confirm = await showYesNoDialog(context, 'Are you sure you want to logout and delete *all* accounts? This cannot be undone.') ?? false; - print(confirm); if (!confirm) { return; } await getIt().clearAllProfiles(); }, - child: Text('Clear All')), + child: const Text('Clear All')), ], ), ), @@ -438,16 +437,16 @@ class _SignInScreenState extends State { creds, withNotification: false, ); - if (mounted && result.isFailure) { + if (context.mounted && result.isFailure) { buildSnackbar(context, 'Error signing in: ${result.error}'); return; } - if (mounted) { + if (context.mounted) { buildSnackbar(context, 'Account signed in...'); } await getIt().setActiveProfile(result.value); - if (mounted) { + if (context.mounted) { context.goNamed(ScreenPaths.timelines); } } diff --git a/lib/screens/user_posts_screen.dart b/lib/screens/user_posts_screen.dart index 9d5e52c..f1b9325 100644 --- a/lib/screens/user_posts_screen.dart +++ b/lib/screens/user_posts_screen.dart @@ -4,7 +4,7 @@ import '../controls/linear_status_indicator.dart'; import '../controls/standard_appbar.dart'; import '../controls/timeline/timeline_panel.dart'; import '../globals.dart'; -import '../models/TimelineIdentifiers.dart'; +import '../models/timeline_identifiers.dart'; import '../services/network_status_service.dart'; import '../services/timeline_manager.dart'; import '../utils/active_profile_selector.dart'; diff --git a/lib/screens/user_profile_screen.dart b/lib/screens/user_profile_screen.dart index 66abb89..2916e66 100644 --- a/lib/screens/user_profile_screen.dart +++ b/lib/screens/user_profile_screen.dart @@ -189,7 +189,7 @@ class _UserProfileScreenState extends State { } else { await manager.removeUserFromCircle(g, profile); } - if (mounted) { + if (context.mounted) { buildSnackbar(context, "User's Circles Updated"); } diff --git a/lib/services/connections_manager.dart b/lib/services/connections_manager.dart index 41b82e1..46fc351 100644 --- a/lib/services/connections_manager.dart +++ b/lib/services/connections_manager.dart @@ -322,7 +322,7 @@ class ConnectionsManager extends ChangeNotifier { Result, ExecError> getCirclesForUser(String id) { final result = circlesRepo.getCirclesForUser(id); if (result.isSuccess) { - print("Circles for user $id: $result"); + _logger.finer("Circles for user $id: $result"); return result; } diff --git a/lib/services/entry_manager_service.dart b/lib/services/entry_manager_service.dart index 3460438..d87ffab 100644 --- a/lib/services/entry_manager_service.dart +++ b/lib/services/entry_manager_service.dart @@ -6,13 +6,13 @@ import 'package:result_monad/result_monad.dart'; import '../friendica_client/friendica_client.dart'; import '../friendica_client/paging_data.dart'; import '../globals.dart'; -import '../models/TimelineIdentifiers.dart'; import '../models/auth/profile.dart'; import '../models/entry_tree_item.dart'; import '../models/exec_error.dart'; import '../models/image_entry.dart'; import '../models/media_attachment_uploads/new_entry_media_items.dart'; import '../models/timeline_entry.dart'; +import '../models/timeline_identifiers.dart'; import '../models/visibility.dart'; import '../utils/active_profile_selector.dart'; import 'media_upload_attachment_helper.dart'; diff --git a/lib/services/notifications_manager.dart b/lib/services/notifications_manager.dart index 17a9e42..ee6698a 100644 --- a/lib/services/notifications_manager.dart +++ b/lib/services/notifications_manager.dart @@ -80,8 +80,9 @@ class NotificationsManager extends ChangeNotifier { first = false; result.match( - onSuccess: (nd) => print('Got ${nd.data.length} notifications'), - onError: (e) => debugPrint('Error getting notification: $e')); + onSuccess: (nd) => + _logger.fine('Got ${nd.data.length} notifications'), + onError: (e) => _logger.severe('Error getting notification: $e')); final response = result.getValueOrElse(() => PagedResponse([])); response.data .where((n) => diff --git a/lib/services/timeline_manager.dart b/lib/services/timeline_manager.dart index b82601c..fda1a2d 100644 --- a/lib/services/timeline_manager.dart +++ b/lib/services/timeline_manager.dart @@ -4,7 +4,6 @@ import 'package:result_monad/result_monad.dart'; import '../data/interfaces/circles_repo_intf.dart'; import '../friendica_client/friendica_client.dart'; -import '../models/TimelineIdentifiers.dart'; import '../models/auth/profile.dart'; import '../models/circle_data.dart'; import '../models/entry_tree_item.dart'; @@ -13,6 +12,7 @@ import '../models/image_entry.dart'; import '../models/media_attachment_uploads/new_entry_media_items.dart'; import '../models/timeline.dart'; import '../models/timeline_entry.dart'; +import '../models/timeline_identifiers.dart'; import '../models/visibility.dart'; import 'entry_manager_service.dart'; diff --git a/lib/utils/entry_tree_item_flattening.dart b/lib/utils/entry_tree_item_flattening.dart index 5501265..b4b33f8 100644 --- a/lib/utils/entry_tree_item_flattening.dart +++ b/lib/utils/entry_tree_item_flattening.dart @@ -2,10 +2,10 @@ import '../models/entry_tree_item.dart'; import '../models/flattened_tree_item.dart'; extension FlatteningExtensions on EntryTreeItem { - static const BaseLevel = 0; + static const baseLevel = 0; List flatten( - {int level = BaseLevel, bool topLevelOnly = false}) { + {int level = baseLevel, bool topLevelOnly = false}) { final items = []; final myEntry = FlattenedTreeItem( timelineEntry: entry, @@ -23,7 +23,7 @@ extension FlatteningExtensions on EntryTreeItem { c1.entry.creationTimestamp.compareTo(c2.entry.creationTimestamp)); for (final child in sortedChildren) { int childLevel = level + 1; - if (child.entry.authorId == entry.authorId && level != BaseLevel) { + if (child.entry.authorId == entry.authorId && level != baseLevel) { childLevel = level; } diff --git a/lib/utils/html_to_edit_text_helper.dart b/lib/utils/html_to_edit_text_helper.dart index f452b2b..edbdb7d 100644 --- a/lib/utils/html_to_edit_text_helper.dart +++ b/lib/utils/html_to_edit_text_helper.dart @@ -38,9 +38,7 @@ void _updateSwapTagLinks(Node node, List tags) { if (hasExpectedTag) { final profile = getIt().currentProfile; final newTagUrl = generateTagUrlFromProfile(profile, tag); - print(node.attributes['href']); node.attributes['href'] = newTagUrl.toString(); - print(node.attributes['href']); } } for (var n in node.nodes) { diff --git a/lib/utils/network_utils.dart b/lib/utils/network_utils.dart index 60690f3..03b8a10 100644 --- a/lib/utils/network_utils.dart +++ b/lib/utils/network_utils.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:collection/collection.dart'; +import 'package:collection/collection.dart' show MapEquality; import 'package:http/http.dart' as http; import 'package:logging/logging.dart'; import 'package:result_monad/result_monad.dart'; @@ -149,7 +149,6 @@ class _ExpiringRequestCache { response, ); - print('Adding cached response for $type => $url'); _responses[cacheEntry] = cacheEntry; }