Flutter widgets for using various aspects of the @‎platform

Overview

Now for some internet optimism.

GitHub License

at_widgets

This is a common repository for various flutter packages that are published on pub.dev

These packages help to achieve the common functionalities associated with atsigns like authentication, chat, etc.

Widgets contained (which can also be found on pub.dev as linked):

at_backupkey_flutter- A flutter plugin project for saving the backup key of any @sign that is being onboarded with @protocol apps. Backup key can be used to authenticate in any @protocol apps.

at_chat_flutter- A flutter plugin project to provide a chat feature using atsigns and atprotocol.

at_common_flutter- A flutter package to provide common widgets used by other atsign flutter packages.

at_contacts_flutter- A flutter plugin project to provide ease of managing contacts for an atsign using atprotocol.

at_contacts_group_flutter- A flutter plugin to provide group functionality for atsign contacts.

at_events_flutter- A flutter plugin project to manage events.

at_location_flutter- A flutter plugin project to share location between two atsigns and track them on OSM (open street maps).

at_onboarding_flutter- A flutter plugin project for onboarding any @sign in @protocol apps with ease. Provides QRscanner and upload key file options to authenticate.

atsign_authentication_helper- (DISCONTINUED) A flutter plugin project to provide authentication for atsign apps. It provides both a QR scanner and feature to upload files.

at_follows_flutter- A flutter plugin project to integrate follows feature for @signs.

Installation:

All installation guidelines are written in their respective directories and pub.dev sites.

Comments
  • @ sign activation via OTP not working consistently

    @ sign activation via OTP not working consistently

    Describe the bug When activating an @ sign using the onboarding widget on @ wavi, the OTP is not working consistently. Sometimes it arrives in a few seconds, sometimes it takes over 2 minutes to arrive, sometimes it doesn't arrive at all.

    To Reproduce Steps to reproduce the behavior:

    1. Get a new @ sign
    2. Click activate in the dashboard
    3. When the QR code appears, enter the @ sign in the onboarding screen using @ wavi
    4. The OTP will be sent via email

    Expected behavior The OTP comes within a few seconds

    Smartphone (please complete the following information):

    • This was seen on both iOS and Android devices

    Were you using an @‎application when the bug was found?

    • @wavi
    bug Fixed P1 Widget 
    opened by tinashe404 29
  • at_onboarding_flutter broken in version 4.0.4 crashes app !

    at_onboarding_flutter broken in version 4.0.4 crashes app !

    Which at_widget package you find issue with?

    at_onboarding_flutter

    On what platforms did you experience the issue?

    Windows, MacOS

    What version are you using?

    package version 4.0.4 (this is due to at_app not allowing 5.0.0)

    What happened?

    Onboarding widget no longer works at all and crashes on macos also secret keys an print statements are logged on the console which should NEVER happen..

    This was working just yesterday !

    flutter: File: 'G:\My Drive\@keys\@visual61_key.atKeys'    <<<<<<<<<<<<<<<<
    flutter: ATSIGN>>>visual61
    flutter: AES>>>>>vhhfjksdhfjksdf********************=
    

    My key is truncated with * but you get the picture!!!

    Windows does not crash but does not work macos crashed and red screens the app..

    cconstab@tarial nautel_app % flutter run -d macos
    Running "flutter pub get" in nautel_app...                       2,232ms
    Launching lib/main.dart on macOS in debug mode...
    Running pod install...                                             835ms
    --- xcodebuild: WARNING: Using the first of multiple matching destinations:
    { platform:macOS, arch:arm64, id:00006001-000C59191441801E }
    { platform:macOS, arch:x86_64, id:00006001-000C59191441801E }
    Building macOS application...                                           
    Syncing files to device macOS...                                    92ms
    
    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).
    
    💪 Running with sound null safety 💪
    
    An Observatory debugger and profiler on macOS is available at: http://127.0.0.1:52173/Hsm4mIHrF0A=/
    The Flutter DevTools debugger and profiler on macOS is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:52173/Hsm4mIHrF0A=/
    flutter: INFO|2022-08-11 17:43:02.840344|HiveBase|commit_log_678498516f1217944ff86bc8dbf9a680b8bb87c183b3f4ef867ad2f77ef50ac2 initialized successfully 
    
    flutter: SEVERE|2022-08-11 17:43:02.855281|HivePersistenceManager|AtPersistence.init exception: FileSystemException: lock failed, path = '/Users/cconstab/Library/Containers/com.example.nautelApp/Data/Library/Application Support/com.example.nautelApp/678498516f1217944ff86bc8dbf9a680b8bb87c183b3f4ef867ad2f77ef50ac2.lock' (OS Error: Resource temporarily unavailable, errno = 35) 
    
    [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: FileSystemException: lock failed, path = '/Users/cconstab/Library/Containers/com.example.nautelApp/Data/Library/Application Support/com.example.nautelApp/678498516f1217944ff86bc8dbf9a680b8bb87c183b3f4ef867ad2f77ef50ac2.lock' (OS Error: Resource temporarily unavailable, errno = 35)
    #0      _RandomAccessFile.lock.<anonymous closure> (dart:io/file_impl.dart:1002:9)
    #1      _rootRunUnary (dart:async/zone.dart:1434:47)
    #2      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
    <asynchronous suspension>
    #3      StorageBackendVm.initialize (package:hive/src/backend/vm/storage_backend_vm.dart:81:5)
    <asynchronous suspension>
    #4      HiveImpl._openBox (package:hive/src/hive_impl.dart:111:9)
    <asynchronous suspension>
    #5      HiveImpl.openLazyBox (package:hive/src/hive_impl.dart:160:12)
    <asynchronous suspension>
    #6      HiveBase.openBox (package:at_persistence_secondary_server/src/keystore/hive_base.dart:24:9)
    <asynchronous suspension>
    #7      HivePersistenceManager.initialize (package:at_persistence_secondary_server/src/keystore/hive_manager.dart:33:7)
    <asynchronous suspension>
    #8      HiveBase.init (package:at_persistence_secondary_server/src/keystore/hive_base.dart:15:5)
    <asynchronous suspension>
    #9      StorageManager._initStorage (package:at_client/src/manager/storage_manager.dart:42:5)
    <asynchronous suspension>
    #10     StorageManager.init (package:at_client/src/manager/storage_manager.dart:22:7)
    <asynchronous suspension>
    #11     AtClientImpl.create (package:at_client/src/client/at_client_impl.dart:110:7)
    <asynchronous suspension>
    #12     AtClientManager.setCurrentAtSign (package:at_client/src/manager/at_client_manager.dart:57:24)
    <asynchronous suspension>
    #13     AtClientService._init (package:at_client_mobile/src/at_client_service.dart:23:23)
    <asynchronous suspension>
    #14     AtClientService.onboard (package:at_client_mobile/src/at_client_service.dart:249:5)
    <asynchronous suspension>
    #15     OnboardingService.onboard (package:at_onboarding_flutter/services/onboarding_service.dart:83:19)
    <asynchronous suspension>
    #16     _FutureBuilderState._subscribe.<anonymous closure> (package:flutter/src/widgets/async.dart:627:33)
    <asynchronous suspension>
    
    flutter: INFO|2022-08-11 17:43:02.861337|At Onboarding Flutter|Onboarding...! 
    
    
    ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
    The following LateError was thrown building Builder:
    LateInitializationError: Field 'notificationService' has not been initialized.
    
    The relevant error-causing widget was:
      MaterialApp
      MaterialApp:file:///Users/cconstab/Documents/GitHub/cconstab/at_nautel_snmp/nautel_app/lib/screens/home_screen.dart:26:12
    
    When the exception was thrown, this was the stack:
    #0      AtClientManager.notificationService (package:at_client/src/manager/at_client_manager.dart)
    #1      _MyHomePageState.initState (package:nautel_app/screens/home_screen.dart:61:63)
    #2      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4942:57)
    #3      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4781:5)
    ...     Normal element mounting (24 frames)
    #27     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
    #28     MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
    #29     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
    ...     Normal element mounting (175 frames)
    #204    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
    #205    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
    #206    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
    ...     Normal element mounting (385 frames)
    #591    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
    #592    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
    #593    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6362:32)
    ...     Normal element mounting (175 frames)
    #768    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817:16)
    #769    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6350:36)
    #770    Element.updateChild (package:flutter/src/widgets/framework.dart:3551:18)
    #771    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5883:32)
    #772    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6375:17)
    #773    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #774    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #775    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
    #776    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #777    StatefulElement.update (package:flutter/src/widgets/framework.dart:5009:5)
    #778    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #779    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #780    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #781    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
    #782    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #783    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #784    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #785    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
    #786    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:108:11)
    #787    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #788    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
    #789    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #790    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #791    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
    #792    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #793    StatefulElement.update (package:flutter/src/widgets/framework.dart:5009:5)
    #794    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #795    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
    #796    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #797    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6222:14)
    #798    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #799    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #800    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #801    ProxyElement.update (package:flutter/src/widgets/framework.dart:5154:5)
    #802    Element.updateChild (package:flutter/src/widgets/framework.dart:3530:15)
    #803    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4832:16)
    #804    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4977:11)
    #805    Element.rebuild (package:flutter/src/widgets/framework.dart:4529:5)
    #806    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2659:19)
    #807    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:891:21)
    #808    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:370:5)
    #809    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1146:15)
    #810    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1083:9)
    #811    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:997:5)
    #815    _invoke (dart:ui/hooks.dart:151:10)
    #816    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:308:5)
    #817    _drawFrame (dart:ui/hooks.dart:115:31)
    (elided 3 frames from dart:async)
    
    ════════════════════════════════════════════════════════════════════════════════════════════════════
    

    Steps to reproduce

    1. Create a flutter app with at_app
    2. Run 
    3. Authenticate an atSign using known keys
    4. see the crash
    ...
    

    Additional info

    No response

    Relevant log output

    No response

    Flutter analyze output

    cconstab@tarial nautel_app % flutter analyze
    Analyzing nautel_app...                                                 
    
       info • Unused import: 'package:at_onboarding_flutter/at_onboarding_flutter.dart' • lib/main.dart:6:8 • unused_import
       info • Prefer declaring const constructors on `@immutable` classes • lib/screens/home_screen.dart:44:3 •
              prefer_const_constructors_in_immutables
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:169:24 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:187:24 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:205:24 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:223:24 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:241:24 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/screens/home_screen.dart:259:24 • prefer_const_constructors
       info • Unused import: 'package:intl/intl.dart' • lib/transmitter_lookup.dart:2:8 • unused_import
       info • Unused import: 'package:http/http.dart' • lib/transmitter_lookup.dart:4:8 • unused_import
       info • Name source files using `lowercase_with_underscores` • lib/widgets/Gaugewidget.dart:1:1 • file_names
       info • Prefer declaring const constructors on `@immutable` classes • lib/widgets/Gaugewidget.dart:24:3 •
              prefer_const_constructors_in_immutables
       info • Use key in widget constructors • lib/widgets/Gaugewidget.dart:24:3 • use_key_in_widget_constructors
       info • Avoid `print` calls in production code • lib/widgets/Gaugewidget.dart:49:5 • avoid_print
       info • Unnecessary string interpolation • lib/widgets/Gaugewidget.dart:81:20 • unnecessary_string_interpolations
       info • Prefer const with constant constructors • lib/widgets/Gaugewidget.dart:81:52 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/widgets/Gaugewidget.dart:86:22 • prefer_const_constructors
       info • Unnecessary string interpolation • lib/widgets/Gaugewidget.dart:88:15 • unnecessary_string_interpolations
       info • Prefer const with constant constructors • lib/widgets/Gaugewidget.dart:89:22 • prefer_const_constructors
       info • Prefer typing uninitialized variables and fields • lib/widgets/Gaugewidget.dart:99:9 • prefer_typing_uninitialized_variables
       info • Prefer typing uninitialized variables and fields • lib/widgets/Gaugewidget.dart:127:9 • prefer_typing_uninitialized_variables
       info • Prefer typing uninitialized variables and fields • lib/widgets/Gaugewidget.dart:155:9 • prefer_typing_uninitialized_variables
       info • The value of the local variable 'result' isn't used • lib/widgets/Gaugewidget.dart:155:9 • unused_local_variable
       info • Avoid empty statements • lib/widgets/Gaugewidget.dart:162:9 • empty_statements
       info • Avoid empty statements • lib/widgets/Gaugewidget.dart:166:9 • empty_statements
       info • Avoid empty statements • lib/widgets/Gaugewidget.dart:170:9 • empty_statements
       info • Avoid empty statements • lib/widgets/Gaugewidget.dart:174:9 • empty_statements
       info • Avoid empty statements • lib/widgets/Gaugewidget.dart:178:9 • empty_statements
       info • The operand can't be null, so the condition is always true • lib/widgets/onboarding_dialog.dart:40:25 •
              unnecessary_null_comparison
       info • Prefer const with constant constructors • lib/widgets/onboarding_dialog.dart:266:18 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/widgets/onboarding_dialog.dart:270:22 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/widgets/onboarding_dialog.dart:279:22 • prefer_const_constructors
       info • Prefer const with constant constructors • lib/widgets/onboarding_dialog.dart:279:43 • prefer_const_constructors
    
    33 issues found. (ran in 1.5s)
    cconstab@tarial nautel_app %
    

    Flutter doctor output

    cconstab@tarial nautel_app % flutter doctor -v
    [✓] Flutter (Channel stable, 3.0.5, on macOS 12.5 21G72 darwin-arm, locale en-US)
        • Flutter version 3.0.5 at /Users/cconstab/flutter-arm64
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision f1875d570e (4 weeks ago), 2022-07-13 11:24:16 -0700
        • Engine revision e85ea0e79c
        • Dart version 2.17.6
        • DevTools version 2.12.2
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
        • Android SDK at /Users/cconstab/Library/Android/sdk
        • Platform android-32, build-tools 32.1.0-rc1
        • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • CocoaPods version 1.11.3
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2021.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    
    [✓] VS Code (version 1.70.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.46.0
    
    [✓] Connected device (3 available)
        • iPhone13 (mobile) • C82AB7A2-AFC2-4EE0-ACBE-AB32F0C6A7CF • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
        • macOS (desktop)   • macos                                • darwin-arm64   • macOS 12.5 21G72 darwin-arm
        • Chrome (web)      • chrome                               • web-javascript • Google Chrome 104.0.5112.79
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    • No issues found!
    cconstab@tarial nautel_app %
    
    bug P1 2 SP PR44 arch call 
    opened by cconstab 25
  • Keys problem with latest packages

    Keys problem with latest packages

    Problem Keys of newly-created atsigns become unusable upon app restart when using latest libraries

    To reproduce

    • build iot_receiver app in mwc_demo repo
    • run it, create a new atSign. Remember to back up the atKeys file
      • should work correctly
      • restart app, choose the atSign you just created
      • you will be presented with a screen asking that you type in your PIN

    Workaround

    • onboard the same atSign into the store version of AtmospherePro, by importing the backed-up keys file
    • should work fine
    • restart the iot_receiver app, choose the same atSign again
    • should work fine

    Observations

    • problem is not the keys file
    bug 8 SP blocker P1 unplanned 
    opened by gkc 24
  • Pub.dev packages review

    Pub.dev packages review

    Lead: @ksanty

    Standard operating procedures for documentation here

    The packages are published with updated documentation and example app. Links working

    Please review the published version on pub.dev and provide feedback.

    Also, any SEO keywords suggestion would be useful. See comments below. SEO and samples and examples pending.

    3 SP Content PR29 PR30 PR31 PR32 PR33 
    opened by sarika01 19
  • Building with at_onboarding_flutter results in cryptic error

    Building with at_onboarding_flutter results in cryptic error

    Describe the bug Error given when building from clean installation

    PS S:\TEMP\test32> flutter run
    Multiple devices found:
    Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
    Android SDK built for x86 (mobile) • emulator-5556 • android-x86 • Android 10 (API 29) (emulator)
    Android SDK built for x86 (mobile) • emulator-5558 • android-x86 • Android 10 (API 29) (emulator)
    Windows (desktop)                  • windows       • windows-x64 • Microsoft Windows [Version 10.0.22000.376]
    [1]: Android SDK built for x86 (emulator-5554)
    [2]: Android SDK built for x86 (emulator-5556)
    [3]: Android SDK built for x86 (emulator-5558)
    [4]: Windows (windows)
    Please choose one (To quit, press "q/Q"): 1
    Using hardware rendering with device Android SDK built for x86. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
    Launching lib\main.dart on Android SDK built for x86 in debug mode...
    /C:/Users/colin/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/at_onboarding_flutter-3.1.1/lib/services/onboarding_service.dart:216:58: Error: Member not found: 'ONDEMAND'.
        if (_atClientPreference.syncStrategy == SyncStrategy.ONDEMAND) {
                                                             ^^^^^^^^
    
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Script 'C:\tools\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1070
    
    * What went wrong:
    Execution failed for task ':app:compileFlutterBuildDebug'.
    > Process 'command 'C:\tools\flutter\bin\flutter.bat'' finished with non-zero exit value 1
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 14s
    Running Gradle task 'assembleDebug'...                             15.8s
    Exception: Gradle task assembleDebug failed with exit code 1
    PS S:\TEMP\test32
    

    To Reproduce Steps to reproduce the behavior:

    1. Build an application using the at_onboarding_flutter package
    2. First clean your cache `flutter pub cache clean'
    3. Then flutter run
    4. See the error.
    5. Error seems to be on line 216 of at_onboarding_flutter-3.1.1\lib\services\onboarding_service.dart

    if (_atClientPreference.syncStrategy == SyncStrategy.ONDEMAND) {

    should read I think

    if (_atClientPreference.syncStrategy == SyncStrategy.onDemand) {

    Expected behavior Should build cleanly

    Additional context Add any other context about the problem here.

    bug Fixed 3 SP P1 unplanned 
    opened by cconstab 17
  • at_follows_flutter example is not working

    at_follows_flutter example is not working

    Lead: @nitesh2599

    Describe the bug The example app was not working with the current code in trunk(non migrated code) or at_follows_flutter-docs-update branch(migrated code)

    To Reproduce Steps to reproduce the behavior:

    1. Pub get the example dependencies.
    2. Run the example app
    3. Onboard the app.
    4. Search for some atsign and follow it.
    5. Now to go Connections screen(widget).
    6. It says Failed while loading, please reopen the screen again

    Expected behavior Should show the followers/following list.

    Screenshots Screenshot 2022-02-07 at 7 30 12 PM

    Smartphone (please complete the following information):

    • Device: iPhone13(Simulator)
    • OS: iOS15.2

    Were you using an @‎application when the bug was found?

    • at_follows_flutter example app

    Additional context

    • Using persona namespace
    bug Fixed 3 SP Root Cause PR30 PR31 
    opened by yahu1031 14
  • Unresolvable Kotlin version mismatch in at_backupkey_flutter

    Unresolvable Kotlin version mismatch in at_backupkey_flutter

    Describe the bug In attempting to upgrade an app to the latest version of this package and Flutter in general, the app no longer builds. The following is shown:

    Execution failed for task ':at_backupkey_flutter:compileDebugKotlin'. Your project requires a newer version of the Kotlin Gradle plugin.

    To Reproduce Steps to reproduce the behavior:

    1. Perform a Flutter Upgrade & Flutter Pub Upgrade
    2. Set the kotlin plugin version in the build.gradle to match the version used by the offending package (currently 1.3.50)
    3. Perform a Flutter Clean
    4. Perform a Flutter Pub Get

    Expected behavior The app should build and run as normal

    Screenshots image

    Smartphone (please complete the following information):

    • Device: Samsung S20 FE
    • OS: Android 12
    • Browser ?
    • Version ?

    Were you using an @‎application when the bug was found?

    • No
    bug 1 SP PR32 
    opened by kmahon99 12
  • Onboarding - Capture which app was used to activate an @ sign

    Onboarding - Capture which app was used to activate an @ sign

    Lead: @cconstab

    We are currently looking into the developer program and how they earn commissions. Since we don't have in app purchases at the moment, in order to determine which apps should get commissions on paid atsigns, we need the onboarding widget to report which app was used to activate a paid atsign.

    A suggestion from Ashish was that maybe it could be stored in the atsign secondary or atcompany secondary or hit a webhook so that he can know which app the atsign was activated in.

    enhancement 1 SP blocker Architecture PR29 PR30 PR31 PR32 PR33 PR34 PR35 PR36 PR43 
    opened by tinashe404 12
  • failed in processing atkey zip file Error in the onboarding widget version 2.0.0

    failed in processing atkey zip file Error in the onboarding widget version 2.0.0

    Describe the bug

    When I try to pick my atkey zip file from my android phone it gives me the error in the wavi app. I also faced the same error when I used onboarding widget 2.0.0 in demo apps

    To Reproduce Steps to reproduce the behavior:

    1. First I '...'

    2. Then I '...'

    3. And then '...'

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots Screenshot_20210702-104048

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone11]
    • OS: [e.g. iOS14.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 59]

    Were you using an @application when the bug was found?

    Additional context Add any other context about the problem here.

    bug 
    opened by Intiserahmed 12
  • I'm getting a failure to compile when trying to use an android emulator and it seems to be authentication helper related

    I'm getting a failure to compile when trying to use an android emulator and it seems to be authentication helper related

    This is the error I'm getting:

    Launching lib/main.dart on sdk gphone x86 arm in debug mode... /Users/zara/devel/GitHub/TakeAVote/takeavote/android/app/src/debug/AndroidManifest.xml Error: uses-sdk:minSdkVersion 16 cannot be smaller than version 24 declared in library [:atsign_authentication_helper] /Users/zara/devel/GitHub/TakeAVote/takeavote/build/atsign_authentication_helper/intermediates/library_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 16 Suggestion: use a compatible library with a minSdk of at most 16, or increase this project's minSdk version to at least 24, or use tools:overrideLibrary="com.example.atsign_authentication_helper" to force usage (may lead to runtime failures)

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':app:processDebugManifest'.

    Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 24 declared in library [:atsign_authentication_helper] /Users/zara/devel/GitHub/TakeAVote/takeavote/build/atsign_authentication_helper/intermediates/library_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 16 Suggestion: use a compatible library with a minSdk of at most 16, or increase this project's minSdk version to at least 24, or use tools:overrideLibrary="com.example.atsign_authentication_helper" to force usage (may lead to runtime failures)

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 28s Exception: Gradle task assembleDebug failed with exit code 1 Exited (sigterm)

    opened by BermyToiga 12
  • null-aware operator was used on non-null value in at_contacts_flutter and at_onboarding_flutter

    null-aware operator was used on non-null value in at_contacts_flutter and at_onboarding_flutter

    Describe the bug In at_contacts_flutter and at_onboarding_flutter has null-aware issue with WidgetsBinding.instance.

    To Reproduce Steps to reproduce the behavior:

    1. Install/Upgrade Flutter to 3.0.0
    2. Upgrade all you at packages
    3. Run any app.

    Expected behavior This Error/Warning is not expected

    Logs

    Launching lib/main.dart on iPhone 13 in debug mode...
    Xcode build done.                                           37.4s
    : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
    
                WidgetsBinding.instance!.addPostFrameCallback((Duration timeStamp) {
                               ^
    : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
        WidgetsBinding.instance!.addPostFrameCallback((_) {
                       ^
    : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
        WidgetsBinding.instance!.addPostFrameCallback((Duration timeStamp) {
                       ^
    : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
        WidgetsBinding.instance!.addPostFrameCallback((timeStamp) async {
                       ^
    : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
        WidgetsBinding.instance!.addPostFrameCallback((timeStamp) async {
                       ^
    : Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
    - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../../../Development/flutter/packages/flutter/lib/src/widgets/binding.dart').
        WidgetsBinding.instance?.addPostFrameCallback((timeStamp) async {
                       ^
    
    Connecting to VM Service at ws://127.0.0.1:52300/lITl4cNAfHU=/ws
    flutter: FINER|2022-05-12 22:34:53.334998|at_skeleton_app|Environment failed to load from .env:
    flutter: SEVERE|2022-05-12 22:34:54.114698|AtClientService|Atsign not found
    flutter: INFO|2022-05-12 22:34:54.205284|QR Scan|camera status => PermissionStatus.denied
    flutter: INFO|2022-05-12 22:34:54.206357|QR Scan|storage status is PermissionStatus.granted
    

    Screenshot 2022-05-12 at 10 38 48 PM

    Smartphone (please complete the following information):

    • Device: iPhone12
    • OS: iOS15.4

    Were you using an @‎application when the bug was found?

    • @dude
    bug 3 SP 
    opened by yahu1031 11
  • fix: sync issue for new atsign

    fix: sync issue for new atsign

    - What I did

    • added functions to add and remove sync listeners
    • made sync deprecated as it is getting called form init funciton.
    • sync method will be removed in future versions
    • Fixes issue where sync was never completed for newly generated atSign.

    - How I did it

    • calling remove sync listener before switching atsign
    • After atSign switching has been complete, again enabling sync progress.

    - How to verify it

    - Description for the changelog

    opened by sachins-geekyants 0
  • docs: at_onboarding_flutter docs insufficiently clear for new users

    docs: at_onboarding_flutter docs insufficiently clear for new users

    Which at_widget package you find issue with?

    at_onboarding_flutter

    On what platforms did you experience the issue?

    Android

    What version are you using?

    Latest

    What happened?

    Customer @ralfeus encountered issues using the widget because

    • description of usages of the parameters to AtOnboarding.onboard, especially AtOnboardingConfig, are insufficiently `detailed
    • dependencies between parameters (e.g. rootEnvironment, domain and API key) are not made sufficiently clear
    • sensible default values for the parameters are not set
    • incompatible config settings are not rejected

    Steps to reproduce

    Use the widget with no prior knowledge
    

    Additional info

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    bug 
    opened by gkc 2
  • Encapsulate required data types in at_onboarding_flutter

    Encapsulate required data types in at_onboarding_flutter

    Which at_widget package you find issue with?

    at_onboarding_flutter

    On what platforms did you experience the issue?

    Android, iOS, Windows, MacOS, Linux

    What version are you using?

    at_onboarding_flutter: 5.0.5

    What happened?

    AtOnboarding.onboard() requires a config parameter of type AtOnboardingConfig, which is a part of at_onboarding_flutter package. Its constructor requires in its turn atClientPreference parameter of type AtClientPreference. This type is not a part of at_onboarding_flutter nor exposed by one. So it's hard to figure what else should be added to dependencies to make the project running. I recommend to expose AtClientPreference by at_onboarding_flutter package

    Steps to reproduce

    1. Create widget from example:
    
      Widget build(BuildContext context) {
          final atClientPreference = AtClientPreference();
          return TextButton(
          onPressed: () async {
            final result = await AtOnboarding.onboard(
              context: context,
              config: AtOnboardingConfig(
                atClientPreference: atClientPreference,
                domain: 'atkrypto.io',
                rootEnvironment: RootEnvironment.Testing,
                appAPIKey: AtEnv.appApiKey,
              ),
            );
        }
    
    2. Observe impossibility to compile
    ...
    

    Additional info

    No response

    Relevant log output

    No response

    Flutter analyze output

    No response

    Flutter doctor output

    No response

    bug 
    opened by ralfeus 1
  • docs: Updated the homepage URL for pubspec.yaml

    docs: Updated the homepage URL for pubspec.yaml

    - What I did I Updated the homepage URL for pubspec.yaml for at-notify-flutter package.

    - How I did it

    - How to verify it

    - Description for the changelog

    Updated the homepage URL for pubspec.yaml

    opened by CynthiaPeter 0
  • solution video to issue

    solution video to issue "cannot pick files in arrive during onboarding #509"

    https://user-images.githubusercontent.com/56836874/193361198-289776f1-dabd-4751-afa9-43d8c9f2b8d2.mp4

    All you need to do is to long click on the file to get an options dialog, select "get info" and then click on the file.

    opened by stanezeaku 0
Owner
The @ Foundation
Now for some internet optimism
The @ Foundation
Purpose of this project is to create extendable architecture of making platform aware Widgets which automatically select platform specific implementation

Old good factory Main obstacle in creating native experience on Flutter is the fact that you are asked to rebuild two layouts using platform specific

Swav Kulinski (Robotoaster) 101 Oct 14, 2022
Target the specific design of Material for Android and Cupertino for iOS widgets through a common set of Platform aware widgets

Flutter Platform Widgets This project is an attempt to see if it is possible to create widgets that are platform aware. Currently in order to render t

null 1.3k Jan 4, 2023
Target the specific design of Material for Android and Cupertino for iOS widgets through a common set of Platform aware widgets

Flutter Platform Widgets This project is an attempt to see if it is possible to create widgets that are platform aware. Currently in order to render t

null 1.3k Jan 4, 2023
Morphing Coffee 0 Jan 27, 2022
Fluter-json - App Demonstrating JSON Data Parsing with various flutter widgets

users_list Flutter App to Demonstrate JSON Parsing Getting Started This project is a starting point for a Flutter application. A few resources to get

Khurram Rizvi 5 Jul 10, 2021
A mobile game using Flutter to test your reaction speed in various ways

FLX Test your Reflexes! A simple mobile game built with Flutter, Provider and BLoC pattern Key Features Three different play modes! Visual mode: tap w

null 24 May 11, 2021
Platform-adapting flutter widgets.

platty Platform Conforming Widgets for Flutter! Flutter makes no attempt to provide familiar widgets for a specific platform (unlike React Native, ion

Fuzz Productions 58 Dec 17, 2022
Widgets intermediate - Intermediate Widgets For Flutter

Intermediate Widgets 4-MODUL 5-LESSON Alert Dialog (Android & IOS) Drawer Single

Tukhtamurodov Sardorbek 2 Feb 6, 2022
Arisprovider - A mixture between dependency injection (DI) and state management, built with widgets for widgets

A mixture between dependency injection (DI) and state management, built with wid

Behruz Hurramov 1 Jan 9, 2022
Felipe Dias Casseb 2 Feb 9, 2022
A basic template of Flutter to get started. Includes various folders and packages that might be necessary.

Flutter App - Basic Template It's a time saving template with basic project structure, packages and other files like constants.dart to get started rat

Muhammad Hamza 47 Jun 12, 2022
A basic template of Flutter to get started. Includes various folders and packages that might be necessary.

Flutter App - Basic Template It's a time saving template with basic project structure, packages and other files like constants.dart to get started rat

Muhammad Hamza 47 Jun 12, 2022
A TabBarController that is easy to use for flutter developers. 🥰 It supports various styles of page navigation, and you can also use it to customize your favorite styles. 🍻🍻

easy_tab_controller A user-friendly TabBarController widget for flutter developer. Getting Started This project is a starting point for a Flutter plug

圆号本昊 3 May 26, 2022
A carousel package in flutter with various configuration options

Flutter_Carosel A simple Carousel Widget with multiple configuration option. ... dependencies: ... flutter_multi_carousel: ^1.0.0 ... And install it

GeekyAnts 67 Oct 2, 2022
Flutter package that provides you custom clippers to help you achieve various custom shapes.

flutter_custom_clippers Flutter package that provides you custom clippers to help you achieve various custom shapes. Usage To use this plugin, add flu

Damodar Lohani 291 Dec 23, 2022
"FlutterMoneyFormatter" is a Flutter extension to formatting various types of currencies according to the characteristics you like, without having to be tied to any localization.

FlutterMoneyFormatter FlutterMoneyFormatter is a Flutter extension to formatting various types of currencies according to the characteristics you like

Fadhly Permata 81 Jan 1, 2023
World_holidays - #1 A mobile app built with Flutter that displays the various holidays

World Holidays Mobile App World Holidays is a mobile app built with Flutter that displays the various holidays in a year across the countries of the w

Victor Eronmosele 29 Oct 7, 2022
Dart-ci-tools - A container image with flutter and various CI tools.

dart-ci-tools Container built from the official Dart image, with various CI tools written in Dart. Project Notes There are tools available to: deploy

null 1 Jan 12, 2022
A container image with flutter and various CI tools.

flutter-ci-tools A Docker container built from the cirrusci/flutter image, with various CI tools. Project Notes With the available tools you can: depl

null 1 Jan 12, 2022