[Regression] delete_keychain(name:) in 2.20.0 causing problems

New Issue Checklist

[yes ] Updated fastlane to the latest version
[yes ] I have read the Contribution Guidelines

Issue Description
I just upgraded from 2.19.3 -> 2.20.0 and the delete_keychain(name:) action seems to be failing now (Fastfile is unchanged from 2.19.3 to 2.20.0).
I create a keychain using:
  create_keychain(
    name: project_name, # This is just a normal string, not a path
    default_keychain: true,
    unlock: true,
    timeout: 3600,
    lock_when_sleeps: true,
    password: project_name
  )

and delete the keychain like so:
delete_keychain(name: project_name)

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

You can use: --capture_output as the last commandline argument to get that collected for you

The relevant output looks like:
[10:46:07]: -----------------------------
[10:46:07]: --- Step: delete_keychain ---
[10:46:07]: -----------------------------
[10:46:07]: An error occured while executing the `error` block:
[10:46:07]: Shell command exited with exit status 161 instead of 0.
+---------------------------+----------------------------------------------------------------------+
|                                           Lane Context                                           |
+---------------------------+----------------------------------------------------------------------+
| DEFAULT_PLATFORM          | ios                                                                  |
| PLATFORM_NAME             | ios                                                                  |
| LANE_NAME                 | ios build_only                                                       |
| ORIGINAL_DEFAULT_KEYCHAIN | "/Users/james.pang/Library/Keychains/login.keychain"                 |
| CERT_FILE_PATH            | /Users/james.pang/Desktop/Projects/iOS/FastlaneExample/CertsAndPr... |
| CERT_CERTIFICATE_ID       | Y2528PM4JX                                                           |
| PRODUCE_APPLE_ID          |                                                                      |
| SIGH_PROFILE_PATH         | /Users/james.pang/Desktop/Projects/iOS/FastlaneExample/CertsAndPr... |
| SIGH_PROFILE_PATHS        | ["/Users/james.pang/Desktop/Projects/iOS/FastlaneExample/CertsAnd... |
| SIGH_UDID                 | c268e55a-3c8f-4651-8c0f-949b7449aaa1                                 |
| SIGH_UUID                 | c268e55a-3c8f-4651-8c0f-949b7449aaa1                                 |
| SIGH_PROFILE_TYPE         | ad-hoc                                                               |
| IPA_OUTPUT_PATH           | /Users/james.pang/Desktop/Projects/iOS/FastlaneExample/ipa/Fastla... |
| DSYM_OUTPUT_PATH          | /Users/james.pang/Desktop/Projects/iOS/FastlaneExample/ipa/Fastla... |
| XCODEBUILD_ARCHIVE        | /Users/james.pang/Library/Developer/Xcode/Archives/2017-03-16/Fas... |
+---------------------------+----------------------------------------------------------------------+
[10:46:07]: Shell command exited with exit status 161 instead of 0.

Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
Captured Output
Command Used: env
Output/Log

WARN [2017-03-16 11:06:43.98]: Generating fastlane environment output, this might take a few seconds...
DEBUG [2017-03-16 11:06:46.39]: Checking if there are any plugins that should be loaded...

Looking for related GitHub issues on fastlane/fastlane...
Search query: undefined method `length' for nil

URL: https://api.github.com/search/issues?q=undefined%20method%20%60length'%20for%20nil+repo:fastlane/fastlane
➡  undefined method `install_gem' for #<Gem::Commands::InstallCommand
   https://github.com/fastlane/fastlane/issues/8489 [closed] 2 💬
   4 days ago

➡  `supported_platforms': [!] undefined method `split' for nil:NilClass (NoMethodError)
   https://github.com/fastlane/fastlane/issues/7141 [closed] 43 💬
   a week ago

➡  Pilot find returns unexpected results
   https://github.com/fastlane/fastlane/issues/8052 [open] 6 💬
   6 weeks ago

and 10 more at: https://github.com/fastlane/fastlane/search?q=undefined%20method%20%60length'%20for%20nil&type=Issues&utf8=✓

🔗  You can ⌘ + double-click on links to open them directly in your browser.

✅ fastlane environment ✅
Stack

Key
Value

OS
10.11.6

Ruby
2.2.0

Bundler?
true

Git
git version 2.10.1 (Apple Git-78)

Installation Source
~/.rvm/gems/ruby-2.2.0/bin/fastlane

Host
Mac OS X 10.11.6 (15G1004)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.2.0/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.2.1

System Locale

Variable
Value

LANG
en_AU.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://docs.fastlane.tools/actions
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version

fastlane_version "2.20.0"

default_platform :ios

fastlane_require "json"
fastlane_require "Match"
fastlane_require "xcodeproj"

#Constant
default_settings_name = "default"
keychain_not_deleted_message = "Shell command exited with exit status 48 instead of 0."
certs_and_profiles_dir = "CertsAndProfiles"

#Parse the config file
config_file = File.read("config.json")
config = JSON.parse(config_file)

#Pull out global info from parsed config object
xcode_version = config["xcode_version"]
project_name = config["project_name"]
existing_private_keys = config["existing_private_keys"] || []
settings = config["settings"]
schemes = config["schemes"]
hockey_api_token = config["hockey_api_token"]
testable_schemes = config["testable_schemes"] || []
ENV["SLACK_URL"] = config["slack_webhook_url"] || ""
ENV["FL_SLACK_CHANNEL"] = config["slack_channel"] || ""
swift = config["swift"]
uses_cocoapods = config["cocoapods"]
uses_carthage = config["carthage"]

platform :ios do
  before_all do
    cocoapods_if_needed
    carthage_if_needed
    xcversion(version: xcode_version)

    create_keychain(
      name: project_name,
      default_keychain: true,
      unlock: true,
      timeout: 3600,
      lock_when_sleeps: true,
      password: project_name
    )

    decrypt_passwords

    import_existing_private_keys(private_keys: existing_private_keys)
  end

  ##### PUBLIC #####

  desc "Run unit tests"
  lane :test_only do
    run_tests
  end

  desc "Create build for all schemes in config.json"
  lane :build_only do
    all_builds(hockey: false)
  end

  desc "Run unit tests for testable_schemes and create build for schemes in config.json"
  lane :test_and_build do
    run_tests
    all_builds(hockey: false)
  end

  desc "Create build for all schemes in config.json and upload to hockey"
  lane :build_and_upload do |options|
    all_builds(
      hockey: true,
      version_numbers: options
    )
  end

  desc "Run unit tests, create builds and upload to hockey"
  lane :test_build_and_upload do |options|
    run_tests
    all_builds(
      hockey: true,
      version_numbers: options
    )
  end

  desc "Run functional tests"
  lane :functional_test_only do |options|
    all_builds(hockey: false)
    run_calabash(app_path: options[:app_path])
  end

  desc "Run SonarQube"
  lane :sonar_only do |options|
    run_sonar_analysis
  end

  desc "Run SwiftLint to check your code styling"
  lane :swiftlint_only do
    run_swiftlint
  end

  ##### PRIVATE #####

  desc "Perform Swift linting"
  private_lane :run_swiftlint do
    swiftlint(
      output_file: "./swiftlint_report.json",
      ignore_exit_status: true
    )
  end

  desc "Import encrypted data into environment variables"
  private_lane :decrypt_passwords do
    dotgpg_environment(dotgpg_file: "./fastlane/secrets.gpg")
    puts "Secrets have been decrypted and injected into envrionment variables".blue
  end

  desc "Run Cocoapods if needed"
  private_lane :cocoapods_if_needed do
    if uses_cocoapods
      cocoapods(use_bundle_exec: true)
    end
  end

  desc "Run Carthage if needed"
  private_lane :carthage_if_needed do
    if uses_carthage
      carthage
      sh("cd .. && carthage update --platform iOS --no-use-binaries")
    end
  end

  desc "Perform SonarQube analysis"
  private_lane :run_sonar_analysis do
    if swift
      sh("cd .. && chmod +x run-sonar-swift.sh")
      sh("./run-sonar-swift.sh")
    else
      sh("cd .. && chmod +x run-sonar.sh")
      sh("./run-sonar.sh")
    end
  end

  desc "Run calabash tests"
  private_lane :run_calabash do
    app_path = options[:app_path]
    if app_path
      sh("export APP='#{app_path}'")
    end
    sh("cd .. && bundle exec cucumber")
  end

  desc "Run unit tests for testable_schemes in config.json"
  private_lane :run_tests do
    for scheme in testable_schemes do
      set_test_environment_variables(scheme: scheme)
      scan
    end
  end

  desc "Iterate through each scheme and creates a build"
  private_lane :all_builds do |options|
    is_upload_lane = options[:hockey]
    version_numbers = options[:version_numbers]

    for scheme in schemes do
      set_environment_variables(scheme: scheme)
      should_upload_scheme = scheme["upload_to_hockey"]
      create_build(
        scheme: scheme,
        version_numbers: version_numbers,
        is_upload_lane: is_upload_lane
      )
      if is_upload_lane && should_upload_scheme
        upload_to_hockey
        slack_message(scheme: scheme)
      end
    end
  end

  desc "Install any existing private keys into the default keychain"
  private_lane :import_existing_private_keys do |options|
    private_keys = options[:private_keys]

    for private_key in private_keys do
      import_certificate(
        keychain_name: project_name,
        keychain_password: project_name,
        certificate_path: private_key["private_key_path"],
        certificate_password: ENV[private_key["private_key_password_variable"]] || "",
        log_output: true
      )
    end

    puts "#{private_keys.length} existing private keys were installed".blue
  end

  desc "Sets environment variables when running tests"
  private_lane :set_test_environment_variables do |options|
    testable_scheme = options[:scheme]

    # scan related (`fastlane action scan` for more info)
    ENV["SCAN_SCHEME"] = testable_scheme
    ENV["SCAN_CLEAN"] = "true"

  end

  desc "Set the environment variables for the given scheme"
  private_lane :set_environment_variables do |options|
    scheme = options[:scheme]
    setting = get_setting(scheme: scheme)

    ENV["FASTLANE_USER"] = ENV[setting["apple_id_variable"]]
    ENV["FASTLANE_PASSWORD"] = ENV[setting["apple_id_password_variable"]]
    ENV["FASTLANE_TEAM_ID"] = setting["team_id"]
    ENV["FASTLANE_DONT_STORE_PASSWORD"] = "true"

    # cert related (`fastlane action cert` for more info)
    ENV["CERT_OUTPUT_PATH"] = certs_and_profiles_dir
    # Need to strip out unneeded white space and remove apostrophes
    keychain_location = sh("security default-keychain -d user").strip.gsub('"', '')
    ENV["CERT_KEYCHAIN_PATH"] = keychain_location
    ENV["CERT_KEYCHAIN_PASSWORD"] = project_name

    # produce related (`fastlane action produce` for more info)
    ENV["PRODUCE_APP_IDENTIFIER"] = setting["use_wildcard_profile"] ? "*" : setting["app_id"]
    ENV["PRODUCE_APP_NAME"] = setting["use_wildcard_profile"] ? "Wildcard App Identifier" : scheme["scheme_name"]
    ENV["PRODUCE_SKIP_ITC"] = "true"

    # pem related (`fastlane action pem` for more info)
    ENV["PEM_APP_IDENTIFIER"] = setting["app_id"]
    ENV["PEM_FILE_NAME"] = "#{scheme["scheme_name"]}-PushNotification"
    ENV["PEM_OUTPUT_PATH"] = certs_and_profiles_dir
    ENV["PEM_P12_PASSWORD"] = ""

    # sigh related (`fastlane action sigh` for more info)
    ENV["SIGH_APP_IDENTIFIER"] = setting["use_wildcard_profile"] ? "*" : setting["app_id"]
    ENV["SIGH_FORCE"] = "true"
    ENV["SIGH_AD_HOC"] = setting["adhoc"] ? "true" : "false"
    ENV["SIGH_OUTPUT_PATH"] = certs_and_profiles_dir
    ENV["SIGH_PROFILE_FILE_NAME"] = "#{scheme["scheme_name"]}.mobileprovision"

    # gym related (`fastlane action gym` for more info)
    ENV["GYM_SCHEME"] = scheme["scheme_name"]
    ENV["GYM_CLEAN"] = "true"
    ENV["GYM_OUTPUT_DIRECTORY"] = "ipa"
    ENV["GYM_OUTPUT_NAME"] = "#{scheme["scheme_name"]}"
    ENV["GYM_CONFIGURATION"] = setting["build_configuration"]

    # hockey related (`fastlane action hockey` for more info)
    ENV["FL_HOCKEY_API_TOKEN"] = hockey_api_token
    ENV["FL_HOCKEY_NOTIFY"] = setting["hockey_notify_users"] ? "1" : "0"
    ENV["FL_HOCKEY_NOTES"] = setting["commit_messages_as_release_notes"] ? get_commit_changelog : setting["hockey_release_notes"]
    ENV["FL_HOCKEY_PUBLIC_IDENTIFIER"] = setting["hockey_app_id"]
    ENV["FL_HOCKEY_STATUS"] = setting["hockey_auto_release"] ? "2" : "1"

    # slack related (`fastlane action slack` for more info)
    ENV["FL_SLACK_USERNAME"] = "Jenkins"
    ENV["FL_SLACK_ICON_URL"] = "https://integrations.apteligent.com/wp-content/uploads/2015/10/jenkins-icon.png"

  end

  desc "Gets the git messages of all commits until the last tag (or first commit if there is no tag)"
  private_lane :get_commit_changelog do
    messages = changelog_from_git_commits

    if !messages
      puts "There is no previously existing tag. Using ALL git commit messages as release notes".blue
      messages = changelog_from_git_commits(commits_count: number_of_commits)
    else
      puts "Use all git commit messages until last tag as release notes".blue
    end

    messages = "Changelog since last release:\n\n#{messages}"
  end

  desc "Gets the settings object for the given scheme"
  private_lane :get_setting do |options|
    scheme = options[:scheme]
    scheme_setting_name = scheme["setting"] || default_settings_name
    default_setting = settings[default_settings_name]
    # In case there is no specific setting, pass the default settings
    specific_setting = settings[scheme_setting_name] || default_setting
    # Properties in specific_setting take precedence
    setting =  default_setting.merge(specific_setting)
  end

  desc "Get the devices to register for the given scheme"
  private_lane :get_devices_to_register do |options|
    devices_array = options[:devices]
    devices_hash = {}
    devices_array.each do |element|
      devices_hash[element["device_name"]] = element["udid"]
    end
    devices_hash
  end

  desc "Create a build given a scheme object"
  private_lane :create_build do |options|
    scheme = options[:scheme]
    setting = get_setting(scheme: scheme)
    is_upload_lane = options[:is_upload_lane]

    if is_upload_lane
      version_number = options[:version_numbers][:version_number]
      build_number = options[:version_numbers][:build_number]

      increment_build_number(build_number: build_number)
      increment_version_number(version_number: version_number)
    end

    turn_off_automatic_code_signing
    cert
    certificate_file_path = lane_context[SharedValues::CERT_FILE_PATH]
    team_id = ENV["FASTLANE_TEAM_ID"]
    cert_name = get_certificate_name(certificate_file_path, team_id)

    produce

    pem_if_needed(setting: setting)

    register_devices_if_needed(setting: setting)

    profile_uuid = sigh
    puts "Provisioning Profile UUID is: #{profile_uuid}".blue
    get_profile_name(profile_uuid)

    extension_profile_arguments = update_extension_code_signing(
      scheme: scheme,
      setting: setting,
      cert_name: cert_name,
      reset: false
    )

    provisioning_profile_arg = get_provisioning_profile_arg(xcode_version)
    xcargs = extension_profile_arguments.length > 0 ? "#{scheme["scheme_name"]}_PROFILE='#{profile_uuid}' #{extension_profile_arguments}" : "#{provisioning_profile_arg}='#{profile_uuid}'"
    xcargs = get_is_below_xcode8(xcode_version) ? xcargs : "#{xcargs} DEVELOPMENT_TEAM='#{team_id}'"
    gym(
      xcargs: xcargs,
      codesigning_identity: cert_name
    )

    # Removing the provisioning profile envrionment variables from the project build settings via `reset: true`
    update_extension_code_signing(
      scheme: scheme,
      setting: setting,
      cert_name: cert_name,
      reset: true
    )
  end

  private_lane :turn_off_automatic_code_signing do
    # Automatic code signing only on Xcode 8 and above
    if !get_is_below_xcode8(xcode_version)
      xcode_proj = Dir["../*.xcodeproj"].first

      # validate folder
      project_file_path = File.join(xcode_proj, "project.pbxproj")
      UI.user_error!("Could not find path to project config '#{project_file_path}'. Pass the path to your project (not workspace)!") unless File.exist?(project_file_path)

      project = Xcodeproj::Project.open(xcode_proj)

      puts "Updating the Automatic Codesigning flag to Manual".blue

      project.root_object.attributes["TargetAttributes"].each do | target, sett |
        sett["ProvisioningStyle"] = "Manual"
      end

      project.save

      UI.message("Successfully updated project settings to use ProvisioningStyle: Manual")
    end

  end

  desc "Register devices if you have any"
  private_lane :register_devices_if_needed do |options|
    setting = options[:setting]
    devices = get_devices_to_register(devices: setting["devices_to_register"])
    if devices.keys.length > 0
      register_devices(devices: devices)
    else
      puts "No devices to register".blue
    end
  end

  desc "Get Push Notification Certs and PEM if needed"
  private_lane :pem_if_needed do |options|
    setting = options[:setting]
    need_push_notifications = setting["push_notifications"]

    if need_push_notifications
      pem
    end
  end

  desc "Update code signing and provisioning profiles of app extensions"
  private_lane :update_extension_code_signing do |options|
    scheme = options[:scheme]
    setting = options[:setting]
    cert_name = options[:cert_name]
    reset = options[:reset]
    extensions = setting["extensions"] || []
    extension_profile_arguments = ""

    # Only need to update extension's targets code signing if there are extensions!
    if extensions.length > 0
      for extension in extensions do

        if !reset
          profile_uuid = sigh(
            app_identifier: extension["app_id"],
            filename: "#{scheme["scheme_name"]}-#{extension["target_name"]}.mobileprovision"
          )
          get_profile_name(profile_uuid)
        end

        xcode_proj = Dir["../*.xcodeproj"].first

        # validate folder
        project_file_path = File.join(xcode_proj, "project.pbxproj")
        UI.user_error!("Could not find path to project config '#{project_file_path}'. Pass the path to your project (not workspace)!") unless File.exist?(project_file_path)

        UI.success("Going to update project '#{xcode_proj}' with code signing identity: #{cert_name} and profile: #{profile_uuid}")

        project = Xcodeproj::Project.open(xcode_proj)

        project.targets.each do |target|
          if target.product_name == extension["target_name"]
            UI.success("Updating target #{target.product_name}...")
          else
            UI.important("Skipping target #{target.product_name} as it doesn't match the filter '#{extension["target_name"]}'")
            next
          end

          target.build_configuration_list.build_configurations.each do |build_configuration|
            config_name = build_configuration.name
            if config_name == setting["build_configuration"]
              UI.success("Updating configuration #{config_name}...")
            else
              UI.important("Skipping configuration #{config_name} as it doesn't match the filter '#{setting["build_configuration"]}'")
              next
            end
            provisioning_profile_arg = get_provisioning_profile_arg(xcode_version)
            # What am I doing here? We need to give the extension targets a different provisoning profile using environment variables
            # http://stackoverflow.com/questions/27973011/xcodebuild-different-provisioning-profile-for-target-dependency/29605731#29605731
            profile_variable_name = "#{scheme["scheme_name"]}_#{extension["target_name"]}_PROFILE"
            build_configuration.build_settings[provisioning_profile_arg] = reset ? "" : "$#{profile_variable_name}"
            build_configuration.build_settings["CODE_SIGN_IDENTITY"] = cert_name

            extension_profile_arguments = "#{extension_profile_arguments} #{profile_variable_name}='#{profile_uuid}'"

            # If we give an extension target an environment variable, we also need to give the main target an environment variable too otherwise building the app doesn't seem to work
            project.targets.each do |target2|
              if target2.product_name == setting["target_name"]
                target2.build_configuration_list.build_configurations.each do |build_configuration2|
                  if build_configuration2.name == setting["build_configuration"]
                    build_configuration2.build_settings[provisioning_profile_arg] = reset ? "" : "$#{scheme["scheme_name"]}_PROFILE"
                    build_configuration2.build_settings["CODE_SIGN_IDENTITY"] = cert_name
                    puts "Updated main target's code signing identity and provisioning profile".blue
                  end
                end
              end
            end
          end
        end

        project.save

      end
    else
      puts "No extension provisioining profiles were changed".blue
    end

    extension_profile_arguments
  end

  desc "Upload ipa for given scheme object to HockeyApp"
  private_lane :upload_to_hockey do |options|
    hockey
  end

  desc "Send message to slack if Slack URL and channel provided"
  private_lane :slack_message do |options|
    scheme = options[:scheme]
    scheme_name = scheme["scheme_name"]

    if ENV["SLACK_URL"].length != 0 && ENV["FL_SLACK_CHANNEL"].length != 0
      version = lane_context[SharedValues::HOCKEY_BUILD_INFORMATION]['version']
      config_url = lane_context[SharedValues::HOCKEY_BUILD_INFORMATION]['config_url']

      message = "Build #{version} of #{scheme["scheme_name"]} is available in HockeyApp!\nAvailable at: #{config_url}"

      slack(
        message: message,
        default_payloads: [:git_author, :git_branch, :last_git_commit]
      )
    end
  end

  desc "Delete the temporary keychain"
  private_lane :reset_keychains do
    delete_keychain(name: project_name)
    original = lane_context[Actions::SharedValues::ORIGINAL_DEFAULT_KEYCHAIN]
    sh("security list-keychains -s " + original)
    sh("security default-keychain -s " + original)
  end

  desc "Send a slack error message if possible"
  private_lane :send_slack_error do |options|
    message = options[:message]
    if ENV["SLACK_URL"].length != 0 && ENV["FL_SLACK_CHANNEL"].length != 0
      slack(
        message: message,
        success: false
      )
    end
  end

  after_all do |lane|
    reset_keychains
  end

  error do |lane, exception|
    send_slack_error(message: exception.message)
    reset_keychains

    if exception.message == keychain_not_deleted_message
      puts "Keychain was not deleted properly last drive of the lane. It's okay, it has been deleted properly now. Run the lane again!".blue
    end
  end
end

def get_certificate_name(cert_path, team_id)
  # `Match::Utils` not documented. Found it here:
  # https://github.com/fastlane/fastlane/blob/6649d0daa6d8c51105c33d380aa526b657f12d6f/match/lib/match/utils.rb
  certificate = Match::Utils.get_cert_info(cert_path)
  full_common_name_array = certificate[1]
  full_common_name = full_common_name_array[1]
  puts "Certificate Name is: #{full_common_name}".blue
  return full_common_name
end

def get_profile_name(uuid)
  profiles_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/*.mobileprovision"
  profile_paths = Dir[profiles_path]

  profile_paths.each do |profile_path|
    profile = Plist.parse_xml(`security cms -D -i '#{profile_path}'`)
    if profile['UUID'] == uuid
      puts "Provisioning Profile name used: #{profile['Name']}".blue
    end
  end
end

def get_profile_path(uuid)
  profiles_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/*.mobileprovision"
  profile_paths = Dir[profiles_path]

  profile_paths.each do |profile_path|
    profile = Plist.parse_xml(`security cms -D -i '#{profile_path}'`)
    if profile['UUID'] == uuid
      puts "Provisioning Profile name used: #{profile['Name']}".blue
      return profile_path
    end
  end
end

def get_is_below_xcode8(xcode_version)
  first_num = xcode_version[/\d+/].to_i
  return first_num < 8
end

def get_provisioning_profile_arg(xcode_version)
  provisioning_profile_arg = get_is_below_xcode8(xcode_version) ? "PROVISIONING_PROFILE" : "PROVISIONING_PROFILE_SPECIFIER"
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.20.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.14.4

CFPropertyList
2.3.5

i18n
0.8.1

minitest
5.10.1

thread_safe
0.3.6

tzinfo
1.2.2

activesupport
4.2.8

public_suffix
2.0.5

addressable
2.5.0

babosa
1.0.2

claide
1.0.1

fuzzy_match
2.0.4

nap
1.1.0

cocoapods-core
1.1.1

cocoapods-deintegrate
1.0.1

cocoapods-downloader
1.1.3

cocoapods-plugins
1.0.0

cocoapods-search
1.0.0

cocoapods-stats
1.0.0

netrc
0.7.8

cocoapods-trunk
1.1.2

cocoapods-try
1.1.0

colored
1.2

escape
0.0.4

fourflusher
2.0.1

gh_inspector
1.0.3

molinillo
0.5.5

nanaimo
0.2.3

xcodeproj
1.4.2

cocoapods
1.1.1

highline
1.7.8

commander
4.4.3

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170223

dotenv
2.1.2

mini_portile2
2.1.0

gpgme
2.0.12

thor
0.19.4

dotgpg
0.7.0

dotgpg-environment
0.2.1

excon
0.55.0

multipart-post
2.0.0

faraday
0.11.0

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
<IP_ADDRESS>

fastimage
2.1.0

jwt
1.5.6

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.0

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

hurley
0.2

mime-types-data
3.2016.0521

mime-types
3.1

uber
0.0.15

representable
2.3.0

retriable
2.1.0

google-api-client
0.9.28

json
2.0.3

mini_magick
4.5.1

multi_xml
0.6.0

plist
3.2.0

rubyzip
1.2.1

security
0.1.3

slack-notifier
1.5.1

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

tty-screen
0.5.0

word_wrap
1.0.0

rouge
1.11.1

xcpretty
0.2.4

xcpretty-travis-formatter
0.0.4

xcode-install
2.1.0

generated on: 2017-03-16

I just reverted the project back to fastlane version 2.19.3 and can confirm that the build is working again.

Hi @pangers - I've reproduced the problem and am working on a fix. I'm sorry for the trouble!

For the name 'example', create_keychain makes a keychain at:
/Users/mfurtak/Library/Keychains/example-db

The -db suffix is a new wrinkle in recent macOS versions.
In the previous version, for the name 'example', delete_keychain would generate the command:
security delete-keychain /Users/mfurtak/Library/Keychains/example

Given the create_keychain call before, this path doesn't exist, but security delete-keychain doesn't care, and helpfully deletes example-db. So, the previous version was working by coincidence.
The most recent version attempted to be better about searching in more places for the keychain to delete, but it also added checks to make sure that the keychains exist before trying to ask security to delete them. This broke the working situation above.
My proposed fix is to make delete_keychain use the shared utility FastlaneCore::Helper.keychain_path to take advantage of its standardized keychain locating checks.

Ok, so that means -db does not have to be appended when using delete_keychain(name:)?

Right. We want the way you are currently using things to keep working.
No action is needed for you based on the above, I just wanted to capture what I learned about the situation :+1:

Perfect, thank you very much for a super fast response 👍

Hi @pangers - I'm working on the fix over here #8553 👍

And there was work-in-progress to improve this in #8511

Closed in favor of #8511

I've merged #8511 to address this. It will go out in the next release! 🚀


Make the dark mode universal

The current dark mode is only applicable to the home page.
need to apply it to the induvidual modals and also to the notes page

I would like to give this one a try please


[Frontend] Translator / Legalizer

This PR mainly introduces a translator which translates PyTorch FX to Relax function with high-level operators, and a legalizer which turns the high-level operators into calls of TIR PrimFunc. The translator is implemented jointly by @spectrometerHBH @jinhongyii and @MasterJH5574.
Besides, it fixes two bugs of Relax BlockBuilder in somewhat a hacky way. It also adds a new high-level operator of sqrt.
To use the translator and legalizer, try the following:
from tvm.relax.frontend import OperatorLegalizer, TorchTranslator

# model = An PyTorch nnModule
# shape_dict = A mapping from parameter names to parameter shapes
relax_mod: tvm.ir.module.IRModule = TorchTranslator().from_pytorch(model, shape_dict)
relax_mod = OperatorLegalizer(relax_mod).transform()

cc @junrushao @jinhongyii @spectrometerHBH @tqchen @YuchenJin

cc @spectrometerHBH @jinhongyii would be great if you can also help review it


Compiling

Describe your problem here.
this appears

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

There's something wrong with your camera...


861n89804 | Web3 Deps Upgrade

The web3 libs in sdk need to be upgraded due to deprecation issues reported by different users.The main packages that needs to be updated are:web3.jsweb3modalDue to new major versions of these libs, probably there would be some incompatibilities or other side effects, so it's important to make sure that all the logics regarding WalletService and AuthService
Aug 21 2023

Due to incompatibilities between rainbowkit (based on wagmi and viem) and our current stack (web3.js) it seems necessary to migrate to these technologies.
A new detailed issue will be created soon for handling this migration.

Migration to Viem:
https://github.com/minteeble/sdk/issues/18


Create a Modal entities and Sql

create a employee and customer entity and create a SQL queries for the creation for the Sql and create the diagram if any relation between them. @kumarkantipudi  please update this issue when you done with the changes

work as needed


Migration Tools

Maybe we should supply a tool to ingest data from different providers

Keycloak
Auth0
Okta
.. TBD

Auth0 migration tool would be great. Auth0 allows users to export password hashes by going though support .


Add capact action retry

Description
When action failed there is no way to fix it.
It's already possible to run argo retry and workflow will continue. capact action watch will show the progress. If, after retry, workflow finishes successfully the status of action is still failed.
Reason
To improve UX

I was thinking about adding that, but this is a bit more complicated than calling argo retry from our CLI and once again watching Action CR.
Unfortunately, we when we retry some steps the generated values are not preserved and for example terraform runner will create a new instance on GCP side instead of ensuring that the ones that were created are up and running.
In some situation, such retry can mess up more than can help.


Dashboard Token Listing: BGX

Discord Handle of Submitter: teghnet#5857
Token Symbol: BGX
Network: Optimism
Token Address: 0xd782AC4Ee247e0986522ca05c08Cda330DFc14c4
Network Explorer Link: https://optimistic.etherscan.io/address/0xd782ac4ee247e0986522ca05c08cda330dfc14c4
Is a Super Token? true
Address of Underlying Token:  0x
SVG Logo Link: https://raw.githubusercontent.com/duckception/psa-bogota/master/assets/BGX.svg
Coingecko or Hardcoded Price?: Hardcoded
Coingecko ID:
Harcoded Price (if Coingecko ID is unavailable): 0
Token HEX Color: #087f5b
Info on Listing: This token is part of the 2022 ETH Bogota Hackathon
Please close only after token has been added to resolver!

done: https://console.superfluid.finance/optimism-mainnet/supertokens/0xd782ac4ee247e0986522ca05c08cda330dfc14c4


Redesign quiz screen

[x] Definition instead of fill in blank
[ ] Icons to hear the word read aloud and the definition read aloud
[ ] Mastery screen for when reader has 5 consecutive correct answers

The redesigned quiz screen looks good so far, but it needs two icons for playing audio: one for word and one for definition. Also need to work on a mastery screen.


API method docs

Hello,
Could you generate the API method documentation as well? It should be fairly straightforward for this repository since each method already has a detailed docstring in hdlib.
This issue is part of the https://github.com/openjournals/joss-reviews/issues/5704 review.

For sure it would be very easy. I'll work on then in the next few hours.
Thanks for the advice @anilbey

I've just deployed the documentation through GitHub Pages. It is accessible at https://cumbof.github.io/hdlib/.
It refers to the latest version v0.1.15 which I still have to release. It will include the import os fix in the hdlib.model module and a few additional unit tests.
I'm going to release it as soon as the JOSS review process will be completed so that I can collect any other changes in the v0.1.15.
@anilbey Please, feel free to close the issue if everything looks ok for you.

Fantastic! Thanks @cumbof


Unable to extract NUXT Problem with IPrima.cz

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[x] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I'm running yt-dlp version 2023.07.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
Czech Republic
Provide a description that is worded well enough to be understood
Hello, I was looking for a program to download videos from IPrima.cz and I found it and it worked until about the seventh month 2023 suddenly when one day I wanted to download from IPrima.cz again it didn't work and it kept saying something from NUXT:
ERROR: [IPrima] 5-danuv-vyber: Unable to extract NUXT; please report this issue on https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using yt-dlp -U
And yes I'm using the latest version I've tried the program and reinstalled it several times and I've tried another computer but it still doesn't work I don't know why but it's probably supported because it used to work and it detects that it's IPrima.cz and the video player on the page also works
if it can be fixed I'd be very happy for an answer
The .dump file: https://gist.github.com/StudioTeamTV/56da57fbfb38053c213263ef3551e005
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.iprima.cz/serialy/prima-particka/best-of-particka-prima/5-danuv-vyber']
[debug] Encodings: locale cp1250, fs utf-8, pref cp1250, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22621-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>Current Build Hash: 5ff3e702171a50175c34397494e2d18ce35d771c2110b1e59bd173ec2fb352aa
yt-dlp is up to date<EMAIL_ADDRESS>ERROR: [IPrima] 5-danuv-vyber: Login is required to access any iPrima content. Use --username and --password, --netrc-cmd, or --netrc (iprima) to provide account credentials
  File "yt_dlp\extractor\common.py", line 707, in extract
  File "yt_dlp\extractor\common.py", line 616, in initialize
  File "yt_dlp\extractor\iprima.py", line 114, in _real_initialize
  File "yt_dlp\extractor\common.py", line 1170, in raise_login_required

Duplicate of #7229
Will be fixed by #7216


Automated Package Upgrade

:tada: This PR is included in version 2.2.307 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Credential leak on connection failure

Describe the bug
In case of a failure to validate a connection, bank-vaults will print the user name and password in plain text to the standard out.
To Reproduce

Provide an invalid ip/dns for a backend, i.e. mysql/rabbitmq
let bank-vaults attempt to connect
Show logs of bank-vaults, and see creds in the clear

time="2019-04-30T12:49:59Z" level=error msg="error configuring vault: error configuring secret engines for vault: error putting [map[connection_uri:http://rabbitmq.default.svc.cluster.local name:connection password:plaintextpassword ttl:760h ttl_max:760h username:plaintextadmin verify_connection:true]] -> rabbitmq/config/connection config into vault: Error making API request.\n\nURL: PUT http://vault:8200/v1/rabbitmq/config/connection\nCode: 500. Errors:\n\n* 1 error occurred:\n\t* failed to validate the connection: Get http://rabbitmq.default.svc.cluster.local/api/users/: dial tcp ip.ad.dr.ess:80: i/o timeout\n\n"
Expected behavior
passwords should never be printed to screen.

@gregdurham Thanks for reporting this issue. We are on it.


TypeError: n.chosen is not a function

Hi,
I get the above error in my angular MEAN project. Have installed via bower and included dependency:
       ,'public/lib/angular-chosen-js/angular-chosen.min.js'
and
       ,'angular.chosen'
Can you advise?

Hey @eugenevk, I remember there was some issue with bower. I recommend using the library directly. (by cloning the repo into your vendor or lib directory)

Hi @adityasharat, unfortunately that doesn't solve it. Same error. I copied the master into my lib directory.

Have you included jQuery and chosen before angular?

I have now included this:
         ...
         'public/lib/jquery/dist/jquery.min.js'
        ,'public/lib/jquery-ui/jquery-ui.min.js'  // needed by ui-sortable
        ,'public/lib/bootstrap/dist/js/bootstrap.js'
        ,'public/lib/angular-chosen/angular-chosen.min.js'
        ,'public/lib/angular/angular.js'
         ...

But that returns the following error:

Uncaught ReferenceError: angular is not defined
at angular-chosen.min.js:29

The issue is the order I suppose
      ...
         'public/lib/jquery/dist/jquery.min.js'
        ,'public/lib/jquery-ui/jquery-ui.min.js'  // needed by ui-sortable
        ,'public/lib/bootstrap/dist/js/bootstrap.js'
        ,'public/lib/angular/angular.js'
        ,'public/lib/angular-chosen/angular-chosen.min.js' /* after angular */
         ...

Hey!
This does not solve the issue.


Behavior while loading asynchronous data

I'd like to give this thing a spinner or something while it's loading. Is there some way to v-if for empty data and render something else in the meantime?

You can do something like this:
<i v-if="loading" class="fa fa-spin fa-spinner fa-3x"></i>

and fetchData method:
async fetchData({ page, filter, sort }) {
    this.loading = true;
    const response = await axios.get('/clients', {params: { page, filter, sort }});
    this.loading = false;
    return {
        data: response.data.clients.data,
        pagination: {
            currentPage: response.data.clients.current_page,
            totalPages: response.data.clients.last_page
        }
    };
}


App-Protect Beta, ELK not recognising double-quotes escape

    Product: NGINX App Protect

App-Protect Beta, ELK not recognizing double-quotes escape

Please provide request sample which causes such issue.

A sample request is:
curl -i 'http://a.juicebox.com:8080?id=81 OR 1=1'
It should trigger syslog messages that looks like the snippet below (notice the use of " to escape "):
policy_name="/Common/policy1",protocol="HTTP",request="GET /?id=81 OR 1=1 HTTP/1.1\r\nUser-Agent: curl/7.29.0\r\nHost: a.juicebox.com:8080\r\nAccept: /\r\n",request_status="blocked",response_code="0",severity="Critical",sig_cves="N/A",sig_ids="200002147,200002835,200002476",sig_names="SQL-INJ expressions like ""or 1=1"" (3),SQL-INJ expressions like ""OR 1=1"" (7) (Parameter),SQL-INJ expressions like ""or 1=1"" (6) (Parameter)",sig_set_names="{Generic Detection Signatures;SQL Injection Signatures},{Generic Detection Signatures;SQL Injection Signatures},{Generic Detection Signatures;SQL Injection Signatures}"
On ELK, the sig_names field are broken into 3 fields as a result:
sig_names "SQL-INJ expressions like ""or 1=1"" (3)
?SQL-INJ expressions like ""OR 1 1"" (7) (Parameter)
?SQL-INJ expressions like ""or 1 1"" (6) (Parameter)"

What kind of log message format do you use?

App-Protect default log format which is CSV i believe. So just to clarify, ELK only currently supports splunk format?
Thanks.

That is correct. Currently logstash which receives logs from App-Protect and feeds them to Elasticsearch expects them in "splunk" format.

I was using the default format withthe following configuration in log-default.json:
{
 "filter": {
     "request_type": "all"
 },
 "content": {
     "format": "default",
     "max_request_size": "any",
     "max_message_size": "5k"
 }
 }

I added the following lines into /logstash/conf.d/30-waf-logs-full-logstash.conf file,
input {
  syslog {
    port => 5144
  }
}
filter {
 mutate {
 gsub => ["message","\"\"","\""]
 }
  kv {
    field_split => ","
  }

It looks to me that replacing "" with " fixed the " escape character issue, sig_names can be parsed and showed in Kabinan correctly. But I am not sure if this change would break something esle.

@464d41 the logstash config assumes a CSV output, not a Splunk format. See that the default log format for NAP is CSV.

NAP 1.3 (the latest release as of this date) may have addressed this issue when the quoting was changed. Please try to reproduce this with an attack like this: curl "yourhostname/v=|%20uname%20-a%20&%20users" --verbose

curl "yourhostname/v=|%20uname%20-a%20&%20users" --verbose

Seem to work. Don't see any artifacts of parsing.

PR #6 appears to have addressed this issue. Closing.


1.8 release notes has a broken link for this-based type guards

TypeScript 1.8 extends user-defined type guard functions to class and interface methods.
The link just points to the 1.8 release notes and appends a hash.

here is the correct link: http://www.typescriptlang.org/docs/release-notes/typescript-1.6.html#user-defined-type-guard-functions

thanks, that makes a lot more sense, now.


feat(metrics-sdk): bootstrap views api

Which problem is this PR solving?
Bootstrap the skeleton of the views API and basic views matching.
Unblocks the metrics stream implementation: provides a way to configure Aggregations.
This PR is not a complete view implementation.
Related: #2592
Short description of the changes

Add a ViewRegistry for view matching.
Add InstrumentSelector and MeterSelector for metric filtering (wildcard match, exact match, etc.).
Add AttributesProcessor interface for altering dimensions.
Define the Aggregation interface as configuring how measurements are combined into metrics for Views (Similar to previous Processor.prototype.aggregatorFor).

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
[x] Documentation has been updated

I don't see any handling of the case where there is no view registered. Am I just missing it?

It's handled in the ViewRegistry.findViews: https://github.com/open-telemetry/opentelemetry-js/pull/2625/files#diff-3891ba0d3add445a01ce7d91f4952f1c9df49a0cb7e9625d615be257f420e7f7R47
And there are test coverages: https://github.com/open-telemetry/opentelemetry-js/pull/2625/files#diff-95e2da7680fa6c3f0dbc3e43fc9ec175ebe45f651e9bfb8e18f31717f2347551R43

@open-telemetry/javascript-approvers Please take a look at this PR it is holding up other work until it can be merged


Make getMatches(final double[] vec, int maxNumMatches) public #6

Makes SearcherImpl.getMatches(double[], int) public and exposes it to the interface for matching words by a given vector.

Hi @guerda That seems fine. Would you mind adding a test in Word2VecTest.java about this newly exposed functionality? E.g. it can be something similar to Word2VecTest.testSearch() with input vector other than word.

Hi @yibinlin ! Thanks for the feedback! Of course, I will add one or two unit tests. I will push the changes on this branch, so that it will appear in this PR.

Hi @yibinlin !
I added a test case for the now public method. Seems fine on Travis.

@guerda Looks great! Merging it.
Thanks Philip!


ix-button [disable] is not working at the first load

What happened?
when a variable bind to [disabled] for ix-button, it is not work first load of the page.
After the page re-render then it works as expected.
// html file
  <ix-button
        class="submit-button"
        type="submit"
        variant="primary"
        [disabled]="disabled"
        id="button"
        #loginSubmit>
        {{ 'log-in' | translate }}
      </ix-button>

//component.ts
export class LoginComponent {
  constructor( ) { }
  disabled = true;

// it looks like: that is not correct

What type of frontend frameware are you seeing the problem on?
Angular
Which version of iX do you use?
v2.0.3
Code to produce this issue.
// xxx.component.ts
 disabled = true;

```html
// xxx.component.html
  <ix-button
        type="submit"
        variant="primary"
        [disabled]="disabled" // it should look disabled style
        id="button">
        {{ 'log-in' | translate }}
      </ix-button>

I wasn't able to reproduce the issue in versions 2.0.3 and 2.0.4. Could you please try again and provide more detailed information? The issue might be related to a part of your code that wasn't provided.

I update the library and the problem resolved,  thanks


Refactor the Relationship object: explicitly define and identify entities related to a road event

Background
The Relationship object (see #108 and #118 for the discussion on why it was added) is intended to be used to specify relationships between road events and other entities which facilitates grouping road events. The Relationship object appears on the RoadEvent as the value of the relationship property.
For usage examples, the Relationship object can be used to:

Indicate that multiple road events are part of the same project
Indicate that a road event is part of the same phase of the work zone
Show that one road event occurs physically before or after another in a sequence
Show that a detour road event is associated with a specific work zone road event
Indicate that a road event is one occurrence of work in a recurring work zone

Instead of defining all the use cases, the implementation of the Relationship object was very general, allowing the broadly defined parents/children and first/next relationships as a list of strings. I believe this is too general so it is difficult to use effectively.
For first/next, the description indicates the value of the strings must correspond to a road event ID within the same WZDx feed. Thus it is clear what the strings in the first/next properties refer to, though you have to read into the description to know this and examples to see how to use them "properly".
For parents/children, the value of the string can be anything. Thus there is no way for a consumer to know how to use the value. For example say one road event lists children as ["1412", "2233"]—there is no context to have any idea what this means. Maybe they are detours, the consumer could iterate through all detour road events and see if it matches, but what if it doesn't? That mean's they're some non-WZDx construct and without specific documentation from the producer it's impossible to use.
One way around this is the producer could have the string include what it is description, e.g. "project: 12312", but this is still producer-specific and not able to be processed effectively without coding rules for each producer based on documentation they provide, which defeats the purpose of a standard.
Thus, I think the Relationship object needs to be refactored to explicitly define relationships.
Proposed refactoring
At a high level, the proposed changes achieve the following:

Allow representing, per road event, a list of relationships between the road event and an explicitly defined and identified entity.

And that is accomplished through two changes (and all the sub-objects/types that come along with it):

Deprecate the relationship property on the RoadEvent
Add new related_entities property to the RoadEvent

This property name is more semantic because relationship is actually describing many relationships, and all the relationships are between the road event it occurs on and "other entities".
related_entities property on the RoadEvent object (replaces relationship)

Property Name
Value
Description
Conformance
Notes

related_entities
Array; [RelatedEntity object] (see below)
A list describing one or more entities which are related to this road event, such as a work zone project it is part of or another road event that occurs before or after it in sequence.
Optional

RelatedEntity Object
The RelatedEntity object is used to identify an entity that is related to a road event. The types of entities supported are detailed in the RelatedEntityType enumerated type (see below).
For example, a RelatedEntity can be used to show multiple road events are part of the same work zone project, relate a detour road event to the work zone road event the detour applies to, or identify a sequence of road events that make up a larger work zone.

Property Name
Value
Description
Conformance
Notes

type
RelatedEntityType enumerated type (see below)
The type of entity being identifed, such as a parent work zone project or next road event in sequence.
Required

entity_identifier
String
An identifier for the entity described by the type property.
Required

is_wzdx_feature_id
Boolean
A yes/no value indicating if the entity_identifier corresponds to the id property of a feature in the same WZDx feed.
Required

Used By

Property
Object

related_entities
RoadEvent

RelatedEntityType Enumerated Type
Describes a type of entity, such as a work zone project, work zone phase, or detour-type road event. The entity type does not need to correspond to an entity defined within a WZDx feed.

Value
Description

work-zone-project
A work zone project that one or more road events are part of.

work-zone-phase
A phase of a work zone that one or more road events are part of.

recurrent-work-zone
A recurring work zone that one or more road events are representations of an occurrence of work of.

first-road-event
The first road event in a sequence of road events that together describe a full work zone.

next-road-event
The next (subsequent) road event in a sequence of road events that together describe a full work zone.

detour-road-event
A road event describing a detour for a work-zone-type road event.

Used By

Property
Object

type
RelatedEntity

Next steps

Discuss the is_wzdx_feature_id; this could be removed and instead certain RelatedEntityType's indicate (business rule) that the entity_identifier is a WZDx feature's id.
How do we describe a RelatedEntityType to related a detour-type road event to the work zone it applies to (we have the other way via the detour-road-event)?
Are there any other RelatedEntityTypes we want to support?
Does anyone object to losing the flexibility allowed by the generic "parents" and "children" in the current specification?

The current Road Event object and the associated parent-child relationships appear fairly complex in the original specification, and it is not completely clear how exactly they will be implemented.  It would be helpful to clarify these objects and relationships in upcoming WZDX meetings.  Hopefully they can be specified in a simple way, so they are practical for vendors to implement.
From a vendor perspective, it is reasonable to track the roadway and direction for any piece of equipment, as well as its specific location.  So, if the intention of the roadway event object is simply to list a roadway, and direction, that seems quite reasonable.  However, the specification says that "A change in the lane configuration or roadway should result in creating a new road event, separating the work zone into multiple road events."  If this is the case, it appears to create a great deal of complexity, and also confusion about who will own and be responsible for maintaining this data.
Some things that appear is if they could add undue complexity:

If the same roadway segment is split into multiple events due to different lane configurations in different parts of the road, and then different pieces of equipment must be associated with each segment, this seems like a formula for confusion and unnecessary complexity.  A realistic application would simply be a parent-child relationship between a roadway/direction, and equipment on it, not a bunch of different segments of the same road.
If changes in the lane configuration or roadway trigger a new road event, who is responsible for maintaining that data?  When lane configurations are changed during construction, typically the DOT and contractor will be the ones tracking this, not the smart work zone vendor providing the feed.  So, how can this be properly maintained and communicated?  My experience is that in major highway construction projects, lane configurations change all the time.  So how can this be managed properly?

The definition of the LaneObjects for a particular road event is also unclear.  It does not seem that each individual vendor should be defining the roadway geometry.  This seems like a task for the DOT or other agency.  If so, do they simply submit a schema to the vendor for this data to be used in the WZDX.  How are these roadway definitions managed, and by whom?

@devorah-ql thanks for these inputs. Really helpful. I'll look forward to the discussion here and at the 9/23 meeting!

@devorah-ql thank you for your comments. Can you create a new issue that includes the questions in 2. which are not related to refactoring relationship object? I am afraid they will get lost here.

@devorah-ql also see #208 which may clarify the difference between the two feeds WZDx v4.0 will define: the WZDxFeed (work zone information) and the SwzDeviceFeed (field device information).

Resolved in #322.


The pretrained backbone checkpoints from UCN are unavailable now.

The url of https://drive.google.com/file/d/1O-ymMGD_qDEtYxRU19zSv17Lgg6fSinQ/view?usp=sharing is invalid.

Hi @felixpun
I encountered the same issue with the link provided.
Have you been able to locate the correct file or an alternative source for it?

The new Box link in their repo:  checkpoints

Thanks for the update! I was able to download the checkpoints from the provided link.


SSMS DOWNLOAD 2012

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 45daf2f0-bb22-338f-062b-a9fabcb71a92
Version Independent ID: b6e909fe-15d9-c1cf-c018-d4f6f36ff31f
Content: Download SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS)
Content Source: docs/ssms/download-sql-server-management-studio-ssms.md
Product: sql
Technology: ssms
GitHub Login: @erinstellato-ms
Microsoft Alias: erinstellato

Closing as duplicate of issue [8165] (https://github.com/MicrosoftDocs/sql-docs/issues/8165).

#please-close


THRIFT-3706: glib client/java server multiplexed improvements

Added crosstest support to prove the java Multiplexed server is backwards compatible with non-multiplexed clients when registering a default processor.  This proves that standard binary/compact/json clients can connect to a Multiplexed binary/compact/json server using new code added in THRIFT-2504.
Added SecondService as a second named service to the Java Multiplexed TestServer
Added multiplexed test support to c_glib test_client to test a second named service
Added testBinary(empty) and [-128..127] test cases to c_glib test_client
Changed the multiplexed protocol separator from a property to a constant
Changed ThriftProtocol to manage the lifetime of the Transport object it consumes
Changed ThriftProtocolDecorator to manage the lifetime of the Protocol object it consumes
Changed ThriftService to manage the transport, protocol, and handler objects it consumes
Fixed the dispose and finalize chain up in many places
Fixed ThriftServer Socket not working properly if the port number is > 32767
Fixed the lifetime of some objects in test_client

Build failure attributed to the fix for THRIFT-4076.  I reopened it, I will submit a PR for that and make sure it works, and then rebase this one to fix the Appveyor issue.

@gadLinux thank you for such a thorough review.  All good questions, hopefully my answers make sense.

Pushed an empty commit to get a clean CI build, despite the fact that the only Travis CI build failure was environmental (couldn't reach a docker server).

Thank you for answers I learnt a lot


cf_exporter does not read out more than one org/space

Hi,
I have configured the cf_exporter correctly, at least it is reading one organisation, one space and multiple applications. Now I have created more spaces and additional organisations, but I am still just able to see one org and one space respectively.
When reading out cf_space_info in Prometheus I also just can see:
cf_space_info{instance="localhost:9193",job="cf_exporter",space_id="c24f9f47-061c-49a6-ac27-c91a06ddacc5",space_name="development"}
The interesting thing is though, when I deploy/delete applications in the existing org/space combination, the the change is visible instantly.
Any idea what I am doing wrong?

@jhiemer Interesting, what cf_exporter version are you using? The one shipped with the prometheus bosh release?

@frodenas yes exactly 12.3.3.

I don't know what might happen. We're using that version on different customers and the exporter is reporting all orgs/spaces.
How are you authenticating? Using a client-id or via a username/password?

The firehose exporter is configured via client_id/client_secret and the cf_exporter is configured via username/password. To make it even more interesting:

That shows the right number of Orgs/Spaces/Apps etc.

@jhiemer I'm a bit confused now. That dashboard show the orgs/spaces from the cf_exporter (see the cf_summary.json dashboard), so where exactly did you see the discrepancy?

Yes you are correct, my initial description was unclear. When I look into the Dashboard Apps: System I see the discrepancy, with only 1 Org and 3 Applications.
These values are coming from the firehose_nozzle, correct?

The metrics come from the firehose_exporter, but if you're talking about the drop-down filters for the org and space, they come from the cf_exporter.
In order to appear at the filters, there should be an app at that org and space, otherwise, they are not showed. Look at the cf_apps_system.json dashboard, it is using the cf_application_info metric (that come from the cf_exporter) and is using the organization_name label.
Maybe you have just created the org and space but they didn't have any app assigned yet. Can you please try to push an app and see if the org and space then appears?

@jhiemer Did you see my previous comment? Have you checked if the newly created org and space has any app?

@frodenas yes still the same, deployed an application in Space, but it is not visible.

@frodenas coming back to this issue, I have tracked the cf_exporter now for a while and I can't see any errors. Is there any option for me to track down, why there so many information missing?

Just to confirm, that I have more than 100 orgs and more than 300 spaces and I can see all of it.

@shinji62 ok then it seems to be a configuration issue on my side. Would you mind sharing your configuration of the client in your CF deployment? I even started to use the admin of CF, but still have the same problem.

@jhiemer Ok, let's do some debugging:

Enable the debug level info at the cf_exporter job (manifest property cf_exporter.log_level). This will give us some info in case there's a problem.
Check the prometheus console (ip:9090) and at the graph, ran the query cf_space_info.
Add an space to your cf environment.
Repeat step 2. You should be able to see the new space. Be aware that prometheus must scrape the cf_exporter again, so it might take some minutes (depending on your prometheus configuration).
If step 4 doesn't show you the new space, ssh into the cf_exporter vm and check the logs at /var/vcap/sys/log/cf_exporter/*.log.

@jhiemer I'm closing this issue, if you still have problems and can provide some debug info, then we can reopen it.


Add Feature to Export Image as a PDF document

Hello, I would like to try to implement this using https://github.com/Hopding/pdf-lib.


Put k into environment for Byron-Shelley STSes

The k parameter used to be in environments of the Byron-Shelley era STSes, but it got removed and it was made a global constant instead. Put it back to the environment, but only in the executable model.

This is on hold until Clarke and Horlick confirm it's OK to proceed with it.

Nadales confirmed I should proceed: "Ok, Nicholas Clarke also approves adding k to the environment, so we should be good to go"

Nadales asked to add the following comment to environments where k needs to be added: "this is deemed to be a global constant that we temporarily put there"


merge: dev to master

:tada: This PR is included in version 0.116.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Code coverage and updated readme

Changes Unknown when pulling de89d9a983bb07cfeb27d9a5726d18249e94eed5 on coverage into ** on master**.

Changes Unknown when pulling de89d9a983bb07cfeb27d9a5726d18249e94eed5 on coverage into ** on master**.


Meteor 1.4

Deploying to Meteor runtime environment with CLI I get this error
/usr/local/lib/node_modules/modulus/node_modules/semver/semver.js:293
    throw new TypeError('Invalid Version: ' + version);
    ^

TypeError: Invalid Version: 1.4

    at new SemVer (/usr/local/lib/node_modules/modulus/node_modules/semver/semver.js:293:11)
    at compare (/usr/local/lib/node_modules/modulus/node_modules/semver/semver.js:566:10)
    at Function.gte (/usr/local/lib/node_modules/modulus/node_modules/semver/semver.js:615:10)
    at Project.isSupported (/usr/local/lib/node_modules/modulus/lib/controllers/project.js:771:17)
    at /usr/local/lib/node_modules/modulus/lib/controllers/project.js:246:34
    at tryToString (fs.js:414:3)
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:401:12)

Yeah same here  - i just upgraded Meteor to 1.4 and now stuck with modulus deployment issue :(
I just updated npm modulus package and still the same issue.

We need to convert Meteor's non-semver version string into something we can compare to our minimum supported 1.3. We'll get a patch out as soon as possible.

The issue is here:
> semver.get('1.4', '1.3.0')
TypeError: semver.get is not a function
    at repl:1:8
    at REPLServer.defaultEval (repl.js:262:27)
    at bound (domain.js:287:14)
    at REPLServer.runBound [as eval] (domain.js:300:12)
    at REPLServer.<anonymous> (repl.js:431:12)
    at emitOne (events.js:82:20)
    at REPLServer.emit (events.js:169:7)
    at REPLServer.Interface._onLine (readline.js:211:10)
    at REPLServer.Interface._line (readline.js:550:8)
    at REPLServer.Interface._ttyWrite (readline.js:827:14)

need to pad out the right side so we can expect x.x.x


Add linux installer repository status to https://status.adoptium.net

Title says it all. Given our recent outage with JFrog it woul dbe useful to detect if the repository is working.

@sxa done https://status.adoptium.net/


Update dependencies other than rails

Coverage remained the same at 87.671% when pulling 87bb09b7b181e3f8f8daa9e497e9f802a7df8b77 on updatedeps into c1a7f9bfbbfdf0b5dee388bc00eb01acd55b9bd0 on master.


Add check to Lifecycle for if a Location header has been sent

A pesky exit has been removed from AbstractLogic's redirect function to aid testability, but the Lifecycle needs to detect the header and exit early.

This is more of an issue with using headers() directly. Instead, we should expose the $response object, allowing for $this->response = $this->response->withHeader("Location", "/");.


Wrapping/Python/CMakeLists.txt: Fix CMake warning related to policy CMP0026

CMake Deprecation Warning at Wrapping/Python/CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0026 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

close by #279


Variable length patterns are not correctly mapped to relationship entities.

Hi guys,
When I use custom query in neo4j as below:
@Query("match (n:ResourceNode)-[r:ResourceNodeRelation*]-(m:ResourceNode) where n.globalResourceId={resourceId} return n AS resourceNodes,COLLECT(r) AS resourceNodeRelations, COLLECT(m) as relatedNodes")
PowerDeviceConnectResult getPowerDeviceConnectionByResourceId(@Param("resourceId") Long resourceId);

@Data
@QueryResult
public class PowerDeviceConnectResult {
    private ResourceNode resourceNodes;
    private Set<ResourceNode> relatedNodes;
    private Set<ResourceNodeRelation> resourceNodeRelations;
}

I can get the resourceNodes and relatedNodes, but resourceNodeRelations does not work
How can I get the Map of  RelationshipEntity
THX

Thanks, @wurangbo for bringing this to our attention.
This is a bug that is currently fixed. The fix will be available in 3.2.4 and 3.1.17.
For the time being, when you can do without a variable length relationship (match (n:ResourceNode)-[r:ResourceNodeRelation]-(m:ResourceNode) where n.globalResourceId={resourceId} return n AS resourceNodes,COLLECT(r) AS resourceNodeRelations, COLLECT(m) as relatedNodes instead of match (n:ResourceNode)-[r:ResourceNodeRelation*]-(m:ResourceNode) where n.globalResourceId={resourceId} return n AS resourceNodes,COLLECT(r) AS resourceNodeRelations, COLLECT(m) as relatedNodes) Notice the missing * in the first query, than it does work, but I guess you put the variable length pattern there for a reason.


Problem setting up Gradle for Eclipse.

I setup Eclipse Oxygen on Windos 7, and followed the Gradle install instructions, created the environment variables & added the Buildship Gradle Integration 2.0 plugin to Eclipse.  But when I try to create a new Gradle Project & click "Finish" nothing happens - even the dialog box does not close until I click "Cancel".  Any idea what I am doing wrong?

How does your build script look like? What Gradle tasks are you running?

@donat Do you have an idea what might be happening here?

I downloaded the Eclipse Oxygen zip package.  I thought I had to install Gradle on the laptop separately & c reeate JAVA_HOME & GRADLE_Home environment variables.  I also installed Spring Tool Suite & reinstalled Buildship Gradle Integration 2.0 thru the Eclipse Marketplace.

When I click the "Finish" button the dialog box does not close.  The dialog box never closes until I click "Cancel"

@wcdeich4 The root cause might be that your Eclipse is running on Java 9, which is not supported by the latest release. We fixed the problem in the latest 2.2 milestone and we'll soon publish the release.
In any case, you should be able to find a stack trace in the Gradle console:

Thank you.  After reinstalling Eclipse with the executable installer like @bmbaisch & downgrading to java 1.8 like @donat said, and re setting up the JAVA_HOME & GRADLE_HOME windows environment variables & manually overriding the settings in Eclipse... I was finally able to create a new Gradle Project in Eclipse inside a Windows 7 virtual machine.
BTW, I used to be a .NET developer until business needs pushed me into Java.  I have to say, it is hard to get used to such a heterogeneous environment where you depend on 3rd parties for really basic things, like dependency injection & things can suddenly stop working b/c Oracle did something to Java that broke the Gradle's.  I'm not saying it's your fault, I'm just saying, after using .NET where most everything you need is build in by Microsoft & if you chose to use 3rd party dependencies, the core system never depends on them - it's quite a shock dealing with Java.  Sorry;  just had to get that off my chest.


Bluetooth isochronous channels central_iso / peripheral_iso example not working reliable on nrf52840dk – packets not received/lost

Describe the bug
I tried the two examples: CENTRAL_ISO & PERIPHERAL_ISO
with two nrf52840, one running central and one running peripheral.
Problem:
Data stream on iso channel stops at some point.
Software flow:

Connection is established between central and peripheral.
ISO channel is connected succesfully.
Central starts data stream (all parameters from example left unchanged)
Peripheral receives some data and prints messages to console.
At some point (after few intervals) the peripheral is not receiving any more data, while central is still "sending".

I can extend data stream duration by increasing the channel interval.

What target platform are you using?
nRF52840

What have you tried to diagnose or workaround this issue?
I checked with Segger's Systemview and saw that the BT TX thread is called periodically on the central, but the BT RX thread is not called on the peripheral after data reception has stopped.

To Reproduce
Steps to reproduce the behavior:

Flash CENTRAL_ISO and PERIPHERAL_ISO to two seperate nrf52840DK Boards
Let them execute the app and observe received data on peripheral
See that no more data arrives after a certain point in time

Expected behavior
Reliable data stream on the Bluetooth LE Isochronous channel between the two devices.
Impact
As it works using the nRF Connect SDK 2.6.0 (SoftDevice Controller), this can be used as an alternative.
Logs and console output
CENTRAL
*** Booting Zephyr OS build v3.6.0-1517-g38ad4b6d43cf ***
[00:00:00.288,330] [0m<inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)[0m
[00:00:00.288,360] [0m<inf> bt_hci_core: HW Variant: nRF52x (0x0002)[0m
[00:00:00.288,391] [0m<inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.6 Build 99[0m
[00:00:00.289,093] [0m<inf> bt_hci_core: Identity: C1:E4:D9:06:37:ED (random)[0m
[00:00:00.289,123] [0m<inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1[0m
[00:00:00.289,154] [0m<inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff[0m
Bluetooth initialized
Scanning successfully started
Device found: C4:C7:C1:86:A3:3B (random) (RSSI -39)
Connected: C4:C7:C1:86:A3:3B (random)
ISO Channel 0x20001d00 connected

PERIPHERAL
00> *** Booting Zephyr OS build v3.6.0-1517-g38ad4b6d43cf ***
00> [00:00:00.479,125] <inf> fs_nvs: 8 Sectors of 4096 bytes
00> [00:00:00.479,125] <inf> fs_nvs: alloc wra: 0, fd0
00> [00:00:00.479,125] <inf> fs_nvs: data wra: 0, 1c
00> [00:00:00.481,109] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
00> [00:00:00.481,140] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
00> [00:00:00.481,170] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.6 Build 99
00> [00:00:00.481,567] <inf> bt_hci_core: No ID address. App must call settings_load()
00> [00:00:00.481,964] <inf> bt_hci_core: Identity: C4:C7:C1:86:A3:3B (random)
00> [00:00:00.481,994] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1
00> [00:00:00.482,025] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff
00> Bluetooth initialized
00> Advertising successfully started
00> added message from main
00> added message from main
00> added message from main
00> Connected C1:E4:D9:06:37:ED (random)
00> Incoming request from 0x20000eb8
00> ISO Channel 0x20000190 connected
00> Incoming data channel 0x20000190 len 1
00>    00
00> Incoming data channel 0x20000190 len 2
00>    0001
00> Incoming data channel 0x20000190 len 3
00>    000102
00> Incoming data channel 0x20000190 len 4
00>    00010203
00> Incoming data channel 0x20000190 len 5
00><PHONE_NUMBER>
00> Incoming data channel 0x20000190 len 6
00><PHONE_NUMBER>05
00> Incoming data channel 0x20000190 len 7
00>    000102...040506

...

00>    000102...565758
00> Incoming data channel 0x20000190 len 90
00>    000102...575859
00> Incoming data channel 0x20000190 len 91
00>    000102...58595a
00> Incoming data channel 0x20000190 len 92
00>    000102...595a5b
00> added message from main
00> added message from main
00> added message from main
00> added message from main
00> added message from main
00> added message from main

Environment (please complete the following information):

OS: Manjaro – Linux
zephyr-sdk-0.16.5-1
Zephyr 3.6.99

@Benni77 Please try with the below added in the central_iso's prj.conf
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
CONFIG_BT_CTLR_ISOAL_PSN_IGNORE=y

@Benni77 Please try with the below added in the central_iso's prj.conf

CONFIG_BT_CTLR_ADVANCED_FEATURES=y

CONFIG_BT_CTLR_ISOAL_PSN_IGNORE=y

Thanks for the answer! I will give it a try on Tuesday when holidays are over and I'm at work.
I'll let you know the result.

Hi @cvinayak,
I tried with the two configs added on central_iso. And it seems to work, as long as sent buf array is shorter than 247 (HCI ISO data pack size?). If buf array length > 247 it again stops streaming.
(main.c; L49)
static uint8_t buf_data[CONFIG_BT_ISO_TX_MTU]; stops streaming after message length 247
->
static uint8_t buf_data[247]; seems to work
Here are the logs on peripheral side:
00> *** Booting Zephyr OS build v3.6.0-1517-g38ad4b6d43cf ***
00> [00:00:00.259,277] <inf> fs_nvs: 8 Sectors of 4096 bytes
00> [00:00:00.259,277] <inf> fs_nvs: alloc wra: 0, fd0
00> [00:00:00.259,277] <inf> fs_nvs: data wra: 0, 1c
00> [00:00:00.261,291] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
00> [00:00:00.261,291] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
00> [00:00:00.261,322] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.6 Build 99
00> [00:00:00.261,718] <inf> bt_hci_core: No ID address. App must call settings_load()
00> [00:00:00.262,115] <inf> bt_hci_core: Identity: C4:C7:C1:86:A3:3B (random)
00> [00:00:00.262,145] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1
00> [00:00:00.262,176] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff
00> Bluetooth initialized
00> Advertising successfully started
00> Connected E1:51:F8:42:2D:51 (random)
00> Incoming request from 0x20000ec0
00> ISO Channel 0x20000190 connected
00> Incoming data channel 0x20000190 len 1
00>    00
00> Incoming data channel 0x20000190 len 2
00>    0001

...

00>    000102...f2f3f4
00> Incoming data channel 0x20000190 len 246
00>    000102...f3f4f5
00> Incoming data channel 0x20000190 len 247
00>    000102...f4f5f6

This should help:
CONFIG_BT_ISO_TX_MTU=247
CONFIG_BT_ISO_RX_MTU=247
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255

CONFIG_BT_CTLR_ADVANCED_FEATURES=y
CONFIG_BT_CTLR_ISOAL_PSN_IGNORE=y

I will investigate further if CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255  is the right value to be used.

Some samples have the below comment, but maybe the right thing is to have the increased bytes in the Controller's CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE` as done in this sample:
https://github.com/zephyrproject-rtos/zephyr/blob/ea995f6378f7f6a6f8b6b1f7df29e0af7437f7a1/samples/bluetooth/broadcast_audio_source/overlay-bt_ll_sw_split.conf#L17-L24
Host or Controller does not need any fix, the comment about fixing host should be removed? @Thalley ?

Some samples have the below comment, but maybe the right thing is to have the increased bytes in the Controller's CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE` as done in this sample:
https://github.com/zephyrproject-rtos/zephyr/blob/ea995f6378f7f6a6f8b6b1f7df29e0af7437f7a1/samples/bluetooth/broadcast_audio_source/overlay-bt_ll_sw_split.conf#L17-L24
Host or Controller does not need any fix, the comment about fixing host should be removed? @Thalley ?

As discussed previously I do think something needs to change so that CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE can default to CONFIG_BT_ISO_TX_MTU (or even just use CONFIG_BT_ISO_TX_MTU in the controller). In my mind that makes the most sense.

Some samples have the below comment, but maybe the right thing is to have the increased bytes in the Controller's CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE` as done in this sample:
https://github.com/zephyrproject-rtos/zephyr/blob/ea995f6378f7f6a6f8b6b1f7df29e0af7437f7a1/samples/bluetooth/broadcast_audio_source/overlay-bt_ll_sw_split.conf#L17-L24
Host or Controller does not need any fix, the comment about fixing host should be removed? @Thalley ?

As discussed previously I do think something needs to change so that CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE can default to CONFIG_BT_ISO_TX_MTU (or even just use CONFIG_BT_ISO_TX_MTU in the controller). In my mind that makes the most sense.
@rugeGerritsen You may also have some input here

This sounds like a good idea. The SoftDevice controller uses the MTU size for configuring memory buffer sizes: https://github.com/nrfconnect/sdk-nrf/blob/main/subsys/bluetooth/controller/hci_driver.c#L1104
Note: CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE needs to be set to CONFIG_BT_ISO_TX_MTU + 8 if you want to support sending HCI ISO packets with timestamp to the controller. The 8 corresponds to the ISO SDU header and timestamp size.


why docker run command under /bin/sh?????

why docker run command with default /bin/sh, why? why? why? , I think /bin/bash is good than /bin/sh, if you run under /bin/sh, some command will produce error. please tell me why docker run command with /bin/sh instead of /bin/bash??????

As a specific example - the busybox image doesn't have bash - the boot2docker iso doesn't have bash either sh exists and is the default for a reason.

The builder documentation already states that /bin/sh is used for commands which look like RUN foo.
I'll close this issue since the only reason for keeping it open was to make the needed changes to the docs.


fix: udf error ui

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

Why CI didn’t prevent the regression? Is this a flaky test..?

I believe this can be caused by CI infra's network configuration change.

Why CI didn’t prevent the regression? Is this a flaky test..?

Another CI test produced the old message: https://buildkite.com/risingwavelabs/pull-request/builds/56040#01916e22-fdda-4a17-aea8-bbd6e32453b0
I guess this is related to the network setup of the spot instance allocated for the CI pipeline.
Is it possible to support only to check the first several lines of the error message in sqllogictest?

https://github.com/risinglightdb/sqllogictest-rs#:~:text=single line error message

https://github.com/risinglightdb/sqllogictest-rs?tab=readme-ov-file#extension-run-a-querystatement-that-should-fail-with-the-expacted-error-message
yes

You mean using the regex match syntax?

This fix is not stable.
https://buildkite.com/risingwavelabs/pull-request/builds/56065#01916eab-d82b-4a03-8edf-cc6ab0baa0ac


Move AbstractRuleTestCase and TestHelper to src

Fixes #316

Thanks, @zacharylund
Can you try dev-main on your side and tell me if you have all the class you need ?


Custom metrics

Hi everyone! Thanks for the amazing project. I would like to know if Ackee can or will provide a way to add some custom metrics and create custom dashboards

Hey @robertsLando, glad you like Ackee! Do you have an example for "custom metrics"? There's an Events API that accepts various data. It might be what you're looking for.

(Closing the issue because of the lack of feedback)


VM time skew for files mounted from host Mac OS X file system

I like to edit my files on my Mac using Sublime and I generally run a docker container with Ubuntu 14.04 LTS running inside boot2docker which mounts the local filesystem to a mounting point in docker using the docker -v option like:
docker run -i -P --name opencog -v /Users/luz/opencog:/home/opencog/src/opencog c74b2d6df7d4

I'm using the dockerfile here:
https://github.com/opencog/opencog/blob/master/Dockerfile
Unfortunately, I constantly get make warnings like:
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
[ 92%] Built target opcHcTester
Scanning dependencies of target combo_shell
make[3]: Warning: File `opencog/embodiment/Control/Procedure/CMakeFiles/combo_shell.dir/depend.make' has modification time 0.74 s in the future

This appears to be because the date in the VM differs by some sub-second amount from the date in my OS, so when the file is written, the filesystem reports a creation date which is coming from the Mac's clock while make is running using the VM's clock. Whenever the date on the VM trails the date on my Mac I get this warning.
I've looked through past time skew issues, like #290,  which was solved by restarting ntpd in a cron job, in PR #661. That is not the same as this problem because this problem shows up no even when there is no sleep because make is sensitive to even sub-second clock differences between my Mac's date and the date in the boot2docker VM.
To work around this issue, I've even tried to build a script to set the date using boot2docker ssh to run the date command to synch up the VM. Unfortunately, the date command in boot2docker, which comes from BusyBox v1.22.1, doesn't take a format which includes milliseconds or nanoseconds, so I can't set the date with fine enough resolution to eliminate the skew.
We need a way of synching the dates to at least millisecond resolution, and preferably microsecond or nanosecond. The problem is not getting sufficient resolution from the Mac's date command, the problem is setting the date with enough resolution with the boot2docker VM. For example, I wrote a Python script that outputs the date and tried setting that via boot2docker shell like:
boot2docker ssh sudo date --set="2015-03-12 19:02:41.320"

but I get an error because the date command in boot2docker's VM doesn't support any format that includes better resolution than seconds.
BusyBox v1.22.1 (2014-04-04 15:16:09 UTC) multi-call binary.

Usage: date [OPTIONS] [+FMT] [TIME]

Display time (using +FMT), or set time

    [-s,--set] TIME Set time to TIME
    -u,--utc    Work in UTC (don't convert to local time)
    -R,--rfc-2822   Output RFC-2822 compliant date string
    -I[SPEC]    Output ISO-8601 compliant date string
            SPEC='date' (default) for date only,
            'hours', 'minutes', or 'seconds' for date and
            time to the indicated precision
    -r,--reference FILE Display last modification time of FILE
    -d,--date TIME  Display TIME, not 'now'
    -D FMT      Use FMT for -d TIME conversion

Recognized TIME formats:
    hh:mm[:ss]
    [YYYY.]MM.DD-hh:mm[:ss]
    YYYY-MM-DD hh:mm[:ss]
    [[[[[YY]YY]MM]DD]hh]mm[.ss]
    'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead

error in run: exit status 1

Same problem here!  I was going to compile an C program that is mounted from my Mac(specifically, shared from my mac to the VM and then mounted to the dev container).
Nothing goes wrong at first, but after I put my mac into sleep and came back, the warnings showed up. I tried to use touch filename to update the timestamp of those files in the warnings, but it didn't work.
I haven't tried the solution that use ntpclient to update the VM's timezone, since b2d doesn't come with the application management tools..

Have you tried to forward the time of the VM a little bit ahead of your host os?

Ah, good idea. That will probably work until the next time you wake when the code that synchs the VM time upon wake will recreate the problem again. Still, might be worth doing. Let me know what you command looks like if you do this. I'd want it to set the time only one second advanced as that will likely be sufficient.
Likewise, if I do implement this and it works, I'll post here again and let you know.
If it does work, I might make a pull-request for boot2docker itself for the code that does the wakeup synching to set it one second advanced there too as that would end up eliminating the problem completely for this case. I don't see any real downside to having the VM time be some portion of a second ahead of the Mac. Definitely better than having it be some portion of a second behind like it is now since I'm sure the case of editing on the Mac and compiling on the VM is far more common than vice-versa.

did you ever find a good solution to this?

+1

still trying to resolve this myself. (trying to compile freeradius inside a docker container - the code is mounted from the host).
the code is a github repo - so I suspect it may be git doing something.
getting errors like
"make: warning:  Clock skew detected.  Your build may be incomplete."
"has modification time 4.6e+02 s in the future"
was hoping that codekitchen/dinghy would help. it did speed up the compile a bit, but not the timestamp problems on the filesystem.
i've also read that vagrant or rsync may help - but having tried yet.

Seeing this with latest beta, eg repo: https://github.com/ianmiell/learn-git-the-hard-way

I'm copying the solution here as this this issue normally appears first in google for me. This can be fixed once by updating the clock in the docker VM using:
docker run --rm --privileged alpine hwclock -s

See this issue for more details: https://github.com/docker/for-mac/issues/17#issuecomment-290667509


[Docs] Peewee Tutorial

Background: https://airtable.com/tblD3oZPLJgGhCmch/viw1DKmbKhg2MIECH/recOxcYmSvhTwFrVO
Description: We now have a sample getting started guide for using this ORM.
Team: Andrew Woods, Rafi Shamim, Eric Harmeling

Peewee now supports CockroachDB. We should add it to the docs page.
https://www.cockroachlabs.com/blog/peewee-orm-cockroachdb/
http://docs.peewee-orm.com/en/latest/peewee/playhouse.html#cockroach-database


Support for DebugTag (RN39365)

In DataMiner 10.4.7, a DebugTag property is added on the UIBlockDefinition allowing to identify UI elements in automated tests. This has been added with RN39365

Hi Wouter, support for the DebugTag is available from 9.0.1 onwards. Thanks for keeping us aware of new updates.


https only over ssh reverse proxy does not work

hello!
Thank you for the nice library!
I'm running an http proxy like reverse dynamic forward, but the http method works but only https doesn't work.
When I specify the listener I created by listening with ssh client and start the Proxy with http.Serve, I am having a hard time because the CONNECT method and subsequent methods do not work.
https://github.com/blacknon/go-sshlib/blob/c11e670601125a5d7d9b33a760b4062388ede9b2/forward.go#L331-L356
// HTTPReverseDynamicForward reverse forwarding http data.
// Like Reverse Dynamic forward (`ssh -R <port>`). but use http proxy.
func (c *Connect) HTTPReverseDynamicForward(address, port string) (err error) {
	// create http proxy. use goproxy
	httpProxy := goproxy.NewProxyHttpServer()

	// set dial
	httpProxy.ConnectDial = func(n, addr string) (net.Conn, error) {
		return net.Dial(n, addr)
	}

	// create listener
	listener, err := c.Client.Listen("tcp", net.JoinHostPort(address, port))
	if err != nil {
		return
	}

	// set logger
	httpProxy.Verbose = true
	httpProxy.Logger = c.getDynamicForwardLogger()

	// listen
	err = http.Serve(listener, httpProxy)
	return
}

If you use net.Listen on the local side instead of on the ssh server side, it will work fine with https.
Is something missing?
I would be grateful if you could give me some advice.
The version used is the master branch as of 2024/04/27.

Upon investigation, it appears that the program is getting stuck at the execution of http.Hijacker's Hijack() function. It behaves as if it's waiting, resembling a buffer-like behavior, but it's not clear exactly what's happening.
https://github.com/elazarl/goproxy/blob/3ec07828be7ac4d84b1561216ae707dc12b2739a/https.go#L109

Is this issue still present?


[Feature] Recursive Queries

Feature request
Is your feature request related to a problem? Please describe.
There are many use cases in which tables are self referential and the only way to evaluate the contents of the table is to iteratively recurse through the table. This is only possible in SQL with a recursive SQL statement otherwise you must resort to external processing or acknowledge limitations in SQL implementation. This is a very common batch processing use case for hierarchical which StarRocks should support.
Describe the solution you'd like
Support the following SQL syntax:
WITH RECURSIVE < cte-name > AS (
    ...
)

Describe alternatives you've considered
N/A
Additional context
This is supported by almost all major modern databases:

mysql: https://dev.mysql.com/doc/refman/8.0/en/with.html#common-table-expressions-recursive
postgres: https://www.postgresql.org/docs/current/queries-with.html#QUERIES-WITH-RECURSIVE
clickhouse: https://clickhouse.com/docs/en/sql-reference/statements/select/with#recursive-queries
snowflake: https://docs.snowflake.com/en/user-guide/queries-cte#recursive-ctes-and-hierarchical-data

Past issues have been marked as stale and closed:

https://github.com/StarRocks/starrocks/issues/34616
https://github.com/StarRocks/starrocks/issues/16213

Has been asked for in the past:

https://github.com/StarRocks/starrocks/issues/16445#issuecomment-1731183360

This is a significant gap in functionality to replace other SQL-based query systems.  Needing to traverse a hierarchy (e.g. employee-manager chains) is a relatively common need.

+1


JAVA-444: Add process information to UUID LSB

Java-444
For relevant discussion see also respective ticket for C*: CASSANDRA-7925

Yes, I agree that we need to address this.
Since using getRuntimeMXBean is not an "official" way to get the PID, I'd like to add the following:

extract the actual number from the bean name, and log it at DEBUG level
if the bean name has an unexpected format or an exception is thrown, fallback to the random number, but also log a WARN message
allow the pid to be overridden by a system property (e.g. com.datastax.driver.PID). It would probably be a good idea to also mention that property in the warn message above.

@pmaedel, do you have time to take a look at this?

Well there is no single official way to get the PID, up until Java 9
With that in mind, I think we should go for the same solution as C*
@olim7t, could you add your proposal to CASSANDRA-7925 as well?

C* uses Sigar to get the PID, amongst other things. That works well for them because Cassandra is a standalone program, they just need to include all Sigar files in the binary distribution and it's easy to reference them.
In our case it's a bit more complicated because the driver uses Maven for dependencies. Sigar is present in Maven central, but apparently it was deployed by a third party and I see a number of problems with it:

not all platform-specific binaries are present (compare the list to what's present in Cassandra)
some files in the repo don't follow Maven naming conventions, so I don't see how they could be referenced from our POM. For example: http://repo1.maven.org/maven2/org/fusesource/sigar/1.6.4/libsigar-universal64-macosx-1.6.4.dylib
there's also a sigar-native.jar file containing all the platform-specific binaries, but it's not usable as-is, i.e. we can't just include it in our POM and expect Sigar to load from it. Apparently you're supposed to extract the files in a directory and pass the path as a system property, again something that's fine for a standalone program but not for a library like the driver.

Long story short, I think Sigar is too complicated for the driver, the getRuntimeMXBean solution should be good enough for most cases, provided we take the few precautions I outlined in my previous message.

@olim7t Thank you for elaborating. I agree with your reasoning and will look into the proposed adjustments asap.

Closing in favor of #593.


[Feature] Support JSON Resume Schema

Describe the solution you'd like
Implement a JSON import utility that can import external JSON data in JSON resume schema.

https://jsonresume.org/schema/


Initial Toolbar support + example + various module name refactor fixes

Also added default window size (300, 200) and position (center)

Cheers!

Thanks :+1:


Add kevq.uk

Hopefully my site qualifies for the 250KB club. :-)
According to GTMetrix, my homepage is ~30KB.
https://gtmetrix.com/reports/kevq.uk/moMheDKr/
Thanks!

I love that oldschool addressbook. Congrats also to be #100!

I love that oldschool addressbook. Congrats also to be #100!


Optimize query time to seconds

I want to ask a question. Do you have any optimization suggestions?
There is a unified_native_transfer(block_number,block_hash,block_time,tx_hash,from,to,value,amount,transfer_type,_version,_sign) table with<PHONE_NUMBER> pieces of data.
The requirements are queried based on the from and to fields for details. The query now takes 16 minutes. Then did stats optimization. The query takes 6 minutes.
We want to achieve second-level queries. The following optimizations have been made.
create table v1_ethereum.unified_native_transfer_address_linked_1
(
linked_address String,
block_number UInt64,
block_hash String,
block_time DateTime('UTC'),
tx_hash String,
from String,
to String,
value Decimal(38, 0),
amount Decimal(76, 18),
transfer_type String,
_version UInt8,
_sign Int8
)
ENGINE = CnchMergeTree()
CLUSTER BY (linked_address) INTO 24 BUCKETS
PRIMARY KEY (linked_address, block_number, block_time, from, to, _version, _sign)
ORDER BY (linked_address, block_number, block_time, from, to, _version, _sign)
PARTITION BY (toYYYYMM(block_time))
SETTINGS storage_policy = 's3';
The from to field was extracted into the linked_address field, and the linked_address field was used for bucket storage and primary key. It took 11 minutes to perform the stats query. The current resources are 12 reader nodes, each 8core, 32g
I would like to ask if you have any experience or suggestions?

The SQL statement before optimization is:
select block_number, block_hash, block_time, tx_hash, from, to, value, amount, transfer_type, _version
from  unified_native_transfer_address_linked
where from = '0XXXXXX'
or to = '0XXXXXX'
group by block_number, block_hash, block_time, tx_hash, from, to, value, amount, transfer_type, _version
having sum(_sign) > 0.
The optimized query statement is:
select  block_number, block_hash, block_time, tx_hash, from, to, value, amount, transfer_type, _version
from  unified_native_transfer_address_linked_1 where linked_address= '0XXXXXX'   group by block_number, block_hash, block_time, tx_hash, from, to, value, amount, transfer_type, _version
having sum(_sign) > 0.

could u enable optimzier and run explain analyze SQL to check the time of each step

Turn on Optimizer and run Explain syntax: https://byconity.github.io/docs/advanced-guide/query-optimiser

Turn on Optimizer and run Explain syntax: https://byconity.github.io/docs/advanced-guide/query-optimiser

Using byconity/byconity:0.1.2 DOCKER image.
When executing EXPLAIN ANALYZE LOGICAL, Syntax error: failed at position 17 ('LOGICAL') (line 1, col 17) is thrown:

Same error

I tired on recent byconity, it‘s okay. Let me check older versions

it's a bug. In the new version it should be fixed.
There is no much room for schema optimization.

Is there a new version of Docker Image？

The bug has been fixed. Please run the analyze sql can update the result here.