Widget test succeeds when run from VSCode but fails when run from Terminal (with Simulator open)

Steps to Reproduce

Expected results: The Simulator clicks on the button, the button is activated and the test passes.
Actual results: When run in VSCode the test passes. I went with the debugger line by line and it's working well.
When run in the Simulator it fails. tester.tap() doesn't activate the button even though a target is placed above it.
NOTE: Widget tests from the Google codelabs - https://codelabs.developers.google.com/codelabs/flutter-app-testing#5 and that didn't happen on Tuesday (11-05-2021). Both tester.fling() and tester.tap() seem to not work today on the Simulator and they worked fine on Tuesday

Logs

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety
flutter: 00:12 +2: Home Page Widget Tests Testing IconButtons
flutter: (The following exception is now available via WidgetTester.takeException:)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: exactly one matching node in the widget tree
flutter:   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
flutter:    Which: means none were found but one was expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/lionbrunch/Work/testing_app/test/home_test.dart:77:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/lionbrunch/Work/testing_app/test/home_test.dart line 77
flutter: The test description was:
flutter:   Testing IconButtons
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: exactly one matching node in the widget tree
flutter:   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
flutter:    Which: means none were found but one was expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/lionbrunch/Work/testing_app/test/home_test.dart:77:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/lionbrunch/Work/testing_app/test/home_test.dart line 77
flutter: The test description was:
flutter:   Testing IconButtons
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 00:25 +2: Home Page Widget Tests Testing IconButtons [E]
flutter:   Test failed. See exception logs above.
  The test description was: Testing IconButtons
flutter:
flutter: 00:25 +2 -1: Some tests failed.

Analyzing flutter...

   info • Don't import implementation files from another package • lib/generated_plugin_registrant.dart:9:8 • implementation_imports
   info • Cancel instances of dart.async.StreamSubscription • lib/src/models/ui/PaginatedList.dart:46:23 • cancel_subscriptions

2 issues found. (ran in 3.7s)

[✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.1 20D74 darwin-arm, locale en-GB)
    • Flutter version 2.0.4 at /Users/lionbrunch/Development/Flutter/flutter_SDK
    • Framework revision b1395592de (6 weeks ago), 2021-04-01 14:25:01 -0700
    • Engine revision 2dce47073a
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/lionbrunch/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.56.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (1 available)
    • iPhone X (mobile) • 24567A0D-7633-4579-B558-FD712FF8A2F1 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)

Hi @NZhlebinkov
You seem to be running an older Flutter version
Can you please upgrade to the latest  stable and try again
Execute the following commands to upgrade
flutter channel stable
flutter upgrade --force
flutter doctor -v

After the upgrade it still happens
flutter doctor -v results:

[✓] Flutter (Channel stable, 2.0.6, on macOS 11.2.1 20D74 darwin-arm, locale en-GB)
    • Flutter version 2.0.6 at /Users/lionbrunch/Development/Flutter/flutter_SDK
    • Framework revision 1d9032c7e1 (3 weeks ago), 2021-04-29 17:37:58 -0700
    • Engine revision 05e680e202
    • Dart version 2.12.3
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/lionbrunch/Library/Android/sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.1
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google
Chrome.app/Contents/MacOS/Google Chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.56.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.22.0
[✓] Connected device (1 available)
• iPhone 11 (mobile) • C0B57F83-E18D-4D17-89A5-586EC432C47D • ios •
com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)

Hi @NZhlebinkov
Thanks for the update, I just cloned step-7 , running on device or simulator, test fails Reproduced on the following channels

stable
master

✅
✅

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.0, on macOS 11.3.1 20E241 darwin-x64, locale
    en-GB)
    • Flutter version 2.2.0 at /Users/tahatesser/Code/flutter_stable
    • Framework revision b22742018b (4 days ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E            • ios
      • iOS 14.6
    • iPhone 12 (mobile)     • D5A130FB-A402-4C16-8F33-7806BCE32682 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64
      • macOS 11.3.1 20E241 darwin-x64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 90.0.4430.212

• No issues found!

[✓] Flutter (Channel master, 2.3.0-13.0.pre.33, on macOS 11.3.1 20E241
    darwin-x64, locale en-GB)
    • Flutter version 2.3.0-13.0.pre.33 at /Users/tahatesser/Code/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84734ecc54 (2 hours ago), 2021-05-18 23:09:03 -0700
    • Engine revision 2398dea918
    • Dart version 2.14.0 (build 2.14.0-119.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[!] Android Studio
    • Android Studio at /Volumes/Extreme/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2021.1.1)
    • IntelliJ at /Volumes/Extreme/IntelliJ IDEA CE.app
    • Flutter plugin version 55.1.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (4 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E            • ios
      • iOS 14.6
    • iPhone 12 (mobile)     • D5A130FB-A402-4C16-8F33-7806BCE32682 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64
      • macOS 11.3.1 20E241 darwin-x64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 90.0.4430.212

! Doctor found issues in 1 category.

✅ : Reproducible ❌: Not Reproducible

Thanks for filing this issue, @NZhlebinkov!
Hi @TahaTesser, I'm the author of this codelab.
I think this issue seems to be in the testing API.
If you run the test using flutter test, it passes. If you run it using flutter run on a device/emulator, it fails.
Note that this was working perfectly fine before Flutter 2. I tried running it again using an older version of Flutter using FVM, and it passed.
Let me know if you need any more information.

So I tested this again on Android and iOS.
On Android, the scrolling works but the tapping doesn't. The yellow tapping mark(from the testing framework) appears, but the icons never change. They are supposed to change from Icons.favorite_border to Icons.favorite. The SnackBar that is supposed to appear after the tap doesn't appear and that's where the test fails.
On iOS, the scrolling doesn't work either.

Logs

Android
➜  step_07 git:(master) flutter run test/home_test.dart
Using hardware rendering with device sdk gphone arm64. If you notice graphics
artifacts, consider enabling software rendering with
"--enable-software-rendering".
Launching test/home_test.dart on sdk gphone arm64 in debug mode...
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done                        33.2s
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
Installing build/app/outputs/flutter-apk/app.apk...                453ms
I/flutter ( 4329): 00:00 +0: Home Page Widget Tests Testing if ListView shows up
Syncing files to device sdk gphone arm64...                         91ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

An Observatory debugger and profiler on sdk gphone arm64 is available at:
http://<IP_ADDRESS>:57433/OyGPVyjTjOc=/
I/flutter ( 4329): 00:00 +1: Home Page Widget Tests Testing Scrolling
The Flutter DevTools debugger and profiler on sdk gphone arm64 is available at:
http://<IP_ADDRESS>:9105?uri=http%3A%2F%2F<IP_ADDRESS>%3A57433%2FOyGPVyjTjOc%3D%2F
I/flutter ( 4329): 00:02 +2: Home Page Widget Tests Testing IconButtons
I/flutter ( 4329):
I/flutter ( 4329): Warning: A call to tap() with finder "exactly one widget with icon "IconData(U+0E25C)" (ignoring all but first) (ignoring offstage widgets): Icon(IconData(U+0E25C), dependencies: [IconTheme, Directionality])" derived an Offset (Offset(752.0, 132.0)) that would not hit test on the specified widget.
I/flutter ( 4329): Maybe the widget is actually off-screen, or another widget is obscuring it, or the widget cannot receive pointer events.
I/flutter ( 4329): The finder corresponds to this RenderBox: RenderSemanticsAnnotations#79359 relayoutBoundary=up1
I/flutter ( 4329): The hit test result at that offset is: HitTestResult(HitTestEntry#82b67(_LiveTestRenderView#4a63a), HitTestEntry#20cf6(<LiveTestWidgetsFlutterBinding>))
I/flutter ( 4329): #0      WidgetController._getElementPoint (package:flutter_test/src/controller.dart:953:25)
I/flutter ( 4329): #1      WidgetController.getCenter (package:flutter_test/src/controller.dart:836:12)
I/flutter ( 4329): #2      WidgetController.tap (package:flutter_test/src/controller.dart:271:18)
I/flutter ( 4329): #3      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:42:20)
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): #4      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart)
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): To silence this warning, pass "warnIfMissed: false" to "tap()".
I/flutter ( 4329): To make this warning fatal, set WidgetController.hitTestWarningShouldBeFatal to true.
I/flutter ( 4329):
I/flutter ( 4329): (The following exception is now available via WidgetTester.takeException:)
I/flutter ( 4329): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
I/flutter ( 4329): The following TestFailure object was thrown running a test:
I/flutter ( 4329):   Expected: exactly one matching node in the widget tree
I/flutter ( 4329):   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
I/flutter ( 4329):    Which: means none were found but one was expected
I/flutter ( 4329):
I/flutter ( 4329): When the exception was thrown, this was the stack:
I/flutter ( 4329): #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:45:7)
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): (elided one frame from package:stack_trace)
I/flutter ( 4329): ...
I/flutter ( 4329):
I/flutter ( 4329): This was caught by the test expectation on the following line:
I/flutter ( 4329):   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 45
I/flutter ( 4329): The test description was:
I/flutter ( 4329):   Testing IconButtons
I/flutter ( 4329): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 4329): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
I/flutter ( 4329): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
I/flutter ( 4329): The following TestFailure object was thrown running a test:
I/flutter ( 4329):   Expected: exactly one matching node in the widget tree
I/flutter ( 4329):   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
I/flutter ( 4329):    Which: means none were found but one was expected
I/flutter ( 4329):
I/flutter ( 4329): When the exception was thrown, this was the stack:
I/flutter ( 4329): #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:45:7)
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): <asynchronous suspension>
I/flutter ( 4329): (elided one frame from package:stack_trace)
I/flutter ( 4329): ...
I/flutter ( 4329):
I/flutter ( 4329): This was caught by the test expectation on the following line:
I/flutter ( 4329):   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 45
I/flutter ( 4329): The test description was:
I/flutter ( 4329):   Testing IconButtons
I/flutter ( 4329): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 4329): 00:03 +2: Home Page Widget Tests Testing IconButtons [E]
I/flutter ( 4329):   Test failed. See exception logs above.
I/flutter ( 4329):   The test description was: Testing IconButtons
I/flutter ( 4329):
I/flutter ( 4329): 00:03 +2 -1: Some tests failed.

iOS
➜  step_07 git:(master) flutter run test/home_test.dart
Launching test/home_test.dart on iPhone 12 mini in debug mode...
Project base configurations detected, removing.
Upgrading contents.xcworkspacedata
Running pod install...                                           1,067ms
Running Xcode build...
 └─Compiling, linking and signing...                         4.0s
Xcode build done.                                           17.9s
flutter: 00:00 +0: Home Page Widget Tests Testing if ListView shows up
Syncing files to device iPhone 12 mini...                           82ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h Repeat this help message.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

An Observatory debugger and profiler on iPhone 12 mini is available at:
http://<IP_ADDRESS>:58413/1fCLwqITQ6k=/
flutter: 00:01 +1: Home Page Widget Tests Testing Scrolling
flutter:
flutter: Warning: A call to fling() with finder "exactly one widget with type "ListView" (ignoring offstage widgets): ListView(scrollDirection: vertical, primary: using primary controller, AlwaysScrollableScrollPhysics, padding: EdgeInsets(0.0, 16.0, 0.0, 16.0), dependencies: [PrimaryScrollController])" derived an Offset (Offset(400.0, 353.0)) that would not hit test on the specified widget.
flutter: Maybe the widget is actually off-screen, or another widget is obscuring it, or the widget cannot receive pointer events.
flutter: The finder corresponds to this RenderBox: _RenderScrollSemantics#902d5 relayoutBoundary=up1
flutter: The hit test result at that offset is: HitTestResult(HitTestEntry#b03a1(_LiveTestRenderView#f7550), HitTestEntry#28e02(<LiveTestWidgetsFlutterBinding>))
flutter: #0      WidgetController._getElementPoint (package:flutter_test/src/controller.dart:953:25)
flutter: #1      WidgetController.getCenter (package:flutter_test/src/controller.dart:836:12)
flutter: #2      WidgetController.fling (package:flutter_test/src/controller.dart:375:7)
flutter: #3      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:31:20)
flutter: <asynchronous suspension>
flutter: #4      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart)
flutter: <asynchronous suspension>
flutter: To silence this warning, pass "warnIfMissed: false" to "fling()".
flutter: To make this warning fatal, set WidgetController.hitTestWarningShouldBeFatal to true.
flutter:
The Flutter DevTools debugger and profiler on iPhone 12 mini is available at:
http://<IP_ADDRESS>:9106?uri=http%3A%2F%2F<IP_ADDRESS>%3A58413%2F1fCLwqITQ6k%3D%2F
flutter: (The following exception is now available via WidgetTester.takeException:)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: no matching nodes in the widget tree
flutter:   Actual: _TextFinder:<exactly one widget with text "Item 0" (ignoring offstage widgets):
flutter: Text-[<'text_0'>]("Item 0", dependencies: [MediaQuery, DefaultTextStyle])>
flutter:    Which: means one was found but none were expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:34:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 34
flutter: The test description was:
flutter:   Testing Scrolling
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: no matching nodes in the widget tree
flutter:   Actual: _TextFinder:<exactly one widget with text "Item 0" (ignoring offstage widgets):
flutter: Text-[<'text_0'>]("Item 0", dependencies: [MediaQuery, DefaultTextStyle])>
flutter:    Which: means one was found but none were expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:34:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 34
flutter: The test description was:
flutter:   Testing Scrolling
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 00:02 +1: Home Page Widget Tests Testing Scrolling [E]
flutter:   Test failed. See exception logs above.
  The test description was: Testing Scrolling
flutter:
flutter: 00:02 +1 -1: Home Page Widget Tests Testing IconButtons
flutter:
flutter: Warning: A call to tap() with finder "exactly one widget with icon "IconData(U+0E25C)" (ignoring all but first) (ignoring offstage widgets): Icon(IconData(U+0E25C), dependencies: [IconTheme, Directionality])" derived an Offset (Offset(752.0, 158.0)) that would not hit test on the specified widget.
flutter: Maybe the widget is actually off-screen, or another widget is obscuring it, or the widget cannot receive pointer events.
flutter: The finder corresponds to this RenderBox: RenderSemanticsAnnotations#5a46e relayoutBoundary=up1
flutter: The hit test result at that offset is: HitTestResult(HitTestEntry#bb184(_LiveTestRenderView#f7550), HitTestEntry#26e17(<LiveTestWidgetsFlutterBinding>))
flutter: #0      WidgetController._getElementPoint (package:flutter_test/src/controller.dart:953:25)
flutter: #1      WidgetController.getCenter (package:flutter_test/src/controller.dart:836:12)
flutter: #2      WidgetController.tap (package:flutter_test/src/controller.dart:271:18)
flutter: #3      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:42:20)
flutter: <asynchronous suspension>
flutter: #4      StackZoneSpecification._registerUnaryCallback.<anonymous closure> (package:stack_trace/src/stack_zone_specification.dart)
flutter: <asynchronous suspension>
flutter: To silence this warning, pass "warnIfMissed: false" to "tap()".
flutter: To make this warning fatal, set WidgetController.hitTestWarningShouldBeFatal to true.
flutter:
flutter: (The following exception is now available via WidgetTester.takeException:)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: exactly one matching node in the widget tree
flutter:   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
flutter:    Which: means none were found but one was expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:45:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 45
flutter: The test description was:
flutter:   Testing IconButtons
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
flutter: The following TestFailure object was thrown running a test:
flutter:   Expected: exactly one matching node in the widget tree
flutter:   Actual: _TextFinder:<zero widgets with text "Added to favorites." (ignoring offstage widgets)>
flutter:    Which: means none were found but one was expected
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #4      main.<anonymous closure>.<anonymous closure> (file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart:45:7)
flutter: <asynchronous suspension>
flutter: <asynchronous suspension>
flutter: (elided one frame from package:stack_trace)
flutter: ...
flutter:
flutter: This was caught by the test expectation on the following line:
flutter:   file:///Users/abd/FlutterCodelabs/codelabs/testing_codelab/step_07/test/home_test.dart line 45
flutter: The test description was:
flutter:   Testing IconButtons
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: 00:04 +1 -1: Home Page Widget Tests Testing IconButtons [E]
flutter:   Test failed. See exception logs above.
  The test description was: Testing IconButtons
flutter:
flutter: 00:04 +1 -2: Some tests failed.

flutter doctor -v
➜  step_07 git:(master) ✗ flutter doctor -v
[✓] Flutter (Channel stable, 2.2.0, on macOS 11.3.1 20E241 darwin-arm, locale
    en-US)
    • Flutter version 2.2.0 at /Users/abd/Developer/flutter
    • Framework revision b22742018b (6 days ago), 2021-05-14 19:12:57 -0700
    • Engine revision a9d88a4d18
    • Dart version 2.13.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/abd/Library/Android/sdk
    • Platform android-S, build-tools 30.0.3
    • Java binary at: /Users/abd/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/abd/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/abd/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.56.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (3 available)
    • iPhone 12 mini (mobile) • 400C34E6-0A01-4256-9C81-082A057CCFDB • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)         • macos                                •
      darwin-arm64   • macOS 11.3.1 20E241 darwin-arm
    • Chrome (web)            • chrome                               •
      web-javascript • Google Chrome 90.0.4430.212

• No issues found!

Hi @abd99
Thanks for the update. I think it is better you can file two separate issued for each platform so we can track cause of the issues and get fix for each platform without using this issue from caoblab, whhcih would be misleading, I am labeling for framework in the mean time. Feel free to tag m in the new issue

I believe this was broken by https://github.com/flutter/flutter/pull/64846, which was submitted a looong time ago (looks like we need more test coverage for running on device).
Repro steps:

Check out Flutter at https://github.com/flutter/flutter/commit/ea039ed3f9370bd03749c0e9aad401d1d7d486da (commit before PR mentioned above)
Check out the codelab at https://github.com/flutter/codelabs/commit/e59811fb4d9dc54eb9df5e4e49df1a62c3c6540b (newer versions are no longer compatible with the version of flutter checked out in step 1)
In testing_codelab/step_07 run flutter run test/home_test.dart, it should print that all tests pass.
Check out Flutter at https://github.com/flutter/flutter/commit/a48e14308e41f75b6f63ee2549f4d597646b0dc4 (first commit that includes the PR linked above)
In testing_codelab/step_07 run flutter run test/home_test.dart again. Now the tests fail.

/cc @dkwingsmt @johnpryan

I think it is better you can file two separate issued for each platform so we can track cause of the issues and get fix for each platform without using this issue from caoblab

I somehow missed this. Should I still create two new issues for this?

#86449 is almost complete and should fix many problems with live tests. The codelab tests are running well (I've only tested it on Windows though). Can you check if there are other problems?

#86449 is almost complete and should fix many problems with live tests. The codelab tests are running well (although I've only tested them on Windows). Can you check if there are other problems?

Sure, I'll test them on other platforms and see if I can find any problems.

Still, this revealed that we're not testing codelab tests in CI and these tests provide some exclusive coverage. @goderbauer Should we find someone to resolve this?

We are running codelab tests in CI, but this problem is showing up only if we run the tests on a physical device. The flutter test command isn't able to capture this issue.

We are running codelab tests in CI, but this problem is showing up only if we run the tests on a physical device. The flutter test command isn't able to capture this issue.

As goderbauer said, a failure can be found by running flutter run test/home_test.dart in testing_codelab. With #86449, these test went from failure to success. I'm not sure if that means the regression disappears on physical device, but apparently we're not catching the failure of flutter run test/home_test.dart.

apparently we're not catching the failure of flutter run test/home_test.dart

Well, that is true. I'll try and see if I can set up an emulator on the CI and add these tests to the pipeline.

I am currently unable to reproduce this issue on the latest stable and master channels. I'd be closing this because it seems to have been fixed in the latest versions, if anybody disagrees, kindly write in comments and I'll reopen it or file a new issue using latest version code.
  flutter doctor -v
[✓] Flutter (Channel master, 3.11.0-2.0.pre.55, on macOS 13.3 22E252 darwin-arm64, locale en-NG)
    • Flutter version 3.11.0-2.0.pre.55 on channel master at /Users/dammya/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 835b892d7f (9 days ago), 2023-05-07 01:30:22 +0530
    • Engine revision 23f730efbf
    • Dart version 3.1.0 (build 3.1.0-83.0.dev)
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • 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.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.78.0)
    • VS Code at /Users/dammya/.Trash/Visual Studio Code 20.07.05.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • Damilola’s iPhone (mobile) • 71c843fa5f3dec767999f36224653c0faa78660e • ios            • iOS 16.4 20E247
    • macOS (desktop)            • macos                                    • darwin-arm64   • macOS 13.3 22E252 darwin-arm64
    • Chrome (web)               • chrome                                   • web-javascript • Google Chrome 113.0.5672.92

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

• No issues found!

[✓] Flutter (Channel stable, 3.10.0, on macOS 13.3 22E252 darwin-arm64, locale
    en-NG)
    • Flutter version 3.10.0 on channel stable at /Users/dammya/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (6 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • 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.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.78.0)
    • VS Code at /Users/dammya/.Trash/Visual Studio Code 20.07.05.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • Damilola’s iPhone (mobile) • 71c843fa5f3dec767999f36224653c0faa78660e •
      ios            • iOS 16.4 20E247
    • macOS (desktop)            • macos                                    •
      darwin-arm64   • macOS 13.3 22E252 darwin-arm64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 113.0.5672.92

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

• No issues found!


Ability to use a virtualised filesystem

Describe the feature
Work off virtualised filesystems.  e.g. In memory.
Babel plugin or link to the feature description
https://github.com/sysgears/webpack-virtual-modules/issues/169
Additional context
I appreciate the purpose of SWC is speed/efficiency, and this perhaps may only be gleaned by focussing on raw metal, but wondered if there was any possibility to work from a virtualised filesystem, e.g. memfs?
I have a plugin that works fine with NextJs (WebPack + Babel) but fails with WebPack + SWC, since the abstract compiler.inputFileSystem concept doesn't appear to be fully supported.

Maybe we may support one for Wasm, but your plugin is for webpack, a bundler, not babel. Also, I read the thread you linked but swc-loader does not read file directly from the file system. We just use source code provided by webpack.

@kdy1 Next.js does not use swc-loader by default, at least not in the latest version. Instead Next.js ships its own integration with SWC, @next/swc which reads files directly from the file system.
https://github.com/vercel/next.js/blob/ca559a5281ff2e2f345cc45e4d05a82e7ba83c9f/crates/napi/src/transform.rs#L118-L120
The issue should be opened against Next.js repo, I think.

Addition, seems direct file reading into @next/swc was added via this PR:
https://github.com/vercel/next.js/pull/31682
Looks like next-swc-loader is the last loader and because of this file reading is "accelerated" by delegating it to Rust code.

See: https://github.com/vercel/next.js/discussions/71714 raised earlier


docs: revamp workflow engine structure

📚 Description
Revamps workflow engine docs structure.

 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.


Remove Swiftlint from Dockerfile

Danger-Swift takes quite a lot when runs on GitHub Actions

Approximately more than half of that time it to clone swiftlint, that not everyone uses, and someone uses from SPM.

This is this branch, and with all the dev dependencies, then it could be quite faster

@orta do you have an opinion about this?

I saw that there is an option to have inputs on Actions, we could explore this later to re add in an optional way

Yeah, that's what I was going to recommend (using the input to determine it)
I feel like lots of people would use it with SwiftLint - maybe we could have two dockerfiles?

Ok, I've done few tests, and looks like the env variables are set after the build, then it can not work unless I put it on the ENTRYPOINT, that is not a good idea.
@orta can you give me more details about what you were thinking with the two Dockerfiles?
Because I think we can have only one, but we can have another repo with a Dockerfile that contains swiftlint maybe?

It'd need to be a special branch or tag per release with a different dockerfile. Totally scriptable on a release.

Amazing idea! Let's merge this then I will create something with Rocket.
We could keep two Dockerfile and make two different tags in two different comments and then restore everything before we restore the dependencies

@f-meloni Do you have any tips on how to install swiftlint on the docker image now that it is removed?

@litso there are few ways of doing it, the main ones I can think:

Change the Rocket configuration of this repo to replace the Dockerfile with another Dockerfile that has swiftlint, create a $version-swiflint tag and then release restore the Dockerfile.
Given we use Rocket to release that will make a release with a Dockerfile that contains swiftlint for each release we make
You can create your own Dockerfile like https://github.com/f-meloni/danger-swift-swiftlint-action


[AIRFLOW-2524] Add Amazon SageMaker Training

Make sure you have checked all steps below.
JIRA

[X] My PR addresses the following Airflow JIRA issues and references them in the PR title.

https://issues.apache.org/jira/browse/AIRFLOW-2524

Description

[X] Here are some details about my PR, including screenshots of any UI changes:

This PR allows user to start a Amazon SageMaker Training job using the SageMakerCreateTrainingJobOperotar
User can also check the progress(state) of the training job through the SageMakerTrainingSensor

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

tests/contrib/hooks/test_sagemaker_hook.py
tests/contrib/operators/test_sagemaker_create_training_job_operator.py
tests/contrib/sensors/test_sagemaker_base_sensor.py
tests/contrib/sensors/test_sagemaker_training_sensor.py

Moto Library does not support SageMaker, so the tests in this PR are done with unittest.mock library. Since most AWS services in Airflow use Moto for unit test, new PRs to update unit tests may be sent if Moto supports SageMaker in the future.
Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[X] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[X] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

Merging #3658 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3658      +/-   ##
==========================================
+ Coverage   77.11%   77.13%   +0.01%
==========================================
  Files         206      206
  Lines       15772    15772
==========================================
+ Hits        12162    12165       +3
+ Misses       3610     3607       -3

Impacted Files
Coverage Δ

airflow/jobs.py
82.74% <0%> (+0.26%)
: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 096ba9e...9d70ec2. Read the comment docs.

Thanks @troychen728. Looks good, thanks for the PR. Merging to master!


coalesce function is unable to compare the value from a String field against a string literal

coalesce function is unable to compare the value from a String field against a string literal
PR https://github.com/apache/pinot/pull/9958 enables coalesce to support string literals but still coalesce is unable to compare a string field value against a string literal.  For example:
select coalesce(my_string_field,'1234') from my_table limit 1
doesn't work, gives an error
Caused by: java.lang.IllegalArgumentException: Argument types have to be the same.

cc @61yao
Currently we don't honor the type from the query, and always derive the type from the value literal. In this example '1234' is derived as INT which causes the problem.
We should support type hoisting in coalesce so that different types can be supported.

Hi @Jackie-Jiang , @61yao this is a standard coalesce functionality that should be supported by Pinot for adoption.

@etadelta222 It is a bug on how we parse the literal value. Once this is fixed, it will work for both V1 and V2


Symmetry not applied to objects

Objects don't get symmetry unless in a container

Hi @mkeilman,
When do we expect this fix will be on the production Jupyter server?
I hear from @tanxicccc that the issue is still there when visualizing undulators.


@angular-devkit/build-angular required packages are requiring a peer of<EMAIL_ADDRESS>with webpack "5.27.2" installed

🐞 Bug report

[ ] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc
[x] npm install webpack@latest

Is this a regression?
Yes, the previous version in which this bug was not present was:
"@angular-builders/custom-webpack": "11.0.0"
"webpack": "4.43.0"
Description
We are using "@angular-builders/custom-webpack": "11.0.0" in our devDependencies, and everything worked as expected with the usage of "webpack": "4.43.0".
After we updated our "webpack" dependency to version "5.27.2" we got some warnings related to "@angular-devkit/build-angular" required packages, these are the warnings:

<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

It can be reproduced with the latest "@angular-devkit/build-angular": "0.1102.5"
🔬 Minimal Reproduction
ng new test-app
npm install webpack@latest
🔥 Exception or Error

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

🌍 Your Environment

Angular CLI: 11.2.5
Node: 14.15.4
OS: win32 x64

Angular: 11.2.6
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1102.5
@angular-devkit/build-angular   0.1102.5
@angular-devkit/core            11.2.5
@angular-devkit/schematics      11.2.5
@angular/cli                    11.2.5
@schematics/angular             11.2.5
@schematics/update              0.1102.5
rxjs                            6.6.6
typescript                      4.1.5
webpack                         5.27.2

Anything else relevant?

Hi @varevacdamir,
Thanks for this report.
In version 11 this is the expected behaviour as Webpack version 5 support is still experimental. This will be addressed in version 12 when https://github.com/angular/angular-cli/pull/20084 is merged.
Kindly subscribe to the above mentioned PR, thanks.

Thank you @alan-agius4.


Cleanup of output of vulnerabilites at the end of the analysis:

At the end of the analysis the vulnerabilities have been printed in random order with duplicate entries when a vulnerability has been detected in multiple dependencies.
With this PR the list does not contain duplicates and is in a defined order:

CVSS score (desc)
Name (asc)

This facilitates comparing the results of different analysis runs.

Ignoring the build failure, as it fails for the same reason as the current master build.


"TypeError: str.charCodeAt is not a function" when using Buffers as keys in cluster-mode

Though using binary data as keys (represented as a "Buffer" in JavaScript) works as expected in non-cluster mode, it breaks when you are running Redis in cluster mode:
 TypeError: str.charCodeAt is not a function
     at toUTF8Array (/group-sign/server/node_modules/cluster-key-slot/lib/index.js:93:16)
     at generate (/group-sign/server/node_modules/cluster-key-slot/lib/index.js:133:14)
     at Command.getSlot (/group-sign/server/node_modules/ioredis/lib/command.js:88:19)
     at Cluster.sendCommand (/group-sign/server/node_modules/ioredis/lib/cluster/index.js:440:47)
     at Cluster.set (/group-sign/server/node_modules/ioredis/lib/commander.js:131:17)
    ...

Looks like in the call to the the cluster-key-slot library, the key is expected to be a String, not a Buffer:
https://github.com/luin/ioredis/blob/master/lib/command.js#L90
In non-cluster mode, the code is not executed as there is no need to compute the slot. I assume that is why it works there.
(As a workaround, I have switched to Strings for the keys.)

Is there any update about this issue? I'm encountering the same problem here

similar to #637

@tuananh You are right, it is a duplicate of the new #637 ticket.


[BUG] - Form onSubmit event not triggered with Modal component

NextUI Version
2.2.9
Describe the bug
If you wrap the Modal window in a form, the onSubmit event does not work, see on: https://codesandbox.io/p/sandbox/form-in-modal-v747c4
Your Example Website or App
https://codesandbox.io/p/sandbox/form-in-modal-v747c4
Steps to Reproduce the Bug or Issue
Wrap Modal in
Set type="submit" to Button in footer
Try to sent form
Expected behavior
I expect that the onSubmit event of the form will start
Screenshots or Videos
No response
Operating System Version
macOS
Browser
Chrome

Hi there,
I saw your issue and found a workaround that might help you until the bug is fixed. Instead of relying on the standard HTML form submission behavior with the onSubmit attribute, you can manually handle the form submission within the modal.
Here's a modified version of the code that worked:
import React from "react";
import {
  Modal,
  ModalContent,
  ModalHeader,
  ModalBody,
  ModalFooter,
  Button,
  useDisclosure,
} from "@nextui-org/react";

export default function App() {
  const { isOpen, onOpen, onClose, onOpenChange } = useDisclosure();

  const handleSubmit = () => {
    alert("Submitted");
    onClose();
  };

  return (
    <div>
      <Button onClick={onOpen}>Open Modal</Button>
      <Modal isOpen={isOpen} onOpenChange={onOpenChange}>
        <ModalContent>
          {(onClose) => (
            <>
              <form
                onSubmit={(e) => {
                  e.preventDefault();
                  handleSubmit();
                }}
              >
                <ModalHeader className="flex flex-col gap-1">
                  Modal Title
                </ModalHeader>
                <ModalBody>Action button type="submit"</ModalBody>
                <ModalFooter>
                  <Button color="danger" variant="light" onPress={onClose}>
                    Close
                  </Button>
                  <Button color="primary" type="submit">
                    Action
                  </Button>
                </ModalFooter>
              </form>
            </>
          )}
        </ModalContent>
      </Modal>
    </div>
  );
}

Feel free to give it a try and see if it resolves the issue for you. Hopefully, this workaround will help until the bug is officially addressed.

@farukumarx64 👍  Yes, thanks, I found a solution, but that doesn't undo this mistake :)

That's great!

Any update on this? Still doesn't work when using react-hook-form.
I know I can just make the submit Button component run the handleSubmit, but still.
Code snippet for reference
const { isOpen, onOpenChange, onOpen, onClose } = useDisclosure();
  const {
    control,
    handleSubmit,
    formState: { errors },
  } = useForm<HookFormData>({ mode: "onChange" });
  const [isMutationLoading, setMutationLoading] = useState(false);
  const onSubmit = (formData: HookFormData) => {
    setMutationLoading(true);
    console.log(formData);
  };

  return (
    <>
    <Button onPress={onOpen}>Open modal</Button>
    <form onSubmit={handleSubmit(onSubmit, () => console.log("Invalid form submission"))}>
      <Modal isOpen={isOpen} onOpenChange={onOpenChange}>
        <ModalContent>
          <ModalHeader>Run an action</ModalHeader>
              <ModalBody>
                  render={({ field }) => (
                    <Input
                      {...field}
                      isInvalid={!!errors.minDuration}
                      isRequired={true}
                      errorMessage={errors.minDuration?.message}
                      type="numeric"
                      label="Some numeric input"
                    />
                  )}
                />
              </ModalBody>
          <ModalFooter>
            <Button type="submit" isLoading={isMutationLoading} color="primary">
              Action
            </Button>
          </ModalFooter>
        </ModalContent>
      </Modal>
    </form>
    </>
  );

@wingkwong Maybe that's the solution, haven't tried it. Thanks! My temporary solution was to assign the handleSubmit function to the button itself to trigger submission. I'll update the code tomorrow and let you know if it works 😄

I can confirm that the form element needs to be inside of the ModalContent, the handleSubmit works now. Thanks, @wingkwong :)

There's a problem with putting the form element inside ModalContent and scrollBehavior="inside". The form seems to overload the modal and the observed scroll behavior is outside. Children of ModalContent probably should not be wrapped as that breaks the content flexbox.


chore: regen yarn.lock

Signed-off-by: Nick...
What does this PR do?
chore: regen yarn.lock
Signed-off-by: Nick Boldt<EMAIL_ADDRESS>Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
N/A (or see commit message above for issue number)
How to test this PR?
N/A
PR Checklist
As the author of this Pull Request I made sure that:

[x] The Eclipse Contributor Agreement is valid
[x] Code produced is complete
[x] Code builds without errors
[ ] Tests are covering the bugfix
[x] The repository devfile is up to date and works, if one exists
[x] Sections What issues does this PR fix or reference and How to test this PR completed
[x] Relevant user documentation updated
[x] Relevant contributing documentation updated
[x] CI/CD changes implemented, documented and communicated

Reviewers
Reviewers, please comment how you tested the PR when approving it.

should this be done for main branch as well?

no longer needed since 1.1.x has been updated.


Clean-css for gulp

There is no need to use third party plugins anymore.
I wrote some code that adapts clean-css for gulp.

Much appreciated @brendan8c, it's merged now.

Очень признателен @ brendan8c , теперь он объединен.

You can make these changes to the README.md file on the npmjs.com
I was happy to help the Gulp developer community use your plugin!


[WIP] Add SqlDelightCommenter

lgtm

Need to add support for multiline comments and Javadoc, still figuring out how to achieve that

Sorry, should've split into several PRs.. Javadoc has been added to the grammar and should be parsed and added to generated code, currently working on adding proper Javadoc support to editor


Limit air lost by wrenching/breaking pipes

About the PR
Capped the amount of air lost whenever a pipe is unwrenched/broken. (meteors)
Why / Balance
Losing 15 minutes of accumulated air because someone unanchored a single pipe is kinda awful. This also applies to explosions.
Technical details
The amount of lost air is limited to the volume of the part being removed.
Tested with Release on Oasis, @ 1500kPa, removing a single pipe used to drop distro by ~1300kPa, now the drop is ~1kPa.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Observe the air before and after the pipe is unanchored
before the change:
https://github.com/space-wizards/space-station-14/assets/62134478/6b23a9a2-f0b4-422d-b165-132c93482f06
after the change:
https://github.com/space-wizards/space-station-14/assets/62134478/b5698c38-bf52-4d1d-b7fb-55a253d157ef
Breaking changes

Changelog

numero uno atmos bug hunter

numero uno atmos bug hunter

the more bugs that get solved the more I wonder how atmos ever survived before this, I always thought this was the behavior that it already had

yeah i swear this behavior existed already? i guess not ??

Thanks for the change. The original code seems to be trying to be clever about leaking the right amount of air such that it would fit the tile environment it was leaking to. Why don't we just get rid of that part and always leak an amount proportional to $V_{pipe} / V_{total}$?

I didn't really stop to think what the original calculation was trying to do, besides calculating the amount of wanted moles with a bit iffy looking numbers.
Because I was too tired to make sure that there exists a situation where this equation could produce valid results, I just put a safeguarding If in there(well, in this case it was a math.min).
Now that I've taken a slightly closer look at it, I think it's trying to calculate the amount of moles needed to increase the tile's pressure to whatever the pipe was at, and then pulling that many moles from the pipe network, regardless of the pipe temperature?
So if a 4.5MPa pipe is wrenched in a spaced tile, I think it'd try to remove half a million moles from the pipe network? In laymen's terms, around 270 canisters of air. And if there is that many room temperature moles available, I think the tile pressure would become... Around 489MPa if my math is right.
This feels like they are asking "How many moles we need to get the tile to X pressure" instead of "How many moles get removed with this pipe".
Anyways, after thinking through the math, it seems reasonable to just replace the equation with the one I added.
Am I supposed to make a new PR, since this one was merged already? Not that experienced with Github.

Yes, it's important to consider what the code was trying to do first, before you add your own changes. Otherwise we'll end up with layer on top of layer on top of layer.
I agree that does seem to be what the original code was trying to do.
Seeing that neither are terribly realistic, I would suggest removing the old calculation using your new one, since that one seems to be closer to the behavior we designed for/actually want. Please go ahead and create a new PR for that. No particular rush, since that's effectively what the code now does :)


Add support for serde skip in IntoParams derive

Add support for serde's skip attribute in IntoParams derive macro. This allows users to use the serde's skip, skip_serializing or skip_deserializing attribute to ignore the field being added as a parameter to a OpenAPI documentation.
 #[derive(IntoParams, Serialize)]
 #[into_params(parameter_in = Query)]
 #[allow(unused)]
 struct Params {
     name: String,
     name2: Option<String>,
     #[serde(skip)]
     name3: Option<String>,
 }

Resolves #732

any option to keep a field, for example when I'm only using #[serde(skip_deserializing)] but still want the field to show up? (I'm never deserializing it)


Explain or change "OgdenWebb"

it's mentioned in the README and a few other places, but it's unclear what the name is supposed to mean.

The designer of the web site that @Altai-man promoted is Ogden Webb. This is included in the About page. Alexander lists himself as actively suggesting changes. Since I was developing both the legacy website UX and Altai-man's UX, I needed two names to distinguish both 'modes'. I chose the names of the web-site designers, namely MoritzLenz (for the original Raku site) and OgdenWebb (for the new one).
A name is needed for the mode to allow for other modes to be developed, eg., for an epub book.
When I first started, I called the mode 'Website'. However, I would recommend that 'Website' not be used as it may lead to confusion.

Given that this folder name appears in the final rendered site, we should pick something more generic.

Indeed! Actually 'Website' might not be a bad name after second thoughts

Changed mode name to Website from OgdenWebb. plugin that provides styling is still called ogdenwebb, but that's not in the rendered state


winget upgrade --all wont upgrade anything

Brief description of your issue
When I try to upgrade all packages, it won't upgrade anything. I tried it on the preview release and the stable release.
Steps to reproduce
Run winget upgrade --all
Expected behavior
It should upgrade all packages
Actual behavior
It is only displaying the available upgrades
Environment
Windows Package Manager (Preview) v1.5.441-preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.1485
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.20.441.0

@elNino0916 can you run with "--verbose-logs" and share them so we can see what is happening?

I re-installed windows and now its working.


Reuse dialog values so we don't have to reload dialog

Dialogs are being run twice, once on load, once on submit, this lets us reuse the values we picked so they don't rerun on submit.
Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1584355
There's a related API PR.
It's eclarizio's code.
depends on
https://github.com/ManageIQ/manageiq-api/pull/407

@eclarizio 👀 please

@miq-bot add_label performance
@miq-bot add_label bug

@eclarizio this is good to go anytime

@gmcculloug Please review

@eclarizio @syncrou PTAL


Document how one can vendor images

..and show how one can set image parameters in systemd-based deployment.

The build script had been refactored and one can simply run it as  ./build-and-publish v1.1.8 myorg/k8s: and it will publish images of Kubernetes release v1.1.8  to the default registry (which would be the Docker Hub for most people).

Close by #56.


Channelz: SubchannelNode no longer holds a pointer to the Subchannel

This change makes it so that the SubchannelNode no longer holds a ref to the Subchannel. Instead, the Subchannel will alert the SubchannelNode when the connectivity state and child socket uuid change.
The purpose of the change is to enable different types of subchannels (which are not of type Subchannel) to use the SubchannelNode.

This change is

Test failures are existing issues:
Basic Tests Node MacOS: https://github.com/grpc/grpc/issues/19422
Interop tests: https://github.com/grpc/grpc/issues/16484


Add node_boot_time_seconds metric

How to categorize this PR?

/area monitoring ops-productivity
/kind enhancement
What this PR does / why we need it:
Add node_boot_time_seconds metric to allow figuring out, when machines were booted/rebooted.
We don't have any data about this in our monitoring stack yet, so we should persist it there. Otherwise, it's impossible to figure out this information for debugging purposes if the machine is already gone.
Release note:

Metrics about machine boot times are added to the monitoring stack.

/approve
/invite @wyb1 @istvanballok


Add first pass at Pipeline interface

Change
This is the first step of an internal change for now (eventually to become an API change down the road) that will improve the plugin system, improve the way files are handled by Snowpack, and in the process provide some cleanup from the dev/build commands.
Currently, it’s not possible to run a file in Snowpack through multiple transform operations (useful in, say, Sass’ case where it’s desirable to run sass followed by postcss). Instead, we’d propose a new API (TBD) that takes the concept of Pipelines:
.jsx -> transform JS (Babel) -> minify -> .js
.react.svg -> run SVGO -> run svgr -> .svg.js
.scss -> transform Sass -> run PostCSS -> .css

This is an idea where every file has a series of transformations it steps through. Similar to webpack’s loaders, or even Gulp pipes. But the configuration will be simpler.
Put simply, this has always been the idea of Snowpack dev / build, so in a sense this change isn’t new. Pipelines are just an incremental step to make that concept more apparent in the codebase, as well as unlock more potential with Snowpack itself (again, like the ability to run multiple transformations in a defined order like Sass -> PostCSS or SVGO -> svgr).
Here’s what a potential Pipeline config could look like:
{
  "pipeline": {
    ".jsx,.js,.tsx,.ts": [
      "@snowpack/plugin-babel",
      "@snowpack/plugin-dotenv"
    ],
    ".module.scss->.module.css": [
      "sass --stdin",
      "postcss --config module.config.js"
    ],
    ".scss->.css": ["sass --stdin", "postcss -o $OUTPUT"],
    ".react.svg->.svg.js": ["svgo --input $FILE", "svgr"],
    ".svg": ["svgo --input $FILE"],
  }
}

In case this is Greek to you, I made a short walkthrough video here
Notes

This doesn’t actually change Snowpack’s internals (yet); it only provides the interface to
We won’t make any breaking changes to Snowpack 2.x; pipelines will probably end up being a new, optional config that improves build:* scripts and lives side-by-side until we make a major release in the future.

Closing to start its own branch with future PRs.


Pass try tests

exceptions-finally-3.yaml

#371

@AndrewG0R 3 puzzles #399, #400, #401 are still not solved.


Enable events v2 integration test

Test code are fixed and landed in master. You should be able to land it after rebase, without changing any test code.


faq: add section about pyo3(get) cloning fields

Explains that pyo3(get) clones the field and to use Py<...> if that is undesirable. This has come up various times on SO and gitter.

Figured I'd add a doctest for it, too.

FWIW I was wondering about adding a new guide page about this and the other common noob traps (e.g. &PyAny instead of PyAny as argument) etc.
I was thinking a new page instead of adding to the FAQ because the FAQ is kind of about troubleshooting. I was thinking that a new page would be called "common patterns in PyO3" and would have all sorts of tips like this which a noob might find helpful to scan.

I actually really like how the nomicon does this through examples, e.g.:

Naively, this means we just want this design:
pub struct Vec<T> {
    ptr: *mut T,
    cap: usize,
    len: usize,
}

And indeed this would compile. Unfortunately, it would be incorrect. First, the compiler will give us too strict variance. So a &Vec<&'static str> couldn't be used where an &Vec<&'a str> was expected. More importantly, it will give incorrect ownership information to the drop checker, as it will conservatively assume we don't own any values of type T. See the chapter on ownership and lifetimes for all the details on variance and drop check.

Generally I think the way to push good practices is to just do it through examples, documentation and good compile errors (can this be done for PyAny?), as well by just making good patterns easier to use than bad patterns. Python::with_gil vs GilGuard is a great example of this
As for where it's located I don't really mind as long as it's easy to link to.

👍 Fully agree with all of that. I was imagining this new section of the guide would be full of good examples pretty much like you suggest.
As for making bad patterns harder to use than good patterns... I feel optimistic each PyO3 release gets slightly more ergonomic 😅

Can you merge this? I'm not planning to make a new guide section at this point.

Sorry yes I'll merge now! I might start the guide section in Saturday, if I find time after catching up with everything else...


Amendment related to https://github.com/w3f/Grant-Milestone-Delivery/pull/1175

Project Abstract
Develop a Tuxedo Web Wallet and Dapp.
Our goal is to showcase the potential of Polkadot using the UTXO paradigm for the end user, leveraging Tuxedo. The project will consist of two key stages:

Stage 1: Developing a simple Web Wallet
Stage 2: Developing a basic DApp

Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] Payment details have been provided (bank details via email or Polkadot (USDC & USDT) address in the application).
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

Hey @AltiMario , I'd appreciate it if you could provide me some answers to the comments I raised. Thanks.

I'm expressing some urgency, as this PR is a prerequisite to continuing the milestone evaluation. @AltiMario

sure thing @PieWol I will write it in a few minutes. Thanks

Hi @PieWol sorry for the delay in my reply.
I think I covered all queries, for further doubts please don't hesitate to contact me.
1- "Is it correct that you have, instead of creating your own web-based wallet, integrated Talisman to be usable for Tuxedo and your dApp?"
Yes. We pivoted this part of the project following the suggestion of Joshua Orndorff. I added some extra info in the "Additional Information" section of milestone 1.
2- "Please adjust some links of this milestone to better fit the original application and its specifications for the deliverables. Right now the wallet readme isn't even mentioned in the documentation deliverable. Even though I think this is the key documentation for this milestone."
I completely updated the README file to better describe the changes done, but I forgot to add it to the file of milestone 1. I'm going to add the link.
3- "The demo for showcasing the Talisman wallet compatibility seems cut short. In the readme only a 4 second clip is visible."
Fixed.
4- "We will provide [...] a basic tutorial that explains how a user can use the web wallet app for Tuxedo (Private key configuration, local URI to be used to connect to blockchain) and send test transactions, tuxedo balance, which will show how the new functionality works.
Is this all covered by the readme within the wallet directory?"
Because it is not needed a tutorial of how to use Talisman we haven't done it. However, we created a basic video tutorial (3 parts) on how to use the extended CLI-wallet.
5- "Was listed as the specification for this deliverable. Yet in the milestone delivery you are linking to a little showcase video that walks through an offer creation and buying process. No info on private key configuration or how information from the chain is retrieved. It's just a video of a frontend usage."
The Talisman integration doesn't cover the private key configuration but the extended CLI-wallet does.
6- "Is there no written article at all?", "Especially interesting could be a written article that covers your changes to Talisman to be Tuxedo compatible on a high level."
Sorry, I didn't link them properly. Now you can see it in the README and in milestone 1 (section documentation and article).  We produced documentation for: APIs spreadsheet, Build and run the project, DApp specification, Frontend development libs, Game design, Talisman wallet, Wireframes, Comparative analysis "CryptoKitties Development: A comparative analysis between EVM - Cardano - Tuxedo/Polkadot"
7- "Furthermore what exactly are you referring to by "webservice"? Is this supposed to be your dApp?"
The solution/architecture is described in the doc "DApp-specification" https://github.com/mlabs-haskell/TuxedoDapp/wiki/DApp-specification documentation. The dockerization for the Talisman integration is not needed. The extended CLI-wallet is an extension of the Tuxedo framework, it can be run in the same way. What is new is the webservice part, where the docker container is provided.

@AltiMario ,
got it. Thanks!
Finally, what is the work you did to make Talisman work with Tuxedo? I thought Tuxedo / UTXO wasn't supported. Is there any code you had to modify on Talismans side or are you somehow making this work with blind signing? If you can please provide me a link to the code.

hi @PieWol we used the blind signing, no work was done on the Talisman codebase.
The signing (redeemer creation) for the webservice part is here https://github.com/mlabs-haskell/Tuxedo/blob/cf02ebc8cba89d398e4fc1016ee76b17d764bcd4/webservice-wallet/src/kitty.rs#L937
and for the frontend part is here https://github.com/mlabs-haskell/TuxedoDapp/blob/6f9def9ee2f654762f433c8605b5ba4132c272a2/src/api/utils.ts#L89
For further technical questions related to the core, cli-wallet and the webservice part I invite @NadigerAmit to answer you and @philoniare can address the frontend part.
Both developers are already on other projects but they are available to support the technical conversation in detail, explaining what they did.

Hey @AltiMario ,
thanks again for your feedback. Would you also please answer the comments I made in my review of this very PR, additionally to the points I raised in my evaluation? You should find these in this thread if you scroll up.

@AltiMario ,
With you pivoting from creating the web-wallet to simply using Talisman blind signing this seems to be less work than previously outlined. Thus you need to lower the cost of the first milestone retroactively. Would you please come up with a reasoned proposal for this? Thanks!

hi @PieWol about your comment https://github.com/w3f/Grants-Program/pull/2305#issuecomment-2121885364 I don't know what I missed in this reply https://github.com/w3f/Grants-Program/pull/2305#issuecomment-2117183560
Could you please rephrase your concern or point out what hasn't been properly explained that deserves more clarification?

@PieWol I think there is a misunderstanding of the PR amendment scope. It is not for reduced work or just for the Talisman integration. It is also for the CLI-wallet extension, which took @NadigerAmit almost 2 months to build. It is a lot of work, probably a bit hidden (?), but that was a mandatory thing to do in order to have the DApp working. We exposed the functions built for the CLI-wallet as APIs of the webservice.
In this project, saving money was not on the agenda. In fact, the resources employed were twice what I initially planned (you can see it in the code contributors list), leading to a significant budget overrun. For MLabs this represented an investment in this technology/framework, with the goal (and hope) to bring further developments and work.
For every question related to the huge amount of work done for the extended CLI-wallet please refer to @NadigerAmit who will be happy and proud to answer and drive you on his code.
Thanks, Mario

Hi @PieWol, don't worry, it didn't cause any inconvenience. I'm glad the work has been approved. We have a common goal, to create value for this ecosystem.
Thanks to you and the rest of your team for the support.


Outdatedbrowser.com on IE8

OutdatedBrowser.com might have to be a little simpler to look good in IE8.

I'm trying this out using https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

and IE7 and lower.. the opera download option is gone at some resolutions (issue = 5x 20% is not 100% in IE7... )


Update apps.json

Adding Libsyn's support for locked tag.
Afraid I don't know where to put the logo image in this repo. It's here.

Thanks James. I’ll handle the logo.


update downstream imagePullPolicy to ifNotPresent

Describe what this PR does and why we need it:
Downstream broker operator imagePullPolicy should be ifNotPresent

Coverage remained the same at 40.97% when pulling 7f47912d986bcd8264e175abaee8257c17fa4a7d on johnkim76:update-ds-pullpolicy into 849a968d3e62a27a0af8277dd8c07946d57b3024 on openshift:master.


Usage with react-hot-loader?

I'm not sure whether this relates more to react-hot-loader, but I'm trying to get my Relay components to work alongside react-hot-loader 3.0.
My client-side set-up looks something like this...
handleMatch(async (e, _, renderProps) => {

  // Instantiate all the Relay stuff here...
  // ....

  const props = await isomorphicRelayRouter.prepareInitialRender(environment, renderProps);
  const doRender = () => {
    ReactDOM.render(
      <AppContainer>
        <Provider store={store}>
          <Router {...props} render={render} />
        </Provider>
      </AppContainer>,
      document.getElementById('root')
    );
  };

  doRender();

  if (module.hot) {
    module.hot.accept('config/routes', () => {
      /* eslint-disable no-unused-expressions */
      require('config/routes').default;

      doRender();
    });
  }
});

Making a change to a React component gets pushed down to the browser fine, and local component state is retained.
However, when making a change, navigating to another route and then navigating back again, I get this in the console...

Any known workarounds?
Thanks in advance.

Maybe you can use the following as a starting point: https://github.com/denvned/isomorphic-relay-boilerplate/blob/5dd32f3c5759b9305dc1c731bbf80671824978fc/frontend/src/app.js

Thanks @denvned. My code is actually very similar, with two changes:

I'm using react-router's Router, instead of the missing IsomorphicRouter.Router

I tried with and without ReactDOM.unmountComponentAtNode (which had the effect of a full-page refresh; local component state was killed). Omitting that makes 'plain' components behave properly - but I get the same Relay errors with or without.

I'm using react-router's Router, instead of the missing IsomorphicRouter.Router

Yeah, the boilerplate have not been updated to use the current versions of isomorphic-relay-router.

local component state was killed

I'm not keeping components' local state in the boilerplate for reasons similar to explained in https://github.com/reactjs/redux/pull/1455#issue-137072474. Maybe that's why I have not seen any Relay errors there.
Maybe this will not fix these specific errors, but you probably need to rematch routes inside doRender as they might be changed, using the match from react-router, then you also to move IsomorphicRelayRouter.prepareInitialRender inside doRender.
Generally, I suggest to try to make this works without react-hot-loader first, and then try to make it work with it.

@leebenson did you ever get to the bottom of this? I'm experiencing the same behavior with react-router-relay and react-hot-loader. When I make a change to my react component the hot reload occurs, but no GraphQL data is shown and I see a similar error message in the console:

Apologies in advance since this does not relate to isomorphic-relay-router.

@rogersp, I actually didn't. I wound up swapping out Relay for Apollo on that particular project, so Relay routing went along with it. Sounds like an issue that might need addressing at react-hot-loader?

@leebenson For what it's worth I was able to get around this by making sure my Relay containers were exported in different modules than the React components they wrapped. This is how it's done in the Relay Fullstack project.
Also, thanks for turning me on to Apollo. Looks slick!

np - glad you got it working @rogersp.


SUM doesn't work somehow in Redshift table

Make sure these boxes are checked before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if any
[x] I have reproduced the issue with at least the latest released version of superset
[x] I have checked the issue tracker for the same issue and I haven't found one similar

Superset version
0.26.3
Expected results
I was expecting to see daily revenue trending graph from a Redshift table and here is the SQL query:
SELECT
    name AS name,
    DATE_TRUNC('month', created_date) AT TIME ZONE 'UTC' AS __timestamp,
    SUM(cost) AS "SUM(cost)"
FROM xxxx.yyyyyy
WHERE created_date >= '2016-07-26 00:00:00'
    AND created_date <= '2018-07-26 03:32:14'
GROUP BY name,
     DATE_TRUNC('month', created_date) AT TIME ZONE 'UTC'
ORDER BY "SUM(cost)" DESC
LIMIT 50000;

Actual results

I tried a few different tables but got exactly same result. I used the following connection string:
postgresql+psycopg2://account:XXXXXXXXXX@redshift-host-name:5439/database
COUNT did work well.
Steps to reproduce
Hopefully the above screen and script are self-explanatory.

How about using redshift+psycopg2:// as a connection string?

I got an error from the connection string: "Can't load plugin: sqlalchemy.dialects:redshift.psycopg2"

I tried "postgres://" string and still got the same error. Not so sure whether this issue is a unique problem specific to my environment but the examples from Superset works totally fine.

@mistercrunch any idea what to do to fix "Can't load plugin: sqlalchemy.dialects:redshift.psycopg2" error? I have these:
psycopg2==2.7.5
sqlalchemy-redshift==0.7.1
SQLAlchemy==1.2.10
Python 2.7.12

The docs are pretty clear about most of what is discussed in this issue:
http://superset.apache.org/installation.html#database-dependencies

It was a matter of restarting the Superset for the connection string problem (redshift+psycopg2) I had. But the issue remains the same. SUM(cost) doesn't work somehow.
Sorry to keep bugging @mistercrunch. Any pointer or insight? If there is some related code I can take a look, that works too. Count(*) works fine BTW.

@keeyong The error looks eerily similar to what I've just been working on in #5487 . Do you have the possibility to try my branch to see if it works better?

@villebro I will be more than happy too. I know how to download your branch but not very clear how to test. Once some hint is provided, I will test for sure

After cloning the branch, you can probably follow the steps described in https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md#setting-up-a-python-development-environment .

@villebro thank you for your help but it still doesn't solve my issue. I am seeing an error like the followings:
2018-07-27 00:02:16,101:ERROR:root:u'SUM(cost)'
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/superset/views/core.py", line 1104, in generate_json
    payload = viz_obj.get_payload()
  File "/usr/local/lib/python2.7/dist-packages/superset/viz.py", line 361, in get_payload
    payload['data'] = self.get_data(df)
  File "/usr/local/lib/python2.7/dist-packages/superset/viz.py", line 1242, in get_data
    df = self.process_data(df)
  File "/usr/local/lib/python2.7/dist-packages/superset/viz.py", line 1146, in process_data
    values=utils.get_metric_names(fd.get('metrics')))
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 5303, in pivot_table
    margins_name=margins_name)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/reshape/pivot.py", line 61, in pivot_table
    raise KeyError(i)
KeyError: u'SUM(cost)'

Maybe it is a totally different problem?

@villebro I think you gave me an idea. It turns out when I used "sum(cost)" explicitly instead of "SUM(cost)" which is given by the tool. Is this issue supposed to be fixed by your change?

@keeyong Can you manually add the following print statements to row 1137 of superset/viz.py so that the section looks like the following:
    def process_data(self, df, aggregate=False):
        fd = self.form_data
        df = df.fillna(0)
        if fd.get('granularity') == 'all':
            raise Exception(_('Pick a time granularity for your time series'))
        print('!! Columns in df: ', df.columns)
        print('!! Metric labels: ', utils.get_metric_names(fd.get('metrics')))
        print('!! Metrics (raw): ', fd.get('metrics'))
        if not aggregate:
            df = df.pivot_table(
                index=DTTM_ALIAS,
                columns=fd.get('groupby'),
                values=utils.get_metric_names(fd.get('metrics')))

After that, reinstall, restart and rerun with both the count metric (the one that works) and sum metric (the one that doesn't work) and paste here what the extra output looks like for both, ie. the output rows that start with !!.

@keeyong I'm thinking one is an adhocMetric and the other regular metric, and the label of one is encoded differently to what the dataframe column name is. But it should be fairly clear once you show the output.

That's great @villebro. Here is the output:
!! Columns in df:  Index([u'__timestamp', u'sum(cost)'], dtype='object')
!! Metric labels:  [u'SUM(cost)']
!! Metrics (raw):  [{u'hasCustomLabel': False, u'expressionType': u'SIMPLE', u'fromFormData': False, u'label': u'SUM(cost)', u'column': {u'optionName': u'_col_cost', u'description': None, u'filterable': False, u'expression': u'', u'is_dttm': False, u'type': u'BIGINT', u'verbose_name': None, u'groupby': False, u'column_name': u'cost'}, u'sqlExpression': None, u'aggregate': u'SUM', u'optionName': u'metric_w0umnqaijfr_7enyx6vgy83'}]

@keeyong Could you also post the same for the one that does not give the error?

@villebro sure. When I used lowercase for sum, here is the output:
!! Columns in df:  Index([u'name', u'__timestamp', u'sum(cost)'], dtype='object')
!! Metric labels:  [u'sum(cost)']
!! Metrics (raw):  [{u'hasCustomLabel': False, u'expressionType': u'SQL', u'fromFormData': True, u'label': u'sum(cost)', u'column': None, u'sqlExpression': u'sum(cost)', u'aggregate': None, u'optionName': u'metric_6bs73coem1m_iugv8q8qin'}]

@keeyong Can you confirm that you're running the preprocess_df, i.e. https://github.com/villebro/incubator-superset/tree/preprocess_df ? Also, what does the first part of the connection string look like, up until ://? I would expect my branch to have solved your problem for Redshift..

A good point. I might have been running the master!!! Let me double-check. I am using redshift+psycopg2://

I think I am on your branch:
$ git branch
master
* preprocess_df

It would seem you're on the correct branch. To add some logging, can you add the following prints to lines 388-390 and 393 in viz.py:
        if query_obj and not is_loaded:
            try:
                df = self.get_df(query_obj)
                if hasattr(self.datasource.database, 'db_engine_spec'):
                    db_engine_spec = self.datasource.database.db_engine_spec
                    print('!! engine: ', db_engine_spec.engine)
                    print('!! case: ', db_engine_spec.consistent_case_sensitivity)
                    print('cols before: ', df.columns)
                    df = db_engine_spec.adjust_df_column_names(df, self.form_data,
                                                               [DTTM_ALIAS])
                    print('!! cols after: ', df.columns)
                if self.status != utils.QueryStatus.FAILED:
                    stats_logger.incr('loaded_from_source')
                    is_loaded = True

After that, rerun the query that gives the error and post back the output from the new prints.

@keeyong I found a small defect in my branch that might have caused problems, please pull the newest version of preprocess_df and give it another go.

aha my bad. I think your fix should be working. I spent too much time on this issue and made a bone head mistake. Thank you for your work and help. I hope this is released soon! @villebro

@keeyong No harm done, I ended up cleaning up the PR as a consequence of this discussion 👍  To err on the side of caution, can you try out the newest version of the PR and verify that it still works? If everything is still ok I'll ask the maintainers to merge.


Euro CDN addition

Adding *.cm.steampowered.com, which is used as a CDN for many European countries.
What CDN does this PR relate to
Relates to all Europe based steam clients, example of domains include
CM01-LUX.cm.steampowered.com
CM02-LUX.cm.steampowered.com
cm1-par1.cm.steampowered.com
cm2-par1.cm.steampowered.com
cm1-sto1.cm.steampowered.com
cm2-sto1.cm.steampowered.com
cm3-sto1.cm.steampowered.com
cm4-sto1.cm.steampowered.com
CM01-LUX.cm.steampowered.com
CM02-LON.cm.steampowered.com
CM03-LON.cm.steampowered.com
CM04-LON.cm.steampowered.com
Does this require running via sniproxy
No, runs through HTTP (tested)
Capture method
Detected due to random cache misses, and diagnosed with bind9 logs and wireshark
Testing Scenario
Tested on a 24 PC eSports centre in the UK.
Testing Configuration
Added single entry to rpz file
Sniproxy output
Does not hit through sniproxy

@unspec you might find this useful


Support multiple environments in env:push command

Why
Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests.
How
How did you build this feature or fix this bug and why?
Test Plan
Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction.

#2620  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @khamilowicz and the rest of your teammates on  Graphite


Please, register plugin in bower.io

(maybe not only for me) It's much easier to install js plugins from bower.
http://bower.io/docs/creating-packages/#register

hey Lesyek,
totally agree will do in very near future!

should be available now
"html5-form-validation": "~1.5.2"


don't pass deprecated timeout param

fixes for #492

Coverage decreased (-0.003%) to 92.331% when pulling 579848650fcb32ac00e5104b37b99d83c8d5cbad on fix into e244a94a74fb94b962e95745f30dbaeff05b0f86 on master.