add_git_tag error: No value found for build_number

New Issue 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

Issue Description
I reported this issue before and it was marked fixed: https://github.com/fastlane/fastlane/issues/17492 I've just updated to 2.171.0 and this issues still persists.
Command executed
First try using plugin 'fastlane-plugin-get_android_version':
private_lane :add_tag_to_git do
    get_android_version(apk: lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH])

    version = "v#{lane_context[SharedValues::GET_ANDROID_VERSION_NAME]}_#{lane_context[SharedValues::GET_ANDROID_VERSION_CODE]}"
    add_git_tag(
      tag: "Firebase/#{current_env}/#{version}"
    )
  end

Then I changed it to this which still doesn't work (using fastlane-plugin-versioning_android):
private_lane :add_tag_to_git do
  add_git_tag(
        grouping: "Firebase",
        includes_lane: true,
        prefix: "v#{android_get_version_name}_",
        build_number: android_get_version_code,
  )
end

Third try with static values:
private_lane :add_tag_to_git do
    add_git_tag(
      grouping: "Firebase",
      includes_lane: true,
      prefix: "v0.7",
      build_number: 123,
    )
  end

All of them give the same error output:
Complete output when running fastlane, including the stack trace and command used

  Run bundle exec fastlane deploy_integration
  bundle exec fastlane deploy_integration
  shell: /bin/bash -e {0}
  env:
    KEYSTORE_PASS: ***
    KEYSTORE_ALIAS: ***
    KEYSTORE_ALIAS_PASS: ***
    RELEASE_SLACK_URL: ***
    FIREBASE_TOKEN: ***
    FIREBASE_APP_ID_INTEGRATION: ***
+---------------------------------------------+---------+---------------------------------+
|                                      Used plugins                                       |
+---------------------------------------------+---------+---------------------------------+
| Plugin                                      | Version | Action                          |
+---------------------------------------------+---------+---------------------------------+
| fastlane-plugin-firebase_app_distribution   | 0.2.4   | firebase_app_distribution       |
|                                             |         | firebase_app_distribution_login |
| fastlane-plugin-commit_android_version_bump | 0.2.0   | commit_android_version_bump     |
| fastlane-plugin-versioning_android          | 0.1.0   | android_set_version_name        |
|                                             |         | android_set_version_code        |
|                                             |         | android_get_version_code        |
|                                             |         | android_get_version_name        |
| fastlane-plugin-get_android_version         | 0.3.5   | get_android_version             |
+---------------------------------------------+---------+---------------------------------+
[12:43:34]: Sending anonymous analytics information
[12:43:34]: Learn more at https://docs.fastlane.tools/#metrics
[12:43:34]: No personal or sensitive data is sent.
[12:43:34]: You can disable this by adding opt_out_usage at the top of your Fastfile
[12:43:34]: ------------------------------
[12:43:34]: --- Step: default_platform ---
[12:43:34]: ------------------------------
[12:43:34]: Driving the lane 'android deploy_integration' 🚀
[12:43:34]: -------------------
[12:43:34]: --- Step: is_ci ---
[12:43:34]: -------------------
[12:43:34]: -------------------
[12:43:34]: --- Step: clean ---
[12:43:34]: -------------------
[12:43:34]: $ /home/runner/work/tessa-android/tessa-android/gradlew clean -p .
[12:43:34]: ▸ Downloading https://services.gradle.org/distributions/gradle-6.5-all.zip
[12:43:36]: ▸ ...........................................................................................................................................
[12:43:36]: ▸ Unzipping /home/runner/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5-all.zip to /home/runner/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn
[12:43:38]: ▸ Set executable permissions for: /home/runner/.gradle/wrapper/dists/gradle-6.5-all/2oz4ud9k3tuxjg84bbf55q0tn/gradle-6.5/bin/gradle
[12:43:38]: ▸ Welcome to Gradle 6.5!
[12:43:38]: ▸ Here are the highlights of this release:
[12:43:38]: ▸ - Experimental file-system watching
[12:43:38]: ▸ - Improved version ordering
[12:43:38]: ▸ - New samples
[12:43:38]: ▸ For more details see https://docs.gradle.org/6.5/release-notes.html
[12:43:38]: ▸ Starting a Gradle Daemon (subsequent builds will be faster)
[12:43:50]: ▸ > Configure project :app
[12:43:50]: ▸ WARNING: API 'BaseVariant.getApplicationIdTextResource' is obsolete and has been replaced with 'VariantProperties.applicationId'.
[12:43:50]: ▸ It will be removed in version 5.0 of the Android Gradle plugin.
[12:43:50]: ▸ For more information, see TBD.
[12:43:50]: ▸ To determine what is calling BaseVariant.getApplicationIdTextResource, use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
[12:43:50]: ▸ app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.github.bumptech.glide:compiler:4.11.0'.
[12:43:50]: ▸ > Task :clean UP-TO-DATE
[12:43:50]: ▸ > Task :app:clean
[12:43:51]: ▸ BUILD SUCCESSFUL in 16s
[12:43:51]: ▸ 2 actionable tasks: 1 executed, 1 up-to-date
[12:43:51]: --------------------------------------
[12:43:51]: --- Step: fastlane install_plugins ---
[12:43:51]: --------------------------------------
[12:43:51]: $ fastlane install_plugins
[12:43:53]: ▸ Successfully installed plugins
[12:43:53]: ----------------------------------------------------
[12:43:53]: --- Step: Switch to android firebase_deploy lane ---
[12:43:53]: ----------------------------------------------------
[12:43:53]: Cruising over to lane 'android firebase_deploy' 🚖
[12:43:53]: -------------------
[12:43:53]: --- Step: is_ci ---
[12:43:53]: -------------------
[12:43:53]: -------------------------------
[12:43:53]: --- Step: ensure_git_branch ---
[12:43:53]: -------------------------------
[12:43:53]: Git branch matches integration, all good! 💪
[12:43:53]: -------------------
[12:43:53]: --- Step: clean ---
[12:43:53]: -------------------
[12:43:53]: $ /home/runner/work/tessa-android/tessa-android/gradlew clean -p .
[12:43:54]: ▸ > Configure project :app
[12:43:54]: ▸ WARNING: API 'BaseVariant.getApplicationIdTextResource' is obsolete and has been replaced with 'VariantProperties.applicationId'.
[12:43:54]: ▸ It will be removed in version 5.0 of the Android Gradle plugin.
[12:43:54]: ▸ For more information, see TBD.
[12:43:54]: ▸ To determine what is calling BaseVariant.getApplicationIdTextResource, use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
[12:43:54]: ▸ app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.github.bumptech.glide:compiler:4.11.0'.
[12:43:54]: ▸ > Task :clean UP-TO-DATE
[12:43:54]: ▸ > Task :app:clean
[12:43:54]: ▸ BUILD SUCCESSFUL in 963ms
[12:43:54]: ▸ 2 actionable tasks: 1 executed, 1 up-to-date
[12:43:54]: ----------------------------------------
[12:43:54]: --- Step: assembleintegrationRelease ---
[12:43:54]: ----------------------------------------
[12:43:54]: $ /home/runner/work/tessa-android/tessa-android/gradlew assembleintegrationRelease -p . -Pandroid.injected.signing.store.file=Tessa.jks -Pandroid.injected.signing.store.*** -Pandroid.injected.signing.key.alias=*** -Pandroid.injected.signing.key.***
[12:43:55]: ▸ > Configure project :app
[12:43:55]: ▸ WARNING: API 'BaseVariant.getApplicationIdTextResource' is obsolete and has been replaced with 'VariantProperties.applicationId'.
[12:43:55]: ▸ It will be removed in version 5.0 of the Android Gradle plugin.
[12:43:55]: ▸ For more information, see TBD.
[12:43:55]: ▸ To determine what is calling BaseVariant.getApplicationIdTextResource, use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
[12:43:55]: ▸ app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.github.bumptech.glide:compiler:4.11.0'.
[12:44:00]: ▸ > Task :app:preBuild UP-TO-DATE
[12:44:00]: ▸ > Task :app:preIntegrationReleaseBuild UP-TO-DATE
[12:44:00]: ▸ > Task :app:compileIntegrationReleaseAidl NO-SOURCE
[12:44:00]: ▸ > Task :app:compileIntegrationReleaseRenderscript NO-SOURCE
[12:44:00]: ▸ > Task :app:dataBindingMergeDependencyArtifactsIntegrationRelease
[12:44:00]: ▸ > Task :app:dataBindingMergeGenClassesIntegrationRelease
[12:44:00]: ▸ > Task :app:generateIntegrationReleaseResValues
[12:44:00]: ▸ > Task :app:generateIntegrationReleaseResources
[12:44:00]: ▸ > Task :app:injectCrashlyticsMappingFileIdIntegrationRelease
[12:44:00]: ▸ > Task :app:processIntegrationReleaseGoogleServices
[12:44:03]: ▸ > Task :app:dataBindingTriggerIntegrationRelease
[12:44:03]: ▸ > Task :app:generateIntegrationReleaseBuildConfig
[12:44:03]: ▸ > Task :app:checkApolloVersions
[12:44:03]: ▸ > Task :app:mergeIntegrationReleaseResources
[12:44:03]: ▸ > Task :app:generateIntegrationReleaseServiceApolloSources
[12:44:04]: ▸ > Task :app:dataBindingGenBaseClassesIntegrationRelease
[12:44:04]: ▸ > Task :app:writeIntegrationReleaseApplicationId
[12:44:04]: ▸ > Task :app:generateSafeArgsIntegrationRelease
[12:44:04]: ▸ > Task :app:checkIntegrationReleaseAarMetadata
[12:44:04]: ▸ > Task :app:createIntegrationReleaseCompatibleScreenManifests
[12:44:04]: ▸ > Task :app:extractDeepLinksIntegrationRelease
[12:44:05]: ▸ > Task :app:processIntegrationReleaseMainManifest
[12:44:05]: ▸ > Task :app:processIntegrationReleaseManifest
[12:44:05]: ▸ > Task :app:processIntegrationReleaseManifestForPackage
[12:44:06]: ▸ > Task :app:processIntegrationReleaseResources
[12:44:27]: ▸ > Task :app:kaptGenerateStubsIntegrationReleaseKotlin
[12:44:28]: ▸ > Task :app:javaPreCompileIntegrationRelease
[12:44:28]: ▸ > Task :app:mergeIntegrationReleaseNativeDebugMetadata NO-SOURCE
[12:44:28]: ▸ > Task :app:mergeIntegrationReleaseShaders
[12:44:28]: ▸ > Task :app:compileIntegrationReleaseShaders NO-SOURCE
[12:44:28]: ▸ > Task :app:generateIntegrationReleaseAssets UP-TO-DATE
[12:44:28]: ▸ > Task :app:mergeIntegrationReleaseAssets
[12:44:28]: ▸ > Task :app:compressIntegrationReleaseAssets
[12:44:29]: ▸ > Task :app:checkIntegrationReleaseDuplicateClasses
[12:44:29]: ▸ > Task :app:processIntegrationReleaseJavaRes NO-SOURCE
[12:44:30]: ▸ > Task :app:collectIntegrationReleaseDependencies
[12:44:30]: ▸ > Task :app:sdkIntegrationReleaseDependencyData
[12:44:30]: ▸ > Task :app:mergeIntegrationReleaseJniLibFolders
[12:44:31]: ▸ > Task :app:mergeIntegrationReleaseNativeLibs
[12:44:31]: ▸ > Task :app:stripIntegrationReleaseDebugSymbols
[12:44:31]: ▸ Unable to strip the following libraries, packaging them as they are: libbarhopper_v2.so.
[12:44:31]: ▸ > Task :app:validateSigningIntegrationRelease
[12:44:33]: ▸ > Task :app:kaptIntegrationReleaseKotlin
[12:44:33]: ▸ /home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/Asset.java:11: warning: companyId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class Asset implements java.io.Serializable {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/Asset.java:11: warning: locationId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class Asset implements java.io.Serializable {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/CompanyLocation.java:20: warning: Primary key constraint on addressId is ignored when being merged into nl.sping.tessa.data.model.room.entities.CompanyLocation
[12:44:33]: ▸ private final nl.sping.tessa.data.model.room.entities.Address address = null;
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/CompanyLocation.java:7: warning: companyId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class CompanyLocation {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/ProductGroup.java:7: warning: standardSheetId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class ProductGroup {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/ProductSubGroup.java:7: warning: productGroupId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class ProductSubGroup {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/Product.java:7: warning: productSubGroupId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class Product {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/PropertyValue.java:7: warning: productId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class PropertyValue {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/PropertyValue.java:7: warning: productPropertyId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class PropertyValue {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/StandardCriteria.java:10: warning: standardSheetId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class StandardCriteria {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/InspectionJob.java:7: warning: locationId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class InspectionJob {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/AssetInspection.java:7: warning: inspectionJobLocalId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class AssetInspection {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/AssetInspectionCriteriaResult.java:7: warning: assetInspectionLocalId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class AssetInspectionCriteriaResult {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/AssetSyncable.java:10: warning: assetLocalId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class AssetSyncable {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/entities/AssetInspectionSyncable.java:10: warning: assetInspectionLocalId column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
[12:44:33]: ▸ public final class AssetInspectionSyncable {
[12:44:33]: ▸ ^/home/runner/work/tessa-android/tessa-android/app/build/tmp/kapt3/stubs/integrationRelease/nl/sping/tessa/data/model/room/AppDatabase.java:8: warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide room.schemaLocation annotation processor argument OR set exportSchema to false.
[12:44:33]: ▸ public abstract class AppDatabase extends androidx.room.RoomDatabase {
[12:44:34]: ▸ ^ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1[WARN] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor (DYNAMIC).
[12:45:04]: ▸ > Task :app:compileIntegrationReleaseKotlin
[12:45:05]: ▸ w: /home/runner/work/tessa-android/tessa-android/app/src/main/java/nl/sping/tessa/ui/checkout/CheckoutSyncDataFragment.kt: (72, 17): 'when' expression on enum is recommended to be exhaustive, add 'AssetAlreadyCreated' branch or 'else' branch instead
[12:45:05]: ▸ w: /home/runner/work/tessa-android/tessa-android/app/src/main/java/nl/sping/tessa/ui/company/CompaniesFragment.kt: (105, 17): 'when' expression on enum is recommended to be exhaustive, add 'AssetAlreadyCreated' branch or 'else' branch instead
[12:45:11]: ▸ > Task :app:compileIntegrationReleaseJavaWithJavac
[12:45:11]: ▸ > Task :app:compileIntegrationReleaseSources
[12:45:41]: ▸ > Task :app:lintVitalIntegrationRelease
[12:45:55]: ▸ > Task :app:transformClassesWithFirebasePerformancePluginForIntegrationRelease
[12:46:25]: ▸ > Task :app:dexBuilderIntegrationRelease
[12:46:42]: ▸ > Task :app:mergeExtDexIntegrationRelease
[12:46:43]: ▸ > Task :app:mergeIntegrationReleaseJavaResource
[12:46:50]: ▸ > Task :app:mergeDexIntegrationRelease
[12:46:51]: ▸ > Task :app:packageIntegrationRelease
[12:46:51]: ▸ > Task :app:assembleIntegrationRelease
[12:46:51]: ▸ Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[12:46:51]: ▸ Use '--warning-mode all' to show the individual deprecation warnings.
[12:46:51]: ▸ See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings
[12:46:51]: ▸ BUILD SUCCESSFUL in 2m 57s
[12:46:51]: ▸ 42 actionable tasks: 42 executed
[12:46:52]: -------------------------------------------------------
[12:46:52]: --- Step: Switch to android upload_to_firebase lane ---
[12:46:52]: -------------------------------------------------------
[12:46:52]: Cruising over to lane 'android upload_to_firebase' 🚖
[12:46:52]: ---------------------------------------
[12:46:52]: --- Step: firebase_app_distribution ---
[12:46:52]: ---------------------------------------
[12:46:52]: Authenticating with FIREBASE_TOKEN environment variable
[12:46:52]: 🔐 Authenticated successfully.
[12:46:52]: ⌛ Uploading the APK.
[12:47:06]: ✅ Uploaded the APK.
[12:47:06]: ✅ No release notes passed in. Skipping this step.
[12:47:06]: ✅ No testers passed in. Skipping this step.
[12:47:06]: 🎉 App Distribution upload finished successfully.
[12:47:06]: Cruising back to lane 'android firebase_deploy' 🚘
[12:47:06]: -------------------------
[12:47:06]: --- Step: add_git_tag ---
[12:47:06]: -------------------------
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
|                                                                         Lane Context                                                                          |
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM                    | android                                                                                |
| PLATFORM_NAME                       | android                                                                                |
| LANE_NAME                           | android deploy_integration                                                                                |
| GRADLE_BUILD_TYPE                   | integrationRelease                                                                                |
| GRADLE_ALL_APK_OUTPUT_PATHS         | ["/home/runner/work/tessa-android/tessa-android/app/build/outputs/apk/integration/release/app-integration-release.apk"] |
| GRADLE_ALL_AAB_OUTPUT_PATHS         | []                                                                                |
| GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS | []                                                                                |
| GRADLE_ALL_MAPPING_TXT_OUTPUT_PATHS | []                                                                                |
| GRADLE_APK_OUTPUT_PATH              | /home/runner/work/tessa-android/tessa-android/app/build/outputs/apk/integration/release/app-integration-release.apk     |
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
[12:47:06]: No value found for 'tag' or 'build_number'. At least one of them must be provided. Note that if you do specify a tag, all other arguments are ignored.
+------+-------------------------------------------+-------------+
|                        fastlane summary                        |
+------+-------------------------------------------+-------------+
| Step | Action                                    | Time (in s) |
+------+-------------------------------------------+-------------+
| 1    | default_platform                          | 0           |
| 2    | is_ci                                     | 0           |
| 3    | clean                                     | 17          |
| 4    | fastlane install_plugins                  | 1           |
| 5    | Switch to android firebase_deploy lane    | 0           |
| 6    | is_ci                                     | 0           |
[!] No value found for 'tag' or 'build_number'. At least one of them must be provided. Note that if you do specify a tag, all other arguments are ignored.
| 7    | ensure_git_branch                         | 0           |
| 8    | clean                                     | 1           |
| 9    | assembleintegrationRelease                | 177         |
| 10   | Switch to android upload_to_firebase lane | 0           |
| 11   | firebase_app_distribution                 | 14          |
| 💥   | add_git_tag                               | 0           |
+------+-------------------------------------------+-------------+
+---------------------------+--------------+----------------+
|                 Plugin updates available                  |
+---------------------------+--------------+----------------+
| Plugin                    | Your Version | Latest Version |
+---------------------------+--------------+----------------+
| firebase_app_distribution | 0.2.4        | 0.2.5          |
+---------------------------+--------------+----------------+
[12:47:06]: To update all plugins, just run
[12:47:06]: $ bundle exec fastlane update_plugins
[12:47:06]: fastlane finished with errors
Error: Process completed with exit code 1.

It's weird though, i've looked into the ruby code of the add_git_tag action and it seems fine to me. Can't figure out why it's throwing that error in Github Actions

It's weird though, i've looked into the ruby code of the add_git_tag action and it seems fine to me. Can't figure out why it's throwing that error in Github Actions

Tried it again today with this code:
private_lane :add_tag_to_git do
    version_name = android_get_version_name(
      gradle_file: gradle_file
    )

    version_code = android_get_version_code(
      gradle_file: gradle_file
    )

    tag = 'TEST'
    case current_env
    when env_integration
      tag = "Firebase/#{env_integration}/v#{version_name}_#{version_code}"
    when env_acceptance
      tag = "Firebase/#{env_acceptance}/v#{version_name}_#{version_code}"

    when env_production
      tag = "Firebase/#{env_production}/v#{version_name}_#{version_code}"
    end

    add_git_tag(
      tag: tag
    )
  end

Still get the same error :(

Found the issue, I was calling:
add_git_tag
Instead of my created method:
add_tag_to_git
I feel stupid....


Assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
refactoring existing code
What did you learn from the changes you have made?
forgot some steps
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
n/a
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
yes, some new commands that not mentioned at class
How were these changes tested?
yes
A reference to a related issue in your repository (if applicable)
Checklist

[ X] I can confirm that my changes are working as intended

You have unfortunately made a pull request to the wrong repo. This is not a complete submission for the assignment. Please make a pull request to your own forked shell repo. Detailed instructions are available in the onboarding Assignment Submission Guide.


Sponsor tab getting twitterwall error

Anyone know about this??

@PMArtz92 ,sorry for the late reply , I am running the same fine on my local machine.

@PMArtz92 , By seeing your error ,I can suggest you to

Check if oe.twitterwall is present in your app.js.

@aayusharora ill check that :)

@PMArtz92 , is it good to close ?

check this http://aayusharora.github.io/

@championswimmer , You can close this ,if it seems go to close.

yes this is fine, sorry i was away from computer.


Added the reply message in the parse def of server.py

Proposed changes:

Added the respond in parse def. It saves a http request as I needed both the next action and its response.

Status (please check what you already did):

[ ] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Pritam Pathak seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

So sorry, I committed with wrong email address.
I am going to send a new pull request


added swapFields() to deep forms

I added a SWAP_ARRAY_VALUES action, reducer and tests.
Array fields can be modified by calling
swapFields(indexA, indexB)

This gets passed down as a prop just like addField() and removeField().
Hope you like it!

You've clearly understood the architecture. :+1: This is for putting arrows to reorder items in the array, presumably?

Exactly! I use react-dnd to swap Items on drop. Works great.

Using a library by @gaearon is pretty risky. He's just learning JS, I hear. :smile:
Can you make another PR on the docs branch to document this?

Done. See #522

Released as v4.1.2.


AttributeError for --user installs when platsubdir is None

see reproduction in https://github.com/pypa/distutils/issues/85#issuecomment-999916730
broken by this patch: https://github.com/pypa/distutils/commit/eba2bcd310caa49b51aa640055e44ef8c74b5581

The test suite did test that getconfigvar('platsubdir') would reliably resolve to a string or None. What neither the Setuptools suite nor the Distutils suite tested was that a None value would be expected to have string interfaces (and not simply have a string representation).

Traceback is:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-xjd_2vnp/astpretty_165bf4578d4043dea2cf66e37deae34b/setup.py", line 2, in <module>
        setup()
      File "/usr/local/lib/python3.8/dist-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/core.py", line 148, in setup
        return run_commands(dist)
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/core.py", line 163, in run_commands
        dist.run_commands()
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/dist.py", line 967, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/dist.py", line 985, in run_command
        cmd_obj.ensure_finalized()
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/cmd.py", line 107, in ensure_finalized
        self.finalize_options()
      File "/usr/local/lib/python3.8/dist-packages/setuptools/command/install.py", line 45, in finalize_options
        orig.install.finalize_options(self)
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/command/install.py", line 429, in finalize_options
        self.create_home_path()
      File "/usr/local/lib/python3.8/dist-packages/setuptools/_distutils/command/install.py", line 639, in create_home_path
        if path.startswith(home) and not os.path.isdir(path):
    AttributeError: 'NoneType' object has no attribute 'startswith'

@jaraco the thing is the testsuite did fail, but it was pushed directly to main and ignored

Yep. My mistake. Acknowledged in #90. Long term, the solution will be for these tests to be part of the Setuptools test suite and part of the integrated release process.


Consider making all documentation optional

There are going to be some users who don't want the scaffolding for sphinx/readthedocs autodocumentation. So we should consider whether it's worth modifying the template and adding a copier question to allow for a hydrated project to be created without any sphinx/docs support.

I'm not a strong advocate for adding this option. The user already has to take extra steps to generate public documentation. If they don't want it now, they do nothing, and if they want it later, then it's already available and ready to publish.


Add alternative Postman Environment configuration

@gregdegruy
Thanks for submitting this contribution. Sorry for the delay in responding.
I'm afraid I'm not going to accept it though.
The scope of this topic is very limited. We are not trying to document everything you can do with Postman.
This topic is about how people can set up a postman environment using the specific globally approved client id we provide: (51f81489-12ee-4a9e-aaae-a2591f45987d) and the configured callback URL so that they can being to use Postman immediately without the effort of registering an app.
The information you are providing is valuable if the have their own registered app that they want to use. But why even do that when we are providing one that works?
The doc already calls out the possibility to use their own:

This environment uses a client ID for an application that is registered for all Common Data Service environments.
You can use the clientid and callback values supplied in these instructions. However, when building your own application, you should register your own Azure Active Directory (Azure AD) application.
To register your own Azure AD application, see the steps described in Walkthrough: Register a Common Data Service app with Azure Active Directory.

I don't really want to go any further than this.
Thanks, I hope you understand
Jim

Hello Jim, thank you for clarifying and for the detailed response.


Navigation

How to use navigation in side menu?

I am new to react-native and have the same question as you. I tried added in the function menu something like : onPress={() => navigation.navigate('Setting')}
It can direct to the page but does't close the menu. I am still trying. can someone help? Many thanks in advance.


Equirectangular specific options (image not 2x1 - Microsoft Edge/Explorer issue)

We experienced the following issue with equirectangular specific options using Microsoft Edge/Explorer:

we have an image of resolution 10111x3468
we used the following parameters

pannellum.viewer('panorama', {
    autoLoad: true,
    "type": "equirectangular",
    panorama: "image.jpg",
    vaov: 124.304663,
    vOffset: 3
});

here is how firefox/chrome renders this image

here is how edge/explorer renders this image

How we can eliminate the cone from edge/explorer? Why this cone appears?
Regards

I am unable to reproduce this.
Are any errors displayed in the browser's developer console? Do you have a (not) working example I can look at?

There are no errors displayed in the browser developer console.
Attached a (not) working example.
example.zip

It appears to be a hardware/driver specific problem, as it works fine for me.

Have you tried resizing the image to see if that fixes it?


Multiple objects animation (no armature) failed to convert

I have spheres and cones that were constrained into bones (BVH mocap animation), which I then baked, so I have like 100+ animated objects.
As GLTF, I can see them animating when I use gltf viewer (online). However converting them into USDZ and I am getting just a static result. Wondering why?
If using Apple's own usdzconvert tool, usually Armature + Mesh works fine, but in this case, 100+ animated objects are not good.

Kind of related, but I tested a couple of BVH mocap armature into Blender and then trying to export and getting all kind of weird USDZ animation...
The issue seems like the Armature is all just a separate bones, and seems like Apple usdzconvert and GLTF2USD also cannot handle such hierarchy...
BLEND Blender 2.80
BVHRunner_005.blend.zip
Wondering if this is something that can be fixed?

As GLTF this works:
ManyAnim.zip
But when converted to USDZ, it failed...

It's just 2 box object animated for 10 frames.
I provide the blend, usda, gltf, fbx --- none of them works... only 1 object animating ><
boxanim.zip

This one actually works... parented all objects into an empty called ROOT. It's weird. I think I've done something similar in the past (?) with eyeballs animation.
this_work_parented_ROOT.zip

I tried with my Torus, with root parent... still does not work. It does not make sense...
Archive.zip

My feeling is that somewhat "only 1 animation" possible under 1 action take. Sometimes with the right "hack" multiple objects can work.
I tested with Sketchfab and very often only 1 animated object works... unless ...

My quick solution so far is to bring all those animated objects into SKETCHFAB, and then redownloading the gltf...
https://sketchfab.com/3d-models/hundred-torus-procedural-animation-fd8c3e9676944d9c8faf973d47898f39
It's weird but works. Someone at Apple, working on usdzconvert need to investigate this.

Twitter Thread:
https://twitter.com/jimmygunawanapp/status/1156732937565429767?s=20
I am still wondering what Sketchfab did when converting BLEND into GLTF that works with the converter...! BIG MYSTERY.

From @ashley, one solution is to export as DAE, import back into Blender, export as GLTF. Then it works. Strange?

The answer might lie in "keyframing" everything, every channel properties and attributes of the objects, so they are all "identical" ...


Utilizing postcss-normalize

I recently read in the journal about updating preflight to use the normalize.css package.

Update preflight to use normalize.css as a proper npm dependency, instead of manually maintaining a copy-and-pasted version like we do now - Journal

Have you considered using postcss-normalize instead of shipping the entire normalize.css stylesheet letting the user decide which browsers to support?

PostCSS Normalize lets you use the parts of normalize.css you need from your browserslist

Yeah I'm open to looking into this more, when I looked briefly a few days ago I realize that postcss-normalize is actually using a different normalize.css under the hood than the one we are using:
https://github.com/csstools/normalize.css
...so I opted to just go the simple route for now so I didn't have to spend a ton of time digging into the differences. You'll notice that csstools/normalize.css is currently on version 9.0.1 and necolas/normalize.css is only on 8.0.1.

Yeah you are right, I didn't notice the difference at first. It seems the biggest difference being the removal of margin: 0 on the <body> element. Not sure if that could mess up any current applications running Tailwind.
The difference between the two stylesheets: https://www.diffchecker.com/aV6tptG5
In any case, it would be great if we could ship less CSS and let the developer choose which browser versions to support.

Not going to pursue this right now, if anything leaning towards dropping normalize as a dependency altogether and maintaining our own reset.


SNAP-1770: Changes to get credentials into LeadNodeExecutorContext

Changes proposed in this pull request
PR for early review.
TODO Formatting changes, tests.
Patch testing
NA
ReleaseNotes changes
NA
Other PRs
TBA

Thanks for the comments @sumwale Will address the issues raised, as I continue to work on this PR as it's not yet complete.

@sumwale I have made further changes to accommodate your feedback.
Note that this will be merged into SNAP-1656, the base branch for security.

LGTM. It will be better to change the field name from "password" to something like "authToken" because as we discussed this can be either a token itself for SSO in future, and we also talked about through-and-through encryption of the field using a common public-private key.


Client-server: Fix upload keys example request

Contributes to #1733

Thanks for finding and fixing this @a-andreyev! We do need signoff and a changelog before it can be merged though, as per our contributing guidelines. When you get a chance, please sign off on the changes and include a .clarification changelog entry.

Got it! Updated the PR. :slightly_smiling_face:

Thanks for the fix.  Since you're fixing this spot, could you also fix the same issue in api/client-server/keys.yaml and api/server-server/user_keys.yaml (which will also require a server_server changelog file).

Thank you! Missed that previously, fixed.

Thank you very much!


Add test cases to IteratorUtilsTest

Add testcases to IteratorUtilsTest

Thank you @dota17 !
That really improved code coverage for this class :-)
The remaining area of improvement in this class appears to be in getIterator(Object) and some other little nooks and crannies.


Is api integrated?

@skoruba, it does not appear that the admin ui uses the api.  Is that true?

API is separated from AdminUI and AdminUI uses BusinessLogic directly, not via API. 😊


Fix table entry properties

Pull Request Test Coverage Report for Build 921811530

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 890782641:
0.0%

Covered Lines:
383

Relevant Lines:
383

💛  - Coveralls

Thanks for this, sorry it was a breaking change!


Upgrade jest to v28.x

Upgrades jest to v28.x
Upgrades babel-jest to v28.x
Adds jest-environment-jsdom package as it is  no longer shipped by jest by default

Please review @terrestris/devs

Superseeds #666 and #668.


Added ability to pass the gradient function to Adadelta

Adding ability to pass along the gradient function to use for Adadelta, necessary for doing stochastic gradients with GPy models.

Codecov Report

Merging #24 into master will decrease coverage by 0.09%.
The diff coverage is 50%.

@@            Coverage Diff            @@
##           master      #24     +/-   ##
=========================================
- Coverage   96.68%   96.59%   -0.1%
=========================================
  Files          26       26
  Lines        2084     2087      +3
  Branches      332      333      +1
=========================================
+ Hits         2015     2016      +1
- Misses         55       56      +1
- Partials       14       15      +1

Impacted Files
Coverage Δ

paramz/optimization/optimization.py
98.4% <50%> (-1.06%)
:arrow_down:

Continue to review full report at Codecov.

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

We need to put in the test case here! Then we can merge :)


Update azure-virtual-network-gateway-limits.md

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

#label:"aq-pr-triaged"

@anzaman
Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
@MicrosoftDocs/public-repo-pr-review-team

#close


Edge encoder shared between global and local

First off, I want to just say that this is some really awesome work!
I'm currently considering applying the approach you've taken in GeoDiff to a particular conformation generation problem, and so I'm having a look through the code + trying to reproduce experiments atm.
While having a look I noticed that
https://github.com/MinkaiXu/GeoDiff/blob/d76991dd2edfda98631f001e542ecb933d310803/models/epsnet/dualenc.py#L186-L190
and
https://github.com/MinkaiXu/GeoDiff/blob/d76991dd2edfda98631f001e542ecb933d310803/models/epsnet/dualenc.py#L209-L213
are the same, leaving
https://github.com/MinkaiXu/GeoDiff/blob/d76991dd2edfda98631f001e542ecb933d310803/models/epsnet/dualenc.py#L62
unused.
Is this sharing of parameters intentional or just a typo? In the case it's the latter, I figured I should make you aware of it:)

Oh nope, definitely not the case. I think I should have used different networks. Let me check my git history...

Hi Tol, thanks a lot for your nice comment!
I checked my git history, and it seems I do share the parameters for my experiments... But yes it is a typo, and you can fix it in your own experiments!
For the empirical performance, I think since this module is relatively simple so it will not affect the performance a lot.
But one concern is that changing the code may make the currently provided checkpoint work not very well. So I may keep the current code until finding a time to re-run the whole model... : )
Thanks again for your check!
Minkai

| For the empirical performance, I think since this module is relatively simple so it will not affect the performance a lot.
Exactly. I specifically didn't use the word "bug" in my description because it's such a minor thing that it shouldn't matter that much + clearly the empirical performance of the model is already very good:) But figured I'd at least make you aware in case it wasn't intentional 👍 Glad you found it useful!
| But one concern for correcting the repo now is that it will make the currently provided checkpoint work not very well. So for this repo, I may just keep the current code until find a time to re-run the whole model... : )
That makes sense:) As a tip: one thing you can always do is to create a separate branch for the code used in the publication and just point to the reader to that in the README on #main.

Thanks, Tor! And please ping me if there is any other question!


support node modules?

i don't think it'd work so well when compiling to native but for compiling to JS it would be nice to support.
may create interop issues, but the node ecosystem is pretty massive, so it'd be nice to be able to tap into that when needed.

There's many different spins on this idea and feel free to elaborate what you had in mind.
One use case is package.json to express your set of Reason dependencies, and then installing their source code into a sandbox (node_modules), then building all of your deps (and yourself) from the root directory.
CommonML does this. The ReasonExampleProject shows how you can use npm to wire together many npm modules into one monolithically built native binary. @chenglou is working on a faster and more scalable build system built on Jenga that impemens that exact same workflow (but faster) https://github.com/chenglou/jengaboot
But did we need to use npm to accomplish that? Really what we're after is the workflow that npm offers and npm just happens to already provide that. We'd also like to build a bridge to the opam world so we can achieve that same workflow inside of opam.
Any other ideas about ways we could take inspiration from the npm world?

(Jengaboot repo still dirty and I tweaked some stuff before publishing. Feedback welcome on that repo)

thanks for the links guys! i'm also trying to get a better sense of where this project fits in with the existence of flow, typescript, etc.
@jordwalke i haven't thought about it too much, but at a high-level this is what i want to be able to do:
index.re:
// include express framework
include express

let module Login {
  let loginTwice = fun auth => {
    (login auth, login auth)
  }
}

console.log 'hi'

reason index.re
# => hi

basically i'd love a fast, optionally-typed javascript-like language that can compile natively and to an optimized javascript (asm or web assembly) for the browser 🎉

I think @matthewmueller meant interop with JS dependencies like
// someNodeModule.js
module.exports = function () { console.log('bar'); }

From what I understand this isn't possible yet? I'm waiting on Bucklescript support for any of this interop.
The workflow makes a lot of sense to me, but what's the motivation behind node_modules for Reason dependencies? Wouldn't modules be a better name in general? I mean this isn't a javascript project, less confusion.

@IwanKaramazow absolutely, sorry I just wrote node_modules for clarity. but this doesn't need depend to on node or how NPM install things.

basically i'd love a fast, optionally-typed javascript-like language that can compile natively and to an optimized javascript (asm or web assembly) for the browser 🎉

A type system and the kind of compilation you can hope for are deeply connected. OCaml, and therefore Reason, are very much statically typed. It is because of that property that you can benefit from the ability to have your libraries be compiled into JS or efficient machine instructions.
However, when you compile your strict code into JS, we should seek to be able to seamlessly interop with existing JS libraries even though they are not strict. In this sense, you can think about Reason+OCaml as your goto tool for building libraries for which you want the most options (you want to be able to run your newly built library in performance sensitive applications, but you also want to use it in your JS apps etc).
The interop between JS libraries is not automated yet (you can see the Reason Atom plugin itself which does some of this interop). It's pretty manual right now, but there's certainly a lot of potential.

@matthewmueller hi, bucklescript supports this workflow out of the box, see example, and more than that, you can share your ocaml modules as JS modules, just like typescript.
We are working on integrating reason into bucklescript, see this issue #419 , but you can still try vanilla ocaml syntax, and when it is ready, you can use refmt to upgrade to reason syntax

That sounds awesome @bobzhang. I did not know it was so far along already.

@jordwalke seamless integration with npm ecosystem is our main goal.
Even for server side, nodejs still makes lot of sense, it has tons of libraries, and easier to deploy to cloud like AWS lambda
For front-end, we support various module systems, amd/commonjs and even google module for google closure users, once es6 lands in nodejs, we will support es6 modules too

Is this okay to close? I think bucklescript should support this workflow.

Yep. See examples in https://github.com/reasonml-community =D

I think this issue is about using node modules from OCaml / Reason, which in fact requires BuckleScript bindings to be written for the JS libraries.


Change output filenames for Skew-T to use 3 digit forecasts

This is literally a one-character change in the code.  It makes the skew-t output file names end in "fNNN.png" rather than "fNN.png".

@Brian-Jamison I approved, but am curious if this change will cause issues for our other CAM models.


Emit events using references

All to emit events using values or references.
Transfer::emit(&from, to, amount);

Experiments showed it doesn't have any positive impact on either the stack height or the execution cost.
Closing as won't do.


Problem installing AP Downloader/Installer <IP_ADDRESS>

Hi Paul,
When trying to install the programme I get the following message:
This app package’s publisher certificate could not be verified. Contact your system administrator or the app developer to obtain a new app package with verified certificates. The root certificate and all immediate certificates of the signature in the app package must be verified (0x800B010A)
And it will not let me go any further. I have also tried older versions and get the same error. I am running Windows 11 if that makes a difference.
Any help with this would be greatly appreciated.
Kind Regards
Andy

Hey @tw4083, I've gotten updated certificates, give the 1.1.4 release a try

Hi Paul,
That is working spot on. Thanks for sorting it so quickly.
Kind Regards
Andy


Data of real-world tasks

Hi, thanks for your excellent work!
Is there any plan to release the data used in real-world task training?

@chenxi-wang here is a gDrive folder with real-world datasets. If I remember correctly, the Kinect depth images have a different scale to the ones in RLBench. So you have to fix that in the data-preprocessing code.
I don't think these datasets are particularly useful. They are so small, agents trained on them will only work for objects in my lab and my robot setup. Maybe the hand-sanitizer dataset is useful 🤷. The real-world experiments were mostly to show that PerAct does work in the real-world.
Hope this helps!

@chenxi-wang here is a gDrive folder with real-world datasets. If I remember correctly, the Kinect depth images have a different scale to the ones in RLBench. So you have to fix that in the data-preprocessing code.
I don't think these datasets are particularly useful. They are so small, agents trained on them will only work for objects in my lab and my robot setup. Maybe the hand-sanitizer dataset is useful 🤷. The real-world experiments were mostly to show that PerAct does work in the real-world.
Hope this helps!

Thank you so much!

For those still interested, here are some rosbag utilities I made to facilitate real robot data translation to training sets. Our lab used this file to translate bags to RLBench file structure. Hope it helps!


Searching for bugs, nothing to see here... daeyyn

Searching for bugs, nothing to see here... daeyyn

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Idle timer not working

OS version: OS 10.15.6
Browser version: Chrome 85.0.4183.83
Extension version: Version 1.66.3

Relevant integration (if any):

🐛 Describe the bug
Idle detection doesn't seem to be working, no notification showed after 15 minutes idle
Other details or context
Tried uninstalling and reinstalling, disabling and re-enabling, restarted device. Still no dice.
Case

case reference


[FEATURE] Initiate project creation/deletion in the frontend

Signed-off-by: Célian Garcia<EMAIL_ADDRESS>This PR initiates the project CRUD. It includes :

[x] An "ADD PROJECT" button in the home page (dialog redirecting to the project once submitted)
[x] A delete icon button on each project of the home page  (with confirmation dialog)
[x] A "DELETE PROJECT" button in the project page  (with confirmation dialog)

Regarding the second point, to be discussed with designer about the clarity of having the dashboards stored by project in the home page view.
Despite the bug that removing a project does not remove dashboard (will be soon fixed), I would find clearer to have directly a list of dashboards (with project mention on the line).

Checklist

[x] Pull request has a descriptive title and context useful to a reviewer.
[x] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, IGNORE.
[x] All commits have DCO signoffs.
[x] Changes that impact the UI include screenshots and/or screencasts of the relevant changes.

Screenshots
VIEWS

CREATION

DELETION

This might benefit from a pass for consistency with other parts of the app. Some examples below.
The delete dialog might benefit from being more similar to other delete dialogs with "delete" and "cancel" buttons.

The add dialog might benefit from being more similar to other addition dialogs with "add" and "cancel" buttons.

Let me know if you're ready for re-review / want re-review!

Let me know if you're ready for re-review / want re-review!
Sure I will, I split my time between two teams currently. I did everything except the business logic inside the dialog. I'll ping you when it's done. Will be during next week probably.

Sounds great 👍  (I didn't want you left without a review if you needed it)


Add links to google groups for issues

Automated message from Dropbox CLA bot
@kunall17, it looks like you've already signed the Dropbox CLA. Thanks!

@timabbott I have updated the readme, can you please check this one?

Cool, I merged this and also added some changes on top of it to make the Android instructions read more clearly.
Thanks @kunall17!


Create CI/CD pipeline that creates azure.websphere-traditional.cluster-N.N.N-arm-assembly.zip as a build artifact

AB#1348300

Please assign this to @zhengchang907 . @git4rk

PR: https://github.com/zhengchang907/azure.websphere-traditional.cluster/actions/runs/999902501


instabug-react-native does not work with Expo

Instabug-react-native is marked as working with Expo, but it requires react-native link, and on talking to their support team, it turns out they don't support Expo at all.

Thanks for letting us know!


Remove reference to BPA from readme

Hey guys, would it be possible to remove or rewrite the following sentence in the main readme: "This project space will be a rewrite of the Business Partner Agent with multitenancy, cloud native architecture and Open APIs."  The BPA reference causes a lot of confusion and people continuously ask me if the BPA is still being developed, or if it is now Traction, or if Traction is the multi tenancy portion of the BPA.

Removing it now @etschelp.


[1.17.0-rc1] LDAP Group Sync for organization teams issue with escaped characters in LDAP

Description
in our company AD (LDAP) , members of a group object are described according to their DN in the form:
member=CN=NAME\, SURNAME,OU=SITE,OU=Internal,OU=People,DC=my,DC=company,DC=corp
that is the exact extract from ldapsearch command on linux.
Unfortunately, the escaped coma (",") in the DN is not correctly managed by the synchronization task, all our users are managed that way
This lead to the following error log :
2022/06/30 15:43:12 ...dap/source_search.go:215:listLdapGroupMemberships() [E] [62bda870] Failed group search using filter[(member=CN=NAME\, SURNAME,OU=SITE,OU=Internal,OU=People,DC=my,DC=company,DC=corp)]: LDAP Result Code 201 "Filter Compile Error": ldap: invalid characters for escape in filter: encoding/hex: invalid byte: U+002C ','
Gitea Version
1.17-RC1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
RHEL 7
How are you running Gitea?
Using package from release tab on github
Database
MySQL

most probably related to #9169 ?

Are you able to tell us how they should be escaped?

Should this be:
member=CN=NAME\\\, SURNAME\,OU=SITE\,OU=Internal\,OU=People\,DC=my\,DC=company\,DC=corp

Or is it actually:
member=CN=NAME\\, SURNAME,OU=SITE,OU=Internal,OU=People,DC=my,DC=company,DC=corp

It would be helpful if you could check the associated PR to ensure it fixes your issue.

Sry for my late reply, can you tell me how can I get the associated build amd64 ? I do not have the capability to build gitea in my env.
Thx for your fast answer

@zeripath: https://github.com/go-gitea/gitea/issues/9169#issuecomment-558738712
The recommendation there was to use \5c; but it involved strings entered via UI, likely that this caused additional escaping requirements.

Should this be:
member=CN=NAME\\\, SURNAME\,OU=SITE\,OU=Internal\,OU=People\,DC=my\,DC=company\,DC=corp

no

Or is it actually:
member=CN=NAME\\, SURNAME,OU=SITE,OU=Internal,OU=People,DC=my,DC=company,DC=corp

yes, sans \\, it might be \5c, as well
I can't build and test from source, is the PR built as docker image?

Sry for my late reply, can you tell me how can I get the associated build amd64 ? I do not have the capability to build gitea in my env.

Honestly building Gitea is very very simple especially for amd64. I've previously built PRs for people but it's really something that I save for those personally sponsoring me.

The correct escaping in my case is
member=CN=NAME\\, SURNAME,OU=SITE,OU=Internal,OU=People,DC=my,DC=company,DC=corp

Ok so my PR will do the right thing.

@zeripath just built and tested your PR, it solves the issue for me


JB-594 - Add hover tooltip to diff view in cycle config

What does this PR do and why?
Closes JB-594 : Add hover tooltip to diff view in cycle config
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3862

PR #3863

PR #3864

PR #3865   👈

This comment was auto-generated by Graphite.

@wraeth-eth started a stack merge that includes this pull request via Graphite.

Graphite rebased this pull request as part of a merge.

@wraeth-eth merged this pull request with Graphite.


Possibility to create computational graph from Tensor gradient

Hello
I am trying to build computational graphs from the gradients of Tensors.
I have a working Python implementation as follows:
x = torch.randn(2)
x.requires_grad = True
y = neural_net.forward(x)

# first order derivative
fd = torch.autograd.grad(y, x, create_graph=True)[0]

Now, fd has a field grad_fn that has the field next_functions. With next_functions I can recursively build the computational graph in Python. However, in tch-rs there seems to be no equivalent of grad_fn and next_functions. Am I missing something, or is there another way to build the graph?
For clarity: I need the graphs to build symbolic expressions that are then used in SMT solving.
Thank you.

I don't think that there is an easy way to do so at the moment: I think it's likely to require exposing functions like next_edges on the Rust side and to be able to make some introspection on these edges objects.

Ok, thanks for the information.
Unfortunately, I don't have time to further look into this and to implement it.
Therefore, I am closing this issue for now. I might come back to it at a later point.
Best regards.


Product tags in docs

Coverage remained the same at 94.093% when pulling b368b0e5a60d5a7879a1a0611a7f12c6ec699ef5 on reshma-product-tags into 911b4d46971fcfa8fc157f3e13608e1dad692e9c on main.


Document token lifetimes

TL;DR
Please document the default token lifetimes which you'll encounter using each different method.
Expected behavior
I would have expected to be able to use Direct Workload Identity Federation method alongside a docker builds which get pushed to Google Artifact Registry, without error.
Observed behavior
It seems that using Direct Workload Identity Federation has a <10 min (?) token lifetime before the token expires. Perhaps this is the id-token default lifetime?
Here is what I think would be a minimal reproduction case of this bug:
      - uses: actions/checkout@v4
      - uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: ...
          project_id: ...
      - run: gcloud --quiet auth configure-docker us-docker.pkg.dev
      - run: docker buildx build --push -t some_image:tag .

The "bug":
If some_image is a docker build that takes 1 minute to build, all is fine.
If some_image is a docker build that takes >10 minutes, it always fails at the very end with:
#12 ERROR: failed to push us-docker.pkg.dev/[...]: failed to authorize: failed to fetch oauth token: unexpected status from GET request to https://us-docker.pkg.dev/v2/token?scope=repository%3A[...]%3Apull%2Cpush&service=us-docker.pkg.dev: 401 Unauthorized
Switching to Service Account method with token_format: access_token works as it has a 1 hour access_token time (but it would have saved a lot of time to have the Direct method's token lifetime documented, as well as the default service account method without setting the format).

Obviously this is not a "bug" per se — but it's very unexpected behavior if you don't know what to look for and what the token lifetime is for the Direct method, or have any way to configure it.
Action YAML
name: foo
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      contents: read
      id-token: write
    steps:
      - uses: actions/checkout@v4
      - uses: google-github-actions/auth@v2
        with:
          workload_identity_provider: projects/.../locations/global/workloadIdentityPools/.../providers/...
          project_id: ...
      - name: Do thing
        run: docker buildx build --push -t some_image:tag .

Log output
n/a

Additional information
n/a

ID Tokens are always 10 minutes, and this is enforced by the GCP IAM credentials API. You can verify this by running gcloud auth print-identity-token and then inspecting the JWT exp value. I've proposed #433 to add this to the docs.
Access Tokens have a default lifetime of 1 hour, and that was already documented in the access token section. They can be extended for longer, but it's complicated and depends on your GCP org setup. This is already documented in the README though.
I've documented that the Direct WIF token has the same 10 minute expiration in $433.


Fix MTP Export Notification

#69
The current sale is 10 by 10 items, each containing 10L

C'est merge, merci ! <3


Import Error: TypeError When Using pyairtable Library

Bug Report
Description
I encountered a TypeError when trying to import the pyairtable API using from pyairtable import Api. The error traceback indicates a conflict with multiple base classes in the Comment class of the pyairtable package.
This is my first time using and installing the pyairtable library, and I'm working in a Jupyter notebook within a virtual environment. I followed the installation instructions from the documentation, but the error occurred during the import.
Code to Reproduce
from pyairtable import Api

Error Output
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
...
TypeError: multiple bases have instance lay-out conflict

#### Traceback (Full)
File "c:\path\to\your\project\pyairtable\__init__.py", line 3
    from .api import Api, Base, Table
File "c:\path\to\your\project\pyairtable\api\api.py", line 10
    from pyairtable.api.enterprise import Enterprise
File "c:\path\to\your\project\pyairtable\models\comment.py", line 7
    class Comment(CanUpdateModel, CanDeleteModel, ...):
File "c:\path\to\your\project\pydantic\v1\main.py", line 282, in ModelMetaclass.__new__
    cls = super().__new__(mcs, name, bases, new_namespace, **kwargs)
File <frozen abc>, line 106, in __new__
    TypeError: multiple bases have instance lay-out conflict

Environment

Python version: 3.13.0
pyairtable version: 2.3.3
pydantic version: 2.9.2
typing_extensions version: 4.12.2
Jupyter notebook: Yes
Virtual environment: Yes (created using venv)

Steps to Reproduce

Set up a virtual environment and install pyairtable with pip install pyairtable.
Launch a Jupyter notebook.
Try to import the Api class from pyairtable using from pyairtable import Api.
The above error occurs upon import.

Expected Behavior
The library should import without any errors.
Installed Libraries
Here is the list of installed libraries in my virtual environment:
annotated-types==0.7.0
asttokens==2.4.1
certifi==2024.8.30
charset-normalizer==3.4.0
colorama==0.4.6
comm==0.2.2
debugpy==1.8.7
decorator==5.1.1
executing==2.1.0
idna==3.10
inflection==0.5.1
ipykernel==6.29.5
ipython==8.28.0
jedi==0.19.1
jupyter_client==8.6.3
jupyter_core==5.7.2
matplotlib-inline==0.1.7
nest-asyncio==1.6.0
packaging==24.1
parso==0.8.4
platformdirs==4.3.6
prompt_toolkit==3.0.48
psutil==6.0.0
pure_eval==0.2.3
pyairtable==2.3.3
pydantic==2.9.2
pydantic_core==2.23.4
Pygments==2.18.0
python-dateutil==2.9.0.post0
pywin32==308
pyzmq==26.2.0
requests==2.32.3
six==1.16.0
stack-data==0.6.3
tornado==6.4.1
traitlets==5.14.3
typing_extensions==4.12.2
urllib3==2.2.3
wcwidth==0.2.13

OK, I can reproduce this. It appears to be a new issue with Python 3.13, but I'm not familiar enough with the changes from 3.12 to 3.13 to know off hand what happened. Will dig in more in the coming days, but if anyone out there has ideas, please share! FYI @gtalarico @jorge-yelp

Thanks for the bug report. I pushed a fix for this under 2.3.4, so if you pull the latest version from PyPI this should work. Please give it a try and let us know if you run into any other issues.


chore: update deps

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.40%. Comparing base (6fd0a08) to head (b32453a).

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1288   +/-   ##
=======================================
  Coverage   75.40%   75.40%
=======================================
  Files          68       68
  Lines         614      614
  Branches      144      144
=======================================
  Hits          463      463
  Misses        141      141
  Partials       10       10

Components
Coverage Δ

@suspensive/utils
47.16% <ø> (ø)

@suspensive/react
100.00% <ø> (ø)

@suspensive/react-dom
96.66% <ø> (ø)

@suspensive/react-native
100.00% <ø> (ø)

@suspensive/react-query
72.09% <ø> (ø)

@suspensive/react-query-4
0.00% <ø> (ø)

@suspensive/react-query-5
0.00% <ø> (ø)

@suspensive/jotai
0.00% <ø> (ø)


chore(deps): upgrade compiler dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-compiler-dependencies-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2385

Questions ?
Please refer to the Backport tool documentation


Middleware error EADF and ECONNRESET

We are getting this error in Production. Please indicate what we can be doing wrong.
We are using a mock JS for two API static response but those are working.
23:16:15: Middleware error
Error: EBADF: bad file descriptor, read
20:23:04: Middleware error
Error: read ECONNRESET
at _errnoException (util.js:1022:11)
at TCP.onread (net.js:615:25)
16:21:14: Middleware error
Error: This socket is closed
at Socket._writeGeneric (net.js:726:18)
at Socket._write (net.js:786:8)
at doWrite (_stream_writable.js:387:12)
at writeOrBuffer (_stream_writable.js:373:5)
at Socket.Writable.write (_stream_writable.js:290:11)
at Socket.write (net.js:704:40)
at Socket.Writable.end (_stream_writable.js:553:10)
at Socket.end (net.js:496:31)
at Server.server.on (/usr/src/app/node_modules/lws/index.js:242:24)
at emitTwo (events.js:126:13)
20:20:13: Middleware error
Error: This socket is closed
at Socket._writeGeneric (net.js:726:18)
at Socket._write (net.js:786:8)
at doWrite (_stream_writable.js:387:12)
at writeOrBuffer (_stream_writable.js:373:5)
at Socket.Writable.write (_stream_writable.js:290:11)
at Socket.write (net.js:704:40)
at Socket.Writable.end (_stream_writable.js:553:10)
at Socket.end (net.js:496:31)
at Server.server.on (/usr/src/app/node_modules/lws/index.js:242:24)
at emitTwo (events.js:126:13)

This is an OS-level issue.. Linux operating systems have a limit on the number of file descriptors that may be open at any one time, see the ulimit command: https://docs.oracle.com/cd/E19623-01/820-6168/file-descriptor-requirements.html.
Try researching "bad file descriptor".. this is not an issue with local-web-server itself but something more low-level.


Please invite me to the GitHub Community Organization

Name
dynamic612
Discord Username (if applicable)
seed612
Additional Context
please give me an invitation.

Does this repository need improvements?


Decide on data storage/ access method

JSON vs. CSV
due thurs 2/16

https://medium.com/vowel-magic/how-to-fetch-data-from-google-sheets-with-react-and-tabletop-js-ca0e9d2ab34b

tabletop is deprecated - attempting to find another library


incompatibility with react-grid-layout

I tried to use the knacss css with my react application, but I have an incompatibility with the react-grid-layout librairy because of the usage [class*="grid-"]'
I did the following modifications to correct the problem with my application
line 907 and 923
[class*="grid-"] {  SOULD BE  [class^="grid-"]
I think that the idea was to use a 'start with'  not a 'contains'
Could you do the correction if it was an error ?
Thanks

Hello @vinej ,
Actually, the CSS selector is [class*="grid-"] which is very different from [class="grid-"] and means that the string "grid-" can be anywhere within the class name.
If I switch to  [class^="grid-"], many designs will be broken just because the class will now have to start with this string.
The best solution would be to use the Sass version which provides a namespace in order to resolve conflicts : https://github.com/alsacreations/KNACSS/blob/master/sass/_config-variables.scss#L70

Thanks, I will try the SSAS version


fix logLongestSuites

Description of the Change
Fix logLongestSuites in time-reporter

still in needs-review

Sorry for the delay @UziTech - we talked about the PRs you pinged us on and for this one were hoping you can add more detail about:

the problem itself and its impact.
your verification process as described in the current PR templates.

This will be helpful for whoever ends up reviewing the PR.

The issue is window.timedSuites is an object not an array so checking it's .length doesn't work.
I'm not sure if this actually has any impact since it never actually worked and I don't know of anyone (including atom) that actually uses this file.
A better fix might be deleting the file.
I don't remember how I stumbled upon this issue. I think it was when I was creating atom-jasmine3-test-runner


head/tail and word tokens are not selecting correctly.

Workarounds

Defining the range second past last word urge or second past first word urge
Using the opposite command from what you want (not really recommended as it promotes bad muscle memory)

The reason for this behavior is that you give it a second modified after head or tail that will be used as the constraint/limit instead of the current line.
"take tail urge" => Set selection from start of urge to end of line
"take tail string urge" => Set selection from start of urge to end of string
"take tail second word urge" => Set selection from start of urge to end of sub word

Oh actually @SimeonC I just realised, I was wrong on Slack.  I believe what you're looking for is "take tail token second word urge" and "take head token second word urge".  The use case for "take tail second word" would be as follows:
shouldDis|ableTableUpdate

Assume the | is your cursor.  If you say "take tail second word", it should select able.  Ideally you'd be able to say just "take tail word" in this case as well, but "word" isn't yet a proper scope type

Fwiw "tail <modifier>" is shorthand for "past end of <modifier>".  So in your case, "tail second word urge" is shorthand for "urge past end of second word", which is kind of an odd thing.  The modifier after "tail" is generally expected to result in something bigger, and then we only take the part of it starting with the thing it's modifying.  So for example, "tail file line air" starts with "line air", expands to the file, and then only takes the part of the file starting from "line air".  So in this case, we start with "urge", and then "expand" to "second word", but since that's actually smaller than "urge", the behaviour isn't really well defined imo.
Tbh I'd be tempted to error if the modifier results in something smaller

Thanks for the explanations, It does make sense why it wasn't working and the take head token second word urge does work like I expected. (I often find myself saying cursorless commands in the wrong order still!)
So it sounds like this is an edge case where the "expansion" target is smaller than the main "target". I was thinking maybe it would be possible to just invert the target and modifier if the modifier results in something smaller, but erroring is probably a cleaner solution.
To me it's a bit inconsistent that we have tail <modifier> and <modifier> <scope>. This leads to my difficulty in reading and understanding in tail <modifier> <scope> which one does the modifier belong to - cursorless obviously doesn't have the issue, but it does seem kinda arbritrary.
Maybe this could be avoided by always having the modifier before to give a good separation between which one the modifier is being applied to? though that could be a huge change so feel free to reject that idea!). (below is me thinking out loud about it)

take tail second word urge (would take whole line from second word of urge - as per implicit definition)
take token tail second word urge (would take from second word of urge to end of containing token)
take line tail urge (would take the line from urge till the end)
take file tail line urge (would take from line urge to end of file)

Yeah we went back and forth a bunch on the order.  I'm not sure why swapping the order makes things more consistent, though.  You still need to know that <modifier> tail is different from <modifier> by itself, and there is still the same ambiguity, it's just on the other side.  Eg if you say "second word token tail urge", how do you know that "tail" stops at "token" and doesn't include "second word"?  It's just the same problem in the other direction

Hmm, In my head it seems more consistent. second word token tail urge is unambiguous to me as to me it follows the same reading order - second word applies to token, then second word token applies to tail, then second word token tail is applied to urge. In that one tail would always include second word as we're combining from left to right.
Whereas in the current one we have overlap/reversion of order tail <modifier> <target> does the modifier belong to the tail or the target? (I'm talking very much just from a reading comprehension point of view, naieve of how the code works)

I'm not sure your reading there is correct.  Cursorless commands form a pipeline that runs from right to left.  So the first stage is "urge", the second stage is "token tail", and the third stage is "second word".  So you'd still need to know that "tail" affects only the "token" modifier

Interesting, the right-to-left pipeline did throw me off a bit 😅 .
I'm still reading and constructing cursorless commands like an english sentence, "take from the second word of the token past the end of the line of urge" (implicitly: where the token is urge). Which I guess is why it makes more sense to me that way. I think my example got a bit jumbled - I went from this threads case to a bit more general case, my bad.
So to fix my previous comment to be inline with the original point of the thread would be, second word tail token urge as the consistent way.
It does sound a bit like the logic path I'm going down may be a bit too far removed from the current cursorless way of thinking so probably not too desirable a change so I'm happy if this just ends up being an academic discussion, I can try write some kind of docs up to try help others adjust to the cursorless way of thinking out of it 😁
I'll ask you about this again in the next meetup I manage to attend as I feel like this is possibly me being a bit lost and confusing the issue here more than I should.

Yeah let's discuss at the next meetup; I think we're reaching the limits of text 😊

I believe this one is superseded by #972, right?


Unexpected token: |

In PHP 7.1 was added the ability catching multiple exception types (https://wiki.php.net/rfc/multiple-catch).
Example code:
<?php
try {
    // Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
    // Code to handle the exception
}

Error:
Unexpected token: |, line: x, col: y, file: z.

Which version of PHPMD and Pdepend have you used?

This is probably due to missing support for PHP 7.1 in Pdepend.

Addressed in https://github.com/pdepend/pdepend/pull/349

Fixed in PDepend 2.5.1.

Thank you mate.


[FEATURE REQUEST]: Implement Voice & Conversation integrations

This has been a long and fraught process so far. Let's see if I can get this working with the following: -

Laptop browser
Mobile Apps
Siri
Google

Resolved
ref: https://nzrunner.github.io/home-assistant/home-assistant/2023/03/26/home-assistant-voice.html


Anki

Anki Requested Fixes
With commit #83  Unfortunately anki comes with some bugs that require immediate attention which are
1. Theming

Ensure the app conforms to material 3 design guidelines (work is already in progress)
Migrate hard-coded colors to theme specific colors rather than the hard coded ones
Migrate hard-coded font styles and sizes to material provided ones
Buttons Buttons Buttons

2. Navigation

Tool navigation improvements should be considered

3. Help

Some help dialog boxes would be appropriate and helpful within the tool just like the rest of the app

Happy coding :)

#89 closed most of these issues


Agberk handle missing opendate

Coverage remained the same at 93.731% when pulling 0e3ea1e2e9f880d1865248a22c600f3338a742b1 on agberk-handle-missing-opendate into 9459cc4aa9caa5dd196c170442c52722a68ee159 on master.


⚠ Samsung has degraded performance

In 88f47dc, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2420 ms

Resolved: Samsung performance has improved in 44d8b7d.


NCR Unification at gamestart

Have a journal at the very start of the game, about the founding of the NCR and the merging of Shady Sands, Necropolis, The Hub, Junktown and Dayglow

Use: has_secret_goal and secret goals for others to create some more interesting starts.


Change recommended version of Firefox from Nightly to Beta/Release

As of right now Puppeteer downloads Firefox Nightly by default. This was pretty helpful for us while getting started to implement CDP commands in Firefox, and get new features out as soon as possible.
But that also have some side-effects as what we have seen in the past months. Firefox Nightly is not meant to be that stable, and also has various experiments enabled that can badly affect the user experience. As such I would propose that we change Puppeteer to no longer download Firefox Nightly by default but a release version (or beta?) of Firefox. Note that with the upcoming Firefox 86 release next week the remote agent will be available by default.
Due to an oversight on my side we missed to enable our tests on those channels. As such maybe we could go with Firefox 87 Beta first, or wait a little bit longer so we can get confidence that everything works as expected? @mathiasbynens what do you think?
To prepare the change, which specific areas would have to be changed in Puppeteer to make that move?
CC'ing @jackfranklin, @jschfflr, @juliandescottes, @jgraham, @janodvarko

IMHO anything would be better than the status quo, which uses "whatever the latest Nightly is". Preparing a change now, to go with Firefox 87 beta first, sounds good to me.
In terms of which Puppeteer changes, this would boil down to updating
https://github.com/puppeteer/puppeteer/blob/b046fd79bd97e8623c40204193bff028096e4474/src/node/BrowserFetcher.ts. Happy to review a patch!

Thanks. Meanwhile I also got our tests enabled for beta and these are all fine. So I will try with 87 beta first next week.
One problem we might hit is that we usually do not offer zip archives of releases on Windows. I would have to check where I can get these from.

Internally I will track the work via https://bugzilla.mozilla.org/show_bug.cgi?id=1694127.
@mathiasbynens would it be also ok to use an exe or msi installer? We officially don't have zip archives of releases, but only for candidate build, which I wouldn't like to fallback to. If that's ok hopefully Node.js has some package to do a silent installation.

My gut reaction is that it seems a little intrusive to download and run .exes upon npm install puppeteer. The expectation is that node some-puppeteer-script.js can launch browser binaries, but not that npm install puppeteer does it — and I feel uncomfortable changing that.
Would it be possible for Mozilla to provide ZIP archives of releases? That seems like the smallest possible solution from the Puppeteer side.

No, there won't be zip archives for releases. And that decision has been made a while ago, and our case with Puppeteer will not change it.
So actually both the .exe and .msi installers can run in silent mode, and could be run to just extract their content. That means no user interaction is necessary. Here is how we do it in our Python harnesses that also accept .exe and .msi:
https://searchfox.org/mozilla-central/rev/c8ce16e4299a3afd560320d8d094556f2b5504cd/testing/mozbase/mozinstall/mozinstall/mozinstall.py#345-347
Maybe that is a viable alternative given that it doesn't run any installer?

@mathiasbynens and @jschfflr maybe you can give me feedback to my last comment? Thanks.

To me, it sounds like the best available option then. But I'm not sure how @mathiasbynens will feel about that.

No, there won't be zip archives for releases. And that decision has been made a while ago, and our case with Puppeteer will not change it.

What's the rationale behind this? Is there any publicly-accessible background? Would love to understand this better.
I stand by my earlier comment, and to make a stronger claim: from a security perspective, it’s not an acceptable option for Puppeteer to run a remotely downloaded .exe on npm install puppeteer. It doesn’t matter whether the executable has a GUI or not.

If you want to read details you can have a look at https://bugzilla.mozilla.org/show_bug.cgi?id=308048#c6. That's the only public resource that I can link to. Ever since we ship releases as .exe and .msi.
As it sounds like it's a showstopper for you, the only other option that we could offer is to get the final candidate build before it becomes a release. While builds are stored at locations like https://archive.mozilla.org/pub/firefox/candidates/91.0-candidates/build2/win64/en-US/ we should use CDN for the download.

As it sounds like it's a showstopper for you, the only other option that we could offer is to get the final candidate build before it becomes a release. While builds are stored at locations like https://archive.mozilla.org/pub/firefox/candidates/91.0-candidates/build2/win64/en-US/ we should use CDN for the download.

This sounds great! ZIPs seem to be available at that location. I don’t know what the CDN URLs would look like but I guess I’ll find out once y’all send a patch 👍

@whimboo Any updates on this?

Sorry, I had PTO for most of August, and since I'm back we are trying to find a good way in getting a download of an archive accomplished. I should have an update later this week.

So with the requirement to only download archives from Firefox releases the only option we see to get to the right build URLs is the following (also see bug 1694127):

Find the LATEST_FIREFOX_VERSION: https://product-details.mozilla.org/1.0/firefox_versions.json
Find the last build_number: https://shipitapi-public.services.mozilla.com/releases?product=firefox&status=shipped&version=%LATEST_FIREFOX_VERSION%
Download the build from https://archive.mozilla.org/pub/firefox/candidates/%LATEST_FIREFOX_VERSION%-candidates/build%build_number%/%platform%/en-US/ whereby file extensions vary per platform between firefox-%LATEST_FIREFOX_VERSION%.(tar.bz2|zip) or Firefox%20%LATEST_FIREFOX_VERSION%.dmg

Is that acceptable for the Puppeteer project? Both API's as used under 1. and 2. are public and stable.

@whimboo Sounds good to me. Would you want to hardcode the build numbers (so that every Puppeteer release defaults to a specific Firefox version, like we do it for Chromium binaries) or always get the latest version (like we’ve been doing until now for the experimental Firefox support)? If we’d prefer hardcoding, we could simply skip your suggested step 1.

I think fixing the version number could be helpful for situations like this one: https://github.com/puppeteer/puppeteer/issues/7568

Sorry, I had PTO for most of August, and since I'm back we are trying to find a good way in getting a download of an archive accomplished. I should have an update later this week.

Hope you had a great time off!

Hard-coding the Firefox version number might be good, even with being more flexible (backward compatible) with our releases so far. But I would allow to fallback to a more recent security release if available. Is that something you also handle for Chrome / Chromium?
Note that #7568 was for a Nightly build and should never appear for a release. But I would be more afraid of breakage due to backward incompatible CDP API changes. In those cases a clear signoff on our side for the new release might be good.

So one more question... Chrome and Firefox releases don't happen at the same time. What if a backward incompatible change gets introduced in Firefox after a Puppeteer release? I assume it would need a follow-up Puppeteer minor release?

I wouldn't mind cutting a new Puppeteer release in these cases. At the moment, there is no clear mapping between Chromium revisions and Puppeteer versions.

The work on this issue will be delayed for a bit. Reason is that soon our Fission (site isolation) support will be on by default, and soon after cannot be disabled. This would break Firefox users, and as such I want to see that fixed first. Once done we could move the binaries to release ones.

Also as known the CI jobs on Windows fail a lot with Firefox right now. I did and continue to do investigations in how to improve that. Work for that is done on https://github.com/puppeteer/puppeteer/pull/7668. As such there might be more blockers that we have to take into account that would not allow us to make this change as requested on this issue anytime soon. But lets see how quick we can get these fixes into a release build of Firefox.

Not sure if we want to keep this issue open or not. As discussed as well in one of the former meetings we are not going to switch to beta/release in the foreseeable future (or at all). Focus is on WebDriver BiDi and we sadly do not have the man power to keep Puppeteer fully supported especially not for a beta or release.

Closed by https://github.com/puppeteer/puppeteer/pull/12890


Add Variational Inference training helper

Similar to the train_flow helper function, it would be useful to have a fit_flow_vi (naming), helper function.
For now this can be a simple implementation, with potentially more robust implementations to follow (such as https://arxiv.org/pdf/1802.02538.pdf).
@danielward27  I am working on this on my fork 60-add-vi-helper

Nice, that would be really good! Hopefully we can add a notebook example too in the docs? I've just added a new release, that (unfortunately) includes some breaking changes (the significant ones listed here  https://github.com/danielward27/flowjax/releases/tag/v7.0.0), but hopefully improves things significantly overall. Hopefully the changes don't cause you too much trouble, and let me know if you have any questions.

Closed in https://github.com/danielward27/flowjax/pull/63


nested routes/sub routes

Something similar to https://react-router.now.sh/route-config ?
An example would be of helpful.

please check issue #59
https://github.com/zeit/next.js/issues/59

We have the idea of allowing the use of different renderers. The first that we had in mind were preact and inferno because those try to be as close as they can to react but it would be great to opem the game to frameworks like vue too
This is the issue/thread on topic https://github.com/zeit/next.js/issues/20


How to check isValid

I am using this in my model popup and running perfectly fine but I am also using angular js in my application so how to check that bootstrapvalidator given in form isvalid or not because on every click of submit button it calls my angular js function.
So there I have to check isvalid or not and based on that I can call further process.

Based on your comment here you aren't using this plugin.


Index schema

I was having trouble getting the <RefinementList /> to work on my own data set. It would be useful to include the schema used in the Readme.md so that I can more easily debug what's going on on my end.

I managed to figure this out in the end. I hadn't set the attributes for faceting up on the Algolia dashboard.


Dotty support

Are there any plans for Dotty/Scala3 support? Should we create the project or we expect no issues with migration?

Hi,
As documented, Scala 3 is supposed to be able to work with libraries built in Scala 2.13 (except macros).
Specific support is planned but not prioritized.
Also as indicated, use the MailingList to ask questions rather than this issue tracker.

Release Candidate 1.1.0-RC2 with Scala 3.1 support: https://t.co/D6wvpleYkd


Explore whether a geolocation API is superior to current regex-like matching approach for text-->country

Specifically, assess each of these API's: https://wiki.openstreetmap.org/wiki/Nominatim#Alternatives_.2F_Third-party_providers
Do any of them allow bulk requests (say 10K/second) and are still free?

Also, check out Geocoder: https://geocoder.readthedocs.io/

@kdobolyi decided the geocoding API's are not worth the squeeze. We will go with a text matching approach.


Log forced fitting progress

Currently Step 5 of the pipeline processing (forced fitting) does not have any logging, presumably because the step involves parallel execution which makes general logging nonsensical.
However, Step 5 is also the slowest (in my experience at least!) part of the pipeline, and hence having some form of progress indication would be useful so that users can be confident their jobs are being successfully executed and not just hanging. I am currently executing a pipeline run (https://dev.pipeline.vast-survey.org/piperuns/40/) of ~1800 images and a quick BOTE calculation suggests that the forced fit runtime is approximately 5 days. I am 2.5 days in now and have no way to determine if my estimate is still on-track or if the job has stalled.
Naively, I would assume fixing this issue is as simple as using the dask ProgressBar object. All this would require is from dask.diagnostics import ProgressBar and adding
with ProgressBar():

before  https://github.com/askap-vast/vast-pipeline/blob/1fe4b2db0ecab61a8f4309a710fbf5f542222bdf/vast_pipeline/pipeline/forced_extraction.py#L360-L368
However, I have minimal experience with dask and this might be a completely wrong implementation (e.g. if it adds a new line to the log file with each iteration).

Looking at that run I suspect it timed out.
If you are running via the website there is in fact a maximum process time setting that will kill runs that are more than, by default, 24 hours https://github.com/askap-vast/vast-pipeline/blob/1fe4b2db0ecab61a8f4309a710fbf5f542222bdf/webinterface/.env.template#L37.
This is probably it, I don't know what the setting is on the deployment. Of course this should absolutely be communicated better on the website itself! The clue is that it was attempted to be run again, you can see the log on the website. If this wasn't you then this is the retry from qcluster, but it was already running so it didn't bother running it (actually a handy bug for not reprocessing timeouts 😅).
As there is also this issue: https://github.com/askap-vast/vast-pipeline/issues/594 that means that if a timeout occurs during a dask step it can not exit gracefully and it's difficult to update the status.
For really large runs I recommend running the job through the CLI on the server as then you bypass all the rules that are in place to "protect" the website running method.
I also think that there is a little bit of logging for the forced step though I might be wrong, something along the lines of how many forced extractions are out of range of the image or something.
You can also tweak the forced extraction sensitivity in the config to help with not having an overwhelming number of forced extractions to perform in such a large run.
As for monitoring, your best bet is probably to serve some sort of monitoring software on the server itself so that you can see how busy the machine is. Or yeah it's just a case of an admin logging on and running htop to see what's happening!


Duplicate import of golang.org/x/net/trace causing "multiple registrations for /debug/requests"

Hi,
It seems that golang.org/x/net/trace has been vendored using gx. This means that some packages - that have also been vendored with gx - import it with a path that looks like gx/ipfs/$HASH/go-net/trace.
In my case, I am also using a package that imports golang.org/x/net/trace with the right path. Therefore, the init functions of golang.org/x/net/trace and gx/ipfs/$HASH/go-net/trace - which are the same one - are both called.
The problem is that this function tries to register 2 handlers to the DefaultServeMux of the net/http package (i.e. https://github.com/golang/net/blob/master/trace/trace.go#L112). Thus, if it gets called twice, it will panic with the following error: http: multiple registrations for /debug/requests.
For example, the following piece of code:
package main

import (
	"log"

	_ "google.golang.org/grpc"

	_ "github.com/attic-labs/noms/go/spec"
)

func main() {
	log.Println("Hello world!")
}

... will produce the following output:
panic: http: multiple registrations for /debug/requests

goroutine 1 [running]:
net/http.(*ServeMux).Handle(0x15083c0, 0xdbb5c6, 0xf, 0x1413900, 0xf07ca8)
        /usr/lib64/go/src/net/http/server.go:2270 +0x627
net/http.(*ServeMux).HandleFunc(0x15083c0, 0xdbb5c6, 0xf, 0xf07ca8)
        /usr/lib64/go/src/net/http/server.go:2302 +0x55
net/http.HandleFunc(0xdbb5c6, 0xf, 0xf07ca8)
        /usr/lib64/go/src/net/http/server.go:2314 +0x4b
github.com/attic-labs/noms/vendor/gx/ipfs/QmTEmsyNnckEq8rEfALfdhLHjrEHGoSGFDrAYReuetn7MC/go-net/trace.init.0()
        $GOPATH/src/github.com/attic-labs/noms/vendor/gx/ipfs/QmTEmsyNnckEq8rEfALfdhLHjrEHGoSGFDrAYReuetn7MC/go-net/trace/trace.go:110 +0x42
github.com/attic-labs/noms/vendor/gx/ipfs/QmTEmsyNnckEq8rEfALfdhLHjrEHGoSGFDrAYReuetn7MC/go-net/trace.init()
        <autogenerated>:1 +0x549
github.com/attic-labs/noms/vendor/gx/ipfs/QmTBxwy8cerzXbZQFUwTBCSxx55jUgVzudFcpmnAHUGuPy/badger.init()
        <autogenerated>:1 +0x5f
github.com/attic-labs/noms/vendor/gx/ipfs/QmUamAGkvPp1w84dfc2YMy9ic6iyBvaRoaTiaat8Crtawq/go-ds-badger.init()
        <autogenerated>:1 +0x4b
github.com/attic-labs/noms/vendor/github.com/ipfs/go-ipfs/repo/fsrepo.init()
        <autogenerated>:1 +0x87
github.com/attic-labs/noms/go/ipfs.init()
        <autogenerated>:1 +0xb1
github.com/attic-labs/noms/go/spec.init()
        <autogenerated>:1 +0x87
main.init()
        <autogenerated>:1 +0x4e
exit status 2

@willhite @aboodman This is because we are not importing ipfs in the normal way. Can we import ipfs in the normal way instead of using the hash version (gx)

This is the system that ipfs itself uses. The "normal" thing doesn't really work for IPFS. I can't remember why (I think that go get doesn't understand the gx-based paths).
I'm not sure what the right solution is.

Perhaps the ipfs samples should be in a separate repo or something.

Or have a special build process.