[IOS] No such module flutter and Cannot find GeneratedPluginRegistrant in scope

Description
I have created a new flutter project via flutter create sample.  I then created a new channel in AppDelegate.Swift but after doing a clean and build in Xcode 13....I get error messages "No such module 'Flutter' and Cannot find 'GeneratedPluginRegistrant' in scope.  The code that I'm using in AppDelegate.Swift is below.
What is the reason to why I get errors "No such module 'Flutter' and Cannot find 'GeneratedPluginRegistrant' in scope?
Please keep in mind that I'm using Flutter 2.2.3 and recently I have upgraded from 2.0.6.  I'm currently migrating toward Flutter 2.5.
Steps to Reproduce

Install flutter version 2.2.3
Create a new flutter application via flutter create sample
Create a channel in AppDelegateSwift via Xcode 13.
Clean and Build within XCODE.

Code and Flutter Doctor Output

Flutter Doctor
[✓] Flutter (Channel unknown, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.61.2)
[✓] Connected device (1 available)

Swift Code
import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {

    let controller : FlutterViewController = window?.rootViewController as! FlutterViewController // swiftlint:disable:this force_cast
    let sampleChannel = FlutterMethodChannel(name: "com.domain/sample", binaryMessenger: controller.binaryMessenger)
    sampleChannel.setMethodCallHandler({(call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in self.handleSample()})

    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }

  private func handleSample(){print("Sample was invoked.")}

}

@maheshmnj .....here is a repo that was created to produce the issue that I'm reporting.  Please view the steps to reproduce to understand what I followed to create this repo.... https://github.com/mdevera-coding/channel.git

@mdeveracoding I cloned and ran you project and it rained successfully in Xcode without any issues on the latest stable 2.5.3. Here's what I did

cloned the repo
cd project
flutter pub get
open ios/Runner.xcworkspace
built the app in xcode.

I have installed flutter stable version 2.5.3 and onto different macbook pro laptop. However, I'm still getting the same errors. Please see my flutter doctor output below:

I would advise you to please share the complete output of flutter doctor -v of the MacBook where the build fails.

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (3 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/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 /Applications/Xcode.app/Contents/Developer
    • Xcode 13.0, Build version 13A233
    • CocoaPods version 1.10.2

[✓] 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)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • B622CBB7-F906-4FA7-8F49-FACEAAC905AB • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 95.0.4638.69

• No issues found!

Thanks

@maheshmnj :
Using the same repo you cloned, I followed these steps and recreated the error.

cloned the repo
cd project
flutter pub get
open ios/Runner.xcworkspace
product/clean build folder
product/build
product/clean build folder
product/build
Edit the AppDelegate.swift (added at line 10:  print("Hello world!")
product/clean build folder
product/build

Result is error:  Cannot find 'GeneratedPluginRegistrant' i...

My Flutter doctor output
[✓] Flutter (Channel unknown, 2.5.3, on macOS 11.4 20F71 darwin-x64, locale en-US)
    • Flutter version 2.5.3 at /Users/a17878/development/flutter
    • Upstream repository unknown
    • Framework revision 18116933e7 (3 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/a17878/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• ANDROID_HOME = /Users/a17878/Library/Android/sdk
• ANDROID_SDK_ROOT = /Users/a17878/Library/Android/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 /Applications/Xcode.app/Contents/Developer
• Xcode 13.0, Build version 13A233
• CocoaPods version 1.11.2
[✓] 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.61.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.28.0
[✓] VS Code (version 1.23.1)
• VS Code at /Users/a17878/downLoadBackup/Visual Studio Code 2.app/Contents
• Flutter extension version 3.28.0
[✓] VS Code (version 1.23.1)
• VS Code at /Users/a17878/downLoadBackup/Visual Studio Code.app/Contents
• Flutter extension version 3.28.0
[✓] Connected device (1 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 95.0.4638.69
• No issues found!

Thanks

@jxbetancourt thanks for the info, I was able to reproduce the issue on the stable and the master channel, The error is generally shown after the application is run, The application builds successfully though.

xcode logs
2021-11-05 12:51:26.163305+0530 Runner[19268:209785] Metal API Validation Enabled
Hello world
2021-11-05 12:51:26.320463+0530 Runner[19268:210192] flutter: Observatory listening on http://<IP_ADDRESS>:56707/IExjB_rtBNo=/

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.5.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (3 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/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 /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.10.2

[✓] 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)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • B622CBB7-F906-4FA7-8F49-FACEAAC905AB • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5
      (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 95.0.4638.69

• No issues found!

[✓] Flutter (Channel master, 2.6.0-12.0.pre.555, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.555 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 067386d706 (3 days ago), 2021-11-02 05:13:04 -0400
    • Engine revision 76b4caeafe
    • Dart version 2.15.0 (build 2.15.0-268.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/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 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] 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)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • B622CBB7-F906-4FA7-8F49-FACEAAC905AB • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5
      (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 95.0.4638.69

• No issues found!

Can you confirm that even though it's showing an error, it's building successfully and your app is launching?
I know this is going to sound lame, but I'm pretty sure this is an Xcode bug.  I can reproduce this, and it shows the error AppDelegate.swift:16:7: Cannot find 'GeneratedPluginRegistrant' in scope but the build actually succeeds and the app runs.  The only weirdness is that the Swift code is calling an Objective-C API, but it's doing so correctly and the build is really succeeding.
There's nothing Flutter could do about this.  Hopefully Xcode fixes it in a future update.

Have the same issue - "No such module 'Flutter'"

OS: Monterey 12.0.1
Xcode: 13.1
Flutter: 2.5.3

Steps:

Install Flutter
Create a project
Install flutter_blue package

Flutter Doctor

[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale
en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.62.3)
[✓] Connected device (2 available)

Have the same issues - No such module 'Flutter' and Cannot find 'GeneratedPluginRegistrant' in scope

Can you confirm that even though it's showing an error, it's building successfully and your app is launching?

Can you confirm that even though it's showing an error, it's building successfully and your app is launching?

I can confirm that even though it's showing an error, it's building successfully and app is launching.

i see this is reopened, not sure if I should still create a new ticket or not... I'm having the exact same issues as described above.

i see this is reopened, not sure if I should still create a new ticket or not... I'm having the exact same issues as described above.

This is a visual Xcode bug.  The app builds correctly.  Hopefully Xcode fixes this.

I know this is going to sound lame, but I'm pretty sure this is an Xcode bug. I can reproduce this, and it shows the error AppDelegate.swift:16:7: Cannot find 'GeneratedPluginRegistrant' in scope but the build actually succeeds and the app runs. The only weirdness is that the Swift code is calling an Objective-C API, but it's doing so correctly and the build is really succeeding.
There's nothing Flutter could do about this. Hopefully Xcode fixes it in a future update.

I'm new to github so forgive if anything in this post is bad ettiquette, but I also have this issue.
Things I wish I understood better: cocoapods, podfile, build process, frameworks... and more!
I have an open stackoverflow question also, which contains information not yet revealed here (!!!) and may help troubleshoot, but I'm only focused on the "no such module" issue.
I think these are two separate issues, though, which are being conflated --  The "GeneratedPluginRegistrant' in scope" issue and the "no such module" issue.
In my case, the app in question will NEVER builds/runs successfully as long as the "no such module" issue is showing.  It does run/build if the "GeneratedPluginRegistrant not in scope" issue is showing.
And my flutter doctor - v:
[✓] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale
en-US)
• Flutter version 2.5.3 at /Users/pieface/Downloads/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 18116933e7 (8 weeks ago), 2021-10-15 10:46:35 -0700
• Engine revision d3ea636dc5
• Dart version 2.14.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/boober/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /Applications/Android
Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 13.1, Build version 13A1030d
• CocoaPods version 1.11.2
[✗] 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 2020.3)
• 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.10+0-b96-7281165)
[✓] Connected device (1 available)
• iPod touch (7th generation) (mobile) •
1E0495D1-F57A-4161-AE35-63BBB30ACB0C • ios •
com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)

There's also confusion about what is meant by "confirm that it builds and runs" ... because in my case, the project does build and run from Android Studio, but not from Xcode.

Please file a new GitHub issue, this one is describing an Xcode issue that doesn't actually impact running the project, and that I should probably close, but have left open for discoverability.

There's also confusion about what is meant by "confirm that it builds and runs" ... because in my case, the project does build and run from Android Studio, but not from Xcode.

Please file a new GitHub issue, this one is describing an Xcode issue that doesn't actually impact running the project, and that I should probably close, but have left open for discoverability.

Thankyou, I'm working on it... I deleted my post from here.

Same issue happened with a newly created project, I figured out that the core issue that "flutter pub get" suddenly doesn't recreate some generated files, I am using M1 machine.

The root cause of this problem (the problem that I could not build or run the project from within XCode) is that I had moved the Flutter project's folder at some previous time.

@nerdybunz Ah that makes sense, that issue is already tracked in https://github.com/flutter/flutter/issues/34294.

suddenly doesn't recreate some generated files

@youssefali424 you're going to have to be much more specific, please file a new issue.
I'm going to close this issue, it's an Xcode bug.  To reiterate:

This is a visual Xcode bug.  The app builds correctly.  Hopefully Xcode fixes this.

I know this is going to sound lame, but I'm pretty sure this is an Xcode bug. I can reproduce this, and it shows the error AppDelegate.swift:16:7: Cannot find 'GeneratedPluginRegistrant' in scope but the build actually succeeds and the app runs. The only weirdness is that the Swift code is calling an Objective-C API, but it's doing so correctly and the build is really succeeding.
There's nothing Flutter could do about this. Hopefully Xcode fixes it in a future update.

If you are seeing ANYTHING other than Xcode falsely reporting a module import error, but then successfully building, you are NOT seeing the reported issue, and you should file a new GitHub issue so we can actually diagnose what you're seeing.


update fn setup

docs pointed to diem and links were broken
seed_addrs was broken or_default + extend is not ideal
Upstream from config + ValidatorFullNode from onchain results in no
config

/land

I don't think I write very good rust code, so apparently lints failed :trollface:

:broken_heart: Test Failed - ci-test-success

/land

:broken_heart: Test Failed - ci-test-success

/land

:broken_heart: Test Failed - ci-test-success

/land

:broken_heart: Test Failed - ci-test-success

Well this is frustrating... for some reason it cannot build "state-sync" and there's no clear error message... let's try again
/land

:broken_heart: Test Failed - ci-test-success

/land


MissingStyle: Failed to get style 'bar.done'; unable to parse 'bar.done' as color; 'bar.done' is not a valid color

I am using zsh and python 3.8, let me know if you need any other information :)

sorry wrong project


Migrated from concat_idents to paste

The paste crate works on stable, so this change means that unqlite now
compiles and runs on stable rust.

There were the following issues with your Pull Request

Commit: 33642ef191791eb03e8293e6505f435866fbaf14
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/zitsen/unqlite.rs

This message was auto-generated by https://gitcop.com

Hmm, would changing my commit message to "refactor: Migrated from concat_idents to paste" work?


Use xdg-open or other env variable for pdf reader

Ik zathura is popular still, but I find https://github.com/ahrm/sioyek to be alot better.
Ik i can edit the script, if possible i would like to package this for nixos.
So some sort of option for pdf viewer like -p <pdf-viewer> or setting xdg-open would be better, nah?

Thank you!


WIP⚠ CM-1039: Fix border thickness when user clicks outside of the field

Jira Ticket:
CM-123
Description:
This is a description.

Duplicate of https://github.com/bcgov/bcparks.ca/pull/1106


Questions about anchor masks

I'm retraining a model using both CuLane, TuSimple, Llamas and some other dataset. Since you calculated the anchor freq of the dataset before training, keeping only 1000 anchors for every inference and training session, should I do the same for a much larger dataset with a larger variety of lane positions? Since you hardcoded keeping only 1000 anchors, inference came in conflict with the attention module when I kept all anchors. Can you confirm that this is an issue and I should modify the attention module if I want to keep all anchors?
Also, I've tested CuLane model on TuSImple and the other way around. I got really bad stats, F1 of zero to 0.2. Can someone else confirm this?

I'm retraining a model using both CuLane, TuSimple, Llamas and some other dataset. Since you calculated the anchor freq of the dataset before training, keeping only 1000 anchors for every inference and training session, should I do the same for a much larger dataset with a larger variety of lane positions? Since you hardcoded keeping only 1000 anchors, inference came in conflict with the attention module when I kept all anchors. Can you confirm that this is an issue and I should modify the attention module if I want to keep all anchors?

I am not sure what you're referring to. The value is not hardcoded. It is set in the config file here. If you train with N anchors you'll have to run the inference with N anchors. If you want to try out the model on a new dataset you will have to compute the anchor frequencies for this dataset.

Also, I've tested CuLane model on TuSImple and the other way around. I got really bad stats, F1 of zero to 0.2. Can someone else confirm this?

This is expected. The datasets are very different geometrically (e.g., their image's aspect rations are very different).

Thanks for the help


Any plans for Three.VideoTexture and CanvasTexture?

Hello,
I'm really interested in your project to convert three.js to kotlin. I want to support you guys to keep going to implement it.
One question is that are you going to convert Three.VideoTexture and CanvasTexture to kotlin?
Really appreciate it if you leave an answer.
Thank you

One question is that are you going to convert Three.VideoTexture and CanvasTexture to kotlin?

This project is kinda dormant from my side atm. I have no plans of implementing what you ask, nor have I gotten any hints that anyone else is doing or want to do it.
Happy to receive a PR!

Ok. Thanks for the answer!


[Feature Request]:  Animated gif Addition

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Animated gif Addition
Use Case
Animated gif Addition
Benefits
Animated gif Addition
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a SSOC'24 contributor
[X] I have starred the repository

@Damini2004 in which project do u want to add the GIF effect??

@apu52 https://apu52.github.io/METAVERSE/Projects/SEO_WEBSITE/ this one

@Damini2004 I have merged this PR .But from next time please don't make any type of PR until u get assigned to any issue .

#1172
Assign this to me sir.


MPP and some of these workers have GPUs

Hi Expert,
We have a MPP clusters like this
Primary Controller
Backup Controller
Microservice 1
Microservice 2
Microservice 3
Worker1 (1 GPU)
Worker2 (1 GPU)
Worker3 (CPU)
Worker4 (CPU)
Wroker5 (CPU)
Is there any way we can run our trianing process with both GPU and CPU? (this is our first choice)
or maybe just run on the two workers with GPU
Thanks in advance! :)

We do some test and the result as below
When we use gpu=1 the output seems it use GPU but the first batch takes much time than CPU mode(second figure).
Is it because we use both GPUs and CPUs?
Is there any way we can just run on the GPU devices?

Also there are some question

ResNet model would fail

Running on the MPP cluster with two GPUs are more slower than the SMP with one GPU (Same model, same GPU)

We appreciate for any suggestion. :)

@staceychan - here are some answers to your questions.

Is there any way we can run our trianing process with both GPU and CPU? (this is our first choice) - this is what you get when you have a mixed Viya deployment (i.e. some workers with GPUs, other workers with CPUs)

or maybe just run on the two workers with GPU - the simplest way to do this is to start another Viya server that just uses the two nodes with GPUs as the workers.  You cannot easily get this kind of behavior with a mixed Viya deployment.

ResNet model would fail - this can happen for certain data sets.  For example, let's say you took a single image and duplicated it N times to create your data set.  The batch statistics for this data set would be the mean of the initial image, but the standard deviation for this data set would be 0, and this would trigger the error you see.  Is there something unusual about the data set you are working with?

Running on the MPP cluster with two GPUs are more slower than the SMP with one GPU (Same model, same GPU) - I believe you are comparing an MPP server where some of the workers have GPUs and some have CPUs to either an SMP server or an MPP server with only 1 worker with a GPU.  The mixed MPP server will be slower because the workers with GPUs have to wait for the workers with CPUs before they can process the next minibatch.  The workers with CPUs will be considerably slower than those with GPUs, and will slow the overall processing down.  If you want a fair comparison, try starting an MPP server using only the worker nodes with GPUs.

@staceychan
The comments from @eusdougc are pretty thorough and hope they can address your questions or concerns. Just add one more note for the time diff between MPP and SMP - even when all MPP clusters are with GPU, sometimes MPP mode is still slower. Simply speaking, for MPP mode data need to be sent to multiple workers, and the controller need to gather statistics / output from different workers. While there're fewer observations on each worker while shorten the processing time, the time needed for data transfer could be longer. That's why when the sample size is not that huge, SMP is sometimes preferred.

Hi both,
Thanks for your clear explanation. This really help us to clarify the problem.
First, for the resnet issue, we use the same dataset as LeNet5 and VGG16 (mnist).
And we change the dataset to Cifar10, we encounter the same issue.
Maybe I should explain why we need to know the details of GPU on MPP.
Our customer wants to take advantage of the GPUs but there are only 2 of 14 workers have GPU.
So we have to adopt GPU and let GPU benefit their works.
Here is my testing performance on our AWS machine

Note: 2/5 means 2 of 5 workers have GPU
Note: We perform less workers by shutdown that machine
It seems we can get the best performance if only use those two GPU workers.
So we are trying to use just these 2 workers when connect to CAS (without shutdown the other workers).
The code as below
s = CAS("10.249.x.xxx", 5570, "user", "passwd",nworkers=2)
When nworkers=2 we got the performance we want(only 2 GPU workers are used).
But there are still some concerns.
Does it always means using the first two workers?
Or how can we get the rule of worker selection?
Again, it's really helpful to get your opinion and knowledge.
Thanks a lot and hope everything goes well! :)
Best,
Stacey

@staceychan - the ResNet problem is odd, although I can see a scenario where it might happen for the MNIST data set.  The original MNIST data is single-channel only.  If you use the convenience functions we provide to build ResNet models, the assumption is that the input images consist of 3 channels.  When the data is read in it might be the one valid channel and some constant value for the other two.  That would cause the problem you are seeing.  I haven't worked with the CIFAR10 data, but if it is single-channel as well, that could explain your problem.
Regarding your questions about the MPP cluster
When nworkers=2 we got the performance we want(only 2 GPU workers are used).
But there are still some concerns.
Does it always means using the first two workers?
Or how can we get the rule of worker selection?
Selection of worker nodes is beyond the control of DLPy.  This occurs when you set up your Viya server.  We can't help you directly with that.

Hi Doug,
Thanks for your explanation.
I'm going to close this issue
Really appreciate it. :)
Best,
Stacey


Use Libs.xxx in Gradle's resolutionStrategy

Context: buildSrcVersions is a Gradle plugin that makes it easier to manage your dependencies inside your IDE. It extracts all your dependencies and search for available dependencies updates.
You can use the information from Libs.kt to simplify your resolutionStragy:
val forceDependencies = listOf(Libs.retrofit, Libs.kotlin_reflect, Libs.kotlin_stdlib_jdk7)      // Kotlin
// def forceDependencies = [Libs.retrofit, Libs.kotlin_reflect, Libs.kotlin_stdlib_jdk7]  // Groovy

allprojects {
    configurations.all {
        resolutionStrategy {
            for (dependencyVersion in forceDependencies) {
                force(dependencyVersion)
            }
        }
    }
}

The same principle can be used for the resolutionStragy of plugins
pluginManagement {
    resolutionStrategy {
        eachPlugin {
            val plugin = requested.id.id
            val module = when {
                plugin.startsWith("com.android") -> Libs.com_android_tools_build_gradle
                plugin.startsWith("kotlin")  -> Libs.kotlin_gradle_plugin
                else -> return@eachPlugin
            }
            println("resolutionStrategy for plugin=$plugin : $module")
            useModule(module)
        }
    }
}

Doesn't make much sense now, the long term plan is to focus on :refreshVersions
Long term plan: focus on refreshVersions #104


spotify-unwrapped: <IP_ADDRESS>1.gbe11e53b-15 -> <IP_ADDRESS>2.gbd112320-37

Motivation for this change
Upgrades spotify-unwrapped from <IP_ADDRESS>1.gbe11e53b-15 to <IP_ADDRESS>2.gbd112320-37
This PR was automatically generated by nixpkgs-upkeep.

CI workflow that created this PR.
Internal tag: 08bf683e76229c9bff6cc4c2764e4d49.

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@timokau Ok, noob question... I have this branch checked out but nix-shell is not doing what I'd expect:
nixpkgs on  upkeep-bot/spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37-1602046083 [?] took 27s
> nix-shell /home/skainswo/dev/nixpkgs -p spotify --pure

gives me a shell with the old spotify version that still works. What's the right way to drop into a nix-shell with the development version?

@samuela nix-shell -p always uses the nixpkgs from NIX_PATH. To open a shell with a package from your branch you have to do sth. like this:
$ nix-shell -I nixpkgs=/home/skainswo/dev/nixpkgs -p spotify

Alternatives are nix run -f. spotify (if you are using the experimental nix command) or nix-build -A spotify; result/bin/spotify.

Thanks @Ma27! That's a very confusing interface, but it does the trick.
I fixed the libdrm issue in 03ccf40, but now there's a new one:
[nix-shell:~/dev/nixpkgs]$ spotify
/nix/store/lrqra654hqrk7hdghlhpvzkgnxv0mx1b-spotify-<IP_ADDRESS>2.gbd112320-37/bin/.spotify-wrapped: error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory

but unfortunately I wasn't able to find libgbm: https://search.nixos.org/packages?show=libdrm&query=libgbm&from=0&size=30&sort=relevance&channel=unstable.

If you're looking for a specific file, you can use nix-locate. Unfortunately it can't find libgdm.so.1 either, so its probably not packaged. Most likely its https://github.com/libgm/libgm, though it seems a bit odd that spotify introduces a new dependency on a seemingly unmaintained library in "alpha" status.

Actually never mind. I mistyped the name. libgbm.so.1 is available in the mesa package.

Ok, I added the mesa dependency in e771518 and spotify builds and runs for me now.

If you're looking for a specific file, you can use nix-locate. Unfortunately it can't find libgbm.so.1 either, so its probably not packaged. Most likely its https://github.com/libgm/libgm, though it seems a bit odd that spotify introduces a new dependency on a seemingly unmaintained library in "alpha" status.

I wasn't able to get this to work:
nixpkgs on  upkeep-bot/spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37-1602046083 [?] took 2m10s
> nix-locate 'libgbm'

nixpkgs on  upkeep-bot/spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37-1602046083 [?]
>

Am I using nix-locate correctly?

Actually there are still some interesting warnings:
/nix/store/4s9aim1fk1s3npkzfygs7jlby6mg4126-spotify-<IP_ADDRESS>2.gbd112320-37/bin/.spotify-wrapped: /nix/store/k1bskbhj1843vnrz1sbnzxrb32fp2irz-curl-7.72.0/lib/libcurl-gnutls.so.4: no version information available (required by /nix/store/4s9aim1fk1s3npkzfygs7jlby6mg4126-spotify-<IP_ADDRESS>2.gbd112320-37/bin/.spotify-wrapped)
/nix/store/i99627w01d7bzp4ij4bqg8m22pwaa760-spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37/share/spotify/.spotify-wrapped: /nix/store/k1bskbhj1843vnrz1sbnzxrb32fp2irz-curl-7.72.0/lib/libcurl-gnutls.so.4: no version information available (required by /nix/store/i99627w01d7bzp4ij4bqg8m22pwaa760-spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37/share/spotify/.spotify-wrapped)
/nix/store/i99627w01d7bzp4ij4bqg8m22pwaa760-spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37/share/spotify/.spotify-wrapped: /nix/store/k1bskbhj1843vnrz1sbnzxrb32fp2irz-curl-7.72.0/lib/libcurl-gnutls.so.4: no version information available (required by /nix/store/i99627w01d7bzp4ij4bqg8m22pwaa760-spotify-unwrapped-<IP_ADDRESS>2.gbd112320-37/share/spotify/.spotify-wrapped)
/proc/self/exe: /nix/store/k1bskbhj1843vnrz1sbnzxrb32fp2irz-curl-7.72.0/lib/libcurl-gnutls.so.4: no version information available (required by /proc/self/exe)

It plays songs and everything else just fine but "Recently Played", "Liked Songs", and "Albums" are just empty... I think that may be Spotify's fault though...

nvm it all works just fine as long as I quit all the other spotify processes first... software is weird

Am I using nix-locate correctly?

nix-locate searches for filenames, so you have to type the exact name of the file you're searching for (including the extension).

Thanks for working on this! There's an ofBorg error, unfortunately I don't have time to look into it right now.

The error is apparently
pkgs/servers/mediatomb/default.nix:1:1 called without required argument 'spidermonkey'

but I don't think this has anything to do with spotify?

Right, unrelated (https://github.com/NixOS/nixpkgs/pull/100089, https://github.com/NixOS/nixpkgs/pull/100095).
@GrahamcOfBorg eval


Support Tiff image format

https://www.reddit.com/r/dotnet/comments/mh0x7p/crossplatform_windows_presentation_framework/gsxplsi?utm_source=share&utm_medium=web2x&context=3
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

It's possible to load tiff image into memory with third party libraries and convert to the bitmap after. Related:
https://github.com/mono/SkiaSharp/issues/433
https://stackoverflow.com/questions/50312937/skiasharp-tiff-support


Introduce Providers concept in the codebase.

@mthenw Can you please do linting in separate PR's next time please 😄

@elsteelbrain yeah, sorry for that, VSCode did that for me. Just ignore README :)

I gonna merge this one and setup CodeCov instead of Coveralls. They have weird configuration.


bionic/: should we have vdso support for cache flushing and/or <sys/cacheflush.h>? (probably not?)

glibc has a <sys/cacheflush.h> for risc-v, and linux has a vdso entry that might motivate it ... but if you look at that (https://github.com/torvalds/linux/blob/master/arch/riscv/kernel/vdso/flush_icache.S) it's just calling the system call anyway (since Android is always SMP), so i think the traditional "just use __builtin___clear_cache()" advice (https://man7.org/linux/man-pages/man2/cacheflush.2.html) makes sense here too, and we should not do this?

i think the question here is "will Zjid [or whatever] offer us a better option than a syscall in future?". if not, then having __builtin___clear_cache() inline a syscall is your best option (atm it inserts a call to a compiler-rt function that makes the syscall). if so, then using the libc [vdso-backed] function is your best choice, at least until you can just assume all hardware has the better extension. (until then, given that the vdso implementation just makes the syscall, the libc call is slightly worse for no benefit.)
but if we assume that might end up in a world where there's a vdso that gives us an instruction on newer hardware and a syscall on older hardware, having the libc function in from the first riscv64 API level will make it something people can actually use.
so even though this is currently useless, and will probably remain useless, we should probably have it just in case?

in bionic since https://android-review.googlesource.com/c/platform/bionic/+/2655793


Fully implement Pattern language

add ALONGWITH (and maybe new OR observation operator)
insure that observation expressions contain comparison expressions that use AND are all related to the same object path root.
use [] as appropriate

part of https://github.com/oasis-open/cti-stix-elevator/commit/2181e99fe17d85f7bc0b7c2b97e2be25452a9c72
ALONGWITH replaced by AND


Using dotnetfiddle.net / a no-setup beginner approach?

I recently ran into a situation with some learners that are having a hard time with C# primarily due to setup. Because of their desire to learn Unity / game development the exposure to C# has been rough and they don't really have the patience to move through the initial setup of straight C# development.
It would be really great if some intermediate / beginner option that isolated the development environment setup from the language learning were available. I think that learning to set up the dev env after getting their hands around the language for a while first would yield better results.

That's a good idea. Is there any guide on how to integrate automated tests with .NET Fiddle?

Had a look around..

.NET Fiddle doesn't have integrated testing
repl.it doesn't have it by default, it does have a teacher section but limited to 200 students for the free plan. pricing auto-grading
jdoodle has a guru mode which seems to be completely free - however the sandbox for coding is no where near as good as the others and the unit testing seems a bit flakey, not really testing it out

There are probably others but the few i've looked at.

Yes, I've been grappling with these thoughts as well.  I've come to the conclusion that using git is probably best when pushed out by a goodly amount of experience first. Version control has been a hinderance each time I've tried to teach it or share tutorials with students. Even after they've "learned" it, I find that they refuse to use it until they get bitten really badly by a mistake or some accident and wished they'd have some history data.
I have even tried to push Godot first as has been suggested by some educators due to the lower GDscript learning curve and its seeming "subset of C#" conceptuality... but then I've had students push back saying, "no thanks, I want to do Unity with C#".
I believe the present educational paradigm and huge gaming ecosystem is a double edged sword that is very defeative for personality types that would have benefited from less structured learning and more educational exploration and self direction... and unfortunately this "no-setup beginner approach" is necessary given this current social climate.

There is also LinqPad and RoslynPad


ZNS - Adjust "Try again" button & Return Button

Description
Currently, we only have a Copy saying "Try Again", so we need to include a "Try Again" button on this screen.

Button

ok I can see that was not included in the translation neither

@migueltrevinom
When doing this issue, include the fix of the Return button
https://verifikco-my.sharepoint.com/:v:/g/personal/johan_verifik_co/EdkWQBfr409MurXeNGm94tkBa1Tqse05fSBtIq1V1OzKMg?nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJPbmVEcml2ZUZvckJ1c2luZXNzIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXciLCJyZWZlcnJhbFZpZXciOiJNeUZpbGVzTGlua0NvcHkifX0&e=ljsSsP

I just added a button there to "Try again" so you can test it and let me know

QA successful!


Cannot get Yahoo option data using Remote Data Access of Pandas

I am trying to download Yahoo option data using the remote data access function of Pandas, I installed Anaconda on my laptop and launch ipython-qtconsole. I ran the following commands and got error "AttributeError: 'str' object has no attribute 'month', do I miss a module? If so, how can I find it?
from pandas.io.data import Options
aapl = Options('aapl', 'yahoo')
data = aapl.get_all_data()
AttributeError Traceback (most recent call last) in () ----> 1 data = aapl.get_all_data()
C:\Personal\Anaconda\lib\site-packages\pandas\io\data.pyc in get_all_data(self, call, put) 1109 1110 for month in months: -> 1111 m2 = month.month 1112 y2 = month.year 1113
AttributeError: 'str' object has no attribute 'month'

What version of pandas are you using? (show pd.__version__) This works for me using pandas 0.15.2

mine shows 0.14.1. I installed mine shows 0.14.1., not sure how to upgrade Pandas.

It seems you are using anaconda. Upgrading pandas is then as simple as: conda update pandas

Thanks a lot, that helps.


Update packages + fix tests for javascript mime change

The first commit is the result of running flutter update-packages --force-upgrade and the second commit fixes two failin tests (which prevented the bot from rolling in https://github.com/flutter/flutter/pull/118412) which are caused by changes in package:mime to use text/javascript instead of application/javascript:
See https://github.com/dart-lang/mime/pull/76.
See https://datatracker.ietf.org/doc/html/rfc9239.

This document defines equivalent processing requirements for the various script media types. The most widely supported media type in use is text/javascript; all others are considered historical and obsolete aliases of text/javascript.

Note: There are some additional places in the Flutter codebase that use text/javascript that I did not update in this PR because I wanted it to be the minimum required to roll the packages. If it makes sense, I can also update them (here, or in another PR).
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@christopherfujino there are failures here I can't repro locally. Have you seen these before? (the first is a timeout so maybe it's a flake, I'm not sure):
01:23 +2571 ~3 -1: test/general.shard/android/android_device_start_test.dart: AndroidDevice.startApp allows release builds on TargetPlatform.android_arm64 [E]
  TimeoutException after 0:00:02.000000: Test timed out after 2 seconds.
  dart:isolate  _RawReceivePort._handleMessage
01:23 +2571 ~3 -1: test/general.shard/android/android_gradle_builder_test.dart: gradle build build aar uses selected local engine with x86 ABI
To run this test again: /tmp/flutter sdk/bin/cache/dart-sdk/bin/dart test test/general.shard/android/android_device_start_test.dart -p vm --plain-name 'AndroidDevice.startApp allows release builds on TargetPlatform.android_arm64'
01:23 +2571 ~3 -2: test/general.shard/android/android_device_start_test.dart: AndroidDevice.startApp allows release builds on TargetPlatform.android_arm64 [E]
  Expected: a fake process manager with no remaining expectations
    Actual: <Instance of '_SequenceProcessManager'>
     Which: has remaining expectations:
            [adb, -s, 1234, shell, getprop]
            [adb, -s, 1234, shell, am, force-stop, --user, 10, FlutterApp]
            [adb, -s, 1234, shell, pm, list, packages, --user, 10, FlutterApp]
            [adb, -s, 1234, install, -t, -r, --user, 10, app-debug.apk]
            [adb, -s, 1234, shell, echo, -n, , >, /data/local/tmp/sky.FlutterApp.sha1]
            [adb, -s, 1234, shell, -x, logcat, -v, time]
            [adb, -s, 1234, shell, am, start, -a, android.intent.action.MAIN, -c, android.intent.category.LAUNCHER, -f, 0x20000000, --ez, enable-dart-profiling, true, --ez, enable-software-rendering, true, --ez, skia-deterministic-rendering, true, --ez, trace-skia, true, --es, trace-allowlist, bar,baz, --es, trace-skia-allowlist, skia.a,skia.b, --ez, trace-systrace, true, --ez, endless-trace-buffer, true, --ez, dump-skp-on-shader-compilation, true, --ez, cache-sksl, true, --ez, purge-persistent-cache, true, --ez, enable-impeller, true, --ez, enable-checked-mode, true, --ez, verify-entry-points, true, --ez, start-paused, true, --ez, disable-service-auth-codes, true, --es, dart-flags, foo,--null_assertions, --ez, use-test-fonts, true, --ez, verbose-logging, true, --user, 10, FlutterActivity]
  package:test_api                                                 expect
  test/general.shard/android/android_device_start_test.dart 123:7  main.<fn>

Locally:
✓ gradle build doesn't indicate how to consume an AAR when printHowToConsumeAar is false
✓ gradle build Verbose mode for AARs includes Gradle stacktrace and sets debug log level
✓ gradle build gradle exit code and stderr is forwarded to tool exit
✓ gradle build build apk uses selected local engine with arm32 ABI
✓ gradle build build apk uses selected local engine with arm64 ABI
✓ gradle build build apk uses selected local engine with x86 ABI
✓ gradle build build apk uses selected local engine with x64 ABI
✓ gradle build honors --no-android-gradle-daemon setting
✓ gradle build build aar uses selected local engine with arm32 ABI
✓ gradle build build aar uses selected local engine with x64 ABI
✓ gradle build build aar uses selected local engine with x86 ABI
✓ gradle build build aar uses selected local engine on x64 ABI

Not sure, but I'm just re-running this as it is only failing on cirrus, and not LUCI.

Re-run here

Cool, thanks! Need a review to merge :-)


Onyx Migration For #50796

@Julesssss @c3024
As per the previous discussion Here handling Onyx migration as a separate PR in support of https://github.com/Expensify/App/pull/52103
Explanation of Change
Supporting PR for https://github.com/Expensify/App/pull/52103#issue-2637856334
Migrating following pages from withOnyx to useOnyx.

src/pages/settings/Profile/PersonalDetails/DateOfBirthPage.tsx
src/pages/settings/Profile/PersonalDetails/LegalNamePage.tsx
src/pages/settings/Security/CloseAccountPage.tsx

Fixed Issues

$ https://github.com/Expensify/App/issues/50796
PROPOSAL: NA
Tests

Same as QA.

[x] Verify that no errors appear in the JS console

Offline tests

Same As QA.
QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]."
Visit following pages and verify everything works as expected.

Settings > Profile > Legal Name
Settings > Profile > DOB
Settings > Security > Close Account

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/98d5c114-0232-4088-9a7b-886934f7b292

Android: mWeb Chrome

https://github.com/user-attachments/assets/590b5349-6381-4a1f-b134-a36fab5d8ff4

iOS: Native

https://github.com/user-attachments/assets/4e9b6bc3-2dac-47b3-93f0-7d1f1536311a

iOS: mWeb Safari

https://github.com/user-attachments/assets/a78f497b-b58e-44bf-8a9c-e90b3d343ae4

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/21b02873-1a76-49f6-92a6-8af29d2f5bb0

MacOS: Desktop

https://github.com/user-attachments/assets/6a7fb8ce-0d2f-43af-b0f9-fc63d7a8fb4c

@dubielzyk-expensify Not sure why Malvin tagged you here. But there is is no job for you here, sorry.

Jon is a designer here at Expensify 😄 -- but I'm also confused why he was tagged. Hi Jon 👋

Hi @c3024 are you able to review this PR please, then we can merge.

Yes, I am on it!

test everything works on these pages -- a nice wide range of testing steps 😆

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Suggest a few more valid xsd:gYear values

A library that was using a previous version of this library (openRDF)  was failing to parse xsd:gYear values greater than 9999. Even though I did not test the current version behavior, I thought it was a good idea to add these unit tests in the code base.
This PR adds the following tests in the rdf4j unit tests.

checks that 20000 is a valid xsd:gYear value
checks that -20000 is a valid xsd:gYear value
checks that 0000 is a valid xsd:gYear value

Thanks for sharing this. However, this would be better described in an issue. If you do want to provide complete code changes for this please, a PR is best, but please ensure that you follow the CONTRIBUTING guide. I am going to close this PR as the code changes do not pass the unit tests, please create an issue to discuss possible solutions or discuss it on the mailing list.
Thanks!


[FR] - Allow rotation of stake pool keys

External   otherwise.
Area
Staking Pool
Describe the feature you'd like
Now that we can setup a stake pool secured entirely by a HW wallet, it would be nice to have a migration path for existing pools and perhaps also be able to migrate from one HW device to another (with a different private key)
cardano-hw-cli node key-gen \
--path 1853H/1815H/0H/0H \
--hw-signing-file cold.hwsfile \
--cold-verification-key-file cold.vkey \
--operational-certificate-issue-counter-file cold.counter

https://github.com/vacuumlabs/cardano-hw-cli

Closing this. If this is still relevant please reopen.


fix deserialization in spark

Improved tests to look inside a pipeline for more models to also compare those.
Fixed all the resulting failed tests.

Some are actual errors where part of the read model is ignored
don't compare parameters that are only of importance during training

This should probably fix issues #502 and #517

@tammosminia there's a few probabilistic models that also need a bit of fixing, similar to this https://github.com/combust/mleap/commit/59f0d44a547f7ca8f09c80acf04ca2a85f18bc55. The same changes like for DecisionTreeClassifier need doing for NaiveBayesClassifier, RandomForestClassifier and MultilayerPerceptronClassifier and GBTClassifier(for this transformer, only the GBTClassifierOp in spark are needed, the model already has the thresholds). If you set the thresholds in the parity specs, you'll see differences between mleap and spark and the serialization failures.
Thanks a lot again for your help on this!

@ancasarb Thanks for all the helpful comments.
I've gone through the first few.
Nice code in your branch. looks very similar :)
For now I'm off. Tomorrow I'll look into DecisionTreeClassifier , NaiveBayesClassifier, RandomForestClassifier and MultilayerPerceptronClassifier and GBTClassifier

I've added the thresholds to DecisionTreeClassifier , NaiveBayesClassifier, RandomForestClassifier and MultilayerPerceptronClassifier
GBTClassifier already had them

Hey @tammosminia, in order to fix issue #517, there's an additional change required, could you please look at my comment for issue #506 and include that change as well? Thanks a lot!

i see that mleap doesn't take into consideration the numFeatures attribute of featureHasher , it puts the default 2^18 number of feature .
this changes the score for the model .
hasher = FeatureHasher(inputCols=[column], outputCol=column+"_hashed", numFeatures=feature_cardinality[column])
expected SparseVector(2, {0: 1.0}))
got : SparseVector(262144, {241408: 1.0}))


Receiving this error when importing the Autotask Module. I am using an API User.

Get-AtwsData : Exception calling "query" with "1" argument(s): "Client found response content type of 'text/html; charset=utf-8', but
expected 'text/xml'.
The request failed with the error message:

Version 1.6 of the API is only accessible to API Only users.

Server Error in '/ATServices' Application.
 Version 1.6 of the API is only accessible to API Only users.

 Description: An unhandled exception occurred during the execution of the current web request. Please review the
stack trace for more information about the error and where it originated in the code.

 Exception Details: System.Web.Services.Protocols.SoapException: Version 1.6 of the API is only accessible to API
Only users.
Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of
the exception can be identified using the exception stack trace below.

Stack Trace:

[SoapException: Version 1.6 of the API is only accessible to API Only users.]
   autotask.web.services.Global.ProcessApplicationAuthenticateRequest(Boolean& bFailed, String& strDeniedReason) +1713
   AutotaskApiApplication.Global.Application_AuthenticateRequest(Object sender, EventArgs e) +42
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34280

--."
At C:\Program Files\WindowsPowerShell\Modules\Autotask\<IP_ADDRESS>\Private\Connect-AtwsWebServices.ps1:155 char:15
+ ...   $Result = Get-AtwsData -Entity Resource -Filter "username -eq $User ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-AtwsData], MethodInvocationException
    + FullyQualifiedErrorId : InvalidOperationException,Get-AtwsData
Import-Module : The module to process 'Autotask.psm1', listed in field 'ModuleToProcess/RootModule' of module manifest 'C:\Program
Files\WindowsPowerShell\Modules\Autotask\<IP_ADDRESS>\Autotask.psd1' was not processed because no valid module was found in any module
directory.
At line:28 char:5

Import-Module Autotask -ArgumentList $Credential, $ApiKey, '*'

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ResourceUnavailable: (Autotask:String) [Import-Module], PSInvalidOperationException
FullyQualifiedErrorId : Modules_ModuleFileNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

As per stated in the Autotask 1.6 documentation:
"Only resources with an API User (API-only) security level can access the API version 1.6
The API User (API-only) security level is now required to access API v1.6. It provides full system administrator access to Autotask PSA modules, features, and data via the Autotask Web Services API, with no access to the Autotask UI."
You should create an API user in Autotask Resource Admin:
https://kb.datto.com/hc/en-us/articles/360001225706-The-Created-Autotask-User-Cannot-Access-the-Webservices-API

I changed the start of my script to the code that @cody-chapman recommended in another ticket and it seems to be running much better.
If (Get-InstalledModule "Autotask" -ErrorAction SilentlyContinue) {
Remove-Module "Autotask" -Force -Confirm:$False -ErrorAction SilentlyContinue | Out-Null
Update-Module "Autotask" -Force -Confirm:$false
}
else {
Install-Module "Autotask" -Force -Confirm:$false
}
$password = "password" | ConvertTo-SecureString -asPlainText -Force
$username =<EMAIL_ADDRESS>$Credential = New-Object System.Management.Automation.PSCredential($username, $password)
$AutoTaskAPIToken = "APITOKEN" #enter your own api token key
Import-Module Autotask -ArgumentList $Credential, $AutoTaskAPIToken, '*'


Fixes for minikube usage instructions.

A baby step towards #5.

This change is

Coverage remained the same at 44.249% when pulling da9154310e7f5f26c200935fb34d8dd5bcc0b3d2 on porridge:minikube-fixes into a3c8f6c141e52877bc22542d7445292835300339 on kubernetes:master.

/lgtm


[Optimization] Use different threadpool for batching tasks per executor in cluster manager

Describe the bug
In TaskBatcher.java, for batching it maintains a ConcurrentHashMap to find duplicates using the batching key (which is based on task executor) and update the tasks for the given key. On task submission, it will require block on key of the map to perform the batching.
https://github.com/opensearch-project/OpenSearch/blame/8e0edee3d403e5f2339d176b800e9e5df1372692/server/src/main/java/org/opensearch/cluster/service/TaskBatcher.java#L98
This batching is performed on the transport threadpool itself. During storm of task of same type it can block the transport threads. This will impact the leader checks from the data nodes and can impact the overall cluster availability as well.
To Reproduce
Generate too many pending tasks of same type on cluster manager nodes. We can see transport threads getting blocked on task batching part.
Expected behavior
We should perform the batching in separate threadpool and free up the transport threads early.

@dhwanilpatel we should change the threadpool for enqueuing the cluster state changes in pending task queue in your experiments and ensure you are not seeing cluster manager threadpool blocked anymore as this poses cluster stability concerns and could cause follower/ leader checks to fail as well.
Once we change the threadpool, the problem will shift to different threadpool which will saturate after a while. we should re-visit this task deduplication which is being executing under lock.

@dhwanilpatel The below logic which runs in synchronization block is checking for duplicate reference for same batchingKey. But, the issue is when there are too many tasks for single batching key e.g. putMapping, it requires iterating over that big list(100s of thousands of entries) again and again with every submit call. This could be maintained in a separate map which has key as BatchingKey+IdentityReference for task. This map also gets updated within the same synchronized block when adding/removing items from the main map tasksPerBatchingKey . With this the lookup would be O(1) and wouldn't require maintaining separating threadpool as well at the extra cost of maintaining more map.
            tasksPerBatchingKey.merge(firstTask.batchingKey, newTasks, (existingTasks, updatedTasks) -> {
                for (BatchedTask existing : existingTasks) {
                    // check that there won't be two tasks with the same identity for the same batching key
                    BatchedTask duplicateTask = tasksIdentity.get(existing.getTask());
                    if (duplicateTask != null) {
                        throw new IllegalStateException(
                            "task ["
                                + duplicateTask.describeTasks(Collections.singletonList(existing))
                                + "] with source ["
                                + duplicateTask.source
                                + "] is already queued"
                        );

@shwetathareja , I agree we should improve the de-dup logic instead of moving it to different threadpool.
Thanks for suggestion, I have looked into it. With this complexity will not be O(1) but O(# of tasks in single task submission). We will need to iterate over all tasks which are getting submitted in one submit call for de dup. Still it is great improvement compare to existing logic, which is O(existing tasks in queue).
Instead of BatchingKey+identityReference as key, we can keep BatchingKey as key and list of IdentityReferance as value, similar to tasksPerBatchingKey map. This will help in easily removing those identity when tasks are executed in batches, we will just remove that entry from map.
I will make sample code change and raise PR for it to review the approach..

Instead of BatchingKey+identityReference as key, we can keep BatchingKey as key and list of IdentityReferance as value, similar to tasksPerBatchingKey map.

Thanks @dhwanilpatel for trying out. Actually i meant the same. with BatchingKey+identityReference essentially i meant identity reference for a unique task.

@shwetathareja  I am planning to use LinkedHashSet to store Identity references against Batching Key, so search operation will be O(1), we wont need to iterate over the list again.
Something like:
final Map<Object, LinkedHashSet<Object>> taskIdentityPerBatchingKey = new ConcurrentHashMap<>();
#7305


[KOGITO-3754] Changed Infiinispan channel to 2.0.x

https://issues.redhat.com/browse/KOGITO-3754
Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors' guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains a link to the JIRA issue
[x] Pull Request contains a description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[ ] Your feature/bug fix has a unit test that verifies it
[ ] You've tested the new feature/bug fix in an actual OpenShift cluster

/jenkins test

Another problem came up:
TLS handshake failed: io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record in Infinispan

Checking

https://issues.redhat.com/browse/ISPN-12365
solved in 11.0.5.Final but Operator is using 11.0.4 for now...

Incorporated in: #646
Closing.


Stops README from saying that the API unstable

Issue #, if available:
N/A
Description of changes:
Now that we have a stable release, we shouldn't say that the API is unstable.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #79 (12f46ed) into master (a2e06bb) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #79   +/-   ##
=========================================
  Coverage     88.54%   88.54%
  Complexity      452      452
=========================================
  Files            29       29
  Lines           812      812
  Branches         70       70
=========================================
  Hits            719      719
  Misses           62       62
  Partials         31       31

Help us with your feedback. Take ten seconds to tell us how you rate us.


Update concepts-run-command.md

Corrected VMware product names.

@rvandenbedem : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Add a Blur Feature

Do not merge this until export works!
This adds a blur feature to goat.

[x] Blurs
[x] Moves
[x] Resizes
[x] Exports
[x] Code cleanup

dope on a rope


[Bug] New dev script missed unzip

On Linux, the dev_setup scripts now downloads a zip package with binaries to ease out the protobuf installation, instead of apt-get install protobuf. Unfortunately, it needs "unzip" which is not installed. I would add sudo apt-get install unzip on line 123 in this new script version.
https://github.com/libra/libra/commit/653ebdfe8b75e0679d7667f981a075179d12dac9#diff-6a73bb21fe28ae8b5e645016a6a490f1R117

I created a pull request to fix that. The change is even more platforms wide compatible than previously stated, not only "apt-get" but others packages managers.
https://github.com/libra/libra/pull/130


Fix not applied code sections in source-ip.md

Some code section for commands, examples, outputs in
content/en/docs/tutorials/services/source-ip.md
are not correctly displayed.

This PR fixes the issue by adding new lines.

Preview: https://deploy-preview-28390--kubernetes-io-master-staging.netlify.app/docs/tutorials/services/source-ip/

Thanks for the PR.
I'm a little confused for what's the real change for this PR? I think the added newline will be ignored by markdown text, which means there's no difference from enduser perspective. And the preview link is invalid.
Could you please clarify? Thanks.

@chenxuc
Oh. I checked the problem and I found the problem was only from my local environment. (I though the code sections are not displayed)
I am going to close this PR.
Thank you for the comment !

/close


bug with assumed-size

sub.F90 :
SUBROUTINE TOTO(KPROMA, POUT1)

IMPLICIT NONE
INTEGER, INTENT (IN)::KPROMA
REAL, INTENT (OUT)::POUT1 (KPROMA,*)

END SUBROUTINE TOTO

test.py :
from loki import *
import sys

file_name = "sub.F90"
source=Sourcefile.from_file(file_name)
src_name = "TOTO"
routine=source[src_name]
print(fgen(routine))

test.py (fgen) returns wrong dimensions for POUT1:
REAL, INTENT(OUT) :: POUT1((KPROMA,):)
Thanks in advance for your help.

Thanks, we seem to indeed not have a representation of assumed size dimensions. Here's a pytest reproducing the issue and capturing all relevant cases that seem to be allowed in Fortran:

@pytest.mark.parametrize('frontend', available_frontends())
def test_array_assumed_size(frontend):
    fcode = """
SUBROUTINE TOTO(KPROMA, A, B, C, POUT1)
IMPLICIT NONE
INTEGER, INTENT (IN)    :: KPROMA
INTEGER, INTENT (INOUT) :: A(5, *), B(*), C(0:1, 2:*)
REAL   , INTENT (OUT)   :: POUT1 (KPROMA, *)
	SUBROUTINE PULLDOWN ( A, B, C )
END SUBROUTINE TOTO
    """.strip()
    routine = Subroutine.from_source(fcode, frontend=frontend)

The precise format of representing this needs to be discussed, though.


RELENG-5839 Intensive upload inside container job face ECONNRESET

Artifacts upload when a job is running inside a container face a lot of ECONNRESET issues. I suspect it is the big return of our famous connection reset issue inside K8s (as docker was the culprit at the end).
I'm able to reproduce the issue with some new testcase, tried to improve a little bit the debug experience by adding some logs along with modifying our retry mechanism ensuring we're only using AxiosRetry.
Was then able to solve the issue by limiting the number of socket used in the action

Hello tcarmet,
My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.
Status report is not available.

Waiting for approval
The following approvals are needed before I can proceed with the merge:

the author

one peer

/bypass_author_approval

In the queue
The changeset has received all authorizations and has been added to the
relevant queue(s). The queue(s) will be merged in the target development
branch(es) as soon as builds have passed.
The changeset will be merged in:

:heavy_check_mark: development/3.0

The following branches will NOT be impacted:

development/1.0
development/2.0

There is no action required on your side. You will be notified here once
the changeset has been merged. In the unlikely event that the changeset
fails permanently on the queue, a member of the admin team will
contact you to help resolve the matter.
IMPORTANT
Please do not attempt to modify this pull request.

Any commit you add on the source branch will trigger a new cycle after the
current queue is merged.
Any commit you add on one of the integration branches will be lost.

If you need this pull request to be removed from the queue, please contact a
member of the admin team now.
The following options are set: bypass_author_approval

I have successfully merged the changeset of this pull request
into targetted development branches:

:heavy_check_mark: development/3.0

The following branches have NOT changed:

development/1.0
development/2.0

Please check the status of the associated issue RELENG-5839.
Goodbye tcarmet.


show formatted json for machine readable output

What is the purpose of this change? What does it change?
Use formatted json output for Machine Readable Output, This aligns us with oc and kubectl and also makes it easy for developers to consume the output.
Used the same spacing and prefix used by oc
Was the change discussed in an issue?
fixes #https://github.com/openshift/odo/issues/2235

How to test changes?
odo list -o json
# or any other json output to confirm that the output is formatted

level=fatal msg="failed to fetch Cluster: failed to generate asset \"Cluster\": failed to create cluster: failed to apply using Terraform"
2019/10/10 15:10:57 Container setup in pod integration failed, exit code 1, reason Error

/test v4.1-integration

level=error msg="Error: Error creating VPC: VpcLimitExceeded: The maximum number of VPCs has been reached."

/test v4.2-benchmark

@girishramnani something wrong with the tests?

Summarizing 2 Failures:

[Fail] odo component command tests Creating component [It] should list out component in json format along with path flag
/go/src/github.com/openshift/odo/tests/integration/component.go:115

[Fail] odo component command tests Creating component [It] should list out pushed components of different projects in json format along with path flag
/go/src/github.com/openshift/odo/tests/integration/component.go:146

Seems like, I am trying to figure out what. I even flattened the json output

/hold cancel

/lgtm


Fixes ops-sop mount issue

Adds quoting around the ops-sop dir mount to prevent it from attempting to mount no directory.

solves my issue. thanks!


Python

import random
import time

anwser = 0
x = 0

while x < 10 :

    num = random.randint(1,9)
    print(num)
    anwser += num
    time.sleep(1)
    x += 1

print("")
print(anwser)

instead of printing line by line it waits for the whole program to execute then shows you everything. it should show you line by line

Atom does not execute Python files - it's probably one of your installed packages that is doing this.

@AHL96 Find whichever package you're using to run the Python script, and re-open the issue on that package's repository, please.


⚠ ClamAV has degraded performance

In 6631e3f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 54 ms

Resolved: ClamAV performance has improved in 212097f.


⚠ Processors has degraded performance

In a9053a7, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 61 ms

Resolved: Processors performance has improved in 79704f0.


2146 updated welcome page

Context
Skip over privacy notice whilst users cannot order
https://trello.com/c/dLLYzzB7
Changes proposed in this pull request
Guidance to review

 Display updated welcome page after order have closed


pvsystem clean up

The most important parts of this PR are

Changed some parameter names in pvsystem.sapm to follow the rules discussed in #37 and the wiki. Would be good for people to look at this and make sure that they're happy with how it looks in practice.
pvsystem.sapm documentation is more complete. Some module parameters were misnamed and we were missing some others.
The pvsystem tutorial goes from terrible to very bad, but might help with #30 and #15.

Less important changes:

I added the "effective irradiance" Ee to the pvsystem.sapm output DataFrame. Not sure if this name follows the rules or not. It's a parameter that's very specific to the Sandia model, so that makes me think that it's better to leave as Ee.
pvsystem.sapm can now take a dict for a module specification.
By line, the majority of this PR is PEP8 improvements (except the tutorial of course), especially focused on wrapping long lines. Many PEP8 issues still exist and are beyond the scope of this PR.
Added a note about a difference with the Matlab function. The difference has existed since the original python port.

I see one thing: According to the wiki systemdef should return surface_azimuth and surface_tilt instead of surfaz and surftilt.

Thanks. Fixed that and made some other minor changes too.

This looks good! Thanks for the cleanup


How to change layout of error pages with Zend View

Hi,
how can I change the layout of the Expressive error pages? For example 401 (Unauthorized), 404 (Not found), 405 (Method not allowed) etc. I am using Zend View.
Currently the error pages use the default layout, which is set in the templates configuration. But as I use the default layout on many other places too, I would like to set a different lightweight layout especially for the error pages without being forces to change the default layout and specifically set the layout everywhere else on rendering.

Hello @pdrosos ,
I apologize in advance for the long answer.
When you request an instance of TemplateRendererInterface the ZendViewRendererFactory is used. This factory return an instance of ZendViewRenderer. Unfortunately  ZendViewRenderer allow you to set the template only during the instantiation.
Expressive error pages are handled by  Zend\Expressive\FinalHandler. By default the FinalHandler resolve to TemplatedErrorHandlerFactory.
If you are using Whoops the FinalHandler resolve to WhoopsErrorHandlerFactory
These factories request an instance of  TemplateRendererInterface this is how expressive is able to use the layout when displaying error I guess.
To solve your issue I found 2 solutions
Using reflection :
Inside templates.global.php  under the map array i added the following
'layout/error'   => 'path/to/my/error/template',
Then I created my own TemplatedErrorHandlerFactory
namespace App\Factory;

use Interop\Container\ContainerInterface;
use Zend\Expressive\Template\TemplateRendererInterface;
use Zend\Expressive\TemplatedErrorHandler;
use Zend\ServiceManager\Factory\FactoryInterface;
use Zend\View\Resolver;
use Zend\View\Model\ViewModel;

class TemplatedErrorHandlerFactory implements FactoryInterface
{
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        $template = $container->has(TemplateRendererInterface::class)
            ? $container->get(TemplateRendererInterface::class)
            : null;

        $r = new \ReflectionClass($template);
        $view = new ViewModel();
        $view->setTemplate('layout/error');
        $prop = $r->getProperty('layout');
        $prop->setAccessible(true);
        $prop->setValue($template, $view);

        return new TemplatedErrorHandler($template);
    }
}

Don't forget to map the final handler to this factory Inside templates.global.php :
'factories' => [
   'Zend\Expressive\FinalHandler' => App\Factory\TemplatedErrorHandlerFactory::class
],

Without reflection :
Inside templates.global.php  I added a layout_error key under the templates array.
// ...
templates' => [
        'layout' => 'layout/default',
        'layout_error' => 'layout/error',
        'map' => [
          ...
            'layout/error'   => 'templates/layout/error.phtml',
            ...
        ],
// ...
]

I created my own ZendViewRendererFactory. Depending on the requested service name, the right layout is used. The code is almost identical as the original factory :
class ZendViewRendererFactory implements FactoryInterface
{
    const DEFAULT_TEMPLATE = TemplateRendererInterface::class;
    const ERROR_TEMPLATE   = 'ERROR_TEMPLATE_RENDERER';

    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        // ...
        $view = new ZendViewRenderer($renderer, $this->getLayout($requestedName, $config));
        // ...
    }

    private function getLayout($requestedName, $config)
    {
        switch($requestedName) {
            case self::DEFAULT_TEMPLATE:
            default:
                return isset($config['layout']) ? $config['layout'] : null;
            case self::ERROR_TEMPLATE:
                return isset($config['layout_error']) ? $config['layout_error'] : null;
        }
    }
}

Register my new factory as follow :
'factories' => [
    Zend\Expressive\Template\TemplateRendererInterface::class =>
App\Factory\ZendViewRendererFactory::class,
App\Factory\ZendViewRendererFactory::ERROR_TEMPLATE =>App\Factory\ZendViewRendererFactory::class,
...
],

Then my TemplatedErrorHandlerFactory  become :
class TemplatedErrorHandlerFactory implements FactoryInterface
{
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        $template = $container->has(ZendViewRendererFactory::ERROR_TEMPLATE)
            ? $container->get(ZendViewRendererFactory::ERROR_TEMPLATE)
            : null;

        return new TemplatedErrorHandler($template);
    }
}

For whoops is almost the same I can provide the snippet if you want. I hope this is clear enough, if not feel free to ask :grin:

@sniphpet thank you for your answer! I like the approach you suggest and would use it in the future.
For now I ended up defining own 404 and error handlers and I specify their layout on rendering.

Please see #314 as well, as it provides several succinct ways to accomplish this.

This  good workaround is not possible in expressive 2.x :-(
Are there new approaches?


Store jar files in GitHub repo

The jar file stored on GitHub has a different size than the one stored in the docker container

Fixed by #86


Timeline Layout bug

[x ] bug report
[ ] feature request
[ ] support request

Steps to reproduce the bug:
Removing or Reducing the content of the ion-card-content, makes whole layout buggy.
Screens taken from Chrome's iPad Pro, iPad and Nexus 6P are attached below.
Tested and confirmed to have same behavior on real devices as well (OnePlus One, Galaxy S7 Edge
and Moto G(1st gen))
Please help, thank you.
timelinebug ipad pro
timelinebug ipad
timelinebug nexus 6p

Facing the same issue as described


Fix TestCustomGateway integration tests on OCP

The test case was not configuring the platform details in the Helm values, because of which the test was failing. This PR fixes it.
Fixes: https://github.com/istio/istio/issues/52973

@sridhargaddam: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
e0c52dcdda8abbaeb67ceed5357ce232e719ab68
link
true
/test integ-basic-arm64

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

/test integ-basic-arm64

@sridhargaddam: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
e0c52dcdda8abbaeb67ceed5357ce232e719ab68
link
true
/test integ-basic-arm64

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

The arm test is flaky and the following issue is reported to track it - https://github.com/istio/istio/issues/52965

/test integ-basic-arm64

@sridhargaddam: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
e0c52dcdda8abbaeb67ceed5357ce232e719ab68
link
true
/test integ-basic-arm64

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

To resolve the issue, you need to ensure that your pod’s runAsUser value is within the acceptable ranges defined by the SCCs in your OpenShift cluster. This involves reviewing, creating, or modifying SCCs and ensuring they are correctly applied to the service account used by your Helm deployment.

/test integ-basic-arm64

does this test even make sense? manifests/charts/gateways/istio-ingress is not a supported chart to install with helm (manifests/charts/gateway is)

Thanks for reviewing @howardjohn. Updated the PR and removed the test case.

/test integ-basic-arm64

@sridhargaddam: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

integ-ipv6_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ipv6

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

integ-ipv6_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ipv6

integ-pilot-multicluster_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-multicluster

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

integ-ipv6_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ipv6

integ-pilot-multicluster_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-istiodremote-mc

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
4c49f50485798d4145fc9bf8ae48e80c9a28c49c
link
true
/test lint

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

integ-ipv6_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ipv6

integ-pilot-multicluster_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-istiodremote-mc

integ-pilot-istiodremote_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-istiodremote

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

@sridhargaddam: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-basic-arm64

integ-distroless_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-distroless

integ-pilot_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot

integ-ds_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ds

integ-cni_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-cni

integ-ipv6_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-ipv6

integ-pilot-multicluster_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-multicluster

integ-pilot-istiodremote-mc_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-istiodremote-mc

integ-pilot-istiodremote_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test integ-pilot-istiodremote

lint_istio
e5a06198290a288b48a008674273339ce828859c
link
true
/test lint

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

In response to a cherrypick label: #52974 failed to apply on top of branch "release-1.23":
Applying: Fix TestCustomGateway integration tests on OCP
Applying: Remove TestCustomGateway/helm as it uses unsupported chart
Using index info to reconstruct a base tree...
M	tests/integration/pilot/ingress_test.go
Falling back to patching base and 3-way merge...
Auto-merging tests/integration/pilot/ingress_test.go
CONFLICT (content): Merge conflict in tests/integration/pilot/ingress_test.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0002 Remove TestCustomGateway/helm as it uses unsupported chart
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #53088


#19: Added the kiwi_generator support for scopes

#19 implementin the kiwi_generator support for scopes

@deep-stl, @1ka, @SoftWyer. This pr includes the changes for the kiwi_generator. If you want to take a look.