Review and Bug Fixing for Mobile Application

Review 27 okt 2023
Logic Issue with the Filter


When I choose the Mercedes brand...





Seven cars are selected. After that, I choose a model.






2 cars selected



When I deselect Mercedes, the model doesn't reset and remains selected.











When I choose BMW, for instance, the filter becomes empty. So, having selected BMW with Model 200 ( Mercedes ) , the list shows nothing.






Reference to sub collection in search Algoia fixed?











Button Back Bigger in size.




Memory issue

Infinite recursion is the normal reason for running out of stack. 

I've just created a new checkout in the file system, and everything is set up with an installed Flutter upgrade. So, it's unlikely to be something dependent on my machine, especially since everything works fine in the simulator. However, when I start using search, filtering, or simply scrolling on a real device, that's when the issue occurs. 

 Crashes often occur when I start searching and set the focus on the text to type something and begin the search. Or when I press this icon to open the filter menu, it's at that moment that crashes happen very frequently. 



Description of the issue: When I use the accounts and switch with the tab, and then make changes to the profile — for instance, resetting the password or making other adjustments — everything seems fine. However, issues arise specifically when I interact with the car list. For example, if I filter or search for cars, that's when problems occur. It suggests there might be an issue with this particular component. I can use any other function without any issues, but several different errors pop up only when I start using the car search or filter.


Moreover, I see various errors appearing in the logs. However, they most likely aren't directly related to these application crashes, because they show up a bit before the crash. For instance, an error might appear and then after some time, the application exits with a memory error. So, I'm confident that there are some issues within this component.

Case 1 crash when searching via textbox agolia


this problem always appears when I use text search. I can just, for example, play with cars filter and constantly select cars and nothing happening But when i use text search then i get this error. WatchStream (102984298) Stream error: 'Unavailable: Network connectivity changed'



2023-10-27 21:51:23.964312+0200 Runner[16128:13224277] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke

2023-10-27 21:52:30.964748+0200 Runner[16128:13224297] [VERBOSE-2:profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) object terminated

2023-10-27 21:55:39.444196+0200 Runner[16128:13224331] dnssd_clientstub write_all(22) DEFUNCT

2023-10-27 21:55:39.444410+0200 Runner[16128:13224331] dnssd_clientstub deliver_request ERROR: write_all(22, 89 bytes) failed

2023-10-27 21:55:39.444481+0200 Runner[16128:13224331] dnssd_clientstub write_all(22) DEFUNCT

2023-10-27 21:55:39.488405+0200 Runner[16128:13229422] 10.9.0 - [FirebaseFirestore][I-FST000001] WatchStream (102984298) Stream error: 'Unavailable: Network connectivity changed'

Case 2 crash when you browse cars



2023-10-27 22:06:59.285535+0200 Runner[16716:13237967] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke

2023-10-27 22:06:59.287187+0200 Runner[16716:13238107] [SOServiceConnection] <SOServiceConnection: 0x282db2800>: XPC connection interrupted

Case 3 crash when filter Is used







Every start in logs



2023-10-27 22:14:04.706041+0200 Runner[17134:13245178] Metal API Validation Enabled

2023-10-27 22:14:05.037110+0200 Runner[17134:13245178] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(35)] Using the Impeller rendering backend.

2023-10-27 22:14:05.056113+0200 Runner[17134:13245306] 10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.

2023-10-27 22:14:05.241055+0200 Runner[17134:13245306] 10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:

https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging

to ensure proper integration.

2023-10-27 22:14:05.322535+0200 Runner[17134:13245335] flutter: The Dart VM service is listening on http://127.0.0.1:52755/dmOxhLqh-bI=/

2023-10-27 22:14:05.329671+0200 Runner[17134:13245178] [VERBOSE-2:FlutterDartVMServicePublisher.mm(122)] Failed to register Dart VM Service port with mDNS with error -65555.

2023-10-27 22:14:05.329738+0200 Runner[17134:13245178] [VERBOSE-2:FlutterDartVMServicePublisher.mm(124)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartVmService._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions

 

 Troubleshooting

 can't find gem cocoapods (>= 0.a) with executable pod (react-native pod install)



/Library/Ruby/Site/2.6.0/rubygems.rb:264:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)

from /Library/Ruby/Site/2.6.0/rubygems.rb:283:in `activate_bin_path'

from /usr/local/bin/pod:23:in `<main>'

sergejdergatsjev@MacBook-Pro-van-Sergej ios %

Install Brew


curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh

/bin/bash install.sh

brew install chruby ruby-install

brew install cocoapods

if you need to update cocoapods brew upgrade cocoapods

pod setup


brew install cocoapods

Warning: Treating cocoapods as a formula. For the cask, use homebrew/cask/cocoapods

Warning: cocoapods 1.14.2 is already installed, it's just not linked.

To link this version, run:

brew link cocoapods

sergejdergatsjev@MacBook-Pro-van-Sergej ios % brew link cocoapods

Linking /usr/local/Cellar/cocoapods/1.14.2...

Error: Could not symlink bin/pod

Target /usr/local/bin/pod

already exists. You may want to remove it:

rm '/usr/local/bin/pod'


To force the link and overwrite all conflicting files:

brew link --overwrite cocoapods


To list all files that would be deleted:

brew link --overwrite --dry-run cocoapods

sergejdergatsjev@MacBook-Pro-van-Sergej ios % brew link --overwrite --dry-run cocoapods

Would remove:

/usr/local/bin/pod

/usr/local/bin/xcodeproj

sergejdergatsjev@MacBook-Pro-van-Sergej ios % brew link --overwrite cocoapods

Linking /usr/local/Cellar/cocoapods/1.14.2... 2 symlinks created.



2023-10-27 20:58:09.990628+0200 Runner[15238:13195899] Metal API Validation Enabled

2023-10-27 20:58:10.670738+0200 Runner[15238:13195899] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(35)] Using the Impeller rendering backend.

2023-10-27 20:58:10.692071+0200 Runner[15238:13196145] 10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.

2023-10-27 20:58:10.794634+0200 Runner[15238:13196146] 10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:

https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging

to ensure proper integration.

2023-10-27 20:58:10.981960+0200 Runner[15238:13196167] flutter: The Dart VM service is listening on http://127.0.0.1:51905/8i3uo0Z_lHM=/

2023-10-27 20:58:16.488045+0200 Runner[15238:13196217] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke



2023-10-27 21:08:37.192948+0200 Runner[15559:13203914] Metal API Validation Enabled

2023-10-27 21:08:37.576361+0200 Runner[15559:13203914] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(35)] Using the Impeller rendering backend.

2023-10-27 21:08:37.664533+0200 Runner[15559:13204063] 10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.

2023-10-27 21:08:37.801867+0200 Runner[15559:13204061] 10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:

https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging

to ensure proper integration.

2023-10-27 21:08:37.829055+0200 Runner[15559:13204083] flutter: The Dart VM service is listening on http://127.0.0.1:52134/NyXft2Crfi4=/

2023-10-27 21:08:37.869395+0200 Runner[15559:13203914] [VERBOSE-2:FlutterDartVMServicePublisher.mm(122)] Failed to register Dart VM Service port with mDNS with error -65555.

2023-10-27 21:08:37.869453+0200 Runner[15559:13203914] [VERBOSE-2:FlutterDartVMServicePublisher.mm(124)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartVmService._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions

2023-10-27 21:08:59.743770+0200 Runner[15559:13204063] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke

===============

Because auto_v_b_e depends on flutter_localizations from sdk which depends on intl 0.18.0, intl 0.18.0 is required.



"I performed a completely new checkout to make sure it's not an issue with my build machine.

I noticed that 'flutter pub get' is not working.

After running 'flutter upgrade,' it started working again.

Resolving dependencies... (3.9s)"

Because auto_v_b_e depends on flutter_localizations from sdk which depends on intl 0.18.0, intl 0.18.0 is required.

So, because auto_v_b_e depends on intl 0.18.1, version solving failed.

sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % flutter channel stable

Switching to flutter channel 'stable'...

git: Already on 'stable'

git: Your branch and 'origin/stable' have diverged,

git: and have 31 and 1384 different commits each, respectively.

git: (use "git pull" to merge the remote branch into yours)

Successfully switched to flutter channel 'stable'.

To ensure that you're on the latest build from this channel, run 'flutter upgrade'

sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % flutter upgrade

Your flutter checkout has local changes that would be erased by upgrading. If you want to keep these changes, it is recommended that you stash them via "git stash" or else commit the changes to a local branch. If it is

okay to remove local changes, then re-run this command with "--force".

sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % flutter upgrade --force

Upgrading Flutter to 3.13.9 from 3.10.5 in /Users/sergejdergatsjev/Documents/flutter/flutter...

Downloading Darwin x64 Dart SDK from Flutter engine 0545f8705df301877d787107bac1a6e9fc9ee1ad...

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed


0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

0 196M 0 33887 0 0 88908 0 0:38:43 --:--:-- 0:38:43 90365

9 196M 9 18.6M 0 0 13.6M 0 0:00:14 0:00:01 0:00:13 13.7M

22 196M 22 43.3M 0 0 17.6M 0 0:00:11 0:00:02 0:00:09 17.7M

31 196M 31 61.2M 0 0 18.2M 0 0:00:10 0:00:03 0:00:07 18.2M

42 196M 42 82.9M 0 0 18.9M 0 0:00:10 0:00:04 0:00:06 19.0M

61 196M 61 120M 0 0 22.4M 0 0:00:08 0:00:05 0:00:03 24.1M

80 196M 80 159M 0 0 25.0M 0 0:00:07 0:00:06 0:00:01 28.1M

100 196M 100 196M 0 0 27.1M 0 0:00:07 0:00:07 --:--:-- 32.0M

Building flutter tool...





Flutter 3.13.9 • channel stable • https://github.com/flutter/flutter.git

Framework • revision d211f42860 (3 days ago) • 2023-10-25 13:42:25 -0700

Engine • revision 0545f8705d

Tools • Dart 3.1.5 • DevTools 2.25.0


Running flutter doctor...

Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter (Channel stable, 3.13.9, on macOS 13.4.1 22F82 darwin-x64, locale nl-BE)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)

[!] Xcode - develop for iOS and macOS

✗ Xcode installation is incomplete; a full installation is necessary for iOS and macOS development.

Download at: https://developer.apple.com/xcode/download/

Or install Xcode via the App Store.

Once installed, run:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

sudo xcodebuild -runFirstLaunch

[✓] Chrome - develop for the web

[✓] Android Studio (version 2022.1)

[✓] VS Code (version 1.83.0)

[✓] VS Code (version 1.81.1)

[✓] VS Code (version 1.81.1)

[✓] Connected device (2 available)

[✓] Network resources


! Doctor found issues in 1 category.

sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer



sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % sudo xcodebuild -runFirstLaunch

sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % flutter doctor

Doctor summary (to see all details, run flutter doctor -v):

[✓] Flutter (Channel stable, 3.13.9, on macOS 13.4.1 22F82 darwin-x64, locale nl-BE)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)

[✓] Chrome - develop for the web

[✓] Android Studio (version 2022.1)

[✓] VS Code (version 1.83.0)

[✓] VS Code (version 1.81.1)

[✓] VS Code (version 1.81.1)

[✓] Connected device (2 available)

[✓] Network resources


• No issues found!

WatchStream (106636f68) Stream error: 'Unavailable: Network connectivity changed'

2023-10-28 15:10:45.236128+0200 Runner[20531:13419730] Metal API Validation Enabled
2023-10-28 15:10:45.550144+0200 Runner[20531:13419730] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(37)] Using the Impeller rendering backend.
2023-10-28 15:10:45.566985+0200 Runner[20531:13419896] 10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.
2023-10-28 15:10:45.624356+0200 Runner[20531:13419932] flutter: The Dart VM service is listening on http://127.0.0.1:54033/sBMOXZOQqxo=/
2023-10-28 15:10:45.772653+0200 Runner[20531:13419903] 10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
2023-10-28 15:10:50.422481+0200 Runner[20531:13419903] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke
2023-10-28 15:11:30.401284+0200 Runner[20531:13420819] 10.9.0 - [FirebaseFirestore][I-FST000001] WatchStream (106636f68) Stream error: 'Unavailable: Network connectivity changed'

Details

The app “Runner” on iPhone van Sergej quit unexpectedly.
Domain: IDEDebugSessionErrorDomain
Code: 11
Failure Reason: Message from debugger: Terminated due to memory issue
User Info: {
    DVTErrorCreationDateKey = "2023-10-28 13:30:20 +0000";
    IDERunOperationFailingWorker = DBGLLDBLauncher;
}
--

Analytics Event: com.apple.dt.IDERunOperationWorkerFinished : {
    "device_model" = "iPhone11,8";
    "device_osBuild" = "16.6.1 (20G81)";
    "device_platform" = "com.apple.platform.iphoneos";
    "launchSession_schemeCommand" = Run;
    "launchSession_state" = 2;
    "launchSession_targetArch" = arm64;
    "operation_duration_ms" = 102992;
    "operation_errorCode" = 11;
    "operation_errorDomain" = IDEDebugSessionErrorDomain;
    "operation_errorWorker" = DBGLLDBLauncher;
    "operation_name" = IDEiPhoneRunOperationWorkerGroup;
    "param_consoleMode" = 0;
    "param_debugger_attachToExtensions" = 0;
    "param_debugger_attachToXPC" = 1;
    "param_debugger_type" = 5;
    "param_destination_isProxy" = 0;
    "param_destination_platform" = "com.apple.platform.iphoneos";
    "param_diag_MainThreadChecker_stopOnIssue" = 0;
    "param_diag_MallocStackLogging_enableDuringAttach" = 0;
    "param_diag_MallocStackLogging_enableForXPC" = 1;
    "param_diag_allowLocationSimulation" = 1;
    "param_diag_checker_tpc_enable" = 1;
    "param_diag_gpu_frameCapture_enable" = 0;
    "param_diag_gpu_shaderValidation_enable" = 0;
    "param_diag_gpu_validation_enable" = 0;
    "param_diag_memoryGraphOnResourceException" = 0;
    "param_diag_queueDebugging_enable" = 1;
    "param_diag_runtimeProfile_generate" = 0;
    "param_diag_sanitizer_asan_enable" = 0;
    "param_diag_sanitizer_tsan_enable" = 0;
    "param_diag_sanitizer_tsan_stopOnIssue" = 0;
    "param_diag_sanitizer_ubsan_stopOnIssue" = 0;
    "param_diag_showNonLocalizedStrings" = 0;
    "param_diag_viewDebugging_enabled" = 1;
    "param_diag_viewDebugging_insertDylibOnLaunch" = 1;
    "param_install_style" = 0;
    "param_launcher_UID" = 2;
    "param_launcher_allowDeviceSensorReplayData" = 0;
    "param_launcher_kind" = 0;
    "param_launcher_style" = 0;
    "param_launcher_substyle" = 0;
    "param_runnable_appExtensionHostRunMode" = 0;
    "param_runnable_productType" = "com.apple.product-type.application";
    "param_testing_launchedForTesting" = 0;
    "param_testing_suppressSimulatorApp" = 0;
    "param_testing_usingCLI" = 0;
    "sdk_canonicalName" = "iphoneos16.4";
    "sdk_osVersion" = "16.4";
    "sdk_variant" = iphoneos;
}
--


System Information

macOS Version 13.4.1 (Build 22F82)
Xcode 14.3.1 (21815) (Build 14E300c)
Timestamp: 2023-10-28T15:30:20+02:00

Runner[20814:13431484] [ServicesDaemonManager] interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke

https://developer.apple.com/documentation/foundation/nsxpcconnection/1407915-interruptionhandler 

interruptionHandler
An interruption handler, which gets triggered in case the remote process exits or crashes.


Discussion
It might be feasible to restore the connection by merely sending another message. This handler operates on the same queue as reply messages and other handlers, and it consistently executes after any other messages or reply block handlers, except for the invalidation handler.

flutter run
Connected devices:
iPhone van Sergej (mobile) • 00008020-00094DCE3AD9002E            • ios            • iOS 16.6.1 20G81
iPhone 14 Pro (mobile)     • 0AE0131C-DF47-4966-A89C-F370D70165FA • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
Chrome (web)               • chrome                               • web-javascript • Google Chrome 118.0.5993.117

No wireless devices were found.

[1]: iPhone van Sergej (00008020-00094DCE3AD9002E)
[2]: iPhone 14 Pro (0AE0131C-DF47-4966-A89C-F370D70165FA)
[3]: Chrome (chrome)
Please choose one (or "q" to quit): 1
Launching lib/main.dart on iPhone van Sergej in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 2A53BY7LNJ
Running Xcode build...                                                  
 └─Compiling, linking and signing...                        11,0s
Xcode build done.                                           36,3s
(lldb) 2023-10-29 22:13:22.588534+0100 Runner[27054:13769127] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(37)] Using the Impeller rendering backend.
10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.
10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
Installing and launching...                                       107,3s
Connecting to the VM Service is taking longer than expected...
Still attempting to connect to the VM Service...
If you do NOT see the Flutter application running, it might have crashed. The device logs (e.g. from adb or XCode) might have more details.
If you do see the Flutter application running on the device, try re-running with --host-vmservice-port to use a specific port known to be available.
Exception attempting to connect to the VM Service: SocketException: Connection refused (OS Error: Connection refused, errno = 61), address = 127.0.0.1, port = 58854
This was attempt #50. Will retry in 0:00:01.600000.
* thread #13, name = 'io.worker.1', stop reason = EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=1850 MB)
    frame #0: 0x000000010eaa6d1c Flutter`ycc_rgb_convert + 140
Flutter`ycc_rgb_convert:
->  0x10eaa6d1c <+140>: strb   w21, [x5]
    0x10eaa6d20 <+144>: ldr    x21, [x12, x19, lsl #3]
    0x10eaa6d24 <+148>: ldr    x20, [x11, x20, lsl #3]
    0x10eaa6d28 <+152>: add    x20, x20, x21
Target 0: (Runner) stopped.
Exception attempting to connect to the VM Service: SocketException: Connection refused (OS Error: Connection refused, errno = 61), address = 127.0.0.1, port = 58914
This was attempt #100. Will retry in 0:00:01.600000.
Exception attempting to connect to the VM Service: SocketException: Connection refused (OS Error: Connection refused, errno = 61), address = 127.0.0.1, port = 59000
This was attempt #150. Will retry in 0:00:01.600000.

Protecting Your Mac from Malware

macOS offers many features to help you safeguard your Mac and personal data from harmful software, commonly known as malware. Malware is often distributed through apps that may appear innocent at first glance.

You can reduce this risk by only using software from trusted sources. With the 'Privacy and Security' settings, you can specify the sources from which software can be installed on your Mac.

Here's how to access the 'Privacy and Security' settings:

1. On your Mac, click on the Apple menu > 'System Preferences.'
2. In the navigation pane, click on 'Privacy and Security.' (You may need to scroll down.)

Once you've opened the 'Privacy and Security' settings, proceed with the following steps:

1. Under 'Security,' click on the dropdown menu next to 'Allow apps downloaded from' and choose the sources from which software can be installed:

   - App Store: Only apps from the Mac App Store are allowed. This is the safest setting, as all app developers in the Mac App Store are known to Apple, and every app undergoes a review process before being accepted. Additionally, macOS checks the app the first time it's run to ensure it hasn't been modified since the developer submitted it. If any issues arise with an app, it will be removed from the Mac App Store.

   - App Store and identified developers: Apps from the Mac App Store and those from known developers are allowed. Developers whose identities are confirmed are registered with Apple and can submit their apps for security checks if desired. If any problems arise with an app, Apple can revoke its authorization. Additionally, macOS checks the app the first time it's run to ensure it hasn't been modified since the developer submitted it.

Not only apps but also other file types can pose security risks. Scripts, web archives, and Java archives can potentially harm your system. While these files aren't inherently unsafe, it's advisable to exercise caution when opening downloaded files of these types. When you attempt to open such files for the first time, a warning will appear. For more information on opening an app by bypassing security settings, refer to the documentation.

Please choose one (or "q" to quit): 1
Launching lib/main.dart on iPhone van Sergej in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 2A53BY7LNJ
Running Xcode build...                                                  
 └─Compiling, linking and signing...                        10,9s
Xcode build done.                                           33,3s
(lldb) 2023-10-29 22:29:49.396711+0100 Runner[27329:13777820] [VERBOSE-2:FlutterDarwinContextMetalImpeller.mm(37)] Using the Impeller rendering backend.
10.9.0 - [FirebaseCore][I-COR000005] No app has been configured yet.
10.9.0 - [FirebaseMessaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
Installing and launching...                                        40,7s
Syncing files to device iPhone van Sergej...                       407ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on iPhone van Sergej is available at: http://127.0.0.1:59365/Rgh8dG06bzo=/
The Flutter DevTools debugger and profiler on iPhone van Sergej is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:59365/Rgh8dG06bzo=/
10.9.0 - [FirebaseFirestore][I-FST000001] WatchStream (10245eef8) Stream error: 'Unavailable: Network connectivity changed'
* thread #9, name = 'io.flutter.1.ui', stop reason = EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=1850 MB)
    frame #0: 0x0000000122365b44
->  0x122365b44: stp    x29, x30, [x15, #-0x10]!
    0x122365b48: mov    x29, x15
    0x122365b4c: add    x17, x27, #0x1
    0x122365b50: stp    x17, x24, [x15, #-0x10]!
Target 0: (Runner) stopped.
Lost connection to device.

Particularly on iOS, you may encounter this situation when your application consumes excessive memory. Applications, and especially background processes, are frequently restricted in terms of memory usage through sandboxing. If your application surpasses the allocated memory limit, it will trigger this kind of exception. For more detailed information, you can refer to the following resource:
 

Link to Apple Developer Documentation on Improving App Performance and Reducing Memory Usage 

https://developer.apple.com/documentation/metrickit/improving_your_app_s_performance/reducing_your_app_s_memory_use

https://developer.apple.com/documentation/metrickit 

Run application from command line then you have more debug information

flutter build ios

flutter devices

flutter run --profile

A Dart VM Service on iPhone van Sergej is available at: http://127.0.0.1:64975/hFolSLrZceA=/
The Flutter DevTools debugger and profiler on iPhone van Sergej is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:64975/hFolSLrZceA=/



Memory problem fixed 

It seems there is an issue with constant crashes due to oversized images being loaded into memory, causing the application to consume an excessive amount of memory and thus exceeding the application's limit.


Review 31 okt 2023 Forms and details


WhatsApp url in state email address

You have wrong field




Cancel button x not working properly

Cancel button clean all fields but not close the form it self. I think that this button should return to the home page.




Is the form behaving oddly? Are you using the default text widget? It seems you have to tap quite a bit to bring the widget into focus.
Submit button, it doesn't actually submit

When you press the submit button, it doesn't actually submit the form but focuses instead. Then you have to submit it a second time using the second submit button. I don't think users would expect this. When you submit, everything should be sent.

This button should immediately send a form, or give an error. At the moment, it does a focus, and you can see from the button to clear and send two buttons. But it does not send a form. From the top button, I think, should immediately send a form.


Image quality decreased much I think we need to fix this in next update


 





It will be beter in quality, i think.. But 520 very good working..

IPhone working with bigger images 800 px

I found another small issue. When I go to my car sales page and select one of the options, Virtual Keyboard opens up, but I cancel it and return to the main page. Then, when I click the arrow at the top to go back to the main page, the Keyboard is not closed, and I find myself trapped. I can't go back because the bar is closed, and I can't close the keyboard that didn't automatically close. The text input keyboard remains open, and I feel like I'm stuck. I can't navigate anywhere, and the open keyboard keeps covering the navigation bar.

 

 

 I've noticed that this issue occurs when you first perform a search, then go to a detailed page. After you've visited the detailed page, something changes with the focus. When you return to the car sales page, that's when the problem starts happening. In other words, if you simply go to the form and come back immediately, this issue won't occur. It only seems to happen after you've opened the application and visited the detailed car page multiple times. It appears that something related to focus changes on the detailed page, perhaps some data gets added or modified. I suspect that something breaks at that moment when you navigate to the detailed page.

 


What does it mean Unhandled Exception: A FocusNode was used after being disposed ?


[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: A FocusNode was used after being disposed.
Once you have called dispose() on a FocusNode, it can no longer be used.
#0 ChangeNotifier.debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:179:9)
#1 ChangeNotifier.debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:186:6)
#2 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:382:27)
#3 FocusNode._notify (package:flutter/src/widgets/focus_manager.dart:1050:5)
#4 FocusManager._applyFocusChange (package:flutter/src/widgets/focus_manager.dart:1646:12)
#5 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#6 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)



By properly managing your `FocusNode` instances and making sure they are disposed of when no longer needed, you should be able to resolve this error.


The error message you provided is from a Flutter application and is related to the use of a `FocusNode`. Let me break it down for you:

1. `Unhandled Exception`: This means that an exception (an error) occurred in your Flutter application that was not caught and handled by your code. It's an unhandled error.

2. `A FocusNode was used after being disposed.`: This is the specific error message. It tells you that you attempted to use a `FocusNode` after it had been disposed of. In Flutter, when you're done using a `FocusNode`, you should call its `dispose` method to release any resources associated with it. If you continue to use it after disposing, you'll encounter this error.

3. The lines starting with `#0`, `#1`, `#2`, etc., are a stack trace. They provide information about the sequence of function calls that led to the error. In this case, it's showing the call stack for when the error occurred.

Here's what you can do to resolve this issue:

1. Check your code for places where you use `FocusNode` objects. Make sure you are disposing of them properly when you're done with them. You should call the `dispose` method on each `FocusNode` instance.

2. Ensure that you are not attempting to use a `FocusNode` that has already been disposed of in any part of your code. Check if there are any asynchronous operations or callbacks that might be trying to access the disposed `FocusNode`.

3. If the error persists, you may want to examine the specific context in which the error is occurring. Look at the code around the lines mentioned in the stack trace to understand why the `FocusNode` is being used after disposal.

By properly managing your `FocusNode` instances and making sure they are disposed of when no longer needed, you should be able to resolve this error.

 

 

 

 

 

 

Try to remove this Auth wrapper from textfields

 

 

 

And all places where it is used in combination with textfields..

I don't believe the label is causing an issue, but it seems that there might be a problem with the `TextField` that has focus. It's essential to consistently follow the recommended patterns outlined in the documentation for managing `FocusNode` instances.

TextField with focus and combination of async stream is a problem.. 

AuthUserStreamWidget replaced with AppState variable for user information.


FocusNode problem

Unhandled Exception: A FocusNode was used after being disposed.

After that all forms working very strange and keyboard. When it started the application become in state that forms and keyboard working not correct.

Case 1

When I use the application to search, apply filters, or view details, I don't encounter any issues. For instance, when I select 'benzine,' I get 8 cars in the selection, and everything works fine. However, the problem arises when I navigate to the 'Favorites' page and then attempt to access details through the 'Favorites.' Initially, it works fine, but after that, I consistently encounter an issue. The application seems to be in a state where every click on the TextField or Details view triggers the following exception: 'Unhandled Exception: A FocusNode was used after being disposed.'

Case 2


Via Contacts and then details page then is see the same problem.

Reproduction steps case 2.

  • Search for cars
  • Filter benzine
  • Click on details ( back )
  • Click search, repeat
  • Then Click on ‘Contacted’
  • From ListView select car details


Unhandled Exception: A FocusNode was used after being disposed.

Once you have called dispose() on a FocusNode, it can no longer be used.

#0 ChangeNotifier.debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:179:9)

#1 ChangeNotifier.debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:186:6)

#2 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:382:27)

#3 FocusNode._notify (package:flutter/src/widgets/focus_manager.dart:1050:5)

#4 FocusManager._applyFocusChange (package:flutter/src/widgets/focus_manager.dart:1646:12)

#5 _microtaskLoop (dart:async/schedule_microtask.dart:40:21)

#6 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)


Case 3


The same method as in previous cases but you go to Profile page and then click on the Phone Number.

Solution


 

 Fix for this issue. Just we need to disable hide keyboard on tap function


Links from Google

https://community.flutterflow.io/discussions/post/nav-bar-a-focusnode-was-used-after-being-disposed-cPPJ5thiSu3JHJM

https://stackoverflow.com/questions/68443245/flutter-a-focusnode-was-used-after-being-disposed

https://flutterdesk.com/focusnode-in-flutter/


Can you change on profile page from text input to text span?

Also check on all forms that all components have their own unique name instead of generic names like now.

Code there is completely unreadable.

https://docs.flutterflow.io/widgets-and-components/widgets/form-elements-1/textfield


User activation not working first time after registration activation


Even account is activated throws an error message this account is not activated.

And then second time is working well...

Can you check for logical errors? In which case is this error message displayed?

MethodChannelUser.reload (package:firebase_auth_platform_interface/src/method_channel/method_channel_user.dart:190:56)

<asynchronous suspension>

#1 User.reload (package:firebase_auth/src/user.dart:555:5)

<asynchronous suspension>

#2 AutoVBEFirebaseUser.refreshUser (package:auto_v_b_e/auth/firebase_auth/firebase_user_provider.dart:49:5)

<asynchronous suspension>
You have to login 2 times.. First time you error message then you reload on the login page..
I think you have to reload user first then check of it has activation.


Yes, this error is still there from previous version. I've seen people say they can't log in. And then I logged in without any problems. That's really complicated to catch, but this error is from the previous version.

Reproduction steps. 
1. Create an account 
2. Activate email via another browser via computer, for example. 
3. try to login.
Result: You will see an error message when you try to log in for the first time. Second time it just works.

Fix for this problem 

I have created a new action in Registration form to do logout after registration send.

Example for this some method. 

https://www.youtube.com/watch?v=HceJmLxxfHs 

Comments