text:
[Regression] [pilot] altool failure causes upload_to_testflight to stall

New Regression Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Regression Information

Breaking version: 2.210.1 (Xcode 14)
Last working version: 2.204.3 (Xcode 13.4.1)

Regression Description

Ever since updating to Xcode 14.1 and the latest version of fastlane, uploads to App Store Connect consistently succeed for one bundle ID, but consistently fail to two others (though they do succeed when the machine is freshly started!). This manifests by the process stalling on
[18:08:22]: --- Step: upload_to_testflight ---
[18:08:22]: ----------------------------------
[18:08:22]: Creating authorization token for App Store Connect API
[18:08:22]: Ready to upload new build to TestFlight (App: ------)...
[18:08:22]: Going to upload updated app to App Store Connect
[18:08:22]: This might take a few minutes. Please don't interrupt the script.

As I understand it, the latest fastlane now uses altool rather than iTMSTransporter, but the altool code path seems to fall over when an error is throws, as the report.xml file (which is the only log I can find) reports the following stack trace:

/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/actions/actions_helper.rb:67:in `execute_action'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:229:in `chdir'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
Fastfile:377:in `block (2 levels) in parsing_binding'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/lane.rb:33:in `call'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:45:in `chdir'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/runner.rb:45:in `execute'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
/opt/homebrew/lib/ruby/gems/3.1.0/gems/fastlane-2.210.1/bin/fastlane:23:in `'
/opt/homebrew/lib/ruby/gems/3.1.0/bin/fastlane:25:in `load'
/opt/homebrew/lib/ruby/gems/3.1.0/bin/fastlane:25:in `'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli/exec.rb:58:in `load'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli/exec.rb:58:in `kernel_load'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli/exec.rb:23:in `run'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli.rb:484:in `exec'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli.rb:31:in `dispatch'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/cli.rb:25:in `start'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/gems/3.1.0/gems/bundler-2.3.7/libexec/bundle:48:in `block in '
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/3.1.0/bundler/friendly_errors.rb:103:in `with_friendly_errors'
/opt/homebrew/Cellar/ruby/3.1.1/lib/ruby/gems/3.1.0/gems/bundler-2.3.7/libexec/bundle:36:in `'
/opt/homebrew/bin/bundle:25:in `load'
/opt/homebrew/bin/bundle:25:in `'
undefined method `zero?' for nil:NilClass
  @errors << "The call to the altool completed with a non-zero exit status: #{exit_status}. This indicates a failure." unless exit_status.zero?
                                                                                ^^^^^^```</pre>

Fixing this would allow fastlane to report the error rather than stall, helping developers like me debug our sporadic app-specific issues 😅
Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
12.6

Ruby
3.1.1

Bundler?
true

Git
git version 2.37.1 (Apple Git-137.1)

Installation Source
/opt/homebrew/lib/ruby/gems/3.1.0/bin/fastlane

Host
macOS 12.6 (21G115)

Ruby Lib Dir
/opt/homebrew/Cellar/ruby/3.1.1/lib

OpenSSL Version
OpenSSL 1.1.1m  14 Dec 2021

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

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

Xcode Version
14.1

Swift Version
5.7.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
default_platform(:ios)

platform :ios do
  before_all do
    ENV["SLACK_URL"] = ENV["SLACK_URL_NOTICE"]
  end

  desc "Upload a new beta build to TestFlight"

  lane :version_bump do
    skip_docs
    version_number = increment_version_number(xcodeproj: "./---.xcodeproj", bump_type: "minor")
    build_number = increment_build_number(xcodeproj: "./---.xcodeproj", build_number: "4")
    clean_build_artifacts
    # TODO: Create a commit and PR automatically
  end

  lane :update_min_version do
    skip_docs
    version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    build_number = get_build_number(xcodeproj: "./---.xcodeproj")
    version_string = "#{version_number}-#{build_number}"
    puts "Setting Launch Darkly ios-app-minimum-supported-version: #{version_string}"
    sh("../tools/update_launchdarkly_variable.zsh", "ios-app-minimum-supported-version", version_string)
  end

  lane :beta do

    api_key = app_store_connect_api_key(
      issuer_id: ENV["APP_STORE_CONNECT_ISSUER_ID"],
      key_id: ENV["APP_STORE_CONNECT_KEY_ID"],
      key_content: ENV["APP_STORE_CONNECT_KEY_BASE64"], # encode with `base64 AuthKey.p8`
      is_key_content_base64: true,
      in_house: false
    )

    create_keychain(
      name: "keychain",
      password: "---",
      default_keychain: true,
      lock_when_sleeps: false,
      unlock: true,
      timeout: 3600,
    )
    match(
      type: 'appstore',
      readonly: true,
      shallow_clone: true,
      clone_branch_directly: true,
      git_private_key: ENV["MATCH_SSH_KEY"],
      keychain_name: "keychain",
      keychain_password: "---",
      app_identifier: [
        "---",
      ],
    )

    prev_build_number = latest_testflight_build_number(
      app_identifier: "---",
      api_key: api_key,
    )
    prev_version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    prev_tag = "builds/iosbeta/#{prev_version_number}-#{prev_build_number}"

    unless git_tag_exists(tag: prev_tag)
      prev_tag = last_git_tag(pattern: "builds/iosbeta/*")
    end

    build_number = increment_build_number(
      build_number: prev_build_number + 1,
      xcodeproj: "---.xcodeproj"
    )
    version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    version_string = "#{version_number}-#{build_number}"

    changes = changelog_from_git_commits(between: [prev_tag, "HEAD"], pretty: "• *%aN:* %s — _[%h](https://github.com/---/commit/%H)_")
    ENV["SLACK_URL"] = ENV["SLACK_URL_NOTICE"]
    slack(
      pretext: "🛠 Fastlane: Starting to build:`Version #{version_number} (#{build_number})`!",
      channel: "#ios-engineering",
      payload: {
        "Build Date" => Time.new.to_s,
        "Changes" => changes,
      }
    )

    # Prep the public app first.
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )

    build_app(
      scheme: "---",
      configuration: "Release",
      derived_data_path: "./output",
      output_directory: "./output",
      archive_path: "./output/Archive",
    )

    upload_to_testflight(
      api_key: api_key,
      app_identifier: "---",
      changelog: "• Minor bugfixes and improvements.",
      skip_waiting_for_build_processing: true
    )

    # Set the version explicitly in the Info.plist so Shake can parse it
    increment_version_number(
      version_number: version_number,
      xcodeproj: "./---.xcodeproj"
    )

    # download_dsyms(version: "latest") # if bitcode is enabled
    upload_symbols_to_shake(
      client_id: ENV["SHAKE_CLIENT_ID"],
      client_secret: ENV["SHAKE_CLIENT_SECRET"],
      bundle_id: "---",
      plist_path: "---/Info.plist"
    )

    # Next, prep the unlisted version.
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "OneSignalNotificationServiceExtension",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )

    build_app(
      scheme: "---",
      configuration: "Unlisted",
      derived_data_path: "./output",
      output_directory: "./output",
      archive_path: "./output/Archive",
    )

    upload_to_testflight(
      api_key: api_key,
      app_identifier: "---",
      changelog: "• Minor bugfixes and improvements.",
      skip_waiting_for_build_processing: true
    )

    # Add Git tags for the uploaded build
    tag = "builds/iosbeta/#{version_number}-#{build_number}"
    add_git_tag(tag: tag)
    push_git_tags

    # Update launch darkly with new version
    puts "Setting Launch Darkly Latest version to: #{version_string}"
    sh("../tools/update_launchdarkly_variable.zsh", "ios-latest-app-version", version_string)

    ENV["SLACK_URL"] = ENV["SLACK_URL_SUCCESS"]
    slack(
      pretext: "🚀 Fastlane: New Testflight build available:`Version #{version_number} (#{build_number})`!",
      channel: "#ios",
      success: true,
      default_payloads: ["lane"],
      payload: {
        "Build Date" => Time.new.to_s,
        "Changes" => changes,
      }
    )

    # Set the version explicitly in the Info.plist so Shake can parse it
    increment_version_number(
      version_number: version_number,
      xcodeproj: "./---.xcodeproj"
    )

    # download_dsyms(version: "latest") # if bitcode is enabled
    upload_symbols_to_shake(
      client_id: ENV["SHAKE_CLIENT_ID"],
      client_secret: ENV["SHAKE_CLIENT_SECRET"],
      bundle_id: "---",
      plist_path: "---/Info.plist"
    )
  end

  error do |lane, exception|
    ENV["SLACK_URL"] = ENV["SLACK_URL_NOTICE"]
    slack(
      message: "💥 iOS Fastlane failed for lane: #{lane}!",
      channel: "#ios-engineering",
      success: false,
      payload: {
        "Build Date" => Time.new.to_s,
      }
    )
  end

  lane :prs do

    api_key = app_store_connect_api_key(
      issuer_id: ENV["APP_STORE_CONNECT_ISSUER_ID"],
      key_id: ENV["APP_STORE_CONNECT_KEY_ID"],
      key_content: ENV["APP_STORE_CONNECT_KEY_BASE64"], # encode with `base64 AuthKey.p8`
      is_key_content_base64: true,
      in_house: false
    )

    create_keychain(
      name: "keychain",
      password: "---",
      default_keychain: true,
      lock_when_sleeps: false,
      unlock: true,
      timeout: 3600,
    )
    match(
      type: 'appstore',
      readonly: true,
      shallow_clone: true,
      clone_branch_directly: true,
      git_private_key: ENV["MATCH_SSH_KEY"],
      keychain_name: "keychain",
      keychain_password: "---",
      app_identifier: [
        "---",
      ],
    )

    version_number = increment_version_number(
      xcodeproj: "---.xcodeproj",
      version_number: ENV["PR_NUMBER"]
    )
    build_number = increment_build_number(
      xcodeproj: "---.xcodeproj",
      build_number: ENV["PR_NUMBER"] + "." + ENV["RUN_NUMBER"]
    )

    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "OneSignalNotificationServiceExtension",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )

    build_app(
      scheme: "---",
      configuration: "Internal",
      derived_data_path: "./output",
      output_directory: "./output",
      archive_path: "./output/Archive",
    )

    changelog = "PR: " + ENV["PR_TITLE"] + " (#" + ENV["PR_NUMBER"] + ")\n→ " + ENV["PR_BRANCH"] + "\n\n"
    changelog += changelog_from_git_commits(
      between: ["origin/main", "HEAD"],
      pretty: "• %aN: %s",
      merge_commit_filtering: "exclude_merges",
    )

    upload_to_testflight(
      api_key: api_key,
      app_identifier: "---",
      changelog: changelog,
      skip_waiting_for_build_processing: true
    )
  end

  lane :public_nightly do
    api_key = app_store_connect_api_key(
      issuer_id: ENV["APP_STORE_CONNECT_ISSUER_ID"],
      key_id: ENV["APP_STORE_CONNECT_KEY_ID"],
      key_content: ENV["APP_STORE_CONNECT_KEY_BASE64"], # encode with `base64 AuthKey.p8`
      is_key_content_base64: true,
      in_house: false
    )

    create_keychain(
      name: "keychain",
      password: "---",
      default_keychain: true,
      lock_when_sleeps: false,
      unlock: true,
      timeout: 3600,
    )
    match(
      type: 'appstore',
      readonly: true,
      shallow_clone: true,
      clone_branch_directly: true,
      git_private_key: ENV["MATCH_SSH_KEY"],
      keychain_name: "keychain",
      keychain_password: "---",
      app_identifier: [
        "---",
      ],
    )

    prev_build_number = latest_testflight_build_number(
      app_identifier: "---",
      api_key: api_key,
    )
    prev_version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    prev_tag = "builds/iosbeta/#{prev_version_number}-#{prev_build_number}"

    unless git_tag_exists(tag: prev_tag)
      prev_tag = last_git_tag(pattern: "builds/iosbeta/*")
    end

    build_number = increment_build_number(
      build_number: prev_build_number + 1,
      xcodeproj: "---.xcodeproj"
    )
    version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    version_string = "#{version_number}-#{build_number}"

    changes = changelog_from_git_commits(between: [prev_tag, "HEAD"], pretty: "• *%aN:* %s — _[%h](https://github.com/---/commit/%H)_")
    ENV["SLACK_URL"] = ENV["SLACK_URL_NOTICE"]
    slack(
      pretext: "🛠 Fastlane: Starting to build:`Version #{version_number} (#{build_number})`!",
      channel: "#ios-engineering",
      payload: {
        "Build Date" => Time.new.to_s,
        "Changes" => changes,
      }
    )

    # Prep the public app first.
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "OneSignalNotificationServiceExtension",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )

    build_app(
      scheme: "---",
      configuration: "Release",
      derived_data_path: "./output",
      output_directory: "./output",
      archive_path: "./output/Archive",
    )

    upload_to_testflight(
      api_key: api_key,
      app_identifier: "---",
      changelog: "• Minor bugfixes and improvements.",
      skip_waiting_for_build_processing: true
    )

    # Set the version explicitly in the Info.plist so Shake can parse it
    increment_version_number(
      version_number: version_number,
      xcodeproj: "./---.xcodeproj"
    )

    # download_dsyms(version: "latest") # if bitcode is enabled
    upload_symbols_to_shake(
      client_id: ENV["SHAKE_CLIENT_ID"],
      client_secret: ENV["SHAKE_CLIENT_SECRET"],
      bundle_id: "---",
      plist_path: "---/Info.plist"
    )
  end

  lane :unlisted_nightly do
    api_key = app_store_connect_api_key(
      issuer_id: ENV["APP_STORE_CONNECT_ISSUER_ID"],
      key_id: ENV["APP_STORE_CONNECT_KEY_ID"],
      key_content: ENV["APP_STORE_CONNECT_KEY_BASE64"], # encode with `base64 AuthKey.p8`
      is_key_content_base64: true,
      in_house: false
    )

    create_keychain(
      name: "keychain",
      password: "---",
      default_keychain: true,
      lock_when_sleeps: false,
      unlock: true,
      timeout: 3600,
    )
    match(
      type: 'appstore',
      readonly: true,
      shallow_clone: true,
      clone_branch_directly: true,
      git_private_key: ENV["MATCH_SSH_KEY"],
      keychain_name: "keychain",
      keychain_password: "---",
      app_identifier: [
        "---",
      ],
    )

    # Use the same build number as the public build. This lane usually runs right after it finishes uploading.
    build_number = latest_testflight_build_number(
      app_identifier: "---",
      api_key: api_key,
    )
    prev_tag = last_git_tag(pattern: "builds/iosbeta/*")

    increment_build_number(
      build_number: build_number,
      xcodeproj: "---.xcodeproj"
    )
    version_number = get_version_number(xcodeproj: "./---.xcodeproj", target: "---")
    version_string = "#{version_number}-#{build_number}"

    changes = changelog_from_git_commits(between: [prev_tag, "HEAD"], pretty: "• *%aN:* %s — _[%h](https://github.com/---/commit/%H)_")

    # Prep the public app first.
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "---",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "---.xcodeproj",
      targets: "OneSignalNotificationServiceExtension",
      code_sign_identity: "iPhone Distribution",
      profile_name: "---",
    )

    build_app(
      scheme: "---",
      configuration: "Unlisted",
      derived_data_path: "./output",
      output_directory: "./output",
      archive_path: "./output/Archive",
    )

    upload_to_testflight(
      api_key: api_key,
      app_identifier: "---",
      changelog: "• Minor bugfixes and improvements.",
      skip_waiting_for_build_processing: true
    )

    # Set the version explicitly in the Info.plist so Shake can parse it
    increment_version_number(
      version_number: version_number,
      xcodeproj: "./---.xcodeproj"
    )

    # Add Git tags for the uploaded build
    tag = "builds/iosbeta/#{version_number}-#{build_number}"
    add_git_tag(tag: tag)
    push_git_tags

    # Update launch darkly with new version
    puts "Setting Launch Darkly Latest version to: #{version_string}"
    sh("../tools/update_launchdarkly_variable.zsh", "ios-latest-app-version", version_string)

    ENV["SLACK_URL"] = ENV["SLACK_URL_SUCCESS"]
    slack(
      pretext: "🚀 Fastlane: New Testflight build available:`Version #{version_number} (#{build_number})`!",
      channel: "#ios",
      success: true,
      default_payloads: ["lane"],
      payload: {
        "Build Date" => Time.new.to_s,
        "Changes" => changes,
      }
    )

    # Set the version explicitly in the Info.plist so Shake can parse it
    increment_version_number(
      version_number: version_number,
      xcodeproj: "./---.xcodeproj"
    )

    # download_dsyms(version: "latest") # if bitcode is enabled
    upload_symbols_to_shake(
      client_id: ENV["SHAKE_CLIENT_ID"],
      client_secret: ENV["SHAKE_CLIENT_SECRET"],
      bundle_id: "---",
      plist_path: "---/Info.plist"
    )
  end
end

`./fastlane/Appfile`
app_identifier("---")
apple_id("---")
itc_team_id("---")
team_id("---")

for_lane :prs do
  app_identifier("---")
end

for_lane :public_nightly do
  app_identifier("---")
end

for_lane :unlisted_nightly do
  app_identifier("---")
end

fastlane gems

Gem
Version
Update-Status

fastlane
2.210.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-upload_symbols_to_shake
1.1.1
✅ Up-To-Date

Loaded gems

Gem
Version

error_highlight
0.3.0

did_you_mean
1.6.1

bundler
2.3.7

pathname
0.2.0

rake
13.0.6

rexml
3.2.5

CFPropertyList
3.0.5

public_suffix
5.0.0

addressable
2.8.1

artifactory
3.0.15

atomos
0.1.3

aws-eventstream
1.2.0

aws-partitions
1.648.0

aws-sigv4
1.5.2

jmespath
1.6.1

aws-sdk-core
3.162.0

aws-sdk-kms
1.58.0

aws-sdk-s3
1.115.0

babosa
1.0.4

claide
1.1.0

colored
1.2

colored2
3.1.2

highline
2.0.3

commander
4.6.0

declarative
0.0.20

digest-crc
0.6.4

unf_ext
0.0.8.2

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.8.1

emoji_regex
3.2.3

excon
0.93.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

multipart-post
2.0.0

faraday-multipart
1.0.4

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.10.2

http-cookie
1.0.5

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

jwt
2.5.0

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.17.0

googleauth
1.3.0

httpclient
2.8.3

mini_mime
1.1.2

trailblazer-option
0.1.2

uber
0.1.0

representable
3.2.0

retriable
3.1.2

webrick
1.7.0

google-apis-core
0.9.1

google-apis-androidpublisher_v3
0.29.0

google-apis-playcustomapp_v1
0.11.0

google-apis-iamcredentials_v1
0.15.0

google-apis-storage_v1
0.19.0

google-cloud-env
1.6.0

google-cloud-errors
1.3.0

google-cloud-core
1.6.0

google-cloud-storage
1.43.0

json
2.6.2

mini_magick
4.11.0

naturally
2.2.1

optparse
0.1.1

plist
3.6.0

rubyzip
2.3.2

security
0.1.3

simctl
1.6.8

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

nanaimo
0.3.0

xcodeproj
1.22.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.1

fastlane-plugin-upload_symbols_to_shake
1.1.1

generated on: 2022-10-29

Said in other words...
These two blocks of code look different, but I don't know ruby, so no clue if it actually impacts anything 😅
Good? https://github.com/fastlane/fastlane/blob/9db0159cba89885c5d760294e8c6c7e696bba031/fastlane_core/lib/fastlane_core/itunes_transporter.rb#L70-L87
Bad: https://github.com/fastlane/fastlane/blob/9db0159cba89885c5d760294e8c6c7e696bba031/fastlane_core/lib/fastlane_core/itunes_transporter.rb#L233-L246

This is still an issue for us on one of our older systems (stuck on macOS 12), though it seems altool no longer errors out on Ventura.


text:
Couldn't find app on the account of on App Store Connect

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues (Similar issue but not helping)

I'm trying to use Fastlane to submit Two apps to Appstore, the first app is getting submitted successfully, but the second one returns the following issue
Couldn't find app '{App-identifier}' on the account of '{my account}' on App Store Connect
This error comes from the following command:
upload_to_testflight(
    app_identifier: "{App-identifier}",
)

🚫 fastlane environment 🚫
Stack

Key
Value

OS
12.6

Ruby
3.1.2

Bundler?
false

Git
git version 2.33.0

Installation Source
/usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane

Host
macOS 12.6 (21G115)

Ruby Lib Dir
/usr/local/Cellar/ruby/3.1.2_1/lib

OpenSSL Version
OpenSSL 1.1.1q  5 Jul 2022

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
{path-to-xcode}

Xcode Version
14.0

Swift Version
5.7

System Locale

Error

No Locale with UTF8 found 🚫

fastlane gems

Gem
Version
Update-Status

fastlane
2.211.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-flutter_version
1.1.15
✅ Up-To-Date

Loaded gems

Gem
Version

error_highlight
0.3.0

did_you_mean
1.6.1

atomos
0.1.3

rexml
3.2.5

CFPropertyList
3.0.5

claide
1.1.0

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.22.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
5.0.0

addressable
2.8.1

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

excon
0.94.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

faraday-multipart
1.0.4

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.10.2

unf_ext
0.0.8.2

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.5

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

json
2.6.1

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.8.1

bundler
2.3.11

simctl
1.6.8

jwt
2.5.0

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.2

representable
3.2.0

retriable
3.1.2

mini_mime
1.1.2

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.17.0

googleauth
1.3.0

httpclient
2.8.3

webrick
1.7.0

google-apis-core
0.9.1

google-apis-playcustomapp_v1
0.12.0

google-apis-androidpublisher_v3
0.31.0

google-cloud-env
1.6.0

google-cloud-errors
1.3.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.16.0

google-apis-storage_v1
0.19.0

rake
13.0.6

digest-crc
0.6.4

google-cloud-storage
1.44.0

emoji_regex
3.2.3

jmespath
1.6.1

aws-partitions
1.660.0

aws-eventstream
1.2.0

aws-sigv4
1.5.2

aws-sdk-core
3.167.0

aws-sdk-kms
1.59.0

aws-sdk-s3
1.117.1

set
1.0.2

forwardable
1.3.2

logger
1.5.0

pathname
0.2.0

shellwords
0.1.0

cgi
0.3.1

date
3.2.2

timeout
0.2.0

stringio
3.0.1

securerandom
0.1.1

uri
0.11.0

openssl
3.0.0

digest
3.1.0

io-nonblock
0.1.0

ipaddr
1.2.4

io-wait
0.2.1

zlib
2.1.1

resolv
0.2.1

time
0.2.0

open-uri
0.2.0

mutex_m
0.1.1

net-protocol
0.1.2

net-http
0.2.0

ostruct
0.5.2

english
0.7.1

erb
2.2.3

strscan
3.0.1

abbrev
0.1.0

io-console
0.5.11

tempfile
0.1.2

delegate
0.2.0

fileutils
1.6.0

tmpdir
0.1.2

base64
0.1.1

singleton
0.1.1

open3
0.1.1

nkf
0.1.1

prettyprint
0.1.1

pp
0.3.0

find
0.1.1

yaml
0.2.0

psych
4.0.3

fastlane-plugin-flutter_version
1.1.15

generated on: 2022-12-05

For sure the app is already in my account in the app store and also everything is configured properly

I found this on SO
looks like it's related to my issue here, as the 1st app identifier is less than 25 chars and it got uploaded successfully, and the 2nd app identifier is more than 25 chars and this is the app that has the issue.
the only thing here is that it's mentioning that the issue is handled in version  2.204.1 but looks like it's not fully fixed.

I'm experiencing the same issue on the latest fastlane. Bundle ID is more than 25 chars.

@coryswainston I could overcome that by using apple_id instead of app_identifier, it works perfectly:
   upload_to_testflight(
        apple_id: "{your_app_apple_id}",
    )

source: gharchive/issue

authors: MuhammedRefaat coryswainston

repo: fastlane/fastlane

license: MIT

license_type: permissive

license_source: github-api


text:
deliver download_metadata keeps asking whether I want to overwrite existing metadata

New Issue Checklist

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

Issue Description
First I run "deliver init" which downloaded metadata into newly created /metadata and /screenshots folders. Then I deleted those folders and run "deliver download_metadata" and was asked whether I want to overwrite existing metadata though I already deleted it.
Please notice that both /metadata and /screenshots folders were recreated when running "deliver download_metadata" which caused this issue.
Complete output when running fastlane, including the stack trace and command used
wue-18172mac:fastlane$ deliver download_metadata
[09:58:48]: Login to iTunes Connect (viktor.malyi@xxxxxx.com)
[09:58:51]: Login successful

+--------------------+-------------------------+
|            deliver 1.11.3 Summary            |
+--------------------+-------------------------+
| app_identifier     | xxx.xxx.xxx          |
| username           | viktor.malyi@xxx.com |
| screenshots_path   | ./screenshots           |
| metadata_path      | ./metadata              |
| skip_binary_upload | false                   |
| skip_screenshots   | false                   |
| skip_metadata      | false                   |
| force              | false                   |
| submit_for_review  | false                   |
| automatic_release  | false                   |
+--------------------+-------------------------+

Do you want to overwrite existing metadata on path '/Users/malyi/projects/xxx/apps/xxxxxx/fastlane/metadata'? (y/n)
n

Environment
fastlane version (run fastlane -v): fastlane 1.88.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)? no
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)? no

Found a workaround for the issue: set "DELIVER_FORCE_OVERWRITE" to "1" prior executing deliver "download_metadata" command

@vmalyi Glad to hear you found that solution. Hope that you have a wonderful day! 👍

authors: TKBurner vmalyi


text:
Match can't find foreign branch when shallow clone option used

fastlane 1.106.2
New Issue Checklist

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

Issue Description
Generate new signings using Match in the not default branch.
bundle exec match appstore --git_branch not_default_branch
Install them with --shallow_clone option.
bundle exec match appstore --git_branch not_default_branch --readonly --shallow_clone --verbose
Installation faults with the following stack trace:
bundler: failed to load command: match (/Users/some-user/.rbenv/versions/2.3.0/bin/match)
FastlaneCore::Interface::FastlaneCrash: [!] No code signing identity found and can not create a new one because you enabled `readonly`
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/fastlane_core-0.53.0/lib/fastlane_core/ui/interface.rb:132:in `crash!'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/fastlane_core-0.53.0/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/lib/match/runner.rb:72:in `fetch_certificate'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/lib/match/runner.rb:30:in `run'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/lib/match/commands_generator.rb:53:in `block (3 levels) in run'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/commander-4.4.0/lib/commander/command.rb:178:in `call'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/commander-4.4.0/lib/commander/command.rb:153:in `run'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/commander-4.4.0/lib/commander/runner.rb:444:in `run_active_command'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/fastlane_core-0.53.0/lib/fastlane_core/ui/fastlane_runner.rb:38:in `run!'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/commander-4.4.0/lib/commander/delegates.rb:15:in `run!'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/lib/match/commands_generator.rb:119:in `run'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/lib/match/commands_generator.rb:12:in `start'
  /Users/some-user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/match-0.10.0/bin/match:6:in `<top (required)>'
  /Users/some-user/.rbenv/versions/2.3.0/bin/match:23:in `load'
  /Users/some-user/.rbenv/versions/2.3.0/bin/match:23:in `<top (required)>'

When do that without --shallow_clone installation succeeds.

Suppose issue is in this line
https://github.com/fastlane/fastlane/blob/1.106.2/match/lib/match/git_helper.rb#L126
When shallow clone repo git branch --list origin/#{branch.shellescape} --no-color -r returns nothing.
Related info:
http://stackoverflow.com/questions/23708231/git-shallow-clone-clone-depth-misses-remote-branches

@xNekOIx Hope you are doing well! Any chance you want to submit a PR to fix this? We'd be really interested. Thanks!

@TKBurner I'd glad to. but have no idea how to fix it so far. 😿

don't think it has been resolved. nothing has changed in the mentioned line since then (checked latest 2.3.1).

Hi all!
As far as I can tell, building on @xNekOIx’ suggestion:
The repo is cloned with this line:
https://github.com/fastlane/fastlane/blob/1.106.2/match/lib/match/git_helper.rb#L8
which only clones one branch if the shallow option (--depth) is specified.
Therefore this line:
https://github.com/fastlane/fastlane/blob/1.106.2/match/lib/match/git_helper.rb#L26
won't be able to checkout the branch we want.
It seems like this could be fixed by either

adding --no-single-branch to the initial clone command
cloning and checking out the correct branch directly by adding --branch xxxx to the clone command

Right now, I don't really have the time (or knowledge) to setup fastlane for development, otherwise I would happily test it and send a PR 😞

@loiclec you are right. missed this. will try to prepare a PR.
will add --no-single-branch to --depth 1.

authors: TKBurner loiclec xNekOIx


text:
Cruising from regular lanes to platform lanes would be immensely helpful

New Issue Checklist

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

Issue Description
We are building frameworks (and test applications) that support iOS & macOS (soon we'll be adding watchOS & tvOS).  We've just completed automating our entire build & test cycle with fastlane.... Awesome work!
Currently we use the "platform" feature to make lanes for specific platforms which is working well. It seems the suggested method of building both platforms is to use something like 'fastlane ios build_and_test && fastlane mac build_and_test'.  Since parts of our fastlane automation includes starting/stopping docker containers to run integration tests against, this causes needless starting/stopping of containers just to switch platforms.
For example, executing this on the command line:
fastlane ios build_and_test && fastlane Mac build_and_test

Causes the docker containers to be started and stopped twice; once for each platform. It's only going to get worse once we add more platforms.
Alternatively, If we had the ability to do something along these lines in the Fastfile:
platform :ios do
  lane build_and_test do
  end
end

platform :mac do
  lane build_and_test do
  end
end

lane build_and_test do

  start_server

  begin

    #using "platform" to switch platforms inside a lane
    platform :ios do
      build_and_test
   end

    #using "platform" to switch platforms inside a lane
    platform :mac do
      build_and_test
   end

  ensure
    stop_server
  end

do

There are 2 or 3 cases we could use this feature if it were available.  It would allow us to offer more lanes to our developers that easily build and test what they are working on.
Without this a rework of our Fastfile is needed to separate it out of platforms and use non-platform lanes & options to allow executing our lanes for the platforms we need.
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.2

Ruby
2.0.0

Bundler?
false

Git
git version 2.10.1 (Apple Git-78)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.12.2 (16C67)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib

OpenSSL Version
OpenSSL 0.9.8zc 19 Mar 2015

Is contained
false

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

Xcode Version
8.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
fastlane_require 'yaml'

workspace = "MessagesKit.xcworkspace"
edge_compositions = {
  'test' => "fastlane/edge-test-compose.yml",
  'dev' => "fastlane/edge-dev-compose.yml"
}

# Build Configuraion

$build = YAML.load(open('../build.yaml'))

before_all do

  # Set environment variables for docker-compose
  container = $build['server']['container']
  ENV['EDGE_CONTAINER_REG'] = container['registry']
  ENV['EDGE_CONTAINER_REPO'] = container['repository']
  ENV['EDGE_CONTAINER_TAG'] = container['tag']

  # Cocoapods
  unless ENV['NO_PODS']

    cocoapods

  end

end

# MARK: Test Server Environment

desc "Starts an Edge server environment (Docker composition)"
lane :start_environment do |options|

  type = options[:type] || :dev
  name = options[:name] || type
  pull = options[:pull] || true

  files = [
    edge_compositions[type.to_s]
  ]

  # Pull image (if requested)
  if pull
    docker_compose(
      files: files,
      command: "pull"
    )
  end

  docker_compose(
    files: files,
    command: "up",
    project: name.to_s
  )

  port_info = docker_port(
    container: "#{name}_edge_1",
    port: 8080,
  )

  # Ensure we have a publicly usable address
  if port_info[:host] == '0.0.0.0'
    ip = Socket.ip_address_list.detect{|intf| intf.ipv4_private?}
    port_info[:host] = ip.ip_address
  end

  http_service_available(
    target: "http://#{port_info[:host]}:#{port_info[:port]}/admin/healthcheck"
  )

  port_info
end

desc "Stops an Edge server environment (Docker composition)"
lane :stop_environment do |options|

  type = options[:type] || :dev
  name = options[:name] || type

  files = [
    edge_compositions[type.to_s]
  ]

  docker_compose(
    files: files,
    command: "down",
    project: name.to_s
  )
end

lane :build_and_test do

  Fastlane::LaneManager.cruise_lane('mac', 'build_and_test')

end

# MARK: iOS Tests

platform :ios do

  sim_os_versions = [
    '10.2'
  ]

  sim_device_types = [
    'iPhone 7',
    'iPhone 5'
  ]

  lane :build_and_test do |options|

    # Simulator testing

    xctest_build(
      workspace: workspace,
      scheme: "MessagesKit-iOS-Testing",
      simulator: true
    )

    unit_tests(
      sim_os_versions: sim_os_versions,
      sim_device_types: sim_device_types
    )

    integration_tests(
      sim_os_versions: sim_os_versions,
      sim_device_types: sim_device_types
    )

    # Device testing
    devices = FastlaneCore::DeviceManager.connected_devices("iOS")
    unless devices.empty?

      xctest_build(
        workspace: workspace,
        scheme: "MessagesKit-iOS-Testing",
        simulator: false
      )

      devices = devices.map { |d| d.udid }

      unit_tests(
        devices: devices
      )

      integration_tests(
        devices: devices
      )

    end

  end

  lane :unit_tests do |options|

    xctest_run(
      **options,
      skip_testing: [
        'MessagesKit-iOSTests/RoundTripTests',
        'MessagesKit-iOSTests/MessagesKitTests'
      ],
      output_type: 'Unit',
      fail_build: false
    )

  end

  lane :integration_tests do |options|

    integration_id = (0...8).map { (65 + rand(26)).chr }.join.downcase

    server_info = start_environment(
      type: :test,
      name: integration_id,
      pull: true
    )

    begin

      xctest_run(
        **options,
        launch_args: [
          "-io.retxt.test.Host #{server_info[:host]}",
          "-io.retxt.test.Port #{server_info[:port]}"
        ],
        only_testing: [
          'MessagesKit-iOSTests/RoundTripTests',
          'MessagesKit-iOSTests/MessagesKitTests'
        ],
        output_type: 'Integration',
        fail_build: false
      )

    ensure

      stop_environment(
        type: :test,
        name: integration_id
      )

    end

  end

end

# MARK: macOS Tests

platform :mac do

  lane :build_and_test do |options|

    xctest_build(
      workspace: workspace,
      scheme: "MessagesKit-macOS-Testing",
      code_coverage: true
    )

    # unit_tests

    integration_tests

  end

  lane :unit_tests do |options|

    xctest_run(
      archs: [
        'x86_64'
      ],
      skip_testing: [
        'MessagesKit-macOSTests/RoundTripTests',
        'MessagesKit-macOSTests/MessagesKitTests'
      ],
      output_type: 'Unit',
      fail_build: false
    )

  end

  lane :integration_tests do |options|

    integration_id = (0...8).map { (65 + rand(26)).chr }.join.downcase

    server_info = start_environment(
      type: :test,
      name: integration_id,
      pull: true
    )

    begin

      xctest_run(
        archs: [
          'x86_64'
        ],
        launch_args: [
          "-io.retxt.test.Host #{server_info[:host]}",
          "-io.retxt.test.Port #{server_info[:port]}"
        ],
        only_testing: [
          'MessagesKit-macOSTests/RoundTripTests',
          'MessagesKit-macOSTests/MessagesKitTests'
        ],
        output_type: 'Integration',
        fail_build: false
      )

    ensure

      stop_environment(
        type: :test,
        name: integration_id
      )

    end

  end

end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.3.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

unicode-display_width
1.1.2

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.4

addressable
2.5.0

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander
4.4.2

excon
0.54.0

faraday
0.10.0

unf_ext
0.0.7.2

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.0.1

gh_inspector
1.0.2

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.20

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.0

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

faraday_middleware
0.10.1

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.10.1

activesupport
4.2.7.1

json
1.8.3

CFPropertyList
2.3.4

claide
1.0.1

nanaimo
0.2.3

xcodeproj
1.4.2

generated on: 2016-12-26

Hey it seems like your setup is pretty advanced. You can always use standard Ruby features to do the same thing by using classes and methods, and therefore having more control over the behaviour 👍

@KrauseFx Isn't that an argument you could make about fastlane itself?  Sure it's doable in Ruby but it's a lot of verbose code. Fastlane has mostly made that code very small and concise.  With a simple added feature (which seems very intuitive, you're just putting the platform selector in the lane instead of around the lane) we could continue using the brevity of Fastlane and achieving our goals.  Your suggestion seems to be to go "rewrite it" in Ruby; that seems odd to me.

I understand where you're coming from kdubb, but don't think it's as big a lift as it appears.
You're example isn't really enough information to discuss deeper, but I would recommend simply removing the platforms from fastlane and using options or environment flags to trigger what you need.
For example:
# Add to the top of your fastfile or before all step
@platform = options[:platform].split(',')

#  ---------------- later in your fastfile --------------
lane :build_and_test do |lane, options|
  start_server
  @platform.each do |agency|
     'some build and test actions'
  end
end

Using the options feature you'd simply need run something like this:
fastlane build_and_test platform:ios,mac
There's a massive amount of options for driving more customized lanes. Personally, I ditched the platform lane early on when setting up fastlane.  They were creating more complexity than I needed.
More info on options/environment flags: https://docs.fastlane.tools/advanced/

@PetrosIchor In some ways I agree.  Since creating this issue our Fastfile has been re-engineered to work somewhat like you've proposed.  It's a lot more "manual" and a big backtrack from the road fastlane documentation suggested we go down... but it works.
None of this detracts from my main point that not being able to call a "platform lane" from a "lane" is severely limiting of the platforms feature in general.  So limiting in fact, everybody suggests ditching it in favor of more complex methods.  Also, the limitations aren't outlined anywhere in fastlane docs. People moving to fastlane with a complex setup walk a pretty far road only to find out they need to backtrack.  Finally, the solution seems like it would be fairly easy and I proposed. a natural extension that would make pretty good sense.
So, instead of telling people to ditch the feature, why not make it more useful?

@kdubb fastlane is an open source project, everyone can contribute and build their own features to make it better, however we have to keep the core as small and solid as possible.
I don't have a full understanding yet on how the feature would look like and what changes in the code would be necessary. If you submit a proposal with a summary of what has to be changed in the code base, and how it would affect existing setups, it's definitely something you could submit a PR for if you'd like 👍
fastlane is a big open source project, with lots of feature requests, and we have to prioritise those that will help a majority of the user-base.
If you don't have the time for this right now, the easiest way for you is to probably use private_lanes in combination with regular lanes that call each other. Instead of using the platform block, name your lanes ios_build_and_test to have a similar effect.
Sorry if you don't feel that answer is helpful, however there is not much more we can do for now, unless there is more people having the same problem.

@kdubb If you still need to do this, it can be accomplished like this (right now)...
lane :setup do
  self.runner.current_platform = :android
  setup

  self.runner.current_platform = :ios
  setup
end

platform :android do
  lane :setup do
    # stuff
  end
end

platform :ios do
  lane :setup do
    # stuff
  end
end

@joshdholtz nice workaround, actually we are using a similar setup since a few months.
lane :beta do | options |
        Fastlane::LaneManager.cruise_lane("ios", "beta", options)
        Fastlane::LaneManager.cruise_lane("android", "beta", options)
end

platform :ios do
        lane :beta do
                UI.message "ios beta"
        end
end

platform :android do
        lane :beta do
                UI.message "android beta"
        end
end

@hjanuschka That is much prettier 👌

authors: KrauseFx PetrosIchor hjanuschka joshdholtz kdubb


text:
Gym : Error packaging up the application

New Issue Checklist

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

Issue Description

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.5

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
/usr/local/lib/fastlane_lib/bundle/bin/fastlane

Host
Mac OS X 10.12.5 (16F73)

Ruby Lib Dir
/usr/local/lib/fastlane_lib/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
true

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

Xcode Version
8.3.3

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
default_platform :ios
platform :ios do
# FolioBeta
lane :beta do |values|

    ensure_git_branch(branch: "develop")

    cocoapods
    pem
    cert
    refresh
    match(type: "adhoc", app_identifier: "com.folioapp.dev", force_for_new_devices: true)
    increment_build_number

    gym(scheme: "FolioBETA",
        workspace: "Folio.xcworkspace",
        clean: true,
        include_bitcode: false,
        xcargs: "ARCHIVE=YES")

    crashlytics(api_token: "********************",
        build_secret: "******************",
        groups: ["folio", "externals"],
        notes: change_log(),
        notifications: true)

end

end
fastlane gems

Gem
Version
Update-Status

fastlane
2.37.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-git_tags
0.1.1
✅ Up-To-Date

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.2.1

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.56.0

faraday
0.12.1

unf_ext
0.0.7.4

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

json
1.8.1

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.1

bundler
1.15.0

faraday_middleware
0.11.0.1

fastlane-plugin-git_tags
0.1.1

Nobody got this issue?

Sorry for the late reply. You didn't share the complete build output.

I am getting this issue too when I used fastlane beta --verbose. I guess fastlane is looking for a method or a symbol called verbose in my case.

Yep, without the complete output we can't help, sorry

authors: KrauseFx besi hugweb


text:
[WIP] remove emoji from changelog

Checklist

[ ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ ] I've read the Contribution Guidelines
[ ] I've updated the documentation if necessary.

Motivation and Context
When trying to submit a changelog containing emoji, the request fails with a response similar to:
ERROR-1: What to Test can't contain the following characters: ?.; ERROR-1: What to Test can't contain the following characters: ?.; ERROR-1: What to Test can't contain the following characters: ?.

Description
Apple doesn't allow emoji to be used in the changelog value
WIP because the regex has to be updated to apply to a broader range of emoji, or maybe there's a gem that can do the heavy lifting for us.

@koenpunt I agree with @getaaron on this one - we tend to stay away from automatically changing things on the use. BUT, since you said that this was from a changeling generated from git commands, it maybe be best to add a cleanse/sanitize emojis option in the changelog_from_git_commits action?

Since emoji cause the problem for Apple, the flag should be with the set_changelog and upload_to_testflight actions IMO.
But since we're already truncating the changelog based on size, I don't really see a problem with just replacing the emoji, especially since it otherwise doesn't work.
We could of course still warn the user about the fact that those symbols have been removed, which is what is what also happens when the changelog is truncated.

@koenpunt That is a fair point ^ I think if you can check if there is an emoji and then warn that user (with your current implementation) that be 👌

Alright, I've updated the implementation

We might want to add a unit test to build_manager_spec.rb?
e.g.
  it "removes emoji" do
    changelog = "I'm 🦇B🏧an!"
    changelog = Pilot::BuildManager.truncate_changelog(changelog)
    expect(changelog).to eq("I'm Ban!")
  end

  it "truncates spaces after removing emoji at the end" do
    changelog = "Why doesn't Apple support Emoji? 🤷♀"
    changelog = Pilot::BuildManager.truncate_changelog(changelog)
    expect(changelog).to eq("Why doesn't Apple support Emoji?")
  end

…and now that I think about it, maybe truncate_changelog should come after the emojis are stripped?

@koenpunt Heyyy 👋 Are you still working on this PR? 😊

Thanks, @koenpunt. Great work!

Thanks, @koenpunt. Great work!

You're welcome! 🎉

source: gharchive/pull-request

authors: getaaron joshdholtz koenpunt


text:
Fastlane env no longer fails if you don't have git installed

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Fixes issue https://github.com/fastlane/fastlane/issues/15414
Description
Wrapped the call to git version in a rescue block so it displays "not found" instead of an unhandled exception.
Tested locally by renaming the git binary in /usr/local/bin. Table row displays "Git: not found". Renamed the binary back and the version was displayed.

Thanks, rubocop is not yet happy:
[16:26:25]: ▸ Offenses:
[16:26:25]: ▸ fastlane/lib/fastlane/environment_printer.rb:298:7: C: Style/RedundantBegin: Redundant begin block detected.
[16:26:25]: ▸ begin
[16:26:25]: ▸ ^^^^^
[16:26:25]: ▸ fastlane/lib/fastlane/environment_printer.rb:300:17: W: Lint/UselessAssignment: Useless assignment to variable - ex.
[16:26:25]: ▸ rescue => ex
[16:26:25]: ▸ ^^
[16:26:25]: ▸ 1125 files inspected, 2 offenses detected

authors: chedabob janpio


text:
Adding groups support for external testers

Thanks for contributing to fastlane! Before you submit your pull request, please make sure to check the following boxes:

[x] Run bundle exec rspec from the subdirectory of each tool you modified. Alternatively, run rake test_all from the root directory.
[x] Run bundle exec rubocop -a to ensure the code style is valid
[x] Read the Contribution Guidelines
[x] We currently don't accept new actions, please publish a plugin instead, more information in Plugins.md

Before submitting a pull request, we appreciate if you create an issue first to discuss the change :+1:
In accordance to #6812 and @KrauseFx's request, pushing spaceship modification before merging pilot changes.
This change include storing groups for external testers, and allowing to add multiple groups for a new tester.

Thanks a lot for your contribution! :rocket:

authors: kobim milch


text:
Revert handle_fanout_ws behavior to correctly echo the request body

In #1, some of the test endpoints were refactored to make them easier to understand.
At that time, it seems that the handle_fanout_ws() function's behavior was changed in a way that lost some of its original echo behavior. This PR reverts that behavior and adds a few comments.

The main difference in this example is that we are first starting by cloning the incoming request's body directly into the response's body. This is the correct behavior, because the request body may contain more than one encoded WebSocket message in a batch, and to be an echo server all of these messages need to be echoed directly back to the response.
Additionally, OPEN is guaranteed to be the first one in a batch, so checking the first few bytes for it works. If it is found, then the handler adds the subscribe message and WebSocket extension header to the response.

repo: fastly/compute-starter-kit-rust-fanout


text:
copyright header should not be deleted

You are free to fork and renamed the projects, you can add your own copyright header to your modifications and new files, but you should not remove copyright header from any each existing files.

Exactly. Let me add back the original copyright headers.

authors: BusyJay tisonkun

repo: fastracelabs/fastrace


text:
A new faucet-pipeline.org

You can see the current state of the redesign here.
This is based on work done by @youngbrioche & @FND in their respective branches. I rebased their work on the current state of the homepage, updated the dependencies and then invested some time (almost a day) into the design & CSS. I think this is ready for feedback now.
Things that I know that need to be done:

[ ] Re-add the content.
[x] The logo on the start page is too big, and a GIF – that needs to change. It also changes into an animated version with some JavaScript. I think this needs to be re-done.
[x] The checklist does not have checkmarks on Safari, and looks kind-of shitty on mobile.
[x] The checklist is the first thing on the mobile version, I don't like that a lot.
[ ] Even though I could remove almost all media queries, some remain – and I don't like all of them.
[ ] The footer and the tiny header share most of their code, not sure how I should address that.
[ ] Legal notes etc.
[ ] Investigate, if we can do the syntax highlight server-side

I did some experiments with WebM to find out how to best configure it.


text:
make error

使用 cmake 配置和生成。
cmake -H. -Bbuild -DCMAKE_EXPORT_COMPILE_COMMANDS=on
使用 make 构建。
cd build
make
gleke@gleke-QTJ5:~/3DViewer$ cmake -H. -Bbuild -DCMAKE_EXPORT_COMPILE_COMMANDS=on
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (project):
The CMAKE_C_COMPILER:
/usr/bin/clang

is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
CMake Error at CMakeLists.txt:4 (project):
The CMAKE_CXX_COMPILER:
/usr/bin/clang++

is not a full path to an existing compiler tool.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/home/gleke/3DViewer/build/CMakeFiles/CMakeOutput.log".
See also "/home/gleke/3DViewer/build/CMakeFiles/CMakeError.log".
gleke@gleke-QTJ5:~/3DViewer$ ls
3DViewer.INFO  build  CMakeLists.txt  LICENSE  README.md  src
gleke@gleke-QTJ5:~/3DViewer$ cd buils
bash: cd: buils: 没有那个文件或目录
gleke@gleke-QTJ5:~/3DViewer$ cd build
gleke@gleke-QTJ5:~/3DViewer/build$ make
make: *** 没有指明目标并且找不到 makefile。 停止。
gleke@gleke-QTJ5:~/3DViewer/build$

系统环境：ubuntu180.4  qt5.15.4

系统环境：ubuntu180.4 qt5.15.4

sudo apt-get install llvm
sudo apt-get install clang
Please use English for better communication

authors: faultaddr gleke


text:
Add deploy button to Jelastic

Added a button to automatically set up the map on cloud.

Currently testing, it just stays at that point forever.

Can i test this as well?

@Teamtyler2 Of course you can! @nborrmann I've tested it with the Colombia e Brazil service providers, and both worked fine. Which one have you used when you get this screen?

Where can i download the button at?

Awesome! it works for me also! and it's so dumb proof! Italy service as well!

@Teamtyler2 Go here for instructions on how to use it.

I used the one in Germany.

But I got banned in the blink of an eye

I edited the files to only use this repo instead of the @dreadpiratejhonatan one. Can someone check if everything still  works?

@nborrmann You forgot to make the docker image file, so it isn't working.

Is it always possible to deploy the app on Jelastic ?
I tried many times with different providers but it didn't work.
Thanks for help.

repo: favll/pogom

license: mit

license_source: bigquery


text:
Refactored some of the existing hero codes

I am trying to lessen the lag that many other players experienced

Your effort is welcome, but too bad you didn't ask us before you did it.
We're COMPLETELY rewriting all the existing heroes, changing abilities and converting them to lua based. Take a look at the PRs for Bounty Hunter and Centaur.
If you wish to help us rework those heroes your help will be immensely welcome.

😄 sorry about that, I was hoping to do minor optimization while the rewrites were taking place.
I am definitely happy if I could help to rework one of those heroes, though it will properly take a longer time for me since I do not have a full grasp of the API and structures yet.
May I know where I can help? Or I could just try to solve some reported bugs on reddit

@lmk1988 join us on the development discord: https://discord.gg/QuVueK4

Oh i did haha i'm broccoli. Gonna close this then open another one just for refactoring pugna ward to use contants. Should be doing it later at night

Closed then. :+1:

authors: Shushishtok fcalife lmk1988


text:
Added Lich Chain Frost Max Bounces variable back

for sake of balancing, there should be nothing have unlimited amounts.

#127

Firstly, please do talk to us before making a PR like this. You can convince Firetoad to remove the bounces cap, then when you get the confirmation, go for it. Just PRing that way might waste your time.
Secondly, do you realize I implemented a huge Lich rework which uses a completely different file, which is lua based, while your fix uses the current Datadriven solution, which we're completely throwing away from the game?
Thirdly, bounces are now capped at 10. you would have known if you'd talk to us before committing this PR or look at the rework file. While I appreciate your work, this is not the way to do things in regards to the megaupdate.
Thanks,
Shush

authors: Shushishtok sercankd


text:
BN Questions (old)

Hey All,
I posted this in keras-users but haven't gotten any replies, but I've been doing some thinking about the keras implementation of Batch Normalization.
The problems with the current implementation are threefold:
A) A batch normalization layer negates the bias term of the previous layer (i.e. BN(Wx+b) = BN(Wx)) which wastes memory and computation. Because all batch normalized activations are shifted by the mean over the batch, any bias term added in from the previous layer will be entirely canceled out. In batch normalized networks, you don't need bias terms.
model.add(Dense(100, activation = 'linear'))
model.add(BatchNormalization())
model.add(Activation('relu'))

is currently wrong, because there are an extra set of bias parameters in the dense layer that are useless.
B) This point was correct, I am mistaken.
C) The API makes it somewhat easy to incorrectly apply BN. BN should be applied before activations are applied, i.e.
model.add(Dense(100, activation = 'relu'))
model.add(BatchNormalization())

is wrong. In addition to having an extraneous bias term, BN should be applied before the activation.
Because it seems BN is here to stay, so to speak, it might be worth re-thinking the batch normalization layer. Having it as its own layer is hard because its behavior should depend on the type of layer before it. There are three possible routes.
One could be having a parameter in the Model class that by default adds batch normalization to each layer, and removes all biases from the network. This might look like
## A correct model
model = Sequential(batch_norm = True)
model.add(Convolution2D(32, 3, 3, border_mode='valid', input_shape=(3, 100, 100)))
model.add(Flatten())
model.add(Dense(100, input_dim=(20,), activation = 'relu'))
model.add(Dense(500, input_dim=(20,), activation = 'relu'))
model.add(Dense(10, input_dim=(20,), activation = 'softmax'))
...

This would make the API clean, but would also require some reworking of layers (i.e. if batch_norm mode was on, the parameters of the layers would not include bias terms)
Another option would be to include it as a property of layers themselves.
## A correct model
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='valid', input_shape=(3, 100, 100),
no_bias=True, batch_norm = True))
model.add(Flatten())
model.add(Dense(100, input_dim=(20,), no_bias = True, batch_norm = True, activation = 'relu'))
model.add(Dense(500, input_dim=(20,), no_bias = True, batch_norm = True, activation = 'relu'))
model.add(Dense(10, input_dim=(20,), batch_norm = True, activation = 'softmax'))
...

This is less clean, but would require less implementation.
The last option is to keep it as its own layer, and it performs inference to figure out what it should be doing, along with warnings about previous layers having biases/activations
## A correct model
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='valid', input_shape=(3, 100, 100), no_bias=True))
model.add(BatchNormalization()) #would perform the correct convolutional batch normalization
model.add(Activation('relu')) #would raise no warnings about post-relu values being BN'ed -- this is right
model.add(Flatten())
model.add(Dense(100, no_bias = True))
model.add(BatchNormalization())
model.add(Activation('relu'))
...

This is the least clean API wise, but easiest to implement, because everything is contained in the BatchNormalization Layer itself.
Thoughts? I'd be happy to work on this, but I don't know which direction would be best.

Point A is "the fact that biases are bundled with Dense layers adds a negligible amount of overhead in situations when I don't need biases". Well, it's trivial to roll out a Dense layer with no biases if you need that.
Point B is 100% factually wrong.
Point C is wrong, for several reasons, 1) because it's usually preferable to apply BN after relu and 2) because the more common way to apply relu in Keras is via Activation('relu').
Overall: we could consider adding a keyword argument in Dense (and other layers) to make biases optional. But I don't think that is all that useful or necessary.

Apologies for misreading the code for B -- I guess I don't have the best understanding of how it's implemented. When you say it's factually wrong, do you mean that you shouldn't have a single gamma/beta term for each feature map, and that it's better do do things on a per-activation basis? Or that the current implementation already has this?
Indeed, the computational and memory requirements for a bias term are only linear in the layer size. It would be relatively simple to add a dense layer without bias, sure. If the direction of Keras is agnostic to choices like this, fine -- I just thought I'd bring it up.
For point C -- perhaps I misunderstood the paper, but in section 3.2 they suggest doing g(BN(Wu)) where g is the activation function. Perhaps I am misunderstanding something?

Ahh -- apologies for point B. I am definitely mistaken.

Keras BN normalizes per feature. The axis on which features are to be found can be configured (with convolutions under Theano conventions it needs to be set to 1. It defaults to -1).

For point C -- perhaps I misunderstood the paper, but in section 3.2 they suggest doing g(BN(Wu)) where g is the activation function. Perhaps I am misunderstanding something?

I haven't gone back to check what they are suggesting in their original paper, but I can guarantee that recent code written by Christian applies relu before BN. It is still occasionally a topic of debate, though.

Fair enough. If the linear memory/computation isn't something worth addressing and if Christian is using BN after relu (it doesn't really matter because Keras supports both) then all is well. Again, sorry for point B.

Here is some evaluations of BatchNormalization. It seems it's better to put BatchNormalization after RELU
https://github.com/ducha-aiki/caffenet-benchmark/blob/master/batchnorm.md

@jmhessel  I do think the original batch normalization paper mentions you should apply BN after activation, instead of before.

@BenBBear From the original paper

We add the BN transform immediately before the nonlinearity, by normalizing x = Wu+ b. We could have also normalized the layer inputs u, but since u is likely the output of another nonlinearity, the shape of its distribution is likely to change during training, and constraining its first and second moments would not eliminate the covariate shift. In contrast, Wu + b is more likely to have a symmetric, non-sparse distribution, that is “more Gaussian” Hyv¨arinen & Oja (2000); normalizing it is likely to produce activations with a stable distribution.

I guess this part was just wrong, though.

@jmhessel
Just review it again.
Yes I am indeed wrong. Thanks so much for your correction!

The original paper mentions this approach and the He "plain net" implementation also. In He's words from the 2015 resnet paper: "We adopt batch normalization right after each convolution and before activation, following [16]."
A simple example:
model.add(Convolution2D(64, 3, 3, border_mode='same', init=init))
model.add(BatchNormalization(axis=1)) # axis=-1 for theano, -1 for tensorflow
model.add(Activation('relu')) # Could be any other activation

@martinbel Actually, that is how the ResNet50 in keras is implemented. Not that any of this really matters to Keras, specifically; both are possible, though you just can't use the activation = ... shortcut in the layer construction if you are applying BN in the originally intended order.

@jmhessel I've added this just to help others looking for a simple, concrete answer to how to implement batch normalization in keras as it's implemented in the paper. The resnet paper quote refers to how we implements the "plain nets", not only resnets. I agree you can't use the activation =... for doing this.

@martinbel what's mean about "# axis=-1 for theano, -1 for tensorflow" ?
I reference keras.io: "axis: Integer, the axis that should be normalized (typically the features axis). For instance, after a Conv2D layer with data_format="channels_first", set axis=1 in BatchNormalization."
Is it different for theano or tensorflow?

When I use BatchNormalization() before every activation(Conv), it takes 3656s for one epoch. Without  BatchNormalization(), it takes 216s . Is it really need  BatchNormalization() about every activation or how to choose BatchNormalization()?

Old Theano batch norm was super efficient and I saw such time of problems.
Make sure that you use an up to date version of keras that use the new
Theano batch norm.
On Fri, Apr 7, 2017 at 3:04 AM litingsjj notifications@github.com wrote:

When I use BatchNormalization() before every activation(Conv), it takes
3656s for one epoch. Without BatchNormalization(), it takes 216s . Is it
really need BatchNormalization() about every activation or how to choose
BatchNormalization()?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/1802#issuecomment-292458467,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALC--foysR3m0F6sLti8UjjIqT_gLyeks5rtd_mgaJpZM4HhJtl
.

authors: BenBBear chbrian fchollet jmhessel litingsjj martinbel nouiz

repo: fchollet/keras


text:
Non centered ZeroPadding2D?

Hi,
I need to zero pad some images but I need to add the zeros only to the bottom and right.
Would you be interested in either:

changing ZeroPadding2D to include how many to pad in each location
including either pad_left/right/top/bottom
a more generic rotation function (something like A[newX0]+A[:newX0])

Thanks

changing ZeroPadding2D to include how many to pad in each location

Would probably be the best solution. I'll think about it. Meanwhile it would be very easy for you to adapt the current ZeroPadding2D layer to your own needs.

I already changed mine to do what I need. But I'm working on a general solution, something like this (that will also take care of the concern I had with the filters)
def __init__(self, n, dim):
    super(Rotate, self).__init__()
    self.n = n
    self.dim = dim

def get_output(self, train=False):
    n = self.n
    dim = self.dim

    N = x.shape[dim]
    ndim = x.ndim

    front_slices = (slice(None),)*n
    back_slices = (slice(None),)*(ndim-n-1)

    y = T.zeros_like(x)
    y = T.set_subtensor(
            y[front_slices + (slice(0, n),) + back_slices],
            x[front_slices + (slice(N-n,N),) + back_slices])
    y = T.set_subtensor(
            y[front_slices + (slice(n,N),) + back_slices],
            x[front_slices + (slice(0,N-n),) + back_slices])
    return y

def get_config(self):
    return {"name": self.__class__.__name__,
            "dims": self.dims}

authors: fchollet pjadzinsky


text:
add a mention to the hardcoded relatives crate path

hello there :wave: :yum:
this plugin is very cool :ok_hand: :muscle:
:exclamation: however, i have an error when trying to compile the source code as-is :thinking:
> cargo build --release
error: failed to get `nu-json` as a dependency of package `nu_plugin_json_path v0.0.3 (/home/amtoine/.local/share/git/store/github.com/fdncred/nu_plugin_json_path)`

Caused by:
  failed to load source for dependency `nu-json`

Caused by:
  Unable to update /home/amtoine/.local/share/git/store/github.com/fdncred/nushell/crates/nu-json

Caused by:
  failed to read `/home/amtoine/.local/share/git/store/github.com/fdncred/nushell/crates/nu-json/Cargo.toml`

Caused by:
  No such file or directory (os error 2)

:wrench: to fix it
as my repos are located in $env.GIT_REPOS_HOME/<host>/<owner>/<repo>, i had to run the following
>_ [nu-json nu-plugin nu-protocol]
))) | each {|crate|
)))     let local = ($env.GIT_REPOS_HOME | path join "github.com" "nushell" "nushell" "crates" $crate)
)))     cargo add $crate --path $local
))) }
      Adding nu-json (local) to dependencies.
             Features:
             + linked-hash-map
             + preserve_order
      Adding nu-plugin (local) to dependencies.
      Adding nu-protocol (local) to dependencies.
             Features:
             - plugin
             - serde_json

in the end, nothing bad at all, when the error is known it's straightforward to fix :wink:
that's just a proposition with the newcomers in mind :relieved:

Thanks. I added your comments to the readme. I also removed nu-json because it isn't needed.

amazing, that's perfect :ok_hand:

Absolutely cool plugin! I was able to install with no customization on the latest Macos.
Just fyi. 🙏🙏🙏

authors: amtoine fdncred maxim-uvarov


text:
can not see break point

What are you DPI settings and what font size do you use?

set font size 22

Did this work correctly in FD4?

No it did not. These areas are scaled based on your DPI settings in FD5. I need to check if i can somehow scale this also with font size.

repo: fdorg/flashdevelop


text:
Localstorage working

This gets all the tests passing (server side) and adds examples, etc. In theory because the node module api is the same as the browser it should work just fine there too.

https://github.com/feathersjs/feathers-errors/pull/26 will need to be landed and feathers-memory will need to be updated to the next major feathers-errors version before this can be merged.

Good thing is that feathers-memory will only be a patch release. Plus we can change the Lodash dependencies so that it doesn't pull in the whole thing.

Still need to get a new version of feathers-memory in without all of lodash before we merge this. https://github.com/feathersjs/feathers-memory/pull/18

authors: daffl ekryski

repo: feathersjs/feathers-localstorage


text:
feat: build fedimint-clientd oci images

nix build .#fedimint-clientd-oci && docker load < ./result

Yo @Kodylow , do other folks need/use clientd images on docker?

not sure if anyone uses it, happy to add in tho is this ready to go?

not sure if anyone uses it, happy to add in tho is this ready to go?

Now ready to go. I added instructions for unofficial docker support. This is our preferred deployment path at Bitsacco

authors: Kodylow okjodom

repo: fedimint/fedimint-clientd


text:
chore(fedimintd): fix discription of Cargo.toml

Replace fedimint to fedimintd in it

but I have a doubt ->
fedimint-server , fedimint-build& this one -> all have same description :
Is it because,  they work together to perform a specific functionality
or is it  is mistyped??

No, someone just copy+pasted the Cargo.toml file and nobody noticed it.

No, someone just copy+pasted the Cargo.toml file and nobody noticed it.

Should I fix it or not required?

Yea, just call it "Fedimint build script utilities for including git version information in builds" :)

sry, but not getting what you mean?

I thought you asked if it would make sense to change the description of fedimint-builds and I gave a fitting description.

repo: fedimint/fedimint


text:
Add returntype to methods to comply with PHPStan changes

removed unused args for hook_prefs_tabs as well
Fixes #175

Great work, always good to get a fix pull request before I know the issue is there!

authors: beaucarigan dugite-code


text:
[Bloc] Introduce layout boundaries

The layout mechanism in Bloc is strictly top to bottom, meaning that every time any BlElement in the scene graph sends requestLayout that request is propagated to the top most parent and finally to the space. As a result the layout of the whole scene graph should be recomputed.
As an example let's take the Connector whose nodes are text editors. A simple cursor movement triggers the global layout recomputation as shown on the video (the blinking area shows an element whose layout was recomputed):

This can be expensive.

We can quickly notice that the cursor movement has no influence on any element outside of each text editor, so why not to limit the layout computation just to those text editors?
This is where a so called layout boundary comes into play. By applying heuristics on layout constraints we can find which element should play a role of the layout root during layout recomputation.
Combining all pieces together we can get an efficient layout recomputation mechanism that is only applied on the necessary elements:

repo: feenkcom/gtoolkit


text:
Requires PHP 7?!

We're using PHP 5.x... not going to use 7; that isn't my decision.
I just installed the extension yet I keep getting this notification: "You need at least PHP 7 installed for the extension to work. You can either add it to your PATH or set the php.executablePath setting."
It doesn't matter what I do nor which instructions I follow. Web search threads show no steps forward to just have it use my existing Mac's PHP 5.6 installation in /usr/bin/php with no warning even though I set that path to php.executablePath in User settings.

The language server cannot run without PHP 7, it uses PHP 7 features. It is impossible to run with PHP 5.6.

Strange, most companies I've worked at in the last 5 years used at least PHP 5.x, very few used 7.
I'm not understanding why 5.x is not supported.
Will upgrading my Mac to PHP 7 allow for backwards-compatibility with the extension with 5.x?

I am using php 7.2 but still I got this warning, "The language server needs at least PHP 7.1 installed. Version found: 5.6.30" any solution to disable?
I set the following
You have chosen not to receive recommendations for this extension it is set.
json, "php.suggest.basic": false, added

authors: bblori felixfbecker skyvondave

repo: felixfbecker/vscode-php-intellisense


text:
gRPC Error INVALID_ARGUMENT, message: HTTP connection completed with 400 instead of 200

Describe the bug
I am getting the following exception when trying to run the endless streaming example.
gRPC Error (code: 3, codeName: INVALID_ARGUMENT, message: HTTP connection completed with 400 instead of 200, details: [], rawResponse: null, trailers: {content-length: 54, date: Mon, 15 Apr 2024 23:58:23 GMT})
The service account is in place and the mic seems to be working and producing streaming chunks but I keep getting that error message and no transcription is displayed on the screen.

when the audio file size is more than 30,000, it makes this error
< file.lengthSync() >

authors: SLT-DJH carloskiron


text:
4 novos devtubers

Adicionado os canais de tecnologia: Thiago Aguiar, Thizer Aplicativos, Jamilton Damasceno e Área Tech Brasil

Valeu @Viniciusog !

authors: Viniciusog fellyph

repo: fellyph/devtube-brazil


text:
🛑 Hacker News is down

In 2572540, Hacker News (https://news.ycombinator.com) was down:

HTTP code: 502
Response time: 291 ms

Resolved: Hacker News is back up in 107fcab after 10 minutes.

repo: fer-ri/upptime


text:
Empty scitokens keycache file breaks jobsub commands

Users have encountered intermittent issues with jobsub commands breaking with an error like Error: OperationalError: no such table: keycache. Upon investigation the scitokens keycache database file is empty (zero bytes). I opened scitokens/scitokens#188 but we may have to work around it here as well.
The quick workaround is to rm ${XDG_CACHE_HOME:-$HOME/.cache}/scitokens/scitokens_keycache.sqllite

I don't seem to be able to replicate the issue if I set XDG_CACHE_HOME to a local filesystem, so maybe that's an alternative workaround. We wouldn't want to change that globally though I don't think.

To summarize the proposal being discussed on Slack now, we could do the following:

Create a scitokens config file (see https://github.com/scitokens/scitokens#configuration), to be distributed with jobsub_lite.
Set the key cache_location to /run/user/$(id -u) (does this have to be done dynamically?  Should the "config" file thus be dynamically generated in /tmp or something like that?)
As the instructions in the link in (1) say, make sure to call scitokens.set_config("/path/to/scitokens/config.ini") everywhere we're calling a scitokens function.

authors: retzkek shreyb


text:
Codespaces

This is a PR that implements Codespaces.

I would love to test this now; contributing to docs is a great use of Codespaces (minimal infrastructure and relatively quick build for end users).

Closed this in favour of using cloud preview mode.

repo: fermyon/developer


text:
Add information about http triggers using https

Signed-off-by: tpmccallum tim.mccallum@fermyon.com
Content must go through a pre-merge checklist.
Pre-Merge Content Checklist
This documentation has been checked to ensure that:

[x] The title, template, and date` are all set
[x] File does not use CRLF, but uses plain LF (hint: use cat -ve <filename> | grep '^M' | wc -l and expect 0 as a result)
[x] Has passed bart check

[x] Has run npm run build-index
[x] Has been manually tested by running in Spin/Bartholomew (hint: use PREVIEW_MODE=1 and run npm run styles to update styling)
[x] Headings are using Title Case
[x] Code blocks have the programming language set to properly highlight syntax and the proper copy directive
[x] Have tested with npm run test and resolved all errors

Outdated and replaced with the following.
https://github.com/fermyon/developer/pull/383


text:
[Feature] Support uploading images

Problem description
As a user, I want to be able to reference an image in my fern directory and have that available for reference in my docs.
Why would it be useful?
Avoid me having to host somewhere else. Today, I have to add a public S3 bucket manually.
Proposed solution
![](/fern/docs/images/foo.png) and Fern uploads the images for hosting when I build my docs.

In the meantime, here's my approach to adding images: https://github.com/fern-api/fern/blob/58161583cf2bdb9c73e7f93c0c911c585de5156b/fern/docs/pages/welcome/introduction.mdx#L11

Need the same feature, thank you.

Image upload supported as of 0.23.1

authors: abvthecity dannysheridan starlightknown

repo: fern-api/fern


text:
EventAlert

Desde já quero parabenizar todos os envolvidos.  Existe algo para utilização de Firebird EventAlert no RUST com a rsfbclient ?

Desde já quero parabenizar todos os envolvidos.

Obrigado

Existe algo para utilização de Firebird EventAlert no RUST com a rsfbclient ?

Ainda não, mas posso implementar. Tens um caso de uso ou algum fonte/biblioteca de outra linguagem para servir de exemplo?

Caro Fernando, criei um projeto console com .Net6 onde pode ser verificado a aplicação do FbRemoteEvent que pertence ao package FirebirdSql.Data.FirebirdClient
Juntei ao projeto demo a base de dados que criei para este exemplo.
Depois vou subir um projeto de conexão com RUST usando a tua crates e deixar público para ajudar quem desejar aprender RUST.
https://github.com/timanagement/console_fbevent

Bacana. Vou verificar o material e estudar como trazer esse recurso para a crate.

Bacana. Vou verificar o material e estudar como trazer esse recurso para a crate.

Será muito bem vindo, pois permitirá, por exemplo, criar uma aplicação como serviço que execute determinada rotina acionada por um evento...
Se precisar de algo a mais, por favor não deixe de comunicar.

Essa API de eventos do Firebird é bem desafiadora hehe. Até o momento fiquei levantando o material sobre o assunto e tudo o que precisarei implementar.
Você possui experiência com essa API a nível mais baixo? Pelo que andei vendo, preciso registrar o evento no fb e manter um loop esperando pela operação op_event.

Infelizmente não possuo experiências, além do uso, conforme descrito no manual o qual deixarei o link abaixo:
https://www.firebirdsql.org/file/documentation/papers_presentations/Power_Firebird_events.pdf
Outro link que possa te interessar para estudo, é sobre o node e de como eles usam o "fb-native.cpp" para lidar com eventos.
Em especial, a partir da linha 226:
https://github.com/asfernandes/node-firebird-drivers/blob/master/packages/node-firebird-native-api/src/native/fb-native.cpp

Sim. Consegui um material bom nos exemplos do firebird:
https://github.com/FirebirdSQL/firebird/blob/master/examples/api/api16.c#L131
Ainda não tive uma grade evolução, mas aos poucos vai avançando.

Travei no isc_event_block. Vou deixar essa issue de lado por um tempo. Mais tarde faço push do que estava sendo desenvolvido. Futuramente volto a atacar esse problema.

Caro Fernando, vou buscando mais informações e, caso encontre, vou reportando aqui.  Desde já agradeço seus esforços.

Travei no isc_event_block. Vou deixar essa issue de lado por um tempo. Mais tarde faço push do que estava sendo desenvolvido. Futuramente volto a atacar esse problema.

Tem um repositório que implementou para uso com node-firebird-libfbclient.  Acredito que mostra o ponto onde vc disse ter travado. Veja os dois arquivos abaixo:
fb-bindings-eventblock.h
fb-bindings-eventblock.cc
https://github.com/xdenser/node-firebird-libfbclient/tree/master/src

Opa.
Aparentemente o isc_event_block não foi usado, vou tentar entender como o projeto usa o isc_que_events sem ele.
Obrigado pelo material.

Consegui passar o do isc_event_block. Resolvi recorrer ao stackoverflow e deu boa. Logo subo novos commits.

@timanagement , creio que deu certo. Você poderia testar a branch firebird-events e verificar se já lhe atende?

Seus esforços resultaram em sucesso.
Vou tentar descrever:
Na 1ª imagem está a configuração no seu exemplo para acessar o BD.
Na 2ª imagem está a Trigger criada para escutar o evento "SINC_USUARIO".
Na 3ª imagem está o que será executado, todas as vezes que o evento for escutado.
Na 4ª imagem está o resultado obtido.

Não tenho palavras para te agradecer...

Hehe, que bom que você curtiu.
Essa semana resolvo o que foi apontado na PR e solto uma nova versão da crate. Obrigado pela paciência e consideração.

Crate atualizada. Agora para usar o novo recurso basta usar a nova versão 0.23.0

Crate atualizada. Agora para usar o novo recurso basta usar a nova versão 0.23.0

Perfeito.  Obrigado mais uma vez.

authors: fernandobatels timanagement

repo: fernandobatels/rsfbclient


text:
Missing important transaction parameters

When testing various "select" statements, the test programme suddenly stopped and did not return. The problem was an open transaction in another database connection.
Immediately after committing the open transaction, the test programme returned the corresponding values.
When I looked for the problem in rsfbclient, I noticed that it only knows one parameter for the configuration of the transactions.
pub enum TrIsolationLevel {
/// Transactions can't see alterations committed after they started
Concurrency = ibase::isc_tpb_concurrency as u8,
/// Table locking
Concistency = ibase::isc_tpb_consistency as u8,
/// Transactions can see alterations committed after they started
ReadCommitted = ibase::isc_tpb_read_committed as u8,}
Here all other important transaction parameters are missing to solve exactly this problem.
https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref30/firebird-30-language-reference.html#fblangref30-transacs-settransac
Transaction Parameters
The main parameters of a transaction are:
data access mode (READ WRITE, READ ONLY)
lock resolution mode (WAIT, NO WAIT) with an optional LOCK TIMEOUT specification
isolation level (READ COMMITTED, SNAPSHOT, SNAPSHOT TABLE STABILITY).
My standard in GUI applications for Firebird is:
nowait
read_committed
rec_version

I will check this tonight. Anyway, do you can provide a code example of your program?

The problem was an open transaction in another database connection.

Was this second connection made by your process? Or by another program like flamerobin?

I will check this tonight. Anyway, do you can provide a code example of your program?
I use the supplied "select.rs" example.
Only read a few values from the DB with select.

The problem was an open transaction in another database connection.

Was this second connection made by your process? Or by another program like flamerobin?
flamerobin yes!
I forgot to confirm the change in the table used by "select" and then the "select.rs" got stuck, which then pointed me to the problem.

I would like to be able to specify the transaction parameters that are to be used by default when connecting to the database.
And in self-started transactions, the parameters can then also be passed again.

I will check this tonight.

The problem is real.

I would like to be able to specify the transaction parameters that are to be used by default when connecting to the database.
And in self-started transactions, the parameters can then also be passed again when needed.

I will start the study to implement this feature. Maybe in a faw days it will be ready for testing.

Version 0.21.0 released with transaction parameters support.

authors: datiscum fernandobatels


text:
Standalone version server error 503

I want to user the standalone version but the page is broken :/. Can you fix that or upload it somewhere other?
https://wzrd.in/standalone/buffer

I just notified @maxogden that wzrd.in is down. Should be resolved shortly.
In the meantime, you can generate your own standalone version by git cloning this repo and running:
cd buffer
npm install
browserify -s Buffer -r ./ | uglifyjs -m > buffer.min.js

Me to its not working gateway time out. Can any one share the buffer.js file or a solution. Thanks In Advance.

There's a working standalone version hosted here: https://bundle.run/buffer

authors: AbhinaiRaj dragonnn feross

repo: feross/buffer


text:
Deselect some files within the torrent, but they're still created on disk

Version : 0.8.1
OS Version : Windows 10 (Build 10586)
Even after pausing the some file within the torrent. The paused file still continues to download.
I tried multiple torrents, but same issue pops up
Should stop downloading Pause Torrent
Continued downloading paused torrent

When you disable a file, it will not be downloaded. But a file might still get created on disk if a piece crosses file boundaries and goes into a file that you disabled.

I think this is a real bug. Right now the deselect feature is unintuitive, since there's no way to avoid creating the files.
Even if you deselect some files in one of the default torrents, then start downloading for the first time, the deselected files are still created.

authors: dcposch feross krisgopal128

repo: feross/webtorrent-desktop


text:
Fix issue with tray on Windows.

Note: There is still an issue with the tray, when the WebTorrent app is hidden, the tray item "Hide to tray" does not change to "Show WebTorrent", but I can't seem to figure out how to fix it.

Thanks -- this was my fault from the recent refactor.

authors: demoneaux feross


text:
Error on including webtorrent.min.js

WebTorrent version:
0.91.1

Node.js version:

Browser name/version (if using WebTorrent in the browser):
Chrome 49.0.2623.112 (64-bit)

When I include webtorrent.min.js to my html, I get this error in the console:
Uncaught TypeError: Object prototype may only be an Object or null: undefined     webtorrent.min.js:5

Same issue here. Looks like build 0.91.1 is bugged. Works without a problem with version 0.91.0.

Exact same issue for me.

For others having issues: In the URL to include the webtorrent.min.js, you can just replace the "/latest/" with the version you want to include. The last version that worked for me was "/0.90.3/".

Thank you @Tercus. I just spent hours on figuring out why I was having this issue. @feross please make it clear in the docs and stuff because this can be a huge pain point. I would resolve the issue as well if you have time. Other than that, you have created something awesome. Great job!

I'm also running into this problem, even using 0.90.3. I'm using a fork of instant.io that browserifies the dependencies and it was working fine a few days ago, but I've since removed and reinstalled the dependencies. My guess is that it's actually not a problem with webtorrent 0.91.1 but an issue with a dependency of webtorrent that changed and broke between when 0.90.3 and 0.91.1 were bundled.

I will look into this tomorrow. Sorry for the delay.
On Thu, 28 Apr 2016 at 00:40 Evan Schwartz notifications@github.com wrote:

I'm also running into this problem, even using 0.90.3. I'm using a fork
of instant.io that browserifies the dependencies and it was working fine
a few days ago, but I've since removed and reinstalled the dependencies. My
guess is that it's actually not a problem with webtorrent 0.91.1 but an
issue with a dependency of webtorrent that changed and broke between when
0.90.3 and 0.91.1 were bundled.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/feross/webtorrent/issues/771#issuecomment-215253143

I'm trying to hunt down the issue now.
The function that's complaining is inherits(IncomingMessage, stream.Readable) from stream-http

I've seen that error before, I believe this is the solution: https://github.com/jhiesey/stream-http/pull/41

Fix published as 0.91.2

authors: Lunik Tercus chrisnharvey emschwartz feross patrick-othmer waleeddogar

repo: feross/webtorrent


text:
Implementation of tagging using sphinx-tags

Added sphinx-tags to the build requirements.
Had to supress warnings from Jupyter Book's external-toc extension from using external toctrees  due to sphinx-tags generating some for the tag pages.
The supression looks like
sphinx:
  config:
    suppress_warnings: ["etoc.toctree"]

from this issue and is present in the book's config.
Resolves #23 .

I think it looks great, we might want to change the section's title though.

I was able to compile locally but in RTD there seems to be a couple of warnings still.
Would it be possible to have the tags not above the title? Like here for instance?
Also, I see we can colour the tags instead of having them plain. It looks a bit sexier!

authors: RemDelaporteMathurin rekomodo

repo: festim-dev/V-V-report


text:
[s3] battles order

battles ordered by upload time desc not the playd time

The battles are sorted by the order in which you send them to us. Clients should sort before sending.

fes battle not support upload now，
when support and upload it will be wrong order

Maybe there could be an option to sort the table on the user page ("splat log")?
I'm also holding off on uploading my post-Splatfest battles because of this.

Are battles always displayed in played order now? Or is there a toggle?

authors: fetus-hina frozenpandaman paul-sama


text:
Develop

O que há de novo?
Qual a alteração que exige um pull request?
Tipo da mudança

[x] Mudança na documentação
[ ] Novo arquivo (funcionabilidade nova)
[ ] Edição de arquivo (alteração de funcionalidade)
[ ] Correção de bug (sem alterações de funcionalidade)
[ ] Adição de nova fucionalidade.
[ ] Não se aplica.

Descrição da mudança
Documentação atualizada com novos diagramas, adição do readme do projeto

[x] Você verificou se não há outras Solicitações de Pull para a mesma atualização/alteração que você está trabalhando?
[x] As mudanças seguem as políticas de commit e branch?
[x] Os membros da equipe estão de acordo com a atualização?
[x] O pull request possui nome significativo.
[x] O pull request possui descrição significativa.
[x] O pull request possui a marcação correspondente ao tipo da mudança.
[x] O pull request possui screenshots quando necessário.
[x] O pull request possui labels.

Tudo nos conformes.


text:
Elevar a qualidade do software ao nível de produção

Descrição:
O repositório está cheio de más práticas e de vulnerabilidades. Para levar o código a clientes reais, é necessário, pelo menos, resolver as principais vulnerabilidades. Para que todos trabalhem em conjunto, é interessante que algumas práticas sejam padronizadas (como linter, forma de documentar, língua (português ou inglês), etc)).
Tarefas:

#47
#48
#49
#51
#41
#56
#53

Critérios de avaliação:

[ ] A API pode estar incompleta, porém a segurança do código está a nível de produção.
[ ] As tecnologias utilizadas são próprias para ambientes de produção (por exemplo, o "python manage.py runserver" não é próprio para a produção).

Como quebramos essa issue em MUITAS issues, ela acabou ficando redundante e difícil de manter.

authors: leommiranda roddas


text:
Jabber serveraddress syntax check fails

Filled the Jabber integration form of the Project and it wont allow server-domain...

Example? How to reproduce your issue? What is the exact problem?

for example i have put in the data for our local jabber server which is jabber.example.office
and tried to save the configuration the example how i typed the address is in the screenshot above...

If you enter something like tcp://jabber.example.office:5222 that should work. What is the issue exactly? error message?

repo: fguillot/kanboard