From 25876916c6a09de05ba2dec82e35dc9ee70ccfe5 Mon Sep 17 00:00:00 2001 From: Bruno D'Luka Date: Thu, 28 Nov 2024 15:05:19 -0300 Subject: [PATCH 1/4] feat: List snapstore on Downloads section --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e23625d4..ac135278 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ | Android | iOS | Windows | GNU/Linux | MacOS | | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| [arm64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-android-arm64-v8a-release.apk) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id1555805139) | [Windows Setup](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-windows-setup.exe) | 🚧 **SOON** ~~`AppImage`~~ | [Executable `.app`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-macos.7z) | +| [arm64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-android-arm64-v8a-release.apk) | [App Store](https://apps.apple.com/us/app/bluecherry-mobile/id1555805139) | [Windows Setup](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-windows-setup.exe) | [SnapStore](https://snapcraft.io/bluecherry-client) | [Executable `.app`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-macos.7z) | | [armabi `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-android-armeabi-v7a-release.apk) | | 🚧 **SOON** ~~`winget install bluecherry`~~ | [Ubuntu/Debian `.deb`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-linux-x86_64.deb) | 🚧 **SOON** ~~[App Store](https://github.com/bluecherrydvr/unity/issues/112)~~ | | [x86_64 `.apk`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-android-x86_64-release.apk) | | 🚧 **SOON** ~~Microsoft Store~~ | [Raw Executable `.tar.gz`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-linux-x86_64.tar.gz) | | | 🚧 **SOON** ~~Play Store~~ | | | [Fedora/Red Hat Linux `.rpm`](https://github.com/bluecherrydvr/unity/releases/download/v3.0.0-beta20/bluecherry-linux-x86_64.rpm) | | @@ -54,6 +54,14 @@ Or download the latest release [here](https://github.com/bluecherrydvr/unity/rel Most platforms will not require any extra steps to install the app. +#### Android + +Download the APK file and install it. You may need to enable installation from unknown sources in your settings. + +#### Windows + +Download the installer and run it. The app will be installed in the `Program Files` directory. + #### Linux To install the `.deb` file, download it and run: From d1c3d62b5145f7cfc16657454aa3520366227320 Mon Sep 17 00:00:00 2001 From: Bruno D'Luka Date: Thu, 28 Nov 2024 15:50:22 -0300 Subject: [PATCH 2/4] chore: Remove done TODO --- lib/screens/events_timeline/desktop/timeline_sidebar.dart | 2 -- lib/widgets/ptz.dart | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/screens/events_timeline/desktop/timeline_sidebar.dart b/lib/screens/events_timeline/desktop/timeline_sidebar.dart index cb4dc441..912fcd86 100644 --- a/lib/screens/events_timeline/desktop/timeline_sidebar.dart +++ b/lib/screens/events_timeline/desktop/timeline_sidebar.dart @@ -58,8 +58,6 @@ class _TimelineSidebarState extends State with Searchable { ), margin: const EdgeInsetsDirectional.only(end: 4.0, top: 4.0, start: 4.0), child: CollapsableSidebar( - // TODO(bdlukaa): This is not working because offline devices are being - // marked as selected. initiallyClosed: eventsProvider.selectedDevices.isNotEmpty || isEmbedded, left: false, diff --git a/lib/widgets/ptz.dart b/lib/widgets/ptz.dart index 6715e6b4..4d5c92fc 100644 --- a/lib/widgets/ptz.dart +++ b/lib/widgets/ptz.dart @@ -242,7 +242,7 @@ class PTZToggleButton extends StatelessWidget { tooltip: ptzEnabled ? loc.enabledPTZ : loc.disabledPTZ, onPressed: () => onChanged(!ptzEnabled), ), - // TODO(bdlukaa): enable presets when the API is ready + // TODO(bdlukaa): Enable presets when the API is ready // SquaredIconButton( // icon: Icon( // Icons.dataset, From 6371873c662d59dc4d9ed836ce62e745dd74160a Mon Sep 17 00:00:00 2001 From: Bruno D'Luka Date: Sun, 1 Dec 2024 12:17:54 -0300 Subject: [PATCH 3/4] fix: Downgrade flutter_secure_storage --- lib/providers/mobile_view_provider.dart | 4 ++-- lib/utils/keyboard.dart | 6 +---- pubspec.lock | 32 ++++++++++++------------- pubspec.yaml | 2 +- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/lib/providers/mobile_view_provider.dart b/lib/providers/mobile_view_provider.dart index 0026bb7a..d144720c 100644 --- a/lib/providers/mobile_view_provider.dart +++ b/lib/providers/mobile_view_provider.dart @@ -183,10 +183,10 @@ class MobileViewProvider extends UnityProvider { /// Pass [notifyListeners] as `false` to prevent redundant redraws. @override Future save({bool notifyListeners = true}) async { - final data = devices.map( + final data = devices.map?>>( (key, value) => MapEntry( key.toString(), - value.map?>((e) => e?.toJson()), + value.map?>((e) => e?.toJson()).toList(), ), ); diff --git a/lib/utils/keyboard.dart b/lib/utils/keyboard.dart index 71185f1f..b8225580 100644 --- a/lib/utils/keyboard.dart +++ b/lib/utils/keyboard.dart @@ -545,11 +545,7 @@ class KeybindingSetting { required this.system, required this.key, required this.def, - }) { - Future.microtask(() async { - _value = await defaultValue; - }); - } + }); String saveAs(SingleActivator activator) { return [ diff --git a/pubspec.lock b/pubspec.lock index 7a467e0c..a3c2ddfb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -375,10 +375,10 @@ packages: dependency: "direct main" description: name: flutter_secure_storage - sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" + sha256: "22dbf16f23a4bcf9d35e51be1c84ad5bb6f627750565edd70dab70f3ff5fff8f" url: "https://pub.dev" source: hosted - version: "9.2.2" + version: "8.1.0" flutter_secure_storage_linux: dependency: transitive description: @@ -415,10 +415,10 @@ packages: dependency: transitive description: name: flutter_secure_storage_windows - sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 + sha256: "38f9501c7cb6f38961ef0e1eacacee2b2d4715c63cc83fe56449c4d3d0b47255" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "2.1.1" flutter_simple_treeview: dependency: "direct main" description: @@ -658,7 +658,7 @@ packages: description: path: "libs/android/media_kit_libs_android_video" ref: HEAD - resolved-ref: "143143ac17bb0d9664a9df8dc3e4101748e952b4" + resolved-ref: "436735bd8d196e2a82bb21ac4463273db1b17e89" url: "https://github.com/media-kit/media-kit/" source: git version: "1.3.6" @@ -667,7 +667,7 @@ packages: description: path: "libs/ios/media_kit_libs_ios_video" ref: HEAD - resolved-ref: "143143ac17bb0d9664a9df8dc3e4101748e952b4" + resolved-ref: "436735bd8d196e2a82bb21ac4463273db1b17e89" url: "https://github.com/media-kit/media-kit/" source: git version: "1.1.4" @@ -676,7 +676,7 @@ packages: description: path: "libs/macos/media_kit_libs_macos_video" ref: HEAD - resolved-ref: "143143ac17bb0d9664a9df8dc3e4101748e952b4" + resolved-ref: "436735bd8d196e2a82bb21ac4463273db1b17e89" url: "https://github.com/media-kit/media-kit/" source: git version: "1.1.4" @@ -685,7 +685,7 @@ packages: description: path: "libs/windows/media_kit_libs_windows_video" ref: HEAD - resolved-ref: "143143ac17bb0d9664a9df8dc3e4101748e952b4" + resolved-ref: "436735bd8d196e2a82bb21ac4463273db1b17e89" url: "https://github.com/media-kit/media-kit/" source: git version: "1.0.10" @@ -789,10 +789,10 @@ packages: dependency: transitive description: name: path_provider_android - sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a + sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7" url: "https://pub.dev" source: hosted - version: "2.2.12" + version: "2.2.14" path_provider_foundation: dependency: transitive description: @@ -853,10 +853,10 @@ packages: dependency: transitive description: name: permission_handler_html - sha256: "6b9cb54b7135073841a35513fba39e598b421702d5f4d92319992fd6eb5532a9" + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" url: "https://pub.dev" source: hosted - version: "0.1.3+4" + version: "0.1.3+5" permission_handler_platform_interface: dependency: transitive description: @@ -1269,10 +1269,10 @@ packages: dependency: transitive description: name: video_player_avfoundation - sha256: cd5ab8a8bc0eab65ab0cea40304097edc46da574c8c1ecdee96f28cd8ef3792f + sha256: "0b146e5d82e886ff43e5a46c6bcbe390761b802864a6e2503eb612d69a405dfa" url: "https://pub.dev" source: hosted - version: "2.6.2" + version: "2.6.3" video_player_platform_interface: dependency: transitive description: @@ -1333,10 +1333,10 @@ packages: dependency: transitive description: name: win32 - sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2" + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.8.0" + version: "5.9.0" win32_registry: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 35eb55a0..89f1fd65 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -50,7 +50,7 @@ dependencies: path_provider: ^2.1.2 file_picker: ^8.1.2 safe_local_storage: ^1.0.2 # This is required because media_kit is still locked to this version. When bumped in the upstream package, this can be removed - flutter_secure_storage: ^9.2.2 + flutter_secure_storage: ^8.1.0 # Locked to this version because of https://github.com/juliansteenbakker/flutter_secure_storage/issues/634 permission_handler: ^11.1.0 uuid: ^4.3.3 From bd9307845271b9267fca75bb492365113ccd0aff Mon Sep 17 00:00:00 2001 From: Bruno D'Luka Date: Sun, 1 Dec 2024 12:22:59 -0300 Subject: [PATCH 4/4] fix: Clear tiles after disposal --- lib/screens/events_timeline/desktop/timeline.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/screens/events_timeline/desktop/timeline.dart b/lib/screens/events_timeline/desktop/timeline.dart index 662a8017..686c75d2 100644 --- a/lib/screens/events_timeline/desktop/timeline.dart +++ b/lib/screens/events_timeline/desktop/timeline.dart @@ -615,6 +615,7 @@ class Timeline extends ChangeNotifier { for (final tile in tiles) { tile.videoController.dispose(); } + tiles.clear(); zoomController.dispose(); super.dispose(); }