at_widgets icon indicating copy to clipboard operation
at_widgets copied to clipboard

Replace file_selector with file_picker in all of our dependencies

Open xavierchanth opened this issue 1 year ago • 6 comments

Which at_widget package you find issue with?

at_onboarding_flutter

On what platforms did you experience the issue?

MacOS

What version are you using?

at_onboarding_flutter : trunk

Flutter 3.24.0 • channel stable • https://github.com/flutter/flutter.git Framework • revision 80c2e84975 (9 days ago) • 2024-07-30 23:06:49 +0700 Engine • revision b8800d88be Tools • Dart 3.5.0 • DevTools 2.37.2

What happened?

Onboarding widget is crashing with errors.

Steps to reproduce

1. Follow this guide - https://docs.atsign.com/tutorials/flutter-and-atsdk-app
2. Do step 2 from here - https://pub.dev/packages/at_onboarding_flutter
3. Pin at_onboarding_flutter to trunk of this repo
4. Try to run the app
5. Press "onboard an atsign"
6. Error occurs

Additional info

Note that prior to trying the trunk code, I tried 6.1.7 and it also hung:

Press "onboard an atsign" > press "already have an atsign" > press "upload atkeys" then it hangs forever.

Relevant log output

A Dart VM Service on macOS is available at: http://127.0.0.1:55648/rzVdEDmRsAI=/
The Flutter DevTools debugger and profiler on macOS is available at:
http://127.0.0.1:9100?uri=http://127.0.0.1:55648/rzVdEDmRsAI=/
flutter: AtOnboardingInitScreen: error - Null check operator used on a null value
flutter: #0      OnboardingService._getClientServiceForAtsign (package:at_onboarding_flutter/services/onboarding_service.dart:79:42)
flutter: #1      OnboardingService.onboard (package:at_onboarding_flutter/services/onboarding_service.dart:101:35)
flutter: #2      _AtOnboardingStartScreenState._init (package:at_onboarding_flutter/screen/at_onboarding_start_screen.dart:56:47)
flutter: <asynchronous suspension>
flutter:
flutter: PASS
2024-08-08 17:05:34.776 npt_flutter[82542:55862346] WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:.
flutter: AtOnboardingInitScreen: error - Null check operator used on a null value
flutter: #0      OnboardingService._getClientServiceForAtsign (package:at_onboarding_flutter/services/onboarding_service.dart:79:42)
flutter: #1      OnboardingService.onboard (package:at_onboarding_flutter/services/onboarding_service.dart:101:35)
flutter: #2      _AtOnboardingStartScreenState._init (package:at_onboarding_flutter/screen/at_onboarding_start_screen.dart:56:47)
flutter: <asynchronous suspension>
flutter:
flutter: PASS
flutter: AtOnboardingInitScreen: error - Null check operator used on a null value
flutter: #0      OnboardingService._getClientServiceForAtsign (package:at_onboarding_flutter/services/onboarding_service.dart:79:42)
flutter: #1      OnboardingService.onboard (package:at_onboarding_flutter/services/onboarding_service.dart:101:35)
flutter: #2      _AtOnboardingStartScreenState._init (package:at_onboarding_flutter/screen/at_onboarding_start_screen.dart:56:47)
flutter: <asynchronous suspension>
flutter:


### Flutter analyze output

_No response_

### Flutter doctor output

_No response_

xavierchanth avatar Aug 08 '24 21:08 xavierchanth

Related: atsign-foundation/at_widgets#699 atsign-foundation/at_widgets#855 atsign-foundation/at_client_sdk#1596

xavierchanth avatar Aug 08 '24 21:08 xavierchanth

@sachins-geekyants @Sardar1208 if you need an example: https://github.com/atsign-foundation/noports/tree/xc-npt-desktop-mvp

xavierchanth avatar Aug 08 '24 21:08 xavierchanth

Found the root cause of the issue to be the file_selector package, I am repurposing this ticket to replace file_selector with file_picker, as it is better maintained.

When we first started using file_picker, it didn't have desktop support so we continued to use file_selector. But now file_picker seems to be the simpler option.

xavierchanth avatar Aug 12 '24 15:08 xavierchanth

I know that both at_onboarding_flutter and at_backupkey_flutter use file_selector, there may be other packages which I am not aware of.

xavierchanth avatar Aug 12 '24 15:08 xavierchanth

The commits in atsign-foundation/at_widgets#887 serve as a good example of the changes that need to be made, but atsign-foundation/at_widgets#887 is based on the wrong branch.

xavierchanth avatar Aug 12 '24 15:08 xavierchanth

Our packages that uses file_selector:

  • [x] at_onboarding_flutter
  • [x] at_backupkey_flutter
  • [ ] at_contacts_group_flutter

CurtlyCritchlow avatar Aug 12 '24 15:08 CurtlyCritchlow