permission UI interaction fails on iOS

Steps to reproduce

run the sample test below in an iOS simulator
the permission dialog shows up in the test
wait until the test finishes

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:patrol/patrol.dart';

void main() {

  patrolTest("sample test", nativeAutomation: true, ($) async {

    await $.pumpWidgetAndSettle(MaterialApp(
      builder: (_, __) {
        Geolocator.requestPermission();
        return const Center(child: Text("Test"));
      },
    ));

    await $.pump(const Duration(seconds: 4));
    await $.native.grantPermissionWhenInUse();
    //NOTE: (await $.native.isPermissionDialogVisible()) will return false here!;

  });
}

Actual results
On iOS the permission dialog seems not to be interactable for patrol. When the dialog is visible, neither native.isPermissionDialogVisible returns true nor can permissions be granted via grantPermission..().
the following error occurs:
        Patrol (native): grantPermissionWhenInUse() failed
        ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
        The following PatrolActionException was thrown running a test:
        Patrol action failed: GrpcError: grantPermissionWhenInUse() failed with code NOT_FOUND (button to
        allow permission only once doesn't exist)
        When the exception was thrown, this was the stack:
        #0      NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:200:7)
        <asynchronous suspension>
        #1      NativeAutomator.grantPermissionWhenInUse (package:patrol/src/native/native_automator.dart:659:5)
        <asynchronous suspension>

Logs

Logs
Verbose mode enabled. More logs will be printed.
Received 1 test target(s)
Received test target: /Users/wheeOS/Development/Projects/wheeos_mobile_app/integration_test/customer_journeys/dev_test.dart
Generated entrypoint /Users/wheeOS/Development/Projects/wheeos_mobile_app/integration_test/test_bundle.dart with 1 bundled test(s)
$ flutter --no-version-check devices --machine
No device specified, using the first one (iPhone 13 Pro)
Received 1 device(s) to run on
Received device: iPhone 13 Pro
Received 7 --dart-define(s) (0 custom, 7 internal)
Received internal --dart-define: PATROL_WAIT=0
Received internal --dart-define: PATROL_APP_PACKAGE_NAME=dummy.app
Received internal --dart-define: PATROL_APP_BUNDLE_ID=DUMMYBID
Received internal --dart-define: PATROL_ANDROID_APP_NAME=wheeos_mobile_app
Received internal --dart-define: PATROL_IOS_APP_NAME=wheeos_mobile_app
Received internal --dart-define: INTEGRATION_TEST_SHOULD_REPORT_RESULTS_TO_NATIVE=false
Received internal --dart-define: PATROL_TEST_LABEL_ENABLED=true
• Building app with entrypoint test_bundle.dart for iOS simulator (debug)...
$ flutter build ios --no-version-check --config-only --no-codesign --debug --simulator --target /Users/wheeOS/Development/Projects/wheeos_mobile_app/integration_test/test_bundle.dart --dart-define PATROL_WAIT=0 --dart-define PATROL_APP_PACKAGE_NAME=dummy.app --dart-define PATROL_APP_BUNDLE_ID=DUMMYBID --dart-define PATROL_ANDROID_APP_NAME=wheeos_mobile_app --dart-define PATROL_IOS_APP_NAME=wheeos_mobile_app --dart-define INTEGRATION_TEST_SHOULD_REPORT_RESULTS_TO_NATIVE=false --dart-define PATROL_TEST_LABEL_ENABLED=true
        Building DUMMYBID for simulator (ios)...
$ xcodebuild build-for-testing -workspace Runner.xcworkspace -scheme Runner -configuration Debug -only-testing RunnerUITests -sdk iphonesimulator -destination generic/platform=iOS Simulator -quiet -derivedDataPath ../build/ios_integ OTHER_SWIFT_FLAGS=$(inherited) -D PATROL_ENABLED
        2023-07-05 11:21:54.308 xcodebuild[42470:247656] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
        note: Building targets in dependency order
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOCore' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromisesSwift' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'GoogleUtilities' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'GoogleDataTransport' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'FirebaseCoreInternal' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOEmbedded' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOPosix' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'FirebaseCore' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIO' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'FirebaseInstallations' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'FirebaseCoreExtension' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOTLS' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOHTTP1' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOFoundationCompat' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOExtras' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOSSL' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOTransportServices' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOHPACK' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOHTTP2' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'gRPC-Swift' from project 'Pods')
        note: Run script build phase 'Run Script' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner')
        note: Run script build phase 'Thin Binary' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner')
        warning: Run script build phase '[firebase_crashlytics] Crashlytics Upload Symbols' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Runner' from project 'Runner')
        warning: Run script build phase 'xcode_backend build' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RunnerUITests' from project 'Runner')
        warning: Run script build phase 'xcode_backend embed_and_thin' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RunnerUITests' from project 'Runner')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIODarwin' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOHTTPParser' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PPpdf417' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOWindows' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOLinux' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftProtobuf' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target '_NIODataStructures' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'PromisesObjC' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Toast' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOBoringSSLShims' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'OrderedSet' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'AppAuth' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Starscream' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftNIOConcurrencyHelpers' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'Logging' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'nanopb' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOAtomics' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CNIOBoringSSL' from project 'Pods')
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'CGRPCZlib' from project 'Pods')
✓ Completed building app with entrypoint test_bundle.dart for iOS simulator (44.9s)
• Running app with entrypoint test_bundle.dart for iOS simulator on simulator iPhone 13 Pro...
$ xcodebuild -showsdks -json
Assuming SDK version 16.4 for iphonesimulator
Looking for .xctestrun matching Runner_iphonesimulator16.4*.xctestrun at /Users/wheeOS/Development/Projects/wheeos_mobile_app/build/ios_integ/Build/Products
Found 1 match(es), the first one will be used
Found /Users/wheeOS/Development/Projects/wheeos_mobile_app/build/ios_integ/Build/Products/Runner_iphonesimulator16.4-x86_64.xctestrun
$ xcodebuild test-without-building -xctestrun /Users/wheeOS/Development/Projects/wheeos_mobile_app/build/ios_integ/Build/Products/Runner_iphonesimulator16.4-x86_64.xctestrun -only-testing RunnerUITests -destination platform=iOS Simulator,name=iPhone 13 Pro
        2023-07-05 11:22:25.518 xcodebuild[45558:254985] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
        Command line invocation:
            /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild test-without-building -xctestrun /Users/wheeOS/Development/Projects/wheeos_mobile_app/build/ios_integ/Build/Products/Runner_iphonesimulator16.4-x86_64.xctestrun -only-testing RunnerUITests -destination "platform=iOS Simulator,name=iPhone 13 Pro"

        User defaults from command line:
            IDEPackageSupportUseBuiltinSCM = YES

        --- xcodebuild: WARNING: Using the first of multiple matching destinations:
        { platform:iOS Simulator, id:79CF4330-FBDF-4C1A-BF7D-723352AEB1E7, OS:16.4, name:iPhone 13 Pro }
        { platform:iOS Simulator, id:79CF4330-FBDF-4C1A-BF7D-723352AEB1E7, OS:16.4, name:iPhone 13 Pro }
        2023-07-05 11:22:27.778005+0200 RunnerUITests-Runner[45562:255193] Running tests...
        2023-07-05 11:22:28.740775+0200 RunnerUITests-Runner[45562:255193] PatrolServer: INFO: PATROL_PORT is null, falling back to default (8081)
        2023-07-05 11:22:28.741365+0200 RunnerUITests-Runner[45562:255193] PatrolServer: INFO: PatrolServer constructor called
        2023-07-05 11:22:28.741703+0200 RunnerUITests-Runner[45562:255193] PatrolServer: INFO: PATROL_ENABLED flag is defined
        2023-07-05 11:22:28.743003+0200 RunnerUITests-Runner[45562:255193] PatrolAppServiceClient: created, port: 8082
        2023-07-05 11:22:28.773631+0200 RunnerUITests-Runner[45562:255394] [si_destination_compare] send failed: Invalid argument
        2023-07-05 11:22:28.773884+0200 RunnerUITests-Runner[45562:255394] [si_destination_compare] send failed: Undefined error: 0
            t =      nans Checking existence of `"Allow" Button`
        2023-07-05 11:22:28.821045+0200 RunnerUITests-Runner[45562:255402] PatrolServer: INFO: Server started on http://localhost:8081
            t =      nans Open DUMMYBID
            t =      nans     Launch DUMMYBID
            t =      nans         Setting up automation session
            t =      nans         Wait for DUMMYBID to idle
        2023-07-05 11:22:32.706394+0200 RunnerUITests-Runner[45562:255401] PatrolServer: INFO: App reported that it is ready
        2023-07-05 11:22:33.271314+0200 RunnerUITests-Runner[45562:255402] PatrolAppServiceClient.listDartTests()
        2023-07-05 11:22:34.275640+0200 RunnerUITests-Runner[45562:255193] Got 1 Dart tests: (
            "customer_journeys.dev_test"
        )
        2023-07-05 11:22:34.278723+0200 RunnerUITests-Runner[45562:255193] RunnerUITests.testInvocations(): selectorName = customer_journeys_devTest, signature: <NSMethodSignature: 0xd899dd8916c8b89f>
        Test Suite 'Selected tests' started at 2023-07-05 11:22:34.295
        Test Suite 'RunnerUITests.xctest' started at 2023-07-05 11:22:34.296
        Test Suite 'RunnerUITests' started at 2023-07-05 11:22:34.297
        Test Case '-[RunnerUITests customer_journeys_devTest]' started.
            t =     0.00s Start Test at 2023-07-05 11:22:34.300
            t =     0.03s Set Up
            t =     0.03s Open DUMMYBID
            t =     0.05s     Launch DUMMYBID
            t =     0.05s         Terminate DUMMYBID:45570
            t =     1.35s         Setting up automation session
            t =     2.57s         Wait for DUMMYBID to idle
        2023-07-05 11:22:38.224488+0200 RunnerUITests-Runner[45562:255395] PatrolServer: INFO: App reported that it is ready
        2023-07-05 11:22:38.671994+0200 RunnerUITests-Runner[45562:255395] PatrolAppServiceClient.runDartTest(customer_journeys.dev_test)
        2023-07-05 11:22:43.248399+0200 RunnerUITests-Runner[45562:255193] PatrolServer: INFO: allowing while using app...
            t =     8.95s Checking existence of `"OK" Button`
            t =     9.00s Checking existence of `"Allow" Button`
            t =     9.04s Checking existence of `"Allow While Using App" Button`
            t =    10.08s Checking existence of `"OK" Button`
            t =    10.12s Checking existence of `"Allow" Button`
            t =    10.16s Checking existence of `"Allow While Using App" Button`
            t =    11.20s Checking existence of `"OK" Button`
            t =    11.26s Checking existence of `"Allow" Button`
            t =    11.30s Checking existence of `"Allow While Using App" Button`
            t =    12.34s Checking existence of `"OK" Button`
            t =    12.40s Checking existence of `"Allow" Button`
            t =    12.44s Checking existence of `"Allow While Using App" Button`
            t =    13.48s Checking existence of `"OK" Button`
            t =    13.54s Checking existence of `"Allow" Button`
            t =    13.57s Checking existence of `"Allow While Using App" Button`
            t =    14.62s Checking existence of `"OK" Button`
            t =    14.67s Checking existence of `"Allow" Button`
            t =    14.71s Checking existence of `"Allow While Using App" Button`
            t =    15.76s Checking existence of `"OK" Button`
            t =    15.82s Checking existence of `"Allow" Button`
            t =    15.85s Checking existence of `"Allow While Using App" Button`
            t =    16.89s Checking existence of `"OK" Button`
            t =    16.93s Checking existence of `"Allow" Button`
            t =    16.96s Checking existence of `"Allow While Using App" Button`
            t =    18.00s Checking existence of `"OK" Button`
            t =    18.06s Checking existence of `"Allow" Button`
            t =    18.10s Checking existence of `"Allow While Using App" Button`
        2023-07-05 11:22:53.440633+0200 RunnerUITests-Runner[45562:255394] PatrolServer: ERROR: button to allow permission only once doesn't exist
        /Users/wheeOS/Development/Projects/wheeos_mobile_app/ios/RunnerUITests/RunnerUITests.m:5: error: -[RunnerUITests customer_journeys_devTest] : ((response.passed) is true) failed - ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
        The following PatrolActionException was thrown running a test:
        Patrol action failed: GrpcError: grantPermissionWhenInUse()
        failed with code NOT_FOUND (button to allow permission only once
        doesn't exist)

        When the exception was thrown, this was the stack:
        #0      NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:200:7)
        <asynchronous suspension>
        #1      NativeAutomator.grantPermissionWhenInUse (package:patrol/src/native/native_automator.dart:659:5)
        <asynchronous suspension>
        #2      main.<anonymous closure> (file:///Users/wheeOS/Development/Projects/wheeos_mobile_app/integration_test/customer_journeys/dev_test.dart:17:5)
        <asynchronous suspension>
        #3      patrolTest.<anonymous closure> (package:patrol/src/common.dart:120:7)
        <asynchronous suspension>
        #4      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:163:15)
        <asynchronous suspension>
        #5      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:994:5)
        <asynchronous suspension>

        The test description was:
          sample test
        ═════════════════════════════════════════════════════════════════

            t =    20.24s Tear Down
        Test Case '-[RunnerUITests customer_journeys_devTest]' failed (20.449 seconds).
        Test Suite 'RunnerUITests' failed at 2023-07-05 11:22:54.751.
                 Executed 1 test, with 1 failure (0 unexpected) in 20.449 (20.455) seconds
        Test Suite 'RunnerUITests.xctest' failed at 2023-07-05 11:22:54.754.
                 Executed 1 test, with 1 failure (0 unexpected) in 20.449 (20.458) seconds
        Test Suite 'Selected tests' failed at 2023-07-05 11:22:54.755.
                 Executed 1 test, with 1 failure (0 unexpected) in 20.449 (20.461) seconds
        2023-07-05 11:23:01.850 xcodebuild[45558:254985] [MT] IDETestOperationsObserverDebug: 36.209 elapsed -- Testing started completed.
        2023-07-05 11:23:01.851 xcodebuild[45558:254985] [MT] IDETestOperationsObserverDebug: 0.000 sec, +0.000 sec -- start
        2023-07-05 11:23:01.851 xcodebuild[45558:254985] [MT] IDETestOperationsObserverDebug: 36.209 sec, +36.209 sec -- end
        2023-07-05 11:23:05.308 xcodebuild[45558:254985] [MT] IDEResultKit: Warning: While writing a result bundle to /Users/wheeOS/Library/Developer/Xcode/DerivedData/Runner-beqaftshzcxpytdmujufdotjgfcq/Logs/Test/Test-Runner-2023.07.05_11-22-25-+0200.xcresult, not all contents have been imported, as the Staging directory still contains the following files/directories: ["1_Test"]

        Test session results, code coverage, and logs:
                /Users/wheeOS/Library/Developer/Xcode/DerivedData/Runner-beqaftshzcxpytdmujufdotjgfcq/Logs/Test/Test-Runner-2023.07.05_11-22-25-+0200.xcresult

        Failing tests:
                -[RunnerUITests customer_journeys_devTest]

        ** TEST EXECUTE FAILED **

        Testing started
✗ Failed to execute tests of app with entrypoint test_bundle.dart for iOS simulator on simulator iPhone 13 Pro (xcodebuild exited with code 65) (40.7s)
Error: xcodebuild exited with code 65
#0      throwToolExit (package:patrol_cli/src/base/exceptions.dart:7:3)
#1      IOSTestBackend.execute.<anonymous closure> (package:patrol_cli/src/ios/ios_test_backend.dart:177:9)
<asynchronous suspension>
#2      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)
<asynchronous suspension>
#3      IOSTestBackend.execute (package:patrol_cli/src/ios/ios_test_backend.dart:143:5)
<asynchronous suspension>
#4      TestCommand._execute (package:patrol_cli/src/commands/test.dart:232:7)
<asynchronous suspension>
#5      TestCommand.run (package:patrol_cli/src/commands/test.dart:168:23)
<asynchronous suspension>
#6      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#7      PatrolCommandRunner.runCommand (package:patrol_cli/src/runner/patrol_command_runner.dart:310:18)
<asynchronous suspension>
#8      PatrolCommandRunner.run (package:patrol_cli/src/runner/patrol_command_runner.dart:254:18)
<asynchronous suspension>
#9      patrolCommandRunner (package:patrol_cli/src/runner/patrol_command_runner.dart:72:20)
<asynchronous suspension>
#10     main (file:///Users/wheeOS/.pub-cache/hosted/pub.dev/patrol_cli-2.0.1/bin/main.dart:6:20)
<asynchronous suspension>

See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
$ xcrun simctl uninstall 79CF4330-FBDF-4C1A-BF7D-723352AEB1E7 DUMMYBID
$ xcrun simctl uninstall 79CF4330-FBDF-4C1A-BF7D-723352AEB1E7 DUMMYBID.RunnerUITests.xctrunner

Patrol version
patrol: ^2.0.2
Patrol Doctor output

Patrol Doctor output
Patrol CLI version: 2.0.1
Program adb found in /Users/osmankutlucan/Library/Android/sdk/platform-tools/adb
Env var $ANDROID_HOME is not set
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
[✓] Flutter (Channel main, 3.11.0-12.0.pre, on macOS 13.3.1 22E261 darwin-arm64, locale de-DE)
    • Flutter version 3.11.0-12.0.pre on channel main at /Users/osmankutlucan/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 216605b60f (6 weeks ago), 2023-05-23 23:40:27 -0400
    • Engine revision eebcf36cd3
    • Dart version 3.1.0 (build 3.1.0-139.0.dev)
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/osmankutlucan/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment Homebrew (build 20.0.1)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9161.14

[✓] VS Code (version 1.79.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)
    • iPhone 13 Pro (mobile) • 79CF4330-FBDF-4C1A-BF7D-723352AEB1E7 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Hi, I suppose your device's language isn't set to English. Try to change it and run this test. More info here.

@fylyppo

Patrol can handle permissions on iOS only if the device language is set to English (preferably US). That's because there's no way to refer to a specific view in a language-independent way (like resourceId on Android).

oh I see.. yes you're correct in your assumption.. thanks for the tip.
Then, I'm curious.. how I can I replace this call native.isPermissionDialogVisible() accordingly, so that I can check that for non-English locale.

@bartekpacia got it, but I meant, how can solely check whether the dialog is visible. Thus no tapping

You can try using this: https://pub.dev/documentation/patrol/latest/patrol/NativeAutomator/isPermissionDialogVisible.html

@bartekpacia as stated in my example code, that unfortunately returns false in my test on iOS (see NOTEcomment) even though the dialog is visible. So I assumed (after @fylyppo 's tip) that also has to do with the non-English locale. So I don't know how to check that manually.

@bartekpacia I have double checked the corresponding swift code, and yes the check happens based on English labels.
I would recommend that the patrol api for iOS at least for the permission stuff respects non-English system locales. Maybe by giving the patrol user the possibility to setup alternative texts in the preparation phase which are used for the checks when the system locale is not default.
E.g. for func isPermissionDialogVisible case:
replacing
let labels = ["OK", "Allow", "Allow once", "Allow While Using App", "Don’t Allow"]
by
let labels = [textOK, textAllow, textAllowOnce, textAllowWhileUsingApp, textDontAllow]

Hi @wheeOs can you please help me on iOS setup as I am getting this error
lallu@Laliths-MacBook-Pro hhhh % patrol test --target integration_test/example_test.dart --verbose
You're using Patrol CLI 2.0, which has breaking changes.
Read the migration guide at https://patrol.leancode.co/v2.
Disable this warning by setting the PATROL_MIGRATED environment variable.
Verbose mode enabled. More logs will be printed.
Received 1 test target(s)
Received test target: /Users/lallu/Documents/Flutter Pro/hhhh/integration_test/example_test.dart
Generated entrypoint /Users/lallu/Documents/Flutter Pro/hhhh/integration_test/test_bundle.dart with 1 bundled test(s)
$ flutter --no-version-check devices --machine
No device specified, using the first one (iPhone 14 Pro)
Received 1 device(s) to run on
Received device: iPhone 14 Pro
Received 7 --dart-define(s) (0 custom, 7 internal)
Received internal --dart-define: PATROL_WAIT=0
Received internal --dart-define: PATROL_APP_PACKAGE_NAME=com.example.hhhh
Received internal --dart-define: PATROL_APP_BUNDLE_ID=com.example.hhhh
Received internal --dart-define: PATROL_ANDROID_APP_NAME=hhhh
Received internal --dart-define: PATROL_IOS_APP_NAME=hhhh
Received internal --dart-define: INTEGRATION_TEST_SHOULD_REPORT_RESULTS_TO_NATIVE=false
Received internal --dart-define: PATROL_TEST_LABEL_ENABLED=true
• Building app with entrypoint test_bundle.dart for iOS simulator (debug)...
$ flutter build ios --no-version-check --config-only --no-codesign --debug --simulator --target /Users/lallu/Documents/Flutter Pro/hhhh/integration_test/test_bundle.dart --dart-define PATROL_WAIT=0 --dart-define PATROL_APP_PACKAGE_NAME=com.example.hhhh --dart-define PATROL_APP_BUNDLE_ID=com.example.hhhh --dart-define PATROL_ANDROID_APP_NAME=hhhh --dart-define PATROL_IOS_APP_NAME=hhhh --dart-define INTEGRATION_TEST_SHOULD_REPORT_RESULTS_TO_NATIVE=false --dart-define PATROL_TEST_LABEL_ENABLED=true
Building com.example.hhhh for simulator (ios)...
$ xcodebuild build-for-testing -workspace Runner.xcworkspace -scheme Runner -configuration Debug -only-testing RunnerUITests -sdk iphonesimulator -destination generic/platform=iOS Simulator -quiet -derivedDataPath ../build/ios_integ OTHER_SWIFT_FLAGS=$(inherited) -D PATROL_ENABLED
error: Build input file cannot be found: '/Users/lallu/Documents/Flutter Pro/hhhh/ios/RunnerUITests/RunnerUITestsLaunchTests.m'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'RunnerUITests' from project 'Runner')
error: Build input file cannot be found: '/Users/lallu/Documents/Flutter Pro/hhhh/ios/RunnerUITests/RunnerUITestsLaunchTests.m'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'RunnerUITests' from project 'Runner')
note: Building targets in dependency order
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOHTTPParser' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIODarwin' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target '_NIODataStructures' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftProtobuf' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'Logging' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOWindows' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOLinux' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOBoringSSL' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOAtomics' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CGRPCZlib' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'CNIOBoringSSLShims' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOConcurrencyHelpers' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOCore' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOPosix' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOEmbedded' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIO' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOTLS' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOHTTP1' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOFoundationCompat' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOExtras' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOTransportServices' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOSSL' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOHPACK' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'SwiftNIOHTTP2' from project 'Pods')
/Users/lallu/Documents/Flutter Pro/hhhh/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 10.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'gRPC-Swift' from project 'Pods')
note: Run script build phase 'Run Script' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner')
note: Run script build phase 'Thin Binary' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner')
warning: Run script build phase 'xcode_backend build' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RunnerUITests' from project 'Runner')
warning: Run script build phase 'xcode_backend embed_and_thin' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RunnerUITests' from project 'Runner')
** TEST BUILD FAILED **
✗ Failed to build app with entrypoint test_bundle.dart for iOS simulator (xcodebuild exited with code 65) (31.9s)
Error: xcodebuild exited with code 65
#0      throwToolExit (package:patrol_cli/src/base/exceptions.dart:7:3)
#1      IOSTestBackend.build. (package:patrol_cli/src/ios/ios_test_backend.dart:127:9)

#2      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)

#3      IOSTestBackend.build (package:patrol_cli/src/ios/ios_test_backend.dart:67:5)

#4      TestCommand._build (package:patrol_cli/src/commands/test.dart:194:7)

#5      TestCommand.run (package:patrol_cli/src/commands/test.dart:167:5)

#6      CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#7      PatrolCommandRunner.runCommand (package:patrol_cli/src/runner/patrol_command_runner.dart:310:18)

#8      PatrolCommandRunner.run (package:patrol_cli/src/runner/patrol_command_runner.dart:254:18)

#9      patrolCommandRunner (package:patrol_cli/src/runner/patrol_command_runner.dart:72:20)

#10     main (file:///Users/lallu/.pub-cache/hosted/pub.dev/patrol_cli-2.0.1/bin/main.dart:6:20)

See the logs above to learn what happened. Also consider running with --verbose. If the logs still aren't useful, then it's a bug - please report it.
Error: xcodebuild exited with code 65
#0      throwToolExit (package:patrol_cli/src/base/exceptions.dart:7:3)
#1      IOSTestBackend.build. (package:patrol_cli/src/ios/ios_test_backend.dart:127:9)

#2      DisposeScope.run (package:dispose_scope/src/dispose_scope.dart:46:7)

#3      IOSTestBackend.build (package:patrol_cli/src/ios/ios_test_backend.dart:67:5)

#4      TestCommand._build (package:patrol_cli/src/commands/test.dart:194:7)

#5      TestCommand.run (package:patrol_cli/src/commands/test.dart:167:5)

#6      CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#7      PatrolCommandRunner.runCommand (package:patrol_cli/src/runner/patrol_command_runner.dart:310:18)

#8      PatrolCommandRunner.run (package:patrol_cli/src/runner/patrol_command_runner.dart:254:18)

#9      patrolCommandRunner (package:patrol_cli/src/runner/patrol_command_runner.dart:72:20)

#10     main (file:///Users/lallu/.pub-cache/hosted/pub.dev/patrol_cli-2.0.1/bin/main.dart:6:20)

@wheeOs Can you please guide me how to setup in iOS.?

@lravihs Please be a good citizen and:

Use spoiler tags for including long logs like the one above.
Do not spam an issue with unrelated comments

But to answer your question: if you look closely at the logs, you'll see:
error: Build input file cannot be found: '/Users/lallu/Documents/Flutter Pro/hhhh/ios/RunnerUITests/RunnerUITestsLaunchTests.m'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'RunnerUITests' from project 'Runner')
error: Build input file cannot be found: '/Users/lallu/Documents/Flutter Pro/hhhh/ios/RunnerUITests/RunnerUITestsLaunchTests.m'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'RunnerUITests' from project 'Runner')

Solution: delete the RunnerUITestsLaunchTests.m from Xcode.

@wheeOs Thank you for explaining, this is a valid problem indeed.

$.native.setExpectedNonEnglishIOSPermissionUiTexts = IOSPermissionUiTexts(...);

This is an interesting idea. We could probably accept this in $.native.configure, e.g.:
patrolTest(
  ...
  ($) async {
    $.native.configure(
      permissionDialogLocaleConfiguration: PermissionDialogLocaleConfiguration(
        textOK: "OK",
        textAllow: "Zezwalaj",
        textAllowOnce: "Zezwalaj tym razem",
        textAllowWhileUsingApp: "Zezwalaj podczas używanie tej aplikacji",
        textDontAllow: "Nie pozwalaj",
      ),
    );
    // more test code
  }
);

Another way is to implement something like $.native.isNativeViewVisible(Selector), and then you'd be able to do it yourself.

@bartekpacia I like your proposal more


Clicking 'Create User Story' should select the correct project by default

Create User Story does not automatically select the correct project for a user story.

Hi @timgws
Is the problem solved?


CSS Namespacing

I would like to propose using namespaced CSS-class names, so that the style-rules of this module do not interfere with the custom rules of the client.
For example change .panel to .gantt-panel.

It would be great, feel free to open pull request with the refactoring.

In next version (1.3), i'll refactoring everything using SASS. Everything will be namespaced with .gantt container, and gantt- prefixes.


JVM crash on attaching async profile

Hello !
The JVM crashed when i launched Async profiler :
Commande line :
async_profiler/profiler.sh -b 100000000 -d $duration -e alloc -f /tmp/async-profiler/${timestamp}-${server}-alloc.svg
Extract from hs_err_pid.log :
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f789796b7b8, pid=5071, tid=0x00007f78dee99700
#
# JRE version: OpenJDK Runtime Environment (8.0_191-b12) (build 1.8.0_191-b12)
# Java VM: OpenJDK 64-Bit Server VM (25.191-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libasyncProfiler.so+0x157b8]  Profiler::copyToFrameBuffer(int, ASGCT_CallFrame*, CallTraceSample*)+0x48
#

It's very strange because i have launched Async Profiler several times without errors, the difference is : i have increased the frame buffer size. But with this value of buffer size, i haven't got any error with another server.
If more information is needed,  feel free to ask.

I suppose this could be caused by out-of-memory condition. The option -b 100000000 means the frame buffer can occupy up to 2.2 GB (24 * 100'000'000). But I can't tell for sure without seeing full hs_err.log crash log.

The problem was in too large frame buffer. Now async-profiler throws an error if it fails to allocate memory for the buffer.


[UNDERTOW-1561] deffer to FS path conversion for non plan files

Issue: https://issues.redhat.com/browse/UNDERTOW-1561
Upstream PR: https://github.com/undertow-io/undertow/pull/1120

Closing PR for 2.1.x as we are no longer submitting fixes to that branch


Implements scanFunc

Implements scanFunc

Current coverage is 93.22% (diff: 86.11%)

Merging #23 into services will decrease coverage by 0.94%

@@           services        #23   diff @@
==========================================
  Files            10         10
  Lines           635        679    +44
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            598        633    +35
- Misses           25         32     +7
- Partials         12         14     +2

Powered by Codecov. Last update 5ddc245...363fbe6

Sorry I did not make this clear, this is not mergeable yet. Adding some test on integration and failing for a return type of error :(

Ping me when this can be reviewed @Serabe


Removed the contents of "Banner Ad Reflow" and added for "Photoshop A…

…ctions".

Description
Removed the contents of "Banner Ad Reflow" and added contents of "Photoshop Actions"

Related Issue
None

Motivation and Context
To add the latest API information.

How Has This Been Tested?
Tested locally.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x ] I have signed the Adobe Open Source CLA.
[x ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@kmikawa please have a look at your changes on stage. Looks good from my side!

@kmikawa friendly reminder ⭐ This will be deployed to prod tomorrow, unless any changes are submitted.

@kmikawa successfully deployed: https://www.adobe.io/photoshop/


Improved documentation for configuration options.

I just cleaned up the formatting and output for the README.md

@nmaves thanks 👍


.htaccess compatibility

The default .htaccess file leaves the CMS impossible to install. I received repeated 500 errors from my Apache host. It seems the included file is incompatible with the latest version of Apache.
I have rewritten the .htaccess file (see below) which removes the 500 error. I have never seen an .htaccess file as long as the one in this software.
Edit: This isn't designed to be perfect. I just removed all of the items I felt to be unnecessary and merged a few sections together. I'm certain this can likely be cleaned up further.
Here is my revised htaccess file:
<IfModule mod_rewrite.c>
	RewriteEngine On

	## Uncomment the below "#RewriteBase /" (remove "#") if pH7CMS is installed in a folder, and add the folder name after the slash "/"
	## Example: If pH7CMS is installed in "/public_html/ph7cms/", then it should be "RewriteBase /ph7cms/", however it may depends of your Apache configuration.
	## If you need, please ask your hosting company or check the Apache doc: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

	RewriteBase /

	<IfModule mod_env.c>
		# Tell PHP that the mod_rewrite module is ENABLED.
		SetEnv HTTP_MOD_REWRITE On
	</IfModule>

	### For pH7CMS's URL router (DO NOT REMOVE THESE FOLLOWING CODE) ###
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)$ index.php?$1 [L,QSA]
	#RewriteRule ^(.*)$ init.ph7?$1 [L,QSA]

</IfModule>

<IfModule mod_php5.c>
	php_flag allow_url_include Off
	php_flag expose_php Off
</IfModule>

### Security and Spam ###

ErrorDocument 400 /error/http/index?code=400
ErrorDocument 401 /error/http/index?code=401
ErrorDocument 402 /error/http/index?code=402
ErrorDocument 403 /error/http/index?code=403
ErrorDocument 404 /error
ErrorDocument 405 /error/http/index?code=405
ErrorDocument 500 /error/http/index?code=500
ErrorDocument 501 /error/http/index?code=501
ErrorDocument 502 /error/http/index?code=502
ErrorDocument 504 /error/http/index?code=504
ErrorDocument 505 /error/http/index?code=505

# For the videos extensions
#AddType video/ogg .ogg
AddType video/webm .webm
AddType video/mp4 .mp4
AddType application/rss+xml .xml

# Personal pH7CMS extension file
#AddType application/x-httpd-php .ph7
#DirectoryIndex init.ph7

Hi !
First of all, have you looked through the other already written and / or closed issue that may relate to a problem similar as yours ?
Secundo, maybe you find that the distributed .htaccess file is pretty long.
As it does lot of filtering for User-Agents that are only using bandwith and grabbing content, there's a use to such length. Most provider have much more complex htaccess / apache configuration for there server but it does reside in many files.
The exact part you removed from your .htaccess that send a 403 forbidden to many user-agents who will simply leech from your site is the one that I personnaly use in other CMS as it does a great job to save bandwidth and ressources from being overused.
May I suggest that you keep your thread as much related to what your problem may be if you want to get some help back ? There's many person who use the .htaccess "out of the box" and experience no problem at all.
Also, the least you should do is give more information about your hosting configuration such as :
Apache server version,
Log extract,
Modules enabled,
etc.
With as much "no info" as you give us, it's pretty hard to do better than speculate !
Look at the thread "mimify and static caching" as it relate somewhat to your problem (and the doubled issue you opened).
As many community based project and even more online site, there will always be some work to be done as customisation that will require in-depth technical knowledge if you want to do more than "simply point-click".
Your problem is not related to theming but to caching and the used of "curl" in the background to compress and store pages of your site ahead of serving them.
Look in your logs and you'll have many (and many more) 401 error (in your access logs).
Yes the "admin cp" is using this feature as the rest of the site as it will be much more used than on a normal CMS.
The software require a great deal of "good configuration" or "unobstructed use" of Apache as it does use many feature at they're best. Same as many years ago when Linux used to make system crash on computer with poor memory, this software pushes Apache to the limits so it can be as resource efficient as possible.
Get back with more info and we'll try to help you sort out those problem.
Also as changing your htaccess to a different version didn't solve your troubles, I'll suggest you to get back to the "standard one" as it will be easier for us to help you.
Disable "mod_security" (mod-security-crs) for the time being as it will be interfering with the troubleshooting. Also it's quite useful to know what type of hosting are you using (shared, VPS, localhost, etc).
Sincerely,
PM-Summerside

Added !
After so check-up there's no change in the latest apache 2 server (2.4.33) that is incompatible with the actual .htaccess. Could you please exlain why you make such affirmation ?
What have you tried out to make such diagnostics ?
Maybe you dislike lengthy .htaccess and would prefer to split apart but that's you own personal opinion. But talking about facts (useful stuff), I tried over apache 2.4.33, 2.4.25 (Debian Stretch), even old 2.2 of Slackware and they all go good.
A 500 server error is a client side answer, if you look into your logs you'll get what's causing this type of error and then we'll be able to have some kind of constructive discussion.
You seem to go quite fast onto conclusion without much proof.
The .htaccess file was updated last time 4 month ago https://github.com/pH7Software/pH7-Social-Dating-CMS/commit/4554eac8589d8fb332e9c485c09f69da637e077c and you're the first to make such affirmation. I have profound doubt that the problem reside somewhere else as such complaints would have came in before.
The changed made in November we're pretty small and the apache httpd server steering team doesn't make major changes in the configuration files in minor updates.
The only problem I could see have been solved in august and was related to looping on some hosting provider.
Here's the link https://github.com/pH7Software/pH7-Social-Dating-CMS/commit/dc97f5584562770765d8fca3a35963a2158f8b4c#diff-8052c42ab3b8aa06a3f5f788a4ddccc2
PM

I am using NearlyFreeSpeech.net as my hosting provider. It was actually their support team who suggested the incompatibility:

The .htaccess file you are using is not compatible with current versions of Apache.
You may want to consult the developer for a more recent one, preferably one that is more minimalistic for the needs of that app, and less of an editorial monoblock.
Edit: The shorter version still has some extraneous (but harmless) stuff in there but does eliminate the sections with compatibility problems.

Your "bad bot" filtering actually caused NFSN's crypto bot (based off of the EFF's CertBot for Let's Encrypt) to fail (access denied, as reported by the rewrite log).
In order to get this function to work and be issued my certificates, I ended up disabling the .htaccess file entirely (renaming it to old.htaccess). The bot was able to function as intended at that point.
I can show my access logs and rewrite logs, but with the .htaccess changed, it's working perfectly. I will reply to the other thread and show my rewrite log for the theming issue.
I consider this issue and the theming error to be unrelated as this has to do with the .htaccess file and the other thread has to do with the theming system. They work independently of each other, and changing one has no effect on the other. Claiming they're the same issue is like me creating a ticket on my email system and my minecraft server and you telling me they're the same issue.
That said, here's the information you have requested:
Apache server version: 2.4
Log extract:
When attempting to access the site under the default .htaccess file, the following is returned:
[Mon Mar 26 21:42:05.007839 2018] [core:alert] [pid 86314:tid<PHONE_NUMBER>8] [client <IP_ADDRESS>:20035] /fs7d/lfdating/public/.htaccess: Invalid command 'Deny', perhaps misspelled or defined by a module not included in the server configuration

You will see in my access file (the top section is included below), that it begins working as soon as I clean up the .htaccess file. Between the timestamps of 21:42 and 22:33, I had run the certificate issuance process with the .htaccess file disabled entirely.
Modules enabled: https://www.freebsd.org/ports/
Here's the top of my rewrite log, comments added: https://gitlab.com/snippets/1706558

At first, your "theming" issue is exactly related to the actual one as the pages don't display properly because they aren't served correctly so that they can be fetched by "curl" and cached. That's exactly why you get a good display when you disable the caching (which put a higher load on your server but doesn't change anything in the functions of the CMS).
There's a difference (really huge one) between what your "technical support" says and the actual reality. The log you just copied a line says that the "Deny" command is not supported or included in the modules your server use. This has nothing to do with Apache not supporting the actual "htaccess" that we provide but more with the fact that your provider restrict what you can include in the "htaccess" user based configuration.
It's too easy to call-on incompatibility but not to state where they're found.
In fact the "Deny" keyword is supported by Apache since the very first version and there's no backward incompatible changes that are introduced in minor version upgrade and much rarely in the major version upgrade.
I'm not sure why you sent me the link for the FreeBSD port distribution as it doesn't give me a hint about what exact modules your provider do enable.
It's quite common that you may need to disable a access control for Apache when you run a certificate creation process / bot. I need to do the same every time I run the domain validation procedure for my SSL certificates from Comodo or Verisign. You could have simply added a "Referer" validation bypass for the rules and it would have done the same. Depending on the uses of my domain, when it's as a Web server then I do exactly that as it saves me problem if I ever need a domain validation done again.
I exactly know what does EFF CertBot does and can understand that you want to have the process automated so simply add either a "Referer" or "User-Agent" rules bypass for the process and you won't have to disable the access control configuration next time.
Here's the info :
https://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html
You make a rewrite condition valid for the HTTP_USER_AGENT and HTTP_REFERER used by EFF Crypto Bot (you can find those information in your access log file).
It's quite possible that your provider has security modules enabled that may interfere with the CMS. As I told you in my last message, I would recommend that you check out with them if they use mod_security and in such case to have it disabled. One of the reason we have our own security configuration is that the CMS does a great job on it's own.
I'll end by suggesting that you first install a version on your own PC at home and do a installation from a "local". It will allow you to get used with the software and do easier troubleshooting.
I'll also suggest to make it easier troubleshooting to try the following as a .htaccess
--- start --
RewriteEngine On
RewriteBase /
SetEnv HTTP_MOD_REWRITE On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
php_flag allow_url_include Off
php_flag expose_php Off
-- end --
You don't have to use the  </> division when you're sure that the modules are enabled and by assuming that they are (like I'm doing in this file). You make sure that the required modules are effectively loader.
I looked at the answer you gave me in the other thread and it does exactly confirm what my belief was and that I stated at first. It's no something as a "theming" issue but has to do with the files not getting delivered. As they can't be cached, they can't be delivered so you get a messed up display.
Good luck !

I'm not sure if the latest version are on SourceForge. Anyway, the standard update would suggest that you use a git so maybe to start at first make a git clone, branch the latest version and use that one to get the site running.
I noticed by looking at you logs that you seem to be trying out the software on a live public server ? I'd suggest you get used to the product before going into a "production".
Don't want to disappoint you, but this software is pretty easy to get using but you'll need to do some real work of customising if you want to get something useful out of it and it's not by stopping at a "doesn't work" that you'll go really far.
Take a look inside at the source code to get some in-deep understanding of they way stuff is done. No real work is easy done and I can guarantee you that it won't go far if you have in mind that everything will only be a point-and-click operation.

Hi all!

The version on Sourceforge (v12.1.2) is the latest one. Only really minor changes have been pushed on Github since the last release.

2- According to your log, it looks like your are running it with Apache 2.4+. Apparently, in your case, "mod_access_compat" isn't enabled, isn't it?
I'm working on a fix to make the apache files compatible with either 2.2 or 2.4 versions (even if mod_access_compat hasn't been enabled). It should be published very soon.
Thanks!

Hi all !
Thanks @pH-7 for the confirmation that Sourceforge is up to date with the Git. I wasn't sure so I suggested to use a repo as it's also more convenient when you want to try some code modification.
I've made some test and contacted different hosting manager (Namecheap, Godaddy and iWeb plus some local ones). They all confirmed my first thought as any htaccess rule that do a minimum of restriction against anything except "browsing user" won't allow automatic certificate validation (SSL because they need mainly to have direct access to the server and aren't user-agents normally included in the standard "browsing user".
So SSL certificate will always be possible on a server running pH7CMS, but some little tricks will be required if you want to use something like the cPanel or Plex modules that do automatic validation and generation once expiry. For example the Namecheap SSL plugin on cPanel for user using Namecheap with Positive SSL certificate. You have either to :
1 - send a tickets to ask the agents to validate for you
2 - to manually modify your script to accept the SSL bot that will be calling upon your server and requesting a specific file (normally a long filename ending by .txt).
3 - use another validation method (for example a modified DNS record).
4 - or be creative as it's not normally something that is done really often to validate your domain for SSL certificate.
P.S. I love complex Apache file as they're much faster than any other way of managing user access in the way of either browser, time of day, IP, etc... check https://github.com/polynamaude/A2-BadIPs
Maybe we could integrate some kind of IP validation later-on as it can be used easily with the actual DDoS. I use the dbm file format as they other type of file produced are quite large and only for demonstration. The documentation is lacking but I promise a README in the next two days. It was a "emergency" coding so it's far from neat and clean.
Thanks

Close it for now. Please reopen if there is still an issue related to it.


HUB-160: Short hub v3 A/B test

A/B testing the short hub by removing the blue slides and adding the
questions back.

DO NOT MERGE UNTIL CONFIRMED


Timer should be cancelled in dispose()

First off, thanks for making this widget... it's great!
I noticed the following issue when changing routes while the timer is still running:
AnimationController.forward() called after AnimationController.dispose()
It can be resolved by doing the following:
Create a new private variable:
var _timer;
Assign the timer to it:
_timer = Timer(delay, () {
_opacityController.forward();
});
Modify the dispose() method as follows:
/// Dispose the opacity controller
@override
void dispose() {
_opacityController.dispose();
if (_timer != null) {
_timer.cancel();
}
super.dispose();
}

Hi @ratherNotB
Thank you for your issue that is totally right :)
It has taken me some time to be able to work again on that widget but here we are, a new version 1.0.3 is now uploaded with this change !
Hopping it will help you


Setup codecov

PR Type
Feature
Short Description
Clickup Ticket(s): https://app.clickup.com/t/8687e1mp3
Setting up action to run Codecov.
Tests Added
NA

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

90% coverage overall!  🕺
https://app.codecov.io/github/VectorInstitute/FLorist/commit/f61a082680d511050b0360f1da4995a688f9aeb8


Fix path.resolve() import error in example config.

Thanks for you contribution! What's the error you're seeing though? Simply destructuring resolve out of path doesn't seem like it would actually fix anything.

This is the section where the error is located;
const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: './index.js',

  plugins: [
    new webpack.HotModuleReplacementPlugin() // Enable HMR
  ],

  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/'
  },

  devServer: {
    hot: true, // Tell the dev-server we're using HMR
    contentBase: resolve(__dirname, 'dist'), <-- THIS WON'T WORK
    publicPath: '/'
  }
};

contentBase: resolve(__dirname, 'dist') is the issue, since resolve isn't declared (path is).
You could go the other way and change it to contentBase: path.resolve(__dirname, 'dist'), but I just thought it was cleaner do destructure and use resolve directly instead.

Ah, now I see thanks for the clarification. Yeah I understand what you mean, however I want to prevent people from confusing it with any other resolve methods like require.resolve. Can you go the other route you mentioned (i.e. simply referencing contentBase: path.resolve(...))?
On a side note, did you find the guide clear and useful?

Changed it to const path = require("path"); now. Made a bit of a mess with the commits, hope that's not a big issue. I find the guide pretty easy to follow, but I was actually there to grab the "boilerplate" for setting up react-hot-loader, which now seems to be gone. I do think a lot of people would benefit from having framework specific set up guides (HMR with React, HMR with Express etc.), but I also understand that that's not really related to Webpack.

I do think a lot of people would benefit from having framework specific set up guides (HMR with React, HMR with Express etc.), but I also understand that that's not really related to Webpack.

Yeah, there were a few reasons behind the decision to remove it. First of all, the old hmr-react guide covered a lot (much of which was not really directly related to HMR) and also had some unnecessary entry points that weren't required to make HMR work. Secondly, documenting integrations with specific frameworks is kind of a never ending spiral and increases the scale of our documentation tremendously (which is already pretty big even without additional third-party "integration" docs). Lastly, we had multiple people asking how to just get a basic HMR setup working without any frameworks.
If you have any other links, e.g. to blogs or somewhere that explain the react-hot-loader setup better you should feel free to add them to the Other Code and Frameworks section at the bottom. TBH though I think the best approach would be to try to improve the docs over at the react-hot-loader repo, where they can now they can link to our simple guide as a pre-requisite.

Yeah, I totally understand why the decision was made, it would just end up with you getting support requests for libraries other than Webpack as well. I removed react-hot-loader, now just using HotModuleReplacementPlugin with module.hot.accept() in my entry file, and HMR still works as far as I can tell. Thanks for merging the PR!


Regularizer parameters are not being passed correctly

I left this unimplemented on my first pass because the regularization parameter logic is a bit tricky. @ziw-liu @edyoshikun suggested I look at Enum types, which is where I'll start.
I expect this to be a fairly easy wiring issue.

Closing. Fixed by #356 along with minor background correction bugs.


ml_IN transaltions!

Country - India
Region - Keralam
Language - Malayalam

Ah, checkout the Commits and Files Changed tabs. I think you had a little bit of a git snafu. It shows 23 files changed : )
You should be able to cherry pick your original commit to the release branch, or just copy/pasta the code itself and resubmit to fix.

Okay, Let me close thus pull request then.
Thanks @chriskiehl


Histogram viz - height==1 bars don't mouse-over or show up in log scale mode

Reproduce:
GEMS1A
Subset: Country==India
Histo viz: main: weight-for-age z-score; overlay: none
Problem: you can see a small third bar, but mouse-over does not make a pop-up (presumably because it's so small).  Related to VEuPathDB/EdaNewIssues#33 (but that's subsetting)
Log-scale mode should accentuate it, but the minimum is 1, so the bar is not shown.  Maybe min y-axis for log-scale count axes should be less than 1? @moontrip

i assigned this 'low cost' but not totally sure about that.


feat(other): logging on deploy

🍰 Pullrequest

This PR enables logging for the deploy script and all its subscripts. The output is redirected to the console and files.
There is two log files - one containing all logs and the other just the errors.
Issues

contributes to #143

Todo

[X] None

For my understanding: You tee the output of the deploy to 3. Three gets redirected to stdout and printed to logfile. stderr gets redirected to stdout es well and also printed to error log file. Correct?

This is what I found on the internet to redirect output to the console and a file. I enhanced this by exporting the stderror log to a separate file in oder to make error hunting easier.
As far as I understand the >&3 is the console while >&2 gets written to >&1 and to a file. >&1 then in turn is directed to a file containing both stderror and stdlog.

Further read on https://stackoverflow.com/a/18462920


concurrent chunk encryption/decryption

the encryptor can maintain a threadpool of 25 workers ( derived from FPS ).
a chunk is equivalent to a frame.
each chunk is independent and will be handled once.
therefore the processing can be divided among the workers.
I thought a list []  could be allocated beforehand;
each worker will receive the chunk and an index/reference that refers to their ordinal position in the file.
a worker will encrypt the chunk into a frame and will put the result in the list based on the given index/reference.
when they are done the list contains the frames in the order that is equivalent to the order of the chunks in the file.
the encryptor waits for all threads to finish;
at first glance it seems there are no critical sections in that implementation.

[ ] Encryption Concurrency
[ ] Decryption Concurrency

gal implement the concurrent for both of them


Exception in closing of MissionRecord: boost::filesystem::remove:

Exception in closing of MissionRecord: boost::filesystem::remove: 另一个程序正在使用此文件，进程无法访问。: ".\mission_records\45e111d1-8782-4d3c-aa2b-fbf20e816cf1\commands.txt"
Exception in closing of MissionRecord: boost::filesystem::remove: 另一个程序正在使用此文件，进程无法访问。: ".\mission_records\84de38d3-7eb8-4136-bf95-ee6f43b1d38a\commands.txt"
Error starting mission: unidentifiable C++ exception

Can you give us any more information? Steps to reproduce? What OS you are running on, etc?

I'm closing this because without any extra information there's nothing much we can do. If this is still a problem, please reopen and give us a more detailed report.

Hi, I'm getting the same error while I was running sample missions. I'm running it on Windows.
PS C:\Users\ahkim\Desktop\Malmo-0.31.0-Windows-64bit_Python3.6\Malmo-0.31.0-Windows-64bit_Python3.6\Python_Examples>  python tabular_q_learning.py
Loading mission from ../Sample_missions/cliff_walking_1.xml
Map 0 - Mission 1 of 150:
Exception in closing of MissionRecord: boost::filesystem::remove: The process cannot access the file because it is being used by another process: ".\mission_records\5b7ddd24-1306-4cb2-8c59-76738cf8299f\commands.txt"
Exception in closing of MissionRecord: boost::filesystem::remove: The process cannot access the file because it is being used by another process: ".\mission_records\6854c00c-435f-4a44-9556-eb19c2ce213f\commands.txt"
Error starting mission: Failed to find an available client for this mission - tried all the clients in the supplied client pool.


Inconsistency when using DataLoader

❓ Questions & Help

I encountered a weird problem during using the library's provided dataloader and haven't figured out whether it's because of InMemoryDataset or DataLoader provided. I created a dataset inherited from InMemoryDataset.
The first two graph looks like this:

If I set shuffle=False and iterate twice with batch_size=1, I get what I want:

However, if I set batch_size=2 and iterate once, the result is not consistent and some doesn't even appear in the dataset:

From the above two pics, it's obvious that ids (created for debugging)  don't correspond to edge_index. Why?

Which attributes are corrupted? edge_item_index? This might be very well because we cumulatively sum up attributes which contain the words index or face in mini-batch scenarios. You can rename your data attribute to, e.g., edge_item, or inherit from the Data class and redefine __cumsum__. Sorry for any inconvenience.

Thanks for your reply! I changed the attribute as suggested to edge_item and got an error during collating. The attribute is of same dimension as edge_index (2x#edges), serves as id for edges for debugging purpose. Isn't it supposed to be supported as an additional attribute for Data class.

Ah I see!  It's because PyG doesn't know in which dimension it should concatenate the individual tensors (we concatenate everything in the first dimension, expect it is an index tensor). Ok, so the best approach is simply to create a new data class and customize mini-batch behavior:
from torch_geometric.data import Data

class CustomData(Data):
    def __init__(**kwargs):
        super(CustomData, self).__init__(**kwargs)

    def __cat_dim__(self, key, value):
        return -1 if key in ['edge_index', 'edge_item'] else 0

    def __cumsum__(self, key, value):
        return key == 'edge_index'

Thanks for the confirmation! Close it for now.


Add Lada Cache

All requirements mentioned CONTRIBUTING.md are met.

Not actually 200 stars. :P

@GrahamCampbell  Now :)


Tasks to improve operator CI infra

User Story
General CI improvements for the operator repo
Detailed Description

[x] Setup new release-0.3 periodic/presubmit jobs for operator

PR: https://github.com/kubernetes/test-infra/pull/29726

[x] Retain LGTM through squash

PR: https://github.com/kubernetes/test-infra/pull/29729

[x] Enable cherry-picker plugin

PR: https://github.com/kubernetes/test-infra/pull/29664

[ ] Add area/ci label to the operator configuration
[ ] Use run_if_changed consistently in all relevant presubmit jobs
[ ] Optimize presubmit and periodic jobs
[ ] https://github.com/kubernetes-sigs/cluster-api-operator/issues/152

/kind feature

/assign


[bug] Next: WebSocket error when using local files

Describe the bug
When running a Tauri app without development server (e.g. the developmentPath is ../dist) then the app throws websocket related errors in the console. See below
Reproduction

Scaffold a new project using the 2.0.0-alpha.2 CLI
Add a static html file as the frontend
run the app and watch the console

Expected behavior
Idk why the static file mode would need to connect to a websocket server, but either the server should be successfully connected to or the connection should not be attempted to begin with
Platform and versions
Environment
› OS: Mac OS 13.1.0 X64
› Node.js: 18.12.1
› npm: 8.19.2
› pnpm: 7.24.3
› yarn: 1.22.19
› rustup: 1.25.1
› rustc: 1.66.0
› cargo: 1.66.0
› Rust toolchain: stable-aarch64-apple-darwin
Packages
WARNING: no lock files found, defaulting to npm
› @tauri-apps/cli [NPM]: 2.0.0-alpha.1 // note that this is actually also not correct, I have no NPM CLI installed
› @tauri-apps/api [NPM]: Not installed!
› tauri [RUST]: git+https://github.com/tauri-apps/tauri?branch=next#50f6dd87b1ac2c99f8794b055f1acba4ef7d34d3 (2.0.0-alpha.2),
› tauri-build [RUST]: git+https://github.com/tauri-apps/tauri?branch=next#50f6dd87b1ac2c99f8794b055f1acba4ef7d34d3 (2.0.0-alpha.0),
› tao [RUST]: 0.16.0,
› wry [RUST]: git+https://github.com/tauri-apps/wry?branch=dev#da55344dd8fec127882dd6b9ffe14b49522f928c (0.24.1),
App
› build-type: bundle
› CSP: unset
› distDir: ../dist
› devPath: ../dist
package.json not found
App directory structure
├─ dist
└─ src-tauri
Stack trace
WebSocket connection to 'ws://localhost/_tauri-cli/ws' failed: Could not connect to the server.

Additional context
No response

this is related to https://github.com/tauri-apps/tauri/issues/6055 so lets keep the discussion there


Development: Speed up client tests for programming exercise assessment manual result

Checklist
Client

[x] I followed the coding and design guidelines.
[x]  I ran the tests locally and all tests passed.

Motivation and Context

Speeding up the client programming-assessment-manual-result component test.
Unfortunately, I couldn't solve the memory leaks. If you know how to do it, feel free to commit to this PR.
Description

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Test Coverage

Thank you @Olimbia23 and @coolchock for the review. I applied Olimbia's comments and it would be great if you can reapprove.


docs: Fix Environment Variables docs

In addition to the changes listed in this PR, I noticed EDGEDB_SERVER_DEFAULT_AUTH_METHOD is listed twice on the Environment Variables page, once here and again here. It seems like the description of the first one is actually for a different env var since it mentions that it's deprecated, but I couldn't figure out which env var it was supposed to be.

@elliotwaite Interesting puzzle. Fortunately the env vars on that page seem to be in alphabetical order which leads me to believe that it might be EDGEDB_SERVER_ALLOW_INSECURE_HTTP_CLIENTS which @raddevon once asked about documenting. Devon, do you think that's the deprecated env var that fits in here?

Good point about the alphabetical order. From the current codebase, I found these env vars that could fit between EDGEDB_SERVER_ADMIN_UI and EDGEDB_SERVER_BACKEND_DSN:

EDGEDB_SERVER_ALLOW_INSECURE_BINARY_CLIENTS
EDGEDB_SERVER_ALLOW_INSECURE_HTTP_CLIENTS
EDGEDB_SERVER_AUTH_SMTP_CONCURRENCY
EDGEDB_SERVER_BACKEND_ADAPTIVE_HA_DISCONNECT_PERCENT
EDGEDB_SERVER_BACKEND_ADAPTIVE_HA_UNHEALTHY_MIN_TIME
EDGEDB_SERVER_BACKEND_CAPABILITIES

...but none of those seem to fit the description:

Optionally specifies the authentication method used by the server instance. Supported values are SCRAM (the default) and Trust. When set to Trust, the database will allow complete unauthenticated access for all who have access to the database port.

I just updated the PR to replace that block with two blocks for both:

EDGEDB_SERVER_ALLOW_INSECURE_BINARY_CLIENTS
EDGEDB_SERVER_ALLOW_INSECURE_HTTP_CLIENTS

Let me know what you think.

Good point about the alphabetical order. From the current codebase, I found these env vars that could fit between EDGEDB_SERVER_ADMIN_UI and EDGEDB_SERVER_BACKEND_DSN:

EDGEDB_SERVER_ALLOW_INSECURE_BINARY_CLIENTS
EDGEDB_SERVER_ALLOW_INSECURE_HTTP_CLIENTS
EDGEDB_SERVER_AUTH_SMTP_CONCURRENCY
EDGEDB_SERVER_BACKEND_ADAPTIVE_HA_DISCONNECT_PERCENT
EDGEDB_SERVER_BACKEND_ADAPTIVE_HA_UNHEALTHY_MIN_TIME
EDGEDB_SERVER_BACKEND_CAPABILITIES

...but none of those seem to fit the description:

Optionally specifies the authentication method used by the server instance. Supported values are SCRAM (the default) and Trust. When set to Trust, the database will allow complete unauthenticated access for all who have access to the database port.

But maybe the description was also incorrectly overwritten. In which case EDGEDB_SERVER_ALLOW_INSECURE_BINARY_CLIENTS  or EDGEDB_SERVER_ALLOW_INSECURE_HTTP_CLIENTS would seem to make the most sense. And both of those were deprecated in 1.0 RC 2, being renamed EDGEDB_SERVER_BINARY_ENDPOINT_SECURITY  and EDGEDB_SERVER_HTTP_ENDPOINT_SECURITY  respectively.

Yeah, I think that's the one! Looks good to me, will approve and see if Devon has any comments before merging.

Looks great. Thank you for catching this and submitting a fix, @elliotwaite!


{CSS} transform: translate not working

Hello,
when using your animations on elements which have been positioned absolutely
position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); /* ERROR */
in that case the transform property has no effect. Is there a fix or something else to consider?
Kind regards

Create a code snippet on codepen and I'll review.

Animate.css uses transforms for animations that overrides your transform. Just add the element to a parent like a div and set the animation to this parent. Or anything like that...

how do u fix this?


is there a minimum memory requirement ?

i am on 1GB ram, is it necessary to have at least 2GB ram ?
there has been an error -  'cannot allocate memory' ,
deploy@localhost:~/peatio/current$ bundle exec rake daemons:start
/home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/daemonize.rb:11:in fork': Cannot allocate memory - fork(2) (Errno::ENOMEM) 	from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/daemonize.rb:11:in safefork'
from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/daemonize.rb:93:in daemonize' 	from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/application.rb:146:in start_load'
from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/application.rb:298:in start' 	from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/controller.rb:70:in run'
from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons.rb:147:in block in run' 	from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/cmdline.rb:109:in call'
from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons/cmdline.rb:109:in catch_exceptions' 	from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-1.1.9/lib/daemons.rb:146:in run'
from /home/deploy/peatio/current/vendor/bundle/ruby/2.1.0/gems/daemons-rails-1.2.1/lib/daemons/rails.rb:16:in run' 	from lib/daemons/stats_ctl:6:in '
pid-file for killed process 6538 found (/home/deploy/peatio/current/log/peatio:amqp:pusher:1.pid), deleting.
pid-file for killed process 6546 found (/home/deploy/peatio/current/log/payment_transaction.rb.pid), deleting.
pid-file for killed process 6558 found (/home/deploy/peatio/current/log/peatio:amqp:order_processor:1.pid), deleting.
pid-file for killed process 6566 found (/home/deploy/peatio/current/log/peatio:amqp:market_data.pid), deleting.
pid-file for killed process 6588 found (/home/deploy/peatio/current/log/peatio:amqp:notification.pid), deleting.
pid-file for killed process 6608 found (/home/deploy/peatio/current/log/global_state.rb.pid), deleting.

Yes, 1GB is not enough.


Using FCM message/pushNotification to TWA

Hi team,
I have a TWA using "enableNotification" = true in the build.gradle
I can successfully send FCM message from Firebase account; and they are received on the App.
I'm also able to send successfully pushNotification from webpush GCM (from my own server); but those pushNotification seems only received from the web, not the App (I guess that's on purpose, right ?)
My goal would be to send (and receive) FCM from my server.
I've tried to install "firebase-admin" (I'm running a node script on server) ; seems the setting are correct, but I really don't understand where can I find the "registrationTokens" from the TWA ?
Additionally, all online resources refers to full-native apps.. so I can't get it to work as I'm not able to find the tokens.
I know I probably messing up and mixing multiple things, and any help would be appreciated to clear that up.
Cheers.

Closing this issue, as it's been inactive for almost a month. The best place to ask trusted web activity questions is on StackOverflow, on the trusted-web-activity tag.


Table builder modification

Expected Behavior

[ ] word-break: break-word; for the table: http://awescode.com/screenshots/Screenshot_23_05_19__09_22_229681CB.png
[ ] horizontal scrool
[ ] inherit cell scouped slot to mobile

System GA

➤ Илья Китаев commented:
table-builder v1.2.2
indigo-layout v1.9.3

As far as I understood this feature has not been implemented yet in this task:

inherit cell scouped slot to mobile

or maybe info on it usage just absent from documentation?


fix issue: Use --force flag call unknown product always got MissingAction.

when use --force flags to call unknown RPC product, always got MissingAction error.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #163 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #163   +/-   ##
=======================================
  Coverage   85.73%   85.73%
=======================================
  Files          50       50
  Lines        2979     2979
=======================================
  Hits         2554     2554
  Misses        313      313
  Partials      112      112

Impacted Files
Coverage Δ

openapi/commando.go
65.04% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ab6c51d...216ca1e. Read the comment docs.

缺少改动的测试代码，我们合并带测试代码的另一个 PR。


[WIP] BET-4337: Upgrade maas provider CRD to v1beta1

Upgrade maas provider CRD to v1beta1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @AmitSahastra! It looks like this is your first PR to spectrocloud/cluster-api-provider-maas 🎉

Hi @AmitSahastra. Thanks for your PR.
I'm waiting for a spectrocloud member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

/ok-to-test

@AmitSahastra: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

/ok-to-test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@sadysnaat: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

/ok-to-test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@AmitSahastra: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cluster-api-provider-maas_build
ae46eb3bf06c49c7075cef2422c1733591328daa
link
/test cluster-api-provider-maas_build

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra, zulfilee
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra, zulfilee
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra, zulfilee
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: AmitSahastra, zulfilee
To complete the pull request process, please assign jzhoucliqr
You can assign the PR to them by writing /assign @jzhoucliqr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@AmitSahastra: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

cluster-api-provider-maas_build
7ee8670157fa07961e76de327b49f1e75c4ea6a2
link
/test cluster-api-provider-maas_build

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Closing in favour of #37


Change to simple upload

Coverage remained the same at 100.0% when pulling fcadc44855de280923caac62a7293c9e64c8cf3b on change-to-simple-upload into 4830fd3cf427bc158aee1f26a20f05f6f433ea20 on master.


Credential ID changes after calling MakeNewCredentialAsync

I'm new to FIDO2/WebAuthn so I'm following the demo.  Maybe I'm misunderstanding how this works.
After I create a new credential with this code
const cred = await navigator.credentials.create({
        publicKey: options
}) as any

I get o53X9k6huUy7H_gE-0S_A7vms-N-18axFA8Bf11HuII for cred.id.  I then make the following changes and submit these changes to the FIDO2 server.
const credential = { } as any
credential.id = cred.id
credential.type = cred.type
credential.rawId = base64url.encode(cred.rawId)

if (cred.response) {
	const clientDataJSON = base64url.encode(cred.response.clientDataJSON)
	const attestationObject = base64url.encode(cred.response.attestationObject)
	credential.response = {
		clientDataJSON,
		attestationObject,
	}

	const regCredResponse = await this.axios.post('/Account/RegisterCredential', credential)

	localStorage.setItem(`credId`, credential.id)
	localStorage.setItem(`credId2`, regCredResponse.data.result.credentialId)
}

The FIDO2 server takes the credential object and calls this function
var success = await fido2.MakeNewCredentialAsync(attestationResponse, options, callback);
I return the success variable back to the client.  The resulting credentialId is now o53X9k6huUy7H/gE+0S/A7vms+N+18axFA8Bf11HuII=
Is this right? How did it change?
Before: o53X9k6huUy7H_gE-0S_A7vms-N-18axFA8Bf11HuII
After: o53X9k6huUy7H/gE+0S/A7vms+N+18axFA8Bf11HuII=
It looks similar enough, but the - became + and the _ became / and it ends with a =.  Is this Base64 encoded? Decoding it doesn't work.

yes, it's base64 vs base64url encoding.


Kai tardor

one is about differences of pointers and arrays and the other is about how we store in a pointer with examples

@KaiTardor
Excellent 🚀
You can follow me and star this repo for further updates.
Have fun!


chore: lint ignore tmp folder

Intro

lint ignore .dumi/tmp
set father's version to ~4.1.0

Changes
Since dependabot updating, the pnpm-lock is uncompetiable for pnpm@6, update pnpm-lock file. At meantime, update dumi's version to latest and limit rc-motion for snapshots testing

+1


Return Axes instead of plotting and/or saving the figure.

This hotfix changes the way plot_ue behaves in that it returns an instance of NamedTuple containing the axes of the figure. It replaces the previous optional plotting and figure saving calls.

I have most, if not all, of the suggested changes. Figure is now FigureUE, ax0 to ax5 refer to subplot names (e.g. axes_spike_events) and I expanded the docstring regarding the NamedTuple being returned.
N.B. matplotlib.axis.Axis is a base class for XAxis and YAxis, whereas matplotlib.axes.Axes is the object that contains most of the figure elements. Therefore, I named the identifiers with the prefix axes_ and not axis_.