Error during iOS XCode compile error:

I've have been getting the following error for a few weeks now and have been unable to solve it. I have tried a lot of different things and haven't had much luck. I tried raising this with the flutter team: https://github.com/flutter/flutter/issues/103254 but I think perhaps this might be more closely related to Fastlane. I'm doing a distribution release to test flight.
I'm currently using

AppVeyor
macOS 10.15.7 Catalina
XCode 12.3
Flutter 2.6.0-5.2.pre beta channel.
Ruby 2.6.5

Annoyingly there is a real lack of information being provided by XCode, failing with the simple message: "Exit status: 65."
Certificates:
Certificate Type
Distribution
Expiration Date
2023/05/12
Provisioning profile:
Status
Active
Platform
iOS
Expires
2023/05/12
Type
App Store
New Issue Checklist

[X] Using Version 2.205.2
[X] I read the Contribution Guidelines
[X] I read docs.fastlane.tools
[X] I searched for existing GitHub issues

Issue Description
During XCode build I'm getting the following error:
INFO [2022-05-14 09:21:54.86]: $ set -o pipefail && xcodebuild -workspace Runner.xcworkspace -scheme Runner -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/appveyor/Library/Developer/Xcode/Archives/2022-05-14/Runner\ 2022-05-14\ 09.21.54.xcarchive archive | tee /Users/appveyor/Library/Logs/gym/Runner-Runner.log | xcpretty
INFO [2022-05-14 09:21:57.91]: ▸ Running script 'Run Script'
INFO [2022-05-14 09:22:26.16]: ▸ ** ARCHIVE FAILED **
INFO [2022-05-14 09:22:26.16]: ▸ The following build commands failed:
INFO [2022-05-14 09:22:26.16]: ▸ 	PhaseScriptExecution Run\ Script /Users/appveyor/Library/Developer/Xcode/DerivedData/Runner-hjdtgitipgxpcigyzqszwlwtdqow/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-9740EEB61CF901F6004384FC.sh
INFO [2022-05-14 09:22:26.16]: ▸ (1 failure)
▸ Running script 'Run Script'
** ARCHIVE FAILED **
The following build commands failed:
PhaseScriptExecution Run\ Script /Users/appveyor/Library/Developer/Xcode/DerivedData/Runner-hjdtgitipgxpcigyzqszwlwtdqow/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-9740EEB61CF901F6004384FC.sh
(1 failure)
ERROR [2022-05-14 09:22:26.17]: Exit status: 65
INFO [2022-05-14 09:22:26.18]:
Contents of 9740EEB61CF901F6004384FC:
#!/bin/sh
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

Similar Discussions / Issues I've reviewed:

https://github.com/fastlane/fastlane/discussions/19966 - Not related.
https://github.com/fastlane/fastlane/discussions/18440 - Tried suggestions in this one, no luck.
https://github.com/fastlane/fastlane/discussions/19538 - Tried calling cocapods, didn't help.
https://github.com/fastlane/fastlane/discussions/19358 - No answers.
https://github.com/fastlane/fastlane/issues/4197 - Tried a lot of things out of this, no luck.

Command executed
bundle install --quiet
bundle exec pod install
bundle exec fastlane build --verbose

Complete output when running fastlane, including the stack trace and command used

[00:09:02] [22:12:00]: Generating fastlane environment output, this might take a few seconds...
[00:09:05] ✅ fastlane environment ✅
[00:09:05]
[00:09:05] ### Stack
[00:09:05]
[00:09:05] | Key                         | Value                                            |
[00:09:05] | --------------------------- | ------------------------------------------------ |
[00:09:05] | OS                          | 10.15.7                                          |
[00:09:05] | Ruby                        | 2.6.5                                            |
[00:09:05] | Bundler?                    | true                                             |
[00:09:05] | Git                         | git version 2.35.1                               |
[00:09:05] | Installation Source         | ~/.rvm/gems/ruby-2.6.5/bin/fastlane              |
[00:09:05] | Host                        | Mac OS X 10.15.7 (19H1715)                       |
[00:09:05] | Ruby Lib Dir                | ~/.rvm/rubies/ruby-2.6.5/lib                     |
[00:09:05] | OpenSSL Version             | OpenSSL 1.1.1m  14 Dec 2021                      |
[00:09:05] | Is contained                | false                                            |
[00:09:05] | Is homebrew                 | false                                            |
[00:09:05] | Is installed via Fabric.app | false                                            |
[00:09:05] | Xcode Path                  | /Applications/Xcode-12.3.app/Contents/Developer/ |
[00:09:05] | Xcode Version               | 12.3                                             |
[00:09:05] | Swift Version               | 5.3.2                                            |
[00:09:05]
[00:09:05]
[00:09:05] ### System Locale
[00:09:05]
[00:09:05] | Variable | Value       |   |
[00:09:05] | -------- | ----------- | - |
[00:09:05] | LANG     | en_US.UTF-8 | ✅ |
[00:09:05] | LC_ALL   | en_US.UTF-8 | ✅ |
[00:09:05] | LANGUAGE |             |   |
[00:09:05]
[00:09:05]
[00:09:05] ### fastlane files:
[00:09:05]
[00:09:05] `./fastlane/Fastfile`
[00:09:05]
[00:09:05] ```ruby
[00:09:05] # This file contains the fastlane.tools configuration
[00:09:05] # You can find the documentation at https://docs.fastlane.tools
[00:09:05] #
[00:09:05] # For a list of all available actions, check out
[00:09:05] #
[00:09:05] #     https://docs.fastlane.tools/actions
[00:09:05] #
[00:09:05] # For a list of all available plugins, check out
[00:09:05] #
[00:09:05] #     https://docs.fastlane.tools/plugins/available-plugins
[00:09:05] #
[00:09:05]
[00:09:05] # Uncomment the line if you want fastlane to automatically update itself
[00:09:05] # update_fastlane
[00:09:05]
[00:09:05] opt_out_usage
[00:09:05]
[00:09:05] default_platform(:ios)
[00:09:05]
[00:09:05] platform :ios do
[00:09:05]
[00:09:05]   desc "Push a new build to AppStore"
[00:09:05]   lane :build do
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 1 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     # Set Xcode version.
[00:09:05]     xcversion(version: "12.3")
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 2 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     # Overwrite signing so devs can use auto.
[00:09:05]     update_code_signing_settings(
[00:09:05]       path: "Runner.xcodeproj",
[00:09:05]       use_automatic_signing: false,
[00:09:05]       team_id: "9K93SRLBYC",                      # Should match team number in apple dev website.
[00:09:05]       code_sign_identity: "iPhone Distribution",  # This should always be "iPhone Distribution" as per instructions here: https://docs.fastlane.tools/actions/update_code_signing_settings/
[00:09:05]       profile_name: "LVProvision"                # This should match the name of the provisioning profile in apple dev website.
[00:09:05]     )
[00:09:05]
[00:09:05]
[00:09:05]     # iOS Distribution
[00:09:05]
[00:09:05]     # # Increment version.
[00:09:05]     # increment_version_number(
[00:09:05]     #   xcodeproj: "Runner.xcodeproj",
[00:09:05]     #   version_number: flutter_version()["version_name"]
[00:09:05]     # )
[00:09:05]
[00:09:05]     # # Increment build number.
[00:09:05]     # increment_build_number(
[00:09:05]     #   xcodeproj: "Runner.xcodeproj",
[00:09:05]     #   build_number: flutter_version()["version_code"]
[00:09:05]     # )
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 3 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     setupCodeSigning(
[00:09:05]       "test",
[00:09:05]       ENV["IOS_SIGNING_CERT_PASSWORD"],
[00:09:05]       ENV["IOS_PROVISIONING_FILE_PATH"],
[00:09:05]       ENV["IOS_SIGNING_CERT_PATH"]
[00:09:05]     )
[00:09:05]
[00:09:05]     #sigh(force: true)
[00:09:05]
[00:09:05]     #get_certificates           # invokes cert
[00:09:05]     #get_provisioning_profile   # invokes sigh
[00:09:05]
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 4 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     Dir.chdir "../.." do
[00:09:05]       sh("flutter", "build", "ios", "--release", "--no-codesign")
[00:09:05]     end
[00:09:05]
[00:09:05]     # unlock_keychain(
[00:09:05]     #   path: "CI",
[00:09:05]     #   password: keychainpass
[00:09:05]     # )
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 6 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     # xcodebuild(
[00:09:05]     #   archive: true,
[00:09:05]     #   archive_path: "./Runner.xcarchive",
[00:09:05]     #   scheme: "Runner",
[00:09:05]     #   workspace: "Runner.xcworkspace"
[00:09:05]     # )
[00:09:05]
[00:09:05]
[00:09:05]     puts 'XXXXXXXXXXXXXXXXXXXXXXX 7 XXXXXXXXXXXXXXXXXXXXXXX'
[00:09:05]
[00:09:05]     # build_ios_app(workspace: "Runner.xcworkspace", export_method: "app-store", configuration: "Release")
[00:09:05]
[00:09:05]     gym(workspace: "Runner.xcworkspace", export_method: "app-store", configuration: "Release", verbose: true,
[00:09:05]       export_options: {
[00:09:05]         provisioningProfiles: {
[00:09:05]           "io.livevenue" => "LVProvision"
[00:09:05]         }
[00:09:05]       }
[00:09:05]     )
[00:09:05]
[00:09:05]
[00:09:05]     # app_store_connect_api_key(
[00:09:05]     #   key_id: ENV["IOS_API_KEY_ID"],
[00:09:05]     #   issuer_id: ENV["IOS_ISSUER_ID"],
[00:09:05]     #   is_key_content_base64: true,
[00:09:05]     #   key_content: ENV["IOS_API_KEY_FILE"]
[00:09:05]     # )
[00:09:05]
[00:09:05]     # upload_to_testflight(skip_waiting_for_build_processing: true, skip_submission: true)
[00:09:05]
[00:09:05]   end
[00:09:05]
[00:09:05]   # This was taken from this site:
[00:09:05]   # https://dev.to/matt_catalfamo/how-to-build-and-manually-sign-an-ios-app-with-fastlane-2256
[00:09:05]   # this allows manual signing and uploading.
[00:09:05]   def setupCodeSigning(keychainPassword, certificatePassword, profilePath, certificatePath)
[00:09:05]
[00:09:05]     create_keychain(
[00:09:05]       name: "CI",
[00:09:05]       password: keychainPassword,
[00:09:05]       default_keychain: true,
[00:09:05]       unlock: true,
[00:09:05]       timeout: 3600,
[00:09:05]       lock_when_sleeps: false
[00:09:05]     )
[00:09:05]
[00:09:05]     install_provisioning_profile(path: profilePath)
[00:09:05]
[00:09:05]     import_certificate(
[00:09:05]       certificate_path: certificatePath,
[00:09:05]       certificate_password: certificatePassword,
[00:09:05]       keychain_name: "CI",
[00:09:05]       keychain_password: keychainPassword
[00:09:05]     )
[00:09:05]
[00:09:05]   end
[00:09:05] end
[00:09:05]
[00:09:05] ```
[00:09:05]
[00:09:05]
[00:09:05] `./fastlane/Appfile`
[00:09:05]
[00:09:05] ```ruby
[00:09:05] app_identifier("") # The bundle identifier of your app
[00:09:05] apple_id("") # Your Apple email address
[00:09:05]
[00:09:05] itc_team_id("") # App Store Connect Team ID
[00:09:05] team_id("") # Developer Portal Team ID
[00:09:05]
[00:09:05] # For more information about the Appfile, see:
[00:09:05] #     https://docs.fastlane.tools/advanced/#appfile
[00:09:05]
[00:09:05] ```
[00:09:05]
[00:09:05]
[00:09:05] ### fastlane gems
[00:09:05]
[00:09:05] | Gem      | Version | Update-Status |
[00:09:05] | -------- | ------- | ------------- |
[00:09:05] | fastlane | 2.205.2 | ✅ Up-To-Date  |
[00:09:05]
[00:09:05]
[00:09:05] ### Loaded fastlane plugins:
[00:09:05]
[00:09:05] | Plugin                          | Version | Update-Status |
[00:09:05] | ------------------------------- | ------- | ------------- |
[00:09:05] | fastlane-plugin-flutter_version | 1.1.15  | ✅ Up-To-Date  |
[00:09:05]
[00:09:05]
[00:09:05] Loaded gems
[00:09:05]
[00:09:05] | Gem                             | Version      |
[00:09:05] | ------------------------------- | ------------ |
[00:09:05] | did_you_mean                    | 1.3.0        |
[00:09:05] | rake                            | 13.0.6       |
[00:09:05] | rexml                           | 3.2.5        |
[00:09:05] | CFPropertyList                  | 3.0.5        |
[00:09:05] | concurrent-ruby                 | 1.1.10       |
[00:09:05] | i18n                            | 1.10.0       |
[00:09:05] | minitest                        | 5.15.0       |
[00:09:05] | tzinfo                          | 2.0.4        |
[00:09:05] | zeitwerk                        | 2.5.4        |
[00:09:05] | activesupport                   | 6.1.6        |
[00:09:05] | public_suffix                   | 4.0.7        |
[00:09:05] | addressable                     | 2.8.0        |
[00:09:05] | httpclient                      | 2.8.3        |
[00:09:05] | json                            | 2.6.1        |
[00:09:05] | algoliasearch                   | 1.27.5       |
[00:09:05] | artifactory                     | 3.0.15       |
[00:09:05] | atomos                          | 0.1.3        |
[00:09:05] | aws-eventstream                 | 1.2.0        |
[00:09:05] | aws-partitions                  | 1.587.0      |
[00:09:05] | aws-sigv4                       | 1.5.0        |
[00:09:05] | jmespath                        | 1.6.1        |
[00:09:05] | aws-sdk-core                    | 3.130.2      |
[00:09:05] | aws-sdk-kms                     | 1.56.0       |
[00:09:05] | aws-sdk-s3                      | 1.114.0      |
[00:09:05] | babosa                          | 1.0.4        |
[00:09:05] | bundler                         | 2.2.3        |
[00:09:05] | claide                          | 1.0.3        |
[00:09:05] | fuzzy_match                     | 2.0.4        |
[00:09:05] | nap                             | 1.1.0        |
[00:09:05] | netrc                           | 0.11.0       |
[00:09:05] | ffi                             | 1.15.5       |
[00:09:05] | ethon                           | 0.15.0       |
[00:09:05] | typhoeus                        | 1.4.0        |
[00:09:05] | cocoapods-core                  | 1.11.3       |
[00:09:05] | cocoapods-deintegrate           | 1.0.5        |
[00:09:05] | cocoapods-downloader            | 1.6.3        |
[00:09:05] | cocoapods-plugins               | 1.0.0        |
[00:09:05] | cocoapods-search                | 1.0.1        |
[00:09:05] | cocoapods-trunk                 | 1.6.0        |
[00:09:05] | cocoapods-try                   | 1.2.0        |
[00:09:05] | colored2                        | 3.1.2        |
[00:09:05] | escape                          | 0.0.4        |
[00:09:05] | fourflusher                     | 2.3.1        |
[00:09:05] | gh_inspector                    | 1.1.3        |
[00:09:05] | molinillo                       | 0.8.0        |
[00:09:05] | ruby-macho                      | 2.5.1        |
[00:09:05] | nanaimo                         | 0.3.0        |
[00:09:05] | xcodeproj                       | 1.21.0       |
[00:09:05] | cocoapods                       | 1.11.3       |
[00:09:05] | colored                         | 1.2          |
[00:09:05] | highline                        | 2.0.3        |
[00:09:05] | commander                       | 4.6.0        |
[00:09:05] | declarative                     | 0.0.20       |
[00:09:05] | digest-crc                      | 0.6.4        |
[00:09:05] | unf_ext                         | <IP_ADDRESS>      |
[00:09:05] | unf                             | 0.1.4        |
[00:09:05] | domain_name                     | 0.5.20190701 |
[00:09:05] | dotenv                          | 2.7.6        |
[00:09:05] | emoji_regex                     | 3.2.3        |
[00:09:05] | excon                           | 0.92.3       |
[00:09:05] | faraday-em_http                 | 1.0.0        |
[00:09:05] | faraday-em_synchrony            | 1.0.0        |
[00:09:05] | faraday-excon                   | 1.1.0        |
[00:09:05] | faraday-httpclient              | 1.0.1        |
[00:09:05] | multipart-post                  | 2.0.0        |
[00:09:05] | faraday-multipart               | 1.0.3        |
[00:09:05] | faraday-net_http                | 1.0.1        |
[00:09:05] | faraday-net_http_persistent     | 1.2.0        |
[00:09:05] | faraday-patron                  | 1.0.0        |
[00:09:05] | faraday-rack                    | 1.0.0        |
[00:09:05] | faraday-retry                   | 1.0.3        |
[00:09:05] | ruby2_keywords                  | 0.0.5        |
[00:09:05] | faraday                         | 1.10.0       |
[00:09:05] | http-cookie                     | 1.0.4        |
[00:09:05] | faraday-cookie_jar              | 0.0.7        |
[00:09:05] | faraday_middleware              | 1.2.0        |
[00:09:05] | fastimage                       | 2.2.6        |
[00:09:05] | jwt                             | 2.3.0        |
[00:09:05] | memoist                         | 0.16.2       |
[00:09:05] | multi_json                      | 1.15.0       |
[00:09:05] | os                              | 1.1.4        |
[00:09:05] | signet                          | 0.16.1       |
[00:09:05] | googleauth                      | 1.1.3        |
[00:09:05] | mini_mime                       | 1.1.2        |
[00:09:05] | trailblazer-option              | 0.1.2        |
[00:09:05] | uber                            | 0.1.0        |
[00:09:05] | representable                   | 3.1.1        |
[00:09:05] | retriable                       | 3.1.2        |
[00:09:05] | webrick                         | 1.7.0        |
[00:09:05] | google-apis-core                | 0.4.2        |
[00:09:05] | google-apis-androidpublisher_v3 | 0.20.0       |
[00:09:05] | google-apis-playcustomapp_v1    | 0.7.0        |
[00:09:05] | google-apis-iamcredentials_v1   | 0.10.0       |
[00:09:05] | google-apis-storage_v1          | 0.13.0       |
[00:09:05] | google-cloud-env                | 1.6.0        |
[00:09:05] | google-cloud-errors             | 1.2.0        |
[00:09:05] | google-cloud-core               | 1.6.0        |
[00:09:05] | google-cloud-storage            | 1.36.2       |
[00:09:05] | mini_magick                     | 4.11.0       |
[00:09:05] | naturally                       | 2.2.1        |
[00:09:05] | optparse                        | 0.1.1        |
[00:09:05] | plist                           | 3.6.0        |
[00:09:05] | rubyzip                         | 2.3.2        |
[00:09:05] | security                        | 0.1.3        |
[00:09:05] | simctl                          | 1.6.8        |
[00:09:05] | terminal-notifier               | 2.0.0        |
[00:09:05] | unicode-display_width           | 1.8.0        |
[00:09:05] | terminal-table                  | 1.8.0        |
[00:09:05] | tty-screen                      | 0.8.1        |
[00:09:05] | tty-cursor                      | 0.7.1        |
[00:09:05] | tty-spinner                     | 0.9.3        |
[00:09:05] | word_wrap                       | 1.0.0        |
[00:09:05] | rouge                           | 2.0.7        |
[00:09:05] | xcpretty                        | 0.3.0        |
[00:09:05] | xcpretty-travis-formatter       | 1.0.1        |
[00:09:05] | fastlane-plugin-flutter_version | 1.1.15       |
[00:09:05] | xcode-install                   | 2.8.0        |
[00:09:05]
[00:09:05]
[00:09:05]
[00:09:05] *generated on:* **2022-05-14**
[00:09:05]

Log:
Runner-Runner.log

I don't know what flutter_tools/bin/xcode_backend.sh script that fails does, but the main issue may be related to the version of Xcode that you use. Try using the newest Xcode version, but remember that it contains newer SDK and building app with it may cause UI issues in your app that can require fixes.
https://developer.apple.com/news/?id=2t1chhp3&1647378082

Starting April 25, 2022, iOS, iPadOS, and watchOS apps submitted to the App Store must be built with Xcode 13, which includes the SDKs for iOS 15, iPadOS 15, and watchOS 8.

Thanks @lucgrabowski
I updated to 13.2.1 as per your suggestion:
+---------------+--------------------------------+
|               Build environment                |
+---------------+--------------------------------+
| xcode_path    | /Applications/Xcode-13.2.1.app |
| gym_version   | 2.205.2                        |
| export_method | app-store                      |
| sdk           | iPhoneOS15.2.sdk               |
+---------------+--------------------------------+

Same Error:
INFO [2022-05-15 06:54:08.56]: $ set -o pipefail && xcodebuild -workspace Runner.xcworkspace -scheme Runner -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/appveyor/Library/Developer/Xcode/Archives/2022-05-15/Runner\ 2022-05-15\ 06.54.08.xcarchive archive | tee /Users/appveyor/Library/Logs/gym/Runner-Runner.log | xcpretty
INFO [2022-05-15 06:54:10.76]: ▸ Running script 'Run Script'
INFO [2022-05-15 06:54:36.53]: ▸ ** ARCHIVE FAILED **
INFO [2022-05-15 06:54:36.53]: ▸ The following build commands failed:
INFO [2022-05-15 06:54:36.53]: ▸ 	PhaseScriptExecution Run\ Script /Users/appveyor/Library/Developer/Xcode/DerivedData/Runner-hjdtgitipgxpcigyzqszwlwtdqow/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-9740EEB61CF901F6004384FC.sh (in target 'Runner' from project 'Runner')
INFO [2022-05-15 06:54:36.53]: ▸ (1 failure)
▸ Running script 'Run Script'
** ARCHIVE FAILED **

What is interesting is this is the default flutter project created using "flutter create" nothing special going on.

Is it building on your computer? Are you able to compile your app and export to archive without issues locally?

I dont have a mac. So I cant say, but I have previously had projects working using the structure.

Okay, I have got access to a Mac and the build works without issue. Only catch is the machine is Catalina so I had to use xCode 12.3
So the code works fine on the Mac but doesn't on build server. Any thoughts why?

Only catch is the machine is Catalina so I had to use xCode 12.3.

Sorry, not sure I understand what you are trying to say. Are you saying the issue is because of Catalina 12.3?

having the same error here

▸ Touching ImageNotification.appex (in target 'ImageNotification' from project 'Runner')
[3922](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3923)
▸ Running script '[CP] Check Pods Manifest.lock'
[3923](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3924)
▸ Running script 'Run Script'
[3924](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3925)
** ARCHIVE FAILED **
[3925](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3926)

[3926](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3927)

[3927](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3928)
The following build commands failed:
[3928](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3929)
	PhaseScriptExecution Run\ Script /Users/runner/Library/Developer/Xcode/DerivedData/Runner-cefrqkwyndtrflaumggouqzhxqgc/Build/Intermediates.noindex/ArchiveIntermediates/stage/IntermediateBuildFilesPath/Runner.build/Release-stage-iphoneos/Runner.build/Script-9740EEB61CF901F6004384FC.sh (in target 'Runner' from project 'Runner')
[3929](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3930)
(1 failure)
[3930](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3931)
[14:29:51]: Exit status: 65
[3931](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3932)
[14:29:51]:
[3932](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3933)
[14:29:51]: Maybe the error shown is caused by using the wrong version of Xcode
[3933](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3934)
[14:29:51]: Found multiple versions of Xcode in '/Applications/'
[3934](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3935)
[14:29:51]: Make sure you selected the right version for your project
[3935](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3936)
[14:29:51]: This build process was executed using '/Applications/Xcode_13.2.1.app'
[3936](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3937)
[14:29:51]: If you want to update your Xcode path, either
[3937](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3938)
[14:29:51]:
[3938](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3939)
[14:29:51]: - Specify the Xcode version in your Fastfile
[3939](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3940)
[14:29:51]: ▸ xcversion(version: "8.1") # Selects Xcode 8.1.0
[3940](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3941)
[14:29:51]:
[3941](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3942)
[14:29:51]: - Specify an absolute path to your Xcode installation in your Fastfile
[3942](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3943)
[14:29:51]: ▸ xcode_select "/Applications/Xcode8.app"
[3943](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3944)
[14:29:51]:
[3944](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3945)
[14:29:51]: - Manually update the path using
[3945](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3946)
[14:29:51]: ▸ sudo xcode-select -s /Applications/Xcode.app
[3946](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3947)
[14:29:51]:
[3947](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3948)

[3948](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3949)
+---------------+--------------------------------+
[3949](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3950)
|               Build environment                |
[3950](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3951)
+---------------+--------------------------------+
[3951](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3952)
| xcode_path    | /Applications/Xcode_13.2.1.app |
[3952](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3953)
| gym_version   | 2.199.0                        |
[3953](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3954)
| export_method | app-store                      |
[3954](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3955)
| sdk           | iPhoneOS15.2.sdk               |
[3955](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3956)
+---------------+--------------------------------+
[3956](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3957)

[3957](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3958)
[14:29:51]: ▸                        ^
[3958](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3959)
[14:29:51]: ▸ Expected Flutter ab46186b246f5a36bd1f3f295d14a43abb1e2f38, but found d1b9a6938ad77326ac3a94d92bbc77933ed829ed
[3959](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3960)
[14:29:51]: ▸ The SkSL bundle was produced with a different engine version. It must be recreated for the current Flutter version.
[3960](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3961)
[14:29:51]: ▸ Failed to package /Users/runner/work/nanna/nanna.
[3961](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3962)
[14:29:51]: ▸ Command PhaseScriptExecution failed with a nonzero exit code
[3962](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3963)
[14:29:51]:
[3963](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3964)
[14:29:51]: ⬆  Check out the few lines of raw `xcodebuild` output above for potential hints on how to solve this error
[3964](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3965)
[14:29:51]: 📋  For the complete and more detailed error log, check the full log at:
[3965](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3966)
[14:29:51]: 📋  /Users/runner/Library/Logs/gym/Runner-stage.log
[3966](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3967)
[14:29:51]:
[3967](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3968)
[14:29:51]: Looks like fastlane ran into a build/archive error with your project
[3968](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3969)
[14:29:51]: It's hard to tell what's causing the error, so we wrote some guides on how
[3969](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3970)
[14:29:51]: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
[3970](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3971)
[14:29:51]: Before submitting an issue on GitHub, please follow the guide above and make
[3971](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3972)
[14:29:51]: sure your project is set up correctly.
[3972](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3973)
[14:29:51]: fastlane uses `xcodebuild` commands to generate your binary, you can see the
[3973](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3974)
[14:29:51]: the full commands printed out in yellow in the above log.
[3974](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3975)
[14:29:51]: Make sure to inspect the output above, as usually you'll find more error information there
[3975](https://github.com/informedtechnologies/nanna/runs/6508916600?check_suite_focus=true#step:13:3976)
[14:29:51]:

having same error here
`▸ Running script '[CP] Check Pods Manifest.lock'
▸ Running script 'Run Script'
** ARCHIVE FAILED **
The following build commands failed:
PhaseScriptExecution Run\ Script /Users/runner/Library/Developer/Xcode/DerivedData/Runner-cefrqkwyndtrflaumggouqzhxqgc/Build/Intermediates.noindex/ArchiveIntermediates/stage/IntermediateBuildFilesPath/Runner.build/Release-stage-iphoneos/Runner.build/Script-9740EEB61CF901F6004384FC.sh (in target 'Runner' from project 'Runner')
(1 failure)
[14:29:51]: Exit status: 65
[14:29:51]:
[14:29:51]: Maybe the error shown is caused by using the wrong version of Xcode
[14:29:51]: Found multiple versions of Xcode in '/Applications/'
[14:29:51]: Make sure you selected the right version for your project
[14:29:51]: This build process was executed using '/Applications/Xcode_13.2.1.app'
[14:29:51]: If you want to update your Xcode path, either
[14:29:51]:
[14:29:51]: - Specify the Xcode version in your Fastfile
[14:29:51]: ▸ xcversion(version: "8.1") # Selects Xcode 8.1.0
[14:29:51]:
[14:29:51]: - Specify an absolute path to your Xcode installation in your Fastfile
[14:29:51]: ▸ xcode_select "/Applications/Xcode8.app"
[14:29:51]:
[14:29:51]: - Manually update the path using
[14:29:51]: ▸ sudo xcode-select -s /Applications/Xcode.app
[14:29:51]:
+---------------+--------------------------------+
| Build environment |
+---------------+--------------------------------+
| xcode_path | /Applications/Xcode_13.2.1.app |
| gym_version | 2.199.0 |
| export_method | app-store |
| sdk | iPhoneOS15.2.sdk |
+---------------+--------------------------------+
[14:29:51]: ▸ ^
[14:29:51]: ▸ Expected Flutter ab46186b246f5a36bd1f3f295d14a43abb1e2f38, but found d1b9a6938ad77326ac3a94d92bbc77933ed829ed
[14:29:51]: ▸ The SkSL bundle was produced with a different engine version. It must be recreated for the current Flutter version.
[14:29:51]: ▸ Failed to package /Users/runner/work/nanna/nanna.
[14:29:51]: ▸ Command PhaseScriptExecution failed with a nonzero exit code
[14:29:51]:
[14:29:51]: ⬆ Check out the few lines of raw xcodebuild output above for potential hints on how to solve this error
[14:29:51]: 📋 For the complete and more detailed error log, check the full log at:
[14:29:51]: 📋 /Users/runner/Library/Logs/gym/Runner-stage.log
[14:29:51]:
[14:29:51]: Looks like fastlane ran into a build/archive error with your project
[14:29:51]: It's hard to tell what's causing the error, so we wrote some guides on how
[14:29:51]: to troubleshoot build and signing issues: https://docs.fastlane.tools/codesigning/getting-started/
[14:29:51]: Before submitting an issue on GitHub, please follow the guide above and make
[14:29:51]: sure your project is set up correctly.
[14:29:51]: fastlane uses xcodebuild commands to generate your binary, you can see the
[14:29:51]: the full commands printed out in yellow in the above log.
[14:29:51]: Make sure to inspect the output above, as usually you'll find more error information there
[14:29:51]:
`

@minoesteban Are you using Appveyor too?

@RtypeStudios no, my bad, actually my error was that the SkSL json file get invalidated if the flutter version changes (learned that the hard way). So I had to update it and it worked. I should remove the message to avoid confusion

I seem to have go this working, I'm honestly not 100% sure what did it.
But I think part of it was disabling XCode auto signing:
disable_automatic_code_signing(
  team_id: "",
  profile_name: "",
  code_sign_identity: ''
)

Thanks for the help and sorry I cant give people a more concreate answer.

I'm having the exactly same issue building with Github Actions. I'm able to build with my Mac (M1) just fine.
Using disable_automatic_code_signing doesn't solve it for me.
My fastfile:
update_fastlane

default_platform(:ios)

platform :ios do
  desc "Build UAT for iOS"
  lane :uat do
    disable_automatic_code_signing(
      team_id: "",
      profile_name: "",
      code_sign_identity: "",
    )
    setup_ci if ENV['CI']
    match(type: "adhoc", app_identifier: "asia.papaya.health.care.uat", api_key_path: "app-store-credentials.json")
    gym(scheme: "uat", export_method: "ad-hoc", output_name: "Care.ipa")
    appcenter_upload(
      owner_name: "Papaya-Insurtech",
      owner_type: "organization",
      app_name: "Papaya-Care-iOS-UAT",
      file: "./build/Care.ipa",
      dsym: "./build/Care.app.dSYM.zip",
      notify_testers: true,
      release_notes: "Build automatically generated by fastlane",
      destinations: "*"
    )
  end
end

You will need to set those values to the values correctly for your application. Have you put values in for the below or any you leaving it blank as not to post the details on the internet?
disable_automatic_code_signing(
  team_id: "",
  profile_name: "",
  code_sign_identity: "",
)

If someone stumbles upon this issue and still can't solve it, this might help. We use M1 Mac Mini as our build machine with Jenkins agent running on it with Zulu Java. Jenkins process was being automatically started using launchctl and plist to execute Jenkins node .jar file with specific arguments under user jenkins. However, after many hours of unsuccessfully debugging and trying to fix it, one of my colleagues suggested running it manually instead of using launchctl. That finally worked and we can properly do App Store releases now. We now use following command to start Jenkins node manually (you have to replace arguments with your paths and secrets):
su - jenkins
nohup /usr/bin/java -Xmx1024m -Djava.awt.headless=true -jar /REPLACE_PATH_TO_AGENT/agent.jar -jnlpUrl https://REPLACE_URL/computer/REPLACE_NODE_NAME/jenkins-agent.jnlp -secret REPLACE_SECRET -workDir /REPLACE_WORKDIR/agent &
Hope this helps someone and saves them time.


Restructure project to be installable as a python module

Hi,
I've created a pull request that restructures the project to be installable as a python module using setuptools. This allows pyall to be installed using "python setup.py install" and be importable from any project (use develop instead of install for development). You can also use setuptools to upload it to pypi if you want.
Feel free to reject it if it does not fit your workflow
Regards,
oysstu

This looks like a useful way forward, are the owners open for this change?

Hi Joakim,
Good to prompt me on this.
I think we should put pyall into pypi so it can be installed with pip.
I move the sources round and made some text scripts to demonstrate and clean up.  That’s all done
I also registered for pypi as a producer.
I think we can get this done in the next week or 2 if your ok with the idea?
From: Joakim Skjefstad @.>
Sent: Saturday, January 20, 2024 6:22 PM
To: guardiangeomatics/pyall @.>
Cc: Subscribed @.***>
Subject: Re: [guardiangeomatics/pyall] Restructure project to be installable as a python module (#1)
This looks like a useful way forward, are the owners open for this change?
—
Reply to this email directly, view it on GitHubhttps://github.com/guardiangeomatics/pyall/pull/1#issuecomment-1902058165, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACDTJMKKABN7OQSYNPCKX5LYPOLFFAVCNFSM4EAX42VKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJQGIYDKOBRGY2Q.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@pktrigg wonderful! There is already a different project using pyall as package name, so you may need to re-name this repo - not sure what you would like to call it, but I would suggest pyemall - em being Kongsberg designator for multibeams. However if you plan to/do support other types of .all-data, then I guess pyemall would restrict the project. What do you think?
Here is the other pyall:
It seems @oysstu fixed the packaging in this pull request, but it is old now. I am not sure how to best proceed, maybe accept the pull request then modify to fit the latest version, or ask if he can help package the latest version, making a pull request for you?
I am not experienced with packaging of modules, but I bet @oysstu would be happy to bring his thoughts and suggestions to the table if we ask him. As far as I can be of any help here, please let me know, and I will try to read up on it the coming weeks.

Some additional commits got automatically added to this PR because I committed them to my fork. Feel free to close this PR and copy anything you need. The code needs to be in a subdirectory with an init file, with setup.py in the root directory. I think adding a pyproject.toml with something like this is a good idea:
[build-system]
requires = [
    "setuptools>=42",
]

build-backend = "setuptools.build_meta"

That ensures that modern packaging tools work


ISPN-8867 - REST server fails to convert between text formats and octet-stream

Thanks @diegolovison, I adapted your tests and moved them to rest module in another PR https://github.com/infinispan/infinispan/pull/5790


Integration with redux-saga

I've been trying to get a redux saga that listens to the actions that provide-router emits but the events aren't being picked up. I've confirmed that the actions aren't even hitting the middleware so I'm not sure where the break is occurring. Any ideas? I've got an example running here
It should print something when the action fires but nothing happens.

I tried to decipher how it's supposed to work but it's super confusing to me.  Can you explain what all is supposed to be happening here?  https://github.com/influitive/reforge-boilerplate/blob/ps/router-sagas/examples/counters/src/providers/counter1/sagas.js
My only thought so far is to maybe reverse the order of the middleware if you haven't already tried that.  Also, what is this about exactly?  https://github.com/influitive/reforge-boilerplate/blob/ps/router-sagas/examples/counters/src/providers/index.js#L38

Sure. The counter example has two separate counters. You can navigate the counters by clicking on their respective names.
 The saga works fine with other actions, it's just the ones being dispatched by the provide-router enhancer that doesn't get picked up.
I tried moving the middleware around with no luck.
As for my root provider, I was just joining all my providers. This could be the wrong way to do it.

Oh weird.  I wonder if it has something to do with the way react-router-redux dispatches actions, since that's what provide-router is using under the hood.  I'll take a closer look at it tomorrow.

Yeah it is weird, I tried some hacking and placed the syncHistoryWithStore in createProviderStore (line 94) which obviously isn't the solution but it does work better. This leads me to believe that we're not syncing the proper store in the enhancer.

I noticed in that repo you had both provide-router and your original router provider.  I didn't double check to see if maybe you somehow mixed up the 2 anywhere, although from what I saw, it looked like you were only using provide-router and just hadn't deleted your original one yet.

That is correct, I should just delete it.

I think the problem lies somewhere between how react-router-redux syncs the history and how we are creating the store. I did notice that during creation, we extend the store created. I am starting to think the listeners added by sync aren't being copied.

Yeah that sounds right.  I'll take a closer look now.

Yeah I'll keep poking it myself.
On Wed, Apr 27, 2016 at 10:32 AM Tim Burgess<EMAIL_ADDRESS>wrote:

Yeah that sounds right. I'll take a closer look now.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/loggur/provide-router/issues/1#issuecomment-215102699

I think the issue is either with:
A) The way react-router-redux's middleware and enhancer works versus the way redux-saga's middleware works.  See https://github.com/yelouafi/redux-saga/issues/234#issuecomment-203554955.
B) Try the changes in the upcoming PR, specifically where I've removed the history prop from counters/src/components/index.js so that it isn't passed to the Router component, as provide-router will provide its own created history to the Router.  Based on your 2nd to last comment, I have a feeling this was actually the problem.

I tried your changes suggested in the PR but that didn't change anything (however I will merge the PR when i have second). I think you're right about this issue. That feels like the explanation... I guess we can't use enhancers for the router. If we don't use an enhancer, we could sync the final store with history but react-redux-provide doesn't currently support that option. What do you think?

It should be the same store regardless.  See https://github.com/loggur/provide-router/blob/6fad275bfc13249ff73dcf6ccab44376529e8d48/src/index.js#L41-L50.
Upon further inspection, I just noticed that the problem might be with react-router-redux's middleware.  See https://github.com/reactjs/react-router-redux/blob/2c88667b1716c7bd39060303e3f376b6fa339f17/src/middleware.js.  It intercepts its CALL_HISTORY_METHOD action, and if the router middleware is first, the action will never reach any other reducers/middleware (by calling next(action)).  So given that you tried reversing the order of the middleware earlier, my guess is there have been multiple problems here - e.g., both A and B in my last post were true.  I'll add another commit to my PR that reverses the order of the middleware.  Hopefully that solves your problem!
Also, just to be sure, actions don't have to come from generator functions for redux-saga to use them, right?

Yeah I noticed the interception of CALL_HISTORY_METHOD but I'm not looking for that action, I'm looking for LOCATION_CHANGE. I think you were correct with A, that we have a different enhancer that creates a different dispatch chain that separates the sagas from router actions. If I remove the router enhancer, and manually syncHistoryToStore with the main store (thus removing our only enhancer), everything works as I'd expect it.
Redux-sagas are triggered by any action, whether they're coming from components or other sagas. And that works fine as long as it's not coming from the router middleware/enhancer.

Oh I mixed up LOCATION_CHANGE with the renamed UPDATE_LOCATION.
Regarding the store + history, since you're combining your providers into one, there should only be one store.  So when provide-router enhances the store, it's synchronizing the history with that same store via syncHistoryWithStore which returns a new synchronized history object that is then provided to any component with a history propType (e.g., Router)... so it should all be the same.
How are you testing my PR?  Are you starting from a fresh clone of my particular repo then npm install && npm start?

No, I've been just looking at the changes and copying them in where appropriate. I'm in the middle of some other stuff and this is just one of the many things I'm investigating. I'll do a clean install from your repo. Is it working for you? Are you seeing the saga's console log print '%%%%%%' on navigation?

I've merged your PR but the action is still not being picked up by the sagas. Looking at the changes to redux-saga, I think react-redux-provide may need to expose some kind of hook after the store is created anyways. The new version of redux-saga requires that the middleware is called directly with some arguments after the store is created, after the applyMiddlware step.

An enhancer should cover that, since you can do whatever you need to the store after its created within the enhancer.
That said, I figured out the problem and I should have paid closer attention to what you were saying earlier, as it has to do with the order the router enhancer and the middleware are applied.  The router enhancer needs to come before the middleware, as redux's applyMiddleware function ultimately produces an enhancer.  I don't remember exactly why, but the middleware enhancer needs to come before any other enhancers in nearly all other scenarios (except replication).  I think maybe it's required for things like the thunk middleware to work properly.  I'll double check at some point.
So there are a few possible solutions for now:

Manually create the middleware enhancer and put it after the router enhancer, like this (tested and it works):

// src/providers/index.js

import counter1 from './counter1';
import counter2 from './counter2';
import provideRouter from 'provide-router';
import { browserHistory } from 'react-router';
import { applyMiddleware } from 'redux';

const router = provideRouter(browserHistory);
// export default {
//   counter1,
//   counter2,
//   router
// };

// alternatively, you can make one provider so actions can be seen
// and issued between different providers.

const actions = {
  ...counter1.actions,
  ...counter2.actions,
  ...router.actions
};
const reducers = {
  ...counter1.reducers,
  ...counter2.reducers,
  ...router.reducers
};
const middleware = [
  counter1.middleware,
  router.middleware
];

const enhancer = [
  router.enhancer,
  applyMiddleware(...middleware)
];

// Use this export instead:

export default {
  root: {
    actions,
    reducers,
    enhancer
  }
};

I'll need to double check if it will break other things like the thunk middleware, but it may make more sense to put the middleware enhancer last.

Maybe some new special key like firstEnhancer?  Not sure how I feel about this but it would certainly make edge cases like this one slightly easier to account for and eliminate the need to manually import/call applyMiddleware while also making it more obvious how a provider's store should be initialized.

I was just about to post the same, I had some help from @SeeThruHead to figure it out. Yeah it was the order of things that was messing things up. The API for that one is a little tricky.

Alright, I think I've got everything working. It's a little wonky looking:
const middleware = [
  ...counter1.middleware,
  router.middleware
];

const enhancer = [
  router.enhancer,
  applyMiddleware(...middleware)
];

// counter1/index.js
import sagas from './sagas';

const sagaMiddleware = createSagaMiddleware();

const middleware = [
  sagaMiddleware,
  () => { sagaMiddleware.run(sagas); return next => action => next(action); }
];

That works.

That's strange.  You should have been able to copy/paste that block of code in my previous post and used it on top of my PR and it should have worked, at least with redux-saga v0.9.  With v0.10, sagaMiddleware.run(sagas) only need to be run once, right?  In which case:
// src/providers/counter1.js

import reducers from './reducers';
import { actions, actionTypes } from './actions';
import localforage from 'redux-replicate-localforage';
import createSagaMiddleware from 'redux-saga';
import sagas from './sagas';

// Replication options can allow easy optimistic updates and state
// persistance. This example uses localstorage to save changes.

const middleware = createSagaMiddleware(sagas);
const replication = {
  replicator: localforage
};

const enhancer = next => (reducer, initialState, enhancer) => {
  const store = next(reducer, initialState, enhancer);

  middleware.run(sagas);

  return store;
};

export default { ...actionTypes, actions, reducers, replication, middleware, enhancer };

And then:
// src/providers/index.js

import counter1 from './counter1';
import counter2 from './counter2';
import provideRouter from 'provide-router';
import { browserHistory } from 'react-router';
import { applyMiddleware } from 'redux';

const router = provideRouter(browserHistory);
// export default {
//   counter1,
//   counter2,
//   router
// };

// alternatively, you can make one provider so actions can be seen
// and issued between different providers.

const actions = {
  ...counter1.actions,
  ...counter2.actions,
  ...router.actions
};
const reducers = {
  ...counter1.reducers,
  ...counter2.reducers,
  ...router.reducers
};
const middleware = [
  counter1.middleware,
  router.middleware
];

const enhancer = [
  router.enhancer,
  applyMiddleware(...middleware),
  counter1.enhancer  // or maybe before/right after router.enhancer?
];

// Use this export instead:

export default {
  root: {
    actions,
    reducers,
    enhancer
  }
};

Did you try something like that?

I will add that all of this is sort of an unorthodox way to do things, but I can't really recommend a better way until I've finished some other things I'm working on.  Although, if this works for you and you're happy with it then... awesome!  😁👍

I tried that and but redux-saga still complains because the counter1.enhancer runs before the saga middleware applies... Might be missing something somewhere...

The counter1.enhancer is after the applyMiddleware:
const enhancer = [
  router.enhancer,
  applyMiddleware(...middleware),
  counter1.enhancer
];

Or does redux's compose function (used for applying the enhancers) actually reverse the order for some reason (it uses Array.prototype.reduceRight which is extremely confusing/unreadable to me lol).  If that's the case, then perhaps (unintuitively) putting counter1.enhancer either first or second in the enhancer array will fix it.
And if that doesn't work then I'm kind of at a loss for how to make everything work together cleanly.

I thought the same thing, but even putting the apply middleware before the enhancer has that enhancer run before it actually sets up the saga middleware.
This simple setup shows what I mean:
const fakeMiddlewares = [
  () => { console.log('middwared!'); return next => action => next(action); },
  () => next => action => next(action)
];

const fakeEnhancers = [
  (next) => (reducer, initialState, enhancer) => {
    const store = next(reducer, initialState, enhancer);
    console.log('Enhance!');
    return store;
  }
];

const enhancer = [
  applyMiddleware(...fakeMiddlewares),
  ...fakeEnhancers
];

Regardless of where you put the enhancers, you will always get 'Enhance!' before the middleware gets initialized (and prints 'middlewared!')

This looks like a problem with the new redux-saga middleware API, in that it needs the middleware chain built before you can run sagas. It's a little bit of a bizarre API, IMO. But it means that this hacky way is actually the only way I can make sure it runs after the middleware chain is built (unless you add some API hook to to run something after the store is created)

I just tried the code from my previous comment (with<EMAIL_ADDRESS>and everything seems to work after moving counter1.enhancer before applyMiddleware.  After actually reading the comments in Redux's compose.js, it's clear to me now why the order of execution is reversed.
At any rate... I'll submit a PR for you to check out.  😄

Huh... I could have sworn I tried that but you seem to be right... My bad.

No problem!  Does that solve everything within this particular issue?

Yeah I think it does. Thanks for all your help!

So, late update but for anyone looking at this later, I realize I can use the onReady property to fire off the sagas. That seems to make sure everything is configured properly. Looks something like this:
import createSagaMiddleware from 'redux-saga';
import sagas from './sagas';

const middleware = createSagaMiddleware();

const onReady = () => middleware.run(sagas);

export default {
  ...map,
  middleware,
  onReady
};

Oh, nice!  I totally forgot about onReady and onInstantiated since I've only used them in the context of replication.  That's definitely a cleaner approach than the enhancer.  I'm guessing you're using onReady instead of onInstantiated because you don't want any sagas to be run until after replication has initialized?

Yeah, I shoulda paid more attention to the docs in the first place. This is
the exact api I was looking for.
On Tue, May 3, 2016 at 6:08 PM Tim Burgess<EMAIL_ADDRESS>wrote:

Oh, nice! I totally forgot about onReady and onInstantiated since I've
only used them in the context of replication. That's definitely a cleaner
approach than the enhancer. I'm guessing you're using onReady instead of
onInstantiated because you don't want any sagas to be run until after
replication has initialized?
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/loggur/provide-router/issues/1#issuecomment-216679476


Is there an example for explicitly mapping a list of objects from JSON using Jackson?

I am trying to follow the jackson integration but it only show simply mappings.  In my case I have an object like:
public call A {
  List<B> bs;
}

public B {
  String test1
  int num;
}

And I am trying to map from JSON like:
{
  someBValue: [{
    number: 12,
    testVal: 'Some test value'
  },
  {
    number: 2,
    testVal: 'Some other value'
  }]
}

I am trying to do something like:
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration().addValueReader(new JsonNodeValueReader());
PropertyMap<JsonNode, A> map = new PropertyMap<JsonNode, A>() {
  protected void configure() {
    map().getBs()...;   // <---- Not sure what to put here...how do I tell it this is a list of some other object where the child object has to be mapped as well?
  }
}

So I am stuck on how to setup the mapper here.  Any help would be much appreciated.

I ran into the same issue with modelmapper-jackson .  Currently unable to sort out how to use the model-mapper to get past it.  Any insight from developer team would be very helpful.


Implement Extend and From/IntoIterator for SigSet

Rebased & squashed. Thank you! @asomers

Rebased again to resolve the conflict in CHANGELOG.md.

@magicant can you rebase?

Sure. @rtzoeller

bors r+


Improvments for mongo ticket registry (5.3.x)

#4063 for 5.3.x

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 9 committers have signed the CLA.:white_check_mark: pdrados:white_check_mark: MartinBoehmer:white_check_mark: doomviking:white_check_mark: nilechou:white_check_mark: borisParis1:white_check_mark: sbearcsiro:white_check_mark: marco-ceriani:x: Misagh Moayyed:x: rrenomeronMisagh Moayyed seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Crossmint improvements

Description
This PR updates the CrossMint version, and ensures the email input is managed by CrossMint

Review Error for AshishYelekar @ 2023-08-10 22:37:20 UTC
User failed mfa authentication, public email is not set on your github profile. see go/mfa-help


Support Managed Iceberg streaming writes

Apply some windowing and add a new triggering_frequency_seconds parameter to support streaming writes to Iceberg tables.
The triggering frequency controls how often we commit data and create new snapshots

assign set of reviewers

Thanks @kennknowles, this is ready for another look


Corrected description of what padding SAME does

The description read that the padding=SAME adds zeros to the output tensor. It should say that it pads the input tensor.

Can one of the admins verify this patch?


a bit of copy editing and one suggestion.

A bit few typos, and some suggested text. The substantial bit is that a duck array could choose to implement array, if it wants to coerce itself and return a proper numpy array. This could helpful, because only the object itself knows how best to make itself into an numpy array.

Thanks for taking the time to open this PR @ChrisBarker-NOAA. I've seen you also commented about this on the NumPy mailing list and I responded there now. Others may also weigh in to decide whether these changes are relevant or not, and then you can submit a PR to the NumPy repo itself (or you could even do that now if you want).
Since this is already merged in NumPy master branch, there's no reason for a PR to be merged here, because we would need to submit a new one to NumPy anyway. That said, I'm gonna close this, but feel free to submit a PR to NumPy or wait for others to also comment on the mailing list, as you prefer.

Thanks -- Sorry I hadn't noticed that it was already merged.
I'll do a PR against the numpy repo.
-CHB


[SDPAP-6311] Add date mask rpl-form field

Motivation and Context

JIRA issue: https://digital-vic.atlassian.net/browse/SDPAP-6311
Changed

Added cleave.js for input masking
Created new rpl-form field fieldRpldateinput and added story to demonstrate
Added deprecation warning to fieldRpldatepicker and removed stories, but left solution there for legacy use
🚨 Breaking change: set default mapping in ripple-nuxt-tide to use new date input

Screenshots

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Improvement/refactoring (non-breaking change that doesn't add any features but makes things better)

Checklist

[ ] I've added relevant changes to the documentation.
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] My change requires a template update for create-ripple-app.
[ ] I have added template update script for next release.

Closing this in favour of a more researched solution in Ripple 2


Add check for lowercase "as" in foreach

Copied from https://github.com/Yoast/yoastcs/blob/master/Yoast/ruleset.xml#L55-L61
The Squiz sniff actually checks whitespace for foreach loops as well as "as" being lowercase. We already check whitespace for foreach, so this is very much duplicating a bunch of checks.
I'm happy for this PR to be rejected if we want to have a separate Sniff for checking case, though it may make more sense to switch to the Squiz sniff for all foreach checks, if it has enough properties for us to set what our standard should be.
Edit: Added to Core, but may be more suited as an Extra.

I think this is appropriate for Core, since true, false, etc., are expected to be lowercase.

As far a duplication goes, we probably need to go through our sniffs an check that we can't use upstream sniffs for some of them. And maybe some of them should be ported upstream as well.


Make React bundle work server-side

Overview
Fixes #352, so that the component can be used in a server-side React environment.
Changes

Set globalObject to 'this' in the React Webpack config, so that it doesn't have unwanted references to window, in order for it to work in a server-side environment
Check navigator is defined before using it, in order for it to work in a server-side environment
Only include the role of combobox once the component has mounted, so that the server-side rendered markup (i.e. when the user has JavaScript turned off) has no role attribute, and so it's role defaults back to textbox
Only include the aria hint (aria-describedby) once the component has mounted, so that the server-side rendered markup (i.e. when the user has JavaScript turned off) has no aria-describedby as it doesn't make sense if there the JavaScript is not running.

Thanks a lot for helping with this.
One thing that worries me is this change:

Only include the role of combobox once the component has mounted, so that the server-side rendered markup (i.e. when the user has JavaScript turned off) has no role attribute, and so it's role defaults back to textbox

As we discussed in the issue, we probably want a completely different component to be rendered server side. We want people to send the markup from the progressive enhancement section to users before loading the JavaScript, instead of sending a variation of the enhanced component.
What're your thoughts on ensuring that we don't encourage folks rendering a broken experience server side?

If you look at their example will give more context:
https://github.com/nice-digital/global-nav/blob/master/src/Header/Search/Autocomplete/Autocomplete.jsx#L133

Perhaps some guidance in the README explaining server rendering could help.

Thanks for looking at this. Must apologize though, been meaning to look at this for aaaages after I raised the issue! Good timing though as I'm picking the work up again next week.
For what it's worth I agree with the comment about "we probably want a completely different component to be rendered server side" so I think this fix should probably just be all the bits that break loading this component in a Node environment.

Hi @nickcolley and @ediblecode
Thanks for your comments.
With regards to wanting a different component rendered server-side, I have a couple of thoughts.
My first thought is that it really depends on your use case for this component as to what you'd want rendered server-side for the case where JS is turned off or not loading for whatever reason. For example, in my personal use case, I want to use this component on my app merely as a way to suggest values to the user, so that they don't have to type the full value every time. In this case, just returning a default textbox type of input would be suitable. However, I appreciate that another use case is that the user is obliged to pick a value from the component, in which case I'd agree that a select is a more suitable fallback.
My second thought is that if you're rendering a select server-side and then switching it out client-side for an input type="text" then, unless you've got your CSS spot on (and even still possibly in some browsers) the user will see a "flash" as the component changes. This "flash" effect may not be an option for some people using this component.
As you both suggested, I think the server-side fallback could do with some more thought, possibly having multiple options to account for the use cases I outlined above. I've therefore removed the last commit around changing the server-side fallback, so that this can be addressed either directly by the person using the component in their app, or by us or anyone else in a future enhancement PR. At least this way, as @ediblecode says, this fix can just be the bits that break loading this component in a Node environment.

@andymsuk thanks for updating that, it's looking good I think the only last things to do are:

tidy up the commits
add a CHANGELOG entry

I can do this on your behalf if you want, let me know.

Thanks @nickcolley.
I've tidied up the commits and added to the CHANGELOG, but feel free to edit/tidy more if you'd like.

Looks good to me, have approved.


Add droidyue.com blog

No reply?

I am so sorry.I have received your email. But I don't understand what your
email's purpose. Could you give me more information and tell me what should
I do.
On Thu, Mar 19, 2015 at 6:00 AM, androidyue<EMAIL_ADDRESS>wrote:

No reply?
—
Reply to this email directly or view it on GitHub
https://github.com/android-cn/android-dev-cn/pull/10#issuecomment-83465474
.

I want to let somebody notice this pull request contributed by me. Please do merge this request.


Version not updated in package-lock.json

Affected Packages
Don't know
Problem
When using npm, running changeset version does not update the version in the lock file.
This does not appear to have any ill effect and may be purely cosmetic
Proposed solution
Running npm install ensures that the version is updated

I think this is purely cosmetic as you said, but I'm curious if any package maintainers here have any input on this.

But running npm install also tries to update dependencies.

Until #1455 gets merged.
{
  "scripts": {
     "v": "changeset version && npm i synclockver --no-save && synclockver",
     "release": "npm ci && npm run build && changeset publish",
  }
}

- name: Create Release Pull Request or Publish to NPM
  uses: changesets/action@v1
  with:
    version: npm run v
    publish: npm run release
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

I am new to changesets, and this may be a dumb question.
Is there a reason not to use npm version? It automatically updates package.json and the lock file.


Add proposal to secure the Kafka Connect REST API endpoint

This proposal suggests possible improvements to the KafkaConnect (and
KafkaMirrorMaker2) custom resource to allow users to secure the Kafka
Connect REST API endpoint.
Signed-off-by: Andrew Borley<EMAIL_ADDRESS>Co-authored-by: Samuel Hawker<EMAIL_ADDRESS>

@scholzj - Thank you for the frank and clear comments! :)

My (personal) view is for a long time that we should not go this way. We should instead:

Finish the remaining features of the Connector operator (restarts of connectors are the main missing point IMHO)
Lock down the Connect API to make it accessible only view the Connector operator
This would solve the whole security including authN and authZ which would be offloaded to Kubernetes RBAC.

I agree that this is a simpler route to follow and I'm happy to go down this route for the first steps here. A few questions about the approach:

Re. the connector restart API: I can imagine using an annotation on the KafkaConnect or KafkaConnector CR to start the connector restart action, in a similar way to how optimization proposals are refreshed and approved on the KafkaRebalance CR (https://strimzi.io/docs/operators/latest/using.html#proc-approving-optimization-proposal-str) via an annotation that is subsequently removed by the operator - does that make sense or were you thinking of a different approach?
I expect there will be users who would prefer to continue to access the Connect REST API directly rather than indirectly via CRs, even when using Connector CRs. Do you think it would be worth adding a label or annotation to disable the locking-down, reverting back to the default Connect HTTP listener?
Shall I raise new proposal PRs for the connector restart action and how the REST API is locked down?

Responding to some of your other comments:

I think the way suggested here has several issues:

It requires huge amount of work (although some parts of it such as TLS would probably be needed also for the solution I prefer as well)

TLS certificate management (including things such as renewals etc. which are very painful), custom certificates, support for different public CAs etc.

Am I right that TLS cert renewals would still need to be handled for the locking-down proposal? Would you expect that the operator just manages renewals silently?

Different methods woth authN and authZ which will be required etc.

Kafka currently only includes BasicAuth support for the Connect REST API (in the BasicAuthSecurityRestExtension class) - are you imagining adding REST extensions that implement Strimzi's own authN options (Scram SHA 512, Mutual TLS, OAuth,  etc) here?

It questions the value of the Connector operator (what is it for if users need to use the REST API? It actually fights against the things done via the REST API so locking down the REST API or at least switching it to read only mode is IMHO required for the connector operator in long term)

Personally, I don't see the REST API conflicting with the Connector operator - we would just expect the user to select between them, as is the case with other Strimzi function e.g. using the KafkaUser operator vs managing ACLs via the Kafka tools. As you say, both ways could be available in parallel - when the connector operator is being used, the REST API is locked-down and unavailable, and when the connector operator is not in use, allow access to the REST API for connector management.

It requires a commitment to actually execute on all of this

This is a good point, and one that I doubt I can answer. Starting with your locking-down approach sounds like a reasonable way forward right now, so I'm not sure if there is value in extending this proposal to cover TLS cert management, authN, authZ, etc.
I expect we will find that users will continue to want to use the Connect REST API, as it's a known Kafka management API, and therefore would like to be able to secure the endpoint whether they use the Connector operator or not.
Thanks again for the review :)

Re. the connector restart API: I can imagine using an annotation on the KafkaConnect or KafkaConnector CR to start the connector restart action, in a similar way to how optimization proposals are refreshed and approved on the KafkaRebalance CR (https://strimzi.io/docs/operators/latest/using.html#proc-approving-optimization-proposal-str) via an annotation that is subsequently removed by the operator - does that make sense or were you thinking of a different approach?

I guess there are two options which at the end might need to be combined:

Restarting using an annotation as you mentioned
Automatic restarting (operator sees a failed task / connector, it will try to restart it)

I know of some users preferring one and others the other and I can imagine that the annotation will be always available versus the automatic restarts will be enabled / disabled in the connector .spec section.

I expect there will be users who would prefer to continue to access the Connect REST API directly rather than indirectly via CRs, even when using Connector CRs. Do you think it would be worth adding a label or annotation to disable the locking-down, reverting back to the default Connect HTTP listener?

Right. I do not have necessarily an intention to block it - even if only for backwards compatibility reasons. But I can imagine it being done in a way that when the connector operator is enabled the REST API is disabled or by some separate switch ... I can live with both.

Shall I raise new proposal PRs for the connector restart action and how the REST API is locked down?

Feel free to do so if you want. But right now this is my personal preference / opinion which might not be shared by others. So feel free to wait on how they see it.

Personally, I don't see the REST API conflicting with the Connector operator - we would just expect the user to select between them, as is the case with other Strimzi function e.g. using the KafkaUser operator vs managing ACLs via the Kafka tools. As you say, both ways could be available in parallel - when the connector operator is being used, the REST API is locked-down and unavailable, and when the connector operator is not in use, allow access to the REST API for connector management.

Maybe I phrased it badly ... I think that using both at the same time is weird and leads to problems with users creating connectors over POST and wondering why they were deleted by the connector operator etc. But I can see why someone would choose one over the other etc. I can see that we support both
I'm just trying to keep in mind all the effort which might be behind it for development, testing and maintenance - that is why I'm a bit careful about doing both. If you want to work on securing the API for users and take care of it I'm fine with it (and I have of course no reason not to trust you to deliver on it given the MM2 work you did).

Am I right that TLS cert renewals would still need to be handled for the locking-down proposal? Would you expect that the operator just manages renewals silently?

That is right. Although it might be a bit simpler when it is internal only ... maybe you don't need a CA and just self signed cert etc.
I was for a long time against it. But maybe we need to look more at things like Cert Manager to offload this to someone else :-o. Because this is lot of effort but at the same time it is also not really our core business so to say.

Kafka currently only includes BasicAuth support for the Connect REST API (in the BasicAuthSecurityRestExtension class) - are you imagining adding REST extensions that implement Strimzi's own authN options (Scram SHA 512, Mutual TLS, OAuth, etc) here?

I think that ideally we should have one mechanism supported everywhere. OAuth seems to be one common option here. But it can be something else. Either way it would be good to understand what the plan is and how will it be handled (e.g. for mutual TLS you would need a way to manage user certificates etc.).

This proposal has been superseded by #8 and #10 and can be closed.


Support CommonJS environment

It would be nice to be able to import PRB0t as a CommonJS package for Node.
I'm hoping to do something like this:
const PR = require('@prb0t/pr');

PR.configure({
  ...
});
await PR.send();

I love the idea of using this as a library though @M3kH!

I actually couldn't get it to work with Babel either. Maybe a more detailed guide on the readme would help?


Enable assertions

Codecov Report

Merging #123 (4284c00) into master (07f19c3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #123   +/-   ##
=========================================
  Coverage     72.34%   72.34%
  Complexity      567      567
=========================================
  Files            98       98
  Lines          1696     1696
  Branches        186      186
=========================================
  Hits           1227     1227
  Misses          412      412
  Partials         57       57

Continue to review full report at Codecov.

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


test: replace Karma with Jest

Fixes https://github.com/maktarsis/routeshub/issues/199.
I don't know where you would like the files in package/configs/jest to be located.

Sorry, I wanted to target develop. I'll create a new pull request.

Pull request targeting develop:
https://github.com/maktarsis/routeshub/pull/225

Haha, right. I just realized that 30 seconds ago and almost started to write you request to change the target


fix fw build

Build passed on my fork (devel branch):

https://github.com/byq77/rosbot-docker/actions/runs/1405588612
https://hub.docker.com/r/byq77/rosbot/tags

The main change is switch from ubuntu-18.04 to ubuntu-latest runner. Also some cosmetic changes: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run

I fixed that also :D. Haven't noticed your PR before.


Adblock blocks the entire page since it detects the adblock-detector library

I imported the library in my VueJS App in the root App.vue to detect adblocker. Since I use the library every adblocker detects this library as an ad and blocks the whole page.
Example code:

import AdblockDetector from 'adblock-detector'
import { onMounted } from 'vue'

const userHasAdblock = ref(false)

unmounted(async () => {
  userHasAdblock.value = AdblockDetector.detect()
})

</script>```

@raikm thanks for letting me know 🍻 will check it this weekend :)

FYI: Currently my workaround is to put a try-catch block around it which also gives me the feedback that there is an adblocker active :)

So after investigation it turned out that the issue ins not related to library but more the way Vite and ABP works. When you build package for DEV mode Vite decides to put adblock-detector package as separate chunk and by default Vite uses '[name].[hash].[ext]' pattern to name files and then ABP comes to the game sees 'adblock-detector' as part of the URL to file and it's in easy list as block rule, so package blocked which causes issue and white page.
so to solve issue you need to instruct Vite to avoid putting direct name to chunk name to prevent ABP filtering this, to do so you can use one of those rollupOptions
    rollupOptions: {
        output: {
          entryFileNames: `[hash].[ext]`,
          assetFileNames: `[hash].[ext]`,
          chunkFileNames: `[hash].[ext]`,
        }
    }

Thank you very much for the explanation and investigation!


Simplify std.traits.isBoolean

Buildkite failure is due to your branch missing the commits from #7678. Rebasing should fix it.

BooleanTypeOf check for alias this of type bool, can you do this with T : bool ?
struct B
{
    bool val;
    alias val this;
}
struct S
{
    B b;
    alias b this;
}

@ljmf00 This case is covered by the unit tests; take a look.

Now the Buildkite failure is due to the new release of dlang-requests breaking the CI script.
PR here: https://github.com/dlang/ci/pull/436

@ljmf00 This case is covered by the unit tests; take a look.

Yeah. Didn't know that SubTypeOf does that :+1:


Added Question for December 10

Pull Request Closed For the Following Reasons:

Reiterating the issues mentioned in #20.
This is a directed graph question very similar to December 6 question and we need to start covering new concepts and advanced algorithms so try to get more creative. Have a look at current December 9 question for a reference.
Do name your pull requests properly.


Make stale PR bumper check for recent commits

This implements https://github.com/AnalyticalGraphicsInc/cesium-concierge/issues/60. The bumper will now fetch the commits on a PR, check the date of the latest one, and if both that date and the date of the last comment are more than X number of days, it will bump.
This also fixes an edge case where a PR has no comments, concierge would crash (this is unlikely to ever happen since there will almost always be at least the concierge's initial comment) but it was easy enough to fix. If there are no comments it will use the PR's created_at date.
I added a spec to test that it will not bump if there is a recent commit.

Thanks for the pull request @OmarShehata!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:sparkles: :sparkles: :sparkles:I'm the Cesium Concierge and I'm here to test things. :sparkles: :sparkles: :sparkles:

Thanks @cesium-concierge . I literally could not do this without you ❤.

Thanks for the refactor suggestions @ggetz ! I think it's a lot cleaner now. Let me know if you notice anything else.


Update BINARY_SUPPORT to use Content-Encoding to identify if data is binary

Description
This PR re-implements the same functional change that was shown in a PR from the pre-fork Miserlou/zappa repository.
The change in that PR didn't make it into the Zappa 52 release from what I can tell. My company has been using that PR's code (in combination with the flask_compress library) for a couple weeks without issue so I'm opening this PR that copies that code.
Additional tests are added for coverage. I'm not confident that the test organization that I used is correct or idiomatic for this codebase -- please critique and I'll change if wanted!
GitHub Issues
#908
Checklist I found in the contributors documentation:
Before you submit this PR, please make sure that you meet these criteria:

Did you read the contributing guide?

Yes.

If this is a non-trivial commit, did you open a ticket for discussion?

No, a pre-existing ticket can be found here.

Did you put the URL for that ticket in a comment in the code?

Yes.

If you made a new function, did you write a good docstring for it?

NA.

Did you avoid putting "_" in front of your new function for no reason?

NA.

Did you write a test for your new code?

Yes.

Did the Travis build pass?

Yes.

Did you improve (or at least not significantly reduce)  the amount of code test coverage?

Yes.

Did you make sure this code actually works on Lambda, as well as locally?

Yes. My company has been using these functional changes in a fairly standard lambda environment for a couple weeks.

Did you test this code with all of Python 3.6, Python 3.7 and Python 3.8 ?

I did not test personally, but the CI job that ran on this PR completed successfully after running the suite in 36, 37, and 38.

The changes introduced in the commits are not outside the scope of the issue.

Awesome, thanks!
Is there anything preventing to merge this ?

Hi @jneves -- we're using this code from @Quidge in a forked version of Zappa because of a need to enable compression, and it's working very well for us.  If this PR could be merged in, that would allow us to move off of our fork and back onto the official Zappa project which we're really looking forward to so that we don't have to maintain our own fork. 🙂

@jneves rebased this PR atop the (great!) newer black changes to the codebase.

@jneves is this getting any movement? Anything I can do to help get this merged?

@jneves we've been using this code on a fork (https://github.com/tackle-io/Zappa) for over 3 months and are eager to get it merged. This enhancement has helped with large payload that exceed the lambda max response size (6 MB), since it allows for us to zip the response in the lambda. Let me know if there's anything I can do to help getting the approved and merge. Thanks!

@jneves It's been several months -- we'd really love to get this merged in so we can cut off of our own Zappa fork.

@javulticat would you please re-review when you get a chance?
Behavior I started thinking about when fiddling with this: what do you think should happen when a csv file is sent back to the client, say via flask.send_file()?
flask.send_file() will not add a Content-Encoding header to the response, but the mimetype would start with text/ if the filename ends in .csv or if the mimetype is passed manually to the function.
The end result is that a file uploaded through flask.send_file('some/file/path.csv') will not be base64 encoded due to the conditional logic that's being added in this PR.
I haven't seen any issues raised around this in the last year or so, but it seems wrong. The csv file would be binary so I think we'd want to encode as base64 for that too. Thoughts?

Coverage increased (+0.08%) to 73.606% when pulling eb2b50f65acb1b04d2a3f3d74c5de6ae919c7fe1 on tackle-io:quidge/908_2 into b5b80cf096227e4eb0feb1de5ff8097711d53c88 on zappa:master.

:| I'm trying to 'resolve' a pending unresolved conversation because it appears to be a merge blocker:

I addressed this with an update to the test files then rebased my changes to keep the PR to two commits (that may have been a mistake -- I was trying to keep the commits atomic).
Now I can no longer reference the conversation to mark it as resolved.

Not sure what to do here?

@Quidge conversation resolved - thanks for improving the tests!
I'm not sure I fully understand the question being asked around CSVs.  Could you try restating?
One point that may or may not help answer the question is that a CSV is a plain text file.  So I'd imagine the handling of CSVs (text/csv) should probably be the same as the handling of any other plain text file (text/plain).

CSV (and plain text) can be in any character encoding, it is not guaranteed that it's ASCII or UTF-8.
If just .decode() works, great.
If there is a header like Content-Type: text/csv; charset=windows-1252 (there usually isn't) then it can be decoded to str without relying on default charset.
But if neither of those is true, then you have bytes that should be base64 encoded.

@zeevt that's my understanding as well, so I believe it would be fair to say that this is a potential concern for any text file, correct?  I was confused because @Quidge's message implied this was a concern specific to CSVs (which I definitely may have just misinterpreted - sorry!)
If so, would a solution be to sniff the encoding of plain text and use that to decode it using the proper encoding (and, if that fails, fall back on using base64-encoded bytes)?  Something like:
import chardet

# If plain text
try:
    encoding = chardet.detect(response.data)["encoding"]
    decoded = response.data.decode(encoding)
except Exception:
    # base64 encode the bytes

?

@javulticat You understood me correctly, yes. I have two concerns with this, now that I thought about it a tiny bit more:

Maybe someone is trying to return an http response with "content-type: text/foo" and with a body encoded with whatever encoding on purpose, and the proposed code would decode it and re-encode it in UTF-8 if chardet guesses correctly. This would be a bug. They should be able to ensure the exact bytes they intended are received by the HTTP client, without forcing application/octet-stream content type.

How fast is chardet? I would hesitate running it on every response without measuring first.

I now think it's only safe to decode bytes to str if it actually decodes as UTF-8.

Migrated to:
https://github.com/zappa/Zappa/pull/1155
closing


send coins and query balance of address

Many times occurred when generated addresses required fund to perform some transaction.
It was solved in various ways, but we need one convenient way to do that via the CLI when manual testing is needed.

Release v2.2.0 addresses this.


Linux system common loading model error fixes

When you encounter the following error while using the LoadMesh / LoadURDF API on a Linux system:
AssimpException: Error loading unmanaged library from path: xxx/RFUniverse_Data/Plugins/libassimp.so

Do the following to try to fix it:
1.Add a link to the "libdl.so" library:
sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
2.Install the "libminizip" module:
sudo apt install minizip

This worked for me on Ubuntu 22.04 using Unity 2022.3.50f1 LTS. Thank you!


Implement ServiceMessageBus and ServiceConnectionManager

Continue with #101
Implement a ServiceMessageBus to redirect Messages to service side.

cc @davidfowl Updated the implementation to contain a per app connection, and pass the appName through claim to the client, please take a look. 😄


List appropriate cloud provider options based on the node drivers

Setup
Rancher version: 2.6.3
Browser type & version: Chrome
Describe the bug
For RKE2 node drivers DO, Harvester and Linode, we list the cloud providers Amazon, Azure, Google and vsphere.
Since the cloud providers are not appropriate for these node drivers, these cloud provider options should not be displayed for DO and Linode.
This is not the case for the node drivers - Amazon, Azure, vsphere
To Reproduce
Install rancher on 2.6.3 or 2.6-head 9aaa3a7
From cluster management, select rke2 Infrastructure provider cluster type and select either DO or Linode
Select the cloud provider options
Result
DO and Linode have the cloud providers Amazon, Azure, vsphere, harvester and Google
Expected Result
Expected not to list the cloud providers Amazon, Azure, vsphere and Google for Linode, harvester and DO
Screenshots

Verified on v2.6-head f904267
For rke2 node drivers DO and linode - only external cloud provider options are visible


Add the latest version of LSASSY to CME

This is more of an enhancement. The latest version of LSASSY automatically bypass LSASS protections. Currently, CME does not do this with the current LSASSY module. I know it's possible to import it yourself. But thought it would be helpful to add this "out of the box" feature.

ERROR: Cannot install -r requirements-dev.txt (line 30) and pypykatz==0.4.3 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested pypykatz==0.4.3
lsassy 3.0.0 depends on pypykatz>=0.4.8

no info, closing


Add legacy V2 AWS accounts to parsable list of AWS accounts

@drewandersonnz gave 👍 in stg PR #1357


Remove imported kani code

For the moment, we will remove the kani monomorphization logic, since that code was less well-understood than our custom code that hooked into the compiler monomorphization routines directly.
This also fixes a build error when moving to depend on rustc master (as of today's date).

Thank you!


Select Applications valid in the current scope

Hi all,
As I work on integration of the TSP2121 validation, it will add a new codec ProRes to support.
I suppose (as Netflix and for other persons) it can be interesting to provide an IMPAnalyzer with an option to select which Application(s) or not are supported in the analyse.
Like that by default it will support all Applications (App2, App2e, TSP 2121 and maybe App 4 and 5 in the future).
Do you think it can be integrated ? Can I purpose a PR to do it ?
Thanks,
Marc-Antoine

Closing as discussion seems to happen in #242


Error: The assembly 'Cake.AzureStorage, Version=<IP_ADDRESS>' is referencing an older version of Cake.Core (0.17.0)

Getting the following error when trying to run Cake 0.22, 0.23 or 0.24.
Error: The assembly 'Cake.AzureStorage, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' is referencing an older version of Cake.Core (0.17.0).
This assembly need to reference at least Cake.Core version 0.22.0. Another option is to downgrade Cake to an earlier version.
It's not recommended, but you can explicitly opt-out of assembly verification by configuring the Skip Verification setting to true (i.e. command line parameter "--settings_skipverification=true", environment variable "CAKE_SETTINGS_SKIPVERIFICATION=true", read more about configuration at https://cakebuild.net/docs/fundamentals/configuration)

I'm still getting this problem, but now it says "Cake.AzureStorage, Version=<IP_ADDRESS>" instead. Tried to explicitly reference 0.14.0 in Cake through:
#addin nuget:?package=Cake.AzureStorage&version=0.14.0
Am I doing something wrong, or is it not fixed yet? :)

It seems to be fixed with https://github.com/RadioSystems/Cake.AzureStorage/pull/21, but there no release yet 😢

A release should be going out this week.


String or binary data would be truncated

Im getting this errors in some fields: [Microsoft][SQL Server Native Client 11.0][SQL Server]String or binary data would be truncated.
Problem is that I know wicth column is supposed affected, but column have enougth character length.
Text length = 391 characters
Column character length = 400 (varchar)
If I execute same query on SSMS I get succesfull result.
I'm using PHP 5.5. What would be the problem?
Regards.

check your text encoding that you shove into it...
Try
SELECT LEN(:?) as stringlength

as query to see how big your string is according to sql server


Error only in development side

Describe the bug
There is a error in the console only in development. This isn't that big of a deal but is kinda annoying.
To Reproduce
Steps to reproduce the behavior:
React code:
import Carousel, { Dots } from '@brainhubeu/react-carousel';
import<EMAIL_ADDRESS>import { useState } from "react";
function ImageCarousel({ images }) {
const [value, setValue] = useState(0);
const onChange = value => {
    setValue(value);
};

return (
    <div>
        <Carousel
            plugins={['fastSwipe']}
            value={value}
            slides={images}
            onChange={onChange}
        />
        <Dots value={value} onChange={onChange} number={images.length} />
    </div>
);

};
export default ImageCarousel;
Expected behavior
No errors
Screenshots

Environment
Chrome, desktop
Additional context
Add any other context about the problem here.

Experiencing this as well.

+1

+1
Fixing the issue is way over my head, but based on the JS stack, the error's showing on line 69 inCarousel.js, which is:
setStrategies(strategies)
(anonymous) @ recoil.js:1431
replaceState @ recoil.js:1576
(anonymous) @ recoil.js:756
B @ recoil.js:611
et @ recoil.js:756
anonymous) @ recoil.js:2100
wi @ Carousel.js:69

This will potentially get fixed by https://github.com/brainhubeu/react-carousel/pull/724


Implement consider-using-max/min-builtin (PLR1730, PLR1731)

Add rule consider-using-min-builtin (R1730) and consider-using-max-builtin (R1731)
See https://github.com/astral-sh/ruff/issues/970 for rules
Test Plan: cargo test

Hi @charliermarsh, some questions regarding this PR:

min and max are 2 separate rules in pylint, so I implemented as such with their respective codes - looking at other similar rules this seems to be the standard for now. However, there is minimal difference between the 2 functions min_instead_of_if and max_instead_of_if. So I wonder if it would not be better to merge these 2 rules into one?
is there some simple general way of matching the "value" part in literals, i.e. ignoring the range field? E.g. I could not find any example so far for a simple comparison of two python constants.

Another related rule:
https://github.com/dosisod/refurb/blob/master/docs/checks.md#furb136-use-min-max
#1348

@sbrugman While they look indeed similar, the implementation is quite different: FURB136 is for if expressions (in ruff it is ExprIfExp which is an Expr enum), whereas PLR1730 operates on if statements (in ruff it is StmtIf which is a Stmt enum).

I linked it as reference for the first point: here it is implemented as a single rule. Consistency with the upstream (mapping existing rules) takes precedence over internal consistency (merging rules that are minimally different) I suppose, so just for reference.

@sbrugman Thanks for clarifying, I misunderstood your original comment. I added now a commit which merges the 2 rules - I personally also prefer this over the duplication. @charliermarsh to decide if this is acceptable - i.e. dropping PLR1731 and just using PLR1730 for both min and max.

Sorry for the confusion, but I intended to say that the linked rule merged them at one, but since that pylint treats them as two for now the project prefers to match pylint (i.e. two rules). Anyway, indeed let the team decide on that

@sbrugman From the linked reference I found out that there is ComparableExpr - code looks a lot cleaner now. So thanks a lot for taking a look!

The rule itself fits into ruff. It is similar to if-expr-min-max but we have other rules that capture the same problem but differ in the syntax.
Onet thing that needs to be decided if this should be a single rule or if it's better to have two rules (to match py lint)

I'm comfortable with a single rule here. Just seems unlikely that anyone would enable one but not the other, and it better aligns with if-expr-min-max. I'll rename and merge.


Infra: MSK Serverless documentation

We need to create a md file with sample of MSK Serverless setup.


Type : Type is inconsistent

Just recording this. Currently using Type : Type until we implement universe polymorphism of some kind.

fixed by #21


Update the default values of dynamic config to not depend on static config

What changed?

Update the default values of dynamic config to be static values, and to not depend on values read from static config file
Update code related to the dynamic config to be backward compatible

Why?

Dynamic config and static config should be independent of each other
With this change we can create a source of truth to store the default values of dynamic config

How did you test it?
existing test

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 01813b59-ac47-4973-b873-484bd07526de

36 of 54 (66.67%)  changed or added relevant lines in 11 files are covered.
55 unchanged lines in 10 files lost coverage.
Overall coverage decreased (-0.0007%) to 58.006%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/server/cadence/server.go
0
2
0.0%

common/archiver/archivalMetadata.go
9
11
81.82%

common/persistence/visibilityDualManager.go
8
22
36.36%

Files with Coverage Reduction
New Missed Lines
%

common/task/weightedRoundRobinTaskScheduler.go
1
89.64%

common/cache/lru.go
2
92.2%

common/persistence/executionManager.go
2
77.95%

common/persistence/statsComputer.go
2
95.71%

service/matching/taskListManager.go
2
73.77%

service/history/task/fetcher.go
4
91.28%

common/persistence/nosql/nosqlExecutionStore.go
9
61.26%

service/history/shard/context.go
9
65.16%

common/persistence/visibilityDualManager.go
10
57.39%

service/history/execution/context.go
14
68.0%

Totals

Change from base Build 01811df0-d12a-405e-b33f-ae321142430d:
-0.0007%

Covered Lines:
83971

Relevant Lines:
144762

💛  - Coveralls