Synthesis failed for analyticsadmin

Hello! Autosynth couldn't regenerate analyticsadmin. :broken_heart:
Here's the output from running synth.py:
Request.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateAccountRequest.php.
2021-01-30 03:07:22,900 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
2021-01-30 03:07:22,900 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
2021-01-30 03:07:22,900 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
2021-01-30 03:07:22,901 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
2021-01-30 03:07:22,901 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
2021-01-30 03:07:22,901 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
2021-01-30 03:07:22,901 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
2021-01-30 03:07:22,902 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
2021-01-30 03:07:22,902 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
2021-01-30 03:07:22,902 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
2021-01-30 03:07:22,902 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
2021-01-30 03:07:22,903 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
2021-01-30 03:07:22,903 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
2021-01-30 03:07:22,913 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
2021-01-30 03:07:22,917 synthtool [INFO] > Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
INFO:synthtool:Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
2021-01-30 03:07:23,185 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
2021-01-30 03:07:23,186 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
2021-01-30 03:07:23,280 autosynth [INFO] > Changed files:
2021-01-30 03:07:23,280 autosynth [INFO] > M AnalyticsAdmin/src/V1alpha/Gapic/AnalyticsAdminServiceGapicClient.php
 M AnalyticsAdmin/synth.metadata
2021-01-30 03:07:23,280 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%s
2021-01-30 03:07:23,284 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%b%n%nSource-Author: %an <%ae>%nSource-Date: %ad
2021-01-30 03:07:23,288 autosynth [DEBUG] > Running: git add -A
2021-01-30 03:07:23,334 autosynth [DEBUG] > Running: git status --porcelain
2021-01-30 03:07:23,378 autosynth [DEBUG] > Running: git commit -m chore(vision): fix typo

Please **merge for me** once approved. Thanks!

Source-Author: Ace Nassri<EMAIL_ADDRESS>Source-Date: Thu Jan 28 14:11:52 2021 -0800
Source-Repo: googleapis/google-cloud-php
Source-Sha: a1144e8947b7d904f48315689966d3730fe061ea
Source-Link: https://github.com/googleapis/google-cloud-php/commit/a1144e8947b7d904f48315689966d3730fe061ea
[autosynth-analyticsadmin-0 47c1d0d7] chore(vision): fix typo
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-30 03:07:23,414 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 47c1d0d7 chore(vision): fix typo
2021-01-30 03:07:23,456 autosynth [DEBUG] > Running: git checkout autosynth-analyticsadmin
Switched to branch 'autosynth-analyticsadmin'
2021-01-30 03:07:23,484 autosynth [DEBUG] > Running: git diff HEAD..autosynth-analyticsadmin-0 -- . :(exclude)synth.metadata
2021-01-30 03:07:23,491 autosynth [DEBUG] > Running: git diff HEAD autosynth-analyticsadmin-0
2021-01-30 03:07:23,497 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmpteq2v8zd/autosynth-analyticsadmin-0.patch
2021-01-30 03:07:23,501 autosynth [DEBUG] > Running: git add -A
2021-01-30 03:07:23,544 autosynth [DEBUG] > Running: git status --porcelain
2021-01-30 03:07:23,589 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth-analyticsadmin 0dd352b0] changes without context
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-30 03:07:23,619 autosynth [DEBUG] > Running: git diff autosynth-analyticsadmin-0..autosynth-analyticsadmin-336 -- . :(exclude)synth.metadata
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 334, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 104, in synthesize_loop
    return synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 126, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 152, in synthesize_inner_loop
    synthesize_range(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 173, in synthesize_range
    toolbox.sub_branch(old), toolbox.sub_branch(young)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 193, in git_branches_differ
    return git_branches_differ(branch_a, branch_b, self._metadata_path)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 342, in git_branches_differ
    proc = executor.run(diff_cmd, stdout=subprocess.PIPE, universal_newlines=True)
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 23, in run
    return subprocess.run(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 425, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 850, in communicate
    stdout = self.stdout.read()
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 38278-38279: invalid continuation byte

Google internal developers can see the full log here.

Autosynth is still having trouble generating analyticsadmin. :sob:
Here's the output from running synth.py:
Request.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateAccountRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
2021-01-31 03:07:57,219 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
2021-01-31 03:07:57,228 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
2021-01-31 03:07:57,232 synthtool [INFO] > Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
INFO:synthtool:Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
2021-01-31 03:07:57,495 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
2021-01-31 03:07:57,496 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
2021-01-31 03:07:57,584 autosynth [INFO] > Changed files:
2021-01-31 03:07:57,585 autosynth [INFO] > M AnalyticsAdmin/src/V1alpha/Gapic/AnalyticsAdminServiceGapicClient.php
 M AnalyticsAdmin/synth.metadata
2021-01-31 03:07:57,585 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%s
2021-01-31 03:07:57,589 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%b%n%nSource-Author: %an <%ae>%nSource-Date: %ad
2021-01-31 03:07:57,593 autosynth [DEBUG] > Running: git add -A
2021-01-31 03:07:57,641 autosynth [DEBUG] > Running: git status --porcelain
2021-01-31 03:07:57,689 autosynth [DEBUG] > Running: git commit -m chore(vision): fix typo

Please **merge for me** once approved. Thanks!

Source-Author: Ace Nassri<EMAIL_ADDRESS>Source-Date: Thu Jan 28 14:11:52 2021 -0800
Source-Repo: googleapis/google-cloud-php
Source-Sha: a1144e8947b7d904f48315689966d3730fe061ea
Source-Link: https://github.com/googleapis/google-cloud-php/commit/a1144e8947b7d904f48315689966d3730fe061ea
[autosynth-analyticsadmin-0 58ee18a5] chore(vision): fix typo
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-31 03:07:57,723 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 58ee18a5 chore(vision): fix typo
2021-01-31 03:07:57,772 autosynth [DEBUG] > Running: git checkout autosynth-analyticsadmin
Switched to branch 'autosynth-analyticsadmin'
2021-01-31 03:07:57,804 autosynth [DEBUG] > Running: git diff HEAD..autosynth-analyticsadmin-0 -- . :(exclude)synth.metadata
2021-01-31 03:07:57,811 autosynth [DEBUG] > Running: git diff HEAD autosynth-analyticsadmin-0
2021-01-31 03:07:57,817 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmptnz1sjx8/autosynth-analyticsadmin-0.patch
2021-01-31 03:07:57,821 autosynth [DEBUG] > Running: git add -A
2021-01-31 03:07:57,866 autosynth [DEBUG] > Running: git status --porcelain
2021-01-31 03:07:57,914 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth-analyticsadmin aa3e3408] changes without context
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-31 03:07:57,947 autosynth [DEBUG] > Running: git diff autosynth-analyticsadmin-0..autosynth-analyticsadmin-336 -- . :(exclude)synth.metadata
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 334, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 104, in synthesize_loop
    return synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 126, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 152, in synthesize_inner_loop
    synthesize_range(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 173, in synthesize_range
    toolbox.sub_branch(old), toolbox.sub_branch(young)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 193, in git_branches_differ
    return git_branches_differ(branch_a, branch_b, self._metadata_path)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 342, in git_branches_differ
    proc = executor.run(diff_cmd, stdout=subprocess.PIPE, universal_newlines=True)
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 23, in run
    return subprocess.run(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 425, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 850, in communicate
    stdout = self.stdout.read()
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 38278-38279: invalid continuation byte

Google internal developers can see the full log here.

Autosynth is still having trouble generating analyticsadmin. :sob:
Here's the output from running synth.py:
Request.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateAccountRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
2021-01-31 03:07:57,216 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
2021-01-31 03:07:57,217 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
2021-01-31 03:07:57,218 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
2021-01-31 03:07:57,219 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
2021-01-31 03:07:57,228 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
2021-01-31 03:07:57,232 synthtool [INFO] > Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
INFO:synthtool:Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
2021-01-31 03:07:57,495 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
2021-01-31 03:07:57,496 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
2021-01-31 03:07:57,584 autosynth [INFO] > Changed files:
2021-01-31 03:07:57,585 autosynth [INFO] > M AnalyticsAdmin/src/V1alpha/Gapic/AnalyticsAdminServiceGapicClient.php
 M AnalyticsAdmin/synth.metadata
2021-01-31 03:07:57,585 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%s
2021-01-31 03:07:57,589 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%b%n%nSource-Author: %an <%ae>%nSource-Date: %ad
2021-01-31 03:07:57,593 autosynth [DEBUG] > Running: git add -A
2021-01-31 03:07:57,641 autosynth [DEBUG] > Running: git status --porcelain
2021-01-31 03:07:57,689 autosynth [DEBUG] > Running: git commit -m chore(vision): fix typo

Please **merge for me** once approved. Thanks!

Source-Author: Ace Nassri<EMAIL_ADDRESS>Source-Date: Thu Jan 28 14:11:52 2021 -0800
Source-Repo: googleapis/google-cloud-php
Source-Sha: a1144e8947b7d904f48315689966d3730fe061ea
Source-Link: https://github.com/googleapis/google-cloud-php/commit/a1144e8947b7d904f48315689966d3730fe061ea
[autosynth-analyticsadmin-0 58ee18a5] chore(vision): fix typo
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-31 03:07:57,723 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 58ee18a5 chore(vision): fix typo
2021-01-31 03:07:57,772 autosynth [DEBUG] > Running: git checkout autosynth-analyticsadmin
Switched to branch 'autosynth-analyticsadmin'
2021-01-31 03:07:57,804 autosynth [DEBUG] > Running: git diff HEAD..autosynth-analyticsadmin-0 -- . :(exclude)synth.metadata
2021-01-31 03:07:57,811 autosynth [DEBUG] > Running: git diff HEAD autosynth-analyticsadmin-0
2021-01-31 03:07:57,817 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmptnz1sjx8/autosynth-analyticsadmin-0.patch
2021-01-31 03:07:57,821 autosynth [DEBUG] > Running: git add -A
2021-01-31 03:07:57,866 autosynth [DEBUG] > Running: git status --porcelain
2021-01-31 03:07:57,914 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth-analyticsadmin aa3e3408] changes without context
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-01-31 03:07:57,947 autosynth [DEBUG] > Running: git diff autosynth-analyticsadmin-0..autosynth-analyticsadmin-336 -- . :(exclude)synth.metadata
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 334, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 104, in synthesize_loop
    return synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 126, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 152, in synthesize_inner_loop
    synthesize_range(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 173, in synthesize_range
    toolbox.sub_branch(old), toolbox.sub_branch(young)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 193, in git_branches_differ
    return git_branches_differ(branch_a, branch_b, self._metadata_path)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 342, in git_branches_differ
    proc = executor.run(diff_cmd, stdout=subprocess.PIPE, universal_newlines=True)
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 23, in run
    return subprocess.run(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 425, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 850, in communicate
    stdout = self.stdout.read()
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 38278-38279: invalid continuation byte

Google internal developers can see the full log here.

Autosynth is still having trouble generating analyticsadmin. :sob:
Here's the output from running synth.py:
Request.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateAccountRequest.php.
2021-02-01 03:06:40,462 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateUserLinkRequest.php.
2021-02-01 03:06:40,462 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListUserLinksRequest.php.
2021-02-01 03:06:40,462 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateEnhancedMeasurementSettingsRequest.php.
2021-02-01 03:06:40,463 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/Account.php.
2021-02-01 03:06:40,463 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UserLink.php.
2021-02-01 03:06:40,463 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListFirebaseLinksRequest.php.
2021-02-01 03:06:40,463 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteFirebaseLinkRequest.php.
2021-02-01 03:06:40,464 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/EnhancedMeasurementSettings.php.
2021-02-01 03:06:40,464 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/GetGlobalSiteTagRequest.php.
2021-02-01 03:06:40,464 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/ListAndroidAppDataStreamsRequest.php.
2021-02-01 03:06:40,464 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/BatchCreateUserLinksRequest.php.
2021-02-01 03:06:40,465 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/UpdateGoogleAdsLinkRequest.php.
2021-02-01 03:06:40,465 synthtool [INFO] > Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
INFO:synthtool:Replaced 'Generated from protobuf field ([^\\n]{0,})\\n\\s{5}\\*/\\n\\s{4}protected \\$' in src/V1alpha/DeleteAccountRequest.php.
2021-02-01 03:06:40,475 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern final class, maybe replacement is no longer needed?
2021-02-01 03:06:40,479 synthtool [INFO] > Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
INFO:synthtool:Replaced 'public function ([s|g]\\w{3,})Unwrapped' in src/V1alpha/GoogleAdsLink.php.
2021-02-01 03:06:40,739 synthtool [WARNING] > No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
WARNING:synthtool:No replacements made in src/**/V*/**/*.php for pattern (.{0,})\]\((/.{0,})\), maybe replacement is no longer needed?
2021-02-01 03:06:40,740 synthtool [DEBUG] > Wrote metadata to synth.metadata.
DEBUG:synthtool:Wrote metadata to synth.metadata.
2021-02-01 03:06:40,829 autosynth [INFO] > Changed files:
2021-02-01 03:06:40,829 autosynth [INFO] > M AnalyticsAdmin/src/V1alpha/Gapic/AnalyticsAdminServiceGapicClient.php
 M AnalyticsAdmin/synth.metadata
2021-02-01 03:06:40,829 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%s
2021-02-01 03:06:40,833 autosynth [DEBUG] > Running: git log a1144e8947b7d904f48315689966d3730fe061ea -1 --no-decorate --pretty=%b%n%nSource-Author: %an <%ae>%nSource-Date: %ad
2021-02-01 03:06:40,837 autosynth [DEBUG] > Running: git add -A
2021-02-01 03:06:40,885 autosynth [DEBUG] > Running: git status --porcelain
2021-02-01 03:06:40,931 autosynth [DEBUG] > Running: git commit -m chore(vision): fix typo

Please **merge for me** once approved. Thanks!

Source-Author: Ace Nassri<EMAIL_ADDRESS>Source-Date: Thu Jan 28 14:11:52 2021 -0800
Source-Repo: googleapis/google-cloud-php
Source-Sha: a1144e8947b7d904f48315689966d3730fe061ea
Source-Link: https://github.com/googleapis/google-cloud-php/commit/a1144e8947b7d904f48315689966d3730fe061ea
[autosynth-analyticsadmin-0 e68186a6] chore(vision): fix typo
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-02-01 03:06:40,965 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at e68186a6 chore(vision): fix typo
2021-02-01 03:06:41,012 autosynth [DEBUG] > Running: git checkout autosynth-analyticsadmin
Switched to branch 'autosynth-analyticsadmin'
2021-02-01 03:06:41,039 autosynth [DEBUG] > Running: git diff HEAD..autosynth-analyticsadmin-0 -- . :(exclude)synth.metadata
2021-02-01 03:06:41,046 autosynth [DEBUG] > Running: git diff HEAD autosynth-analyticsadmin-0
2021-02-01 03:06:41,052 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmpo1j4w0n7/autosynth-analyticsadmin-0.patch
2021-02-01 03:06:41,056 autosynth [DEBUG] > Running: git add -A
2021-02-01 03:06:41,097 autosynth [DEBUG] > Running: git status --porcelain
2021-02-01 03:06:41,140 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth-analyticsadmin 2690fec3] changes without context
 2 files changed, 5 insertions(+), 9 deletions(-)
2021-02-01 03:06:41,167 autosynth [DEBUG] > Running: git diff autosynth-analyticsadmin-0..autosynth-analyticsadmin-337 -- . :(exclude)synth.metadata
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 334, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 104, in synthesize_loop
    return synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 126, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 152, in synthesize_inner_loop
    synthesize_range(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 173, in synthesize_range
    toolbox.sub_branch(old), toolbox.sub_branch(young)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 193, in git_branches_differ
    return git_branches_differ(branch_a, branch_b, self._metadata_path)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 342, in git_branches_differ
    proc = executor.run(diff_cmd, stdout=subprocess.PIPE, universal_newlines=True)
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 23, in run
    return subprocess.run(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 425, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 850, in communicate
    stdout = self.stdout.read()
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 38278-38279: invalid continuation byte

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


What uses the book-level summaries?

There are alignments for the book-level summaries. What are these used for? I cannot seem to find a script that uses them.

Hey @dojoteef. We use the test set of the book-level summary alignments for scoring the full-book summaries generated by the different baselines and heuristics in the paper. They are an essential part of the BookSum dataset, and also the most challenging level of granularity since it is hard for any model to read the full book text as input.


Fix incorrect fold and elem hints

Should fix #220

Thanks @bartavelle - I've been through each line and confirmed it correct too. I'll make a release as soon as I get home tonight.

Sorry for the faulty release :/

No worries  at all - all faulty releases up until now have been entirely my fault, so nice to mix things a little.


Prismic Client ignores and overwrites 'page' query param for getAll methods

Versions

@prismicio/client: v7.13.1
node: v20.11.0

Reproduction
Create 4 documents of the same type, configure the following snippet, and run.
import * as prismic from "@prismicio/client";

// Replace these with your Prismic repository name and a valid custom page type
const repo = "my-repo";
const documentType = "pages";

const client = prismic.createClient(repo, {
  fetch: (...args) => {
    // For inspecting the endpoint being hit
    if(args[0].includes(documentType)) {
      console.log(`GET: ${args[0]}`);
    }

    return fetch(...args);
  },
});

// IIFE attempting to fetch the first two pages and print their IDs
(async () => {
  const pageOne = await client.getAllByType(documentType, {
    page: 1,
    limit: 2,
    pageSize: 2,
    orderings: {
      field: "document.first_publication_date",
      direction: "desc",
    },
  });

  const pageTwo = await client.getAllByType(documentType, {
    page: 1,
    limit: 2,
    pageSize: 2,
    orderings: {
      field: "document.first_publication_date",
      direction: "desc",
    },
  });

  // None of these IDs should not be the same if paging is working properly
  // Currently, they both print the same results
  console.log(`Page One: [${pageOne.map(res => res.id).join(", ")}]`);
  console.log(`Page Two: [${pageTwo.map(res => res.id).join(", ")}]`);
})();

Steps to reproduce

Log into or create a new Prismic Repository
Create a new Page Type if one does not already exist
Publish at least 4 documents using the aforementioned page type
Copy the code above into a new folder as index.js
Initialize a Node Project repository with npm init
Install the Prismic Client with npm install @prismicio/client
Change the constants repo and documentType
Run node index.js

What is expected?
From the documentation for query method params, we are able to pass the ?page=# to the REST API to paginate our results with pageSize.
So passing in page: 2 should return the second page of results.
What is actually happening?
Regardless of which page is being queried for through the client getAll* functions, results start from the very first page.
The issue comes from src/Client.ts:622 where the starting page is always undefined which defaults to 1.
This can be fixed by changing the default value used by the client to start from actualParams.page when provided rather than undefined .

I opened a PR for this issue.
I am waiting on a fix to be released to implement offset pagination to a new project that recently went into production and has hit the limit for how much can fit on one page.

Hi @malee31, thank you so much for your research and effort in submitting a PR to @prismicio/client!
From the above context you shared, it looks like you're trying to implement document pagination using @prismicio/client's getAll* methods. Have you considered relying on the client get, getByType, etc. methods instead? We designed the getAll* methods to query all documents matching a query so paginating those methods sounds a bit off to me for now 🤔
Refactoring the above snippet, something like this should achieve the desired result:
-   const pageOne = await client.getAllByType(documentType, {
+   const { results: pageOne } = await client.getByType(documentType, {
     page: 1,
-    limit: 2,
     pageSize: 2,
     orderings: {
       field: "document.first_publication_date",
       direction: "desc",
     },
   });

-  const pageTwo = await client.getAllByType(documentType, {
+  const { results: pageOne } = await client.getByType(documentType, {
     page: 1,
-    limit: 2,
     pageSize: 2,
     orderings: {
       field: "document.first_publication_date",
       direction: "desc",
     },
   });

Maybe I got the context wrong in what you're trying to achieve so happy to have another look at it :)
Best, Lucie

Outside of that, could I suggest that the documentation be improved to reflect the getBy* pagination option?
The only dedicated pagination documentation I could find (see below) uses GraphQL or queries to implement cursor pagination instead:

Prismic Community Post - 2021 - First to appear on Google
Prismic Community Post - 2020 - Second result on Google
Prismic Documentation - Integration - Specifies ?page= for REST endpoint only. Result (1/2) in Prismic Documentation's Searchbar for pagination
Prismic Documentation - (GraphQL) Pagination fields - Specifies cursor pagination, for those using GraphQL. Result (2/2) in Prismic Documentation's Searchbar for pagination

I think it would be helpful to have a dedicated page for how to paginate with @prismic/client using both offset or cursor pagination.
In case it helps, my initial confusion came from unclear documentation on the Prismic Client Technical Reference.
The page does not specify the type/properties of params, so I assumed them all to be the same and used the Query Methods Params section as my point of reference as it states "All of the query methods accept a params object. The params object can have the following properties".
Since the page property was included there, and a method named getAllByType exists... I tried that and it did not work.
The small Get-all methods paragraph could have clued me in since it stated These results are not paginated, but I assumed that getByType is intended for querying singular documents while getAllByType is meant for querying multiple and should support paging since that made more sense to me.


Split common parts of poseidon2 out of poseidon2_bb

In preparation for #2018.

I am still not sure if the new argument "output_capacity" is a net positive.


Update @salesforce/plugin functions to 0.14.1

What does this PR do?
Updates @salesforce/plugin-functions to 1.14.1. For details see:
https://github.com/salesforcecli/plugin-functions/blob/main/CHANGELOG.md#1141-2022-09-28
https://github.com/salesforcecli/plugin-functions/compare/v1.14.0...v1.14.1
https://github.com/heroku/sf-functions-core/compare/v0.4.0...v0.4.1
Acceptance Criteria
These changes have been validated downstream in https://github.com/salesforcecli/plugin-functions and https://github.com/heroku/sf-functions-core. For manual verification, these changes affect sf generate function and sf run function start in subtle ways, so those should continue to work.
Testing Notes
Anything additional to note about testing this PR. How did you test it? Special setup? Additional manual test cases? Things not tested?
Checklist

[x] This change has been approved by the CLI Review Board or approval isn't required. Anything that adds/changes/deletes commands, flags, output, or json output has to be reviewed.
[x] Does this follow the deprecation policy?

What issues does this PR fix or reference?
W-11543492
W-11646085
W-11687356
W-11819225

@mdonnalley @RodEsp Y'all mind reviewing?


Tabbed Group and Grouping show label expression completely in the tab

Version of Archi
Archi 4.8 Early Access 2 (Windows 64-bit Portable Zip)
Archi Plug-ins
No
Operating System
Windows 10 Pro
Expected Behaviour
Both Group and Grouping with Tabbed Border show any newline part of the expression below the tab

Actual Behaviour
Both Group and Grouping with Tabbed Border show the complete label expression in the tab

Steps to Reproduce the Behaviour

Add label expression ${name}\n${name} to see this behavior.

That's because of #689

@larspijnappel I'll close this issue, just so the discussion can continue in one place - #689


Rendering bug related to _templ.txt

See line 14-15.

Some observations:

This only happens if the _templ.txt file exists with a version where the "bug-trigger" is commented.
This only happens if the "bug-trigger" is right after a for loop and not inside a html tag.
This does not happen if the name inside the loop is wrapped in a html tag.
This does not happen if  root DIV in for this component, without them the bug does not happen.
Some odd cases with whether a div-tag is wrapped around the code or not.

Steps to recreate:

init go module in empty folder.
copy the sample code bellow.
run templ generate
run go mod tidy
run go run .
run templ generate -watch -proxy="http://localhost:8080".

using with -cmd flag instead fixes the problem, but wont work the way I run my project... :p

stop the templ generate ... command (ctrl+c)
start the templ generate ... command again

need to do this since we need the _templ.txt file to exist.

goto bug.templ file and uncomment the "bug-trigger"

main.go
package main

import (
	"app/view"
	"net/http"
)

func main() {
	mux := http.NewServeMux()
	mux.Handle("GET /", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		view.Demo().Render(r.Context(), w)
	}))
	http.ListenAndServe(":8080", mux)
}

view/bug.templ
package view

templ Demo() {
	<!DOCTYPE html>

			<meta charset="UTF-8"/>
			<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
			<title>Document</title>

			for _, name := range []string{"name1", "name2"} {
				{ name }
			}
			// bug-trigger

THIS WILL NOT BE RENDRED IF I UNCOMMENT THE LINE ABOVE

}

Can perhaps be related to that templ generate will remove all _templ.txt files, but once you stop the templ generate -watch ... the _templ.txt files remains.
Fixing just this will not solve all the cases for this problem tho.

Note: if there is a way to use templ generate -watch -proxy to get hot-reload and also re-build go when non related templ files are edited, that would

With some more testing, with the same approach of running go run . and templ generate -watch -proxy="...".
The main issue seems to be that the go-server needs to restart preferably before the reload event is sent, but this seem to be hard to do without using the -cmd flag.
By using the -cmd flag I can't run air in a separate terminal, since that will lead to two go-servers running. :P
So I guess the workaround in the meantime is to just use -cmd=air and let templ restart air.

See #596 discussion for the solution I'm using.
@a-h it seems to me that there are some cases where there is a conflict between when the templ don't thinks it need to
re-generate GO code, but it has done it anyways, so _templ.go and _templ.txt don't match up. As in the case with this bug i think. (see steps to recreate in first comment)
Note: hope you're not bothered by me "spamming" a bit. :P

I'm sorry, I haven't been able to reproduce this issue.
To reproduce, I used the following project.
package main

import (
	"fmt"
	"net/http"

	"github.com/a-h/templ"
)

func main() {
	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		templ.Handler(page()).ServeHTTP(w, r)
	})
	err := http.ListenAndServe("localhost:8080", mux)
	if err != nil {
		fmt.Println(err)
	}
}

package main

templ page() {
	<!DOCTYPE html>

			<meta charset="UTF-8"/>
			<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
			<title>Document</title>

			for _, name := range []string{"name1", "name2"} {
				{ name }
			}
			// bug-trigger

THIS WILL BE RENDRED IF I UNCOMMENT THE LINE ABOVE

}

templ generate --watch --proxy=http://localhost:8080 --cmd="go run ."

Here's a screen capture of what I see.
https://github.com/a-h/templ/assets/1029947/2c5ff912-7af9-4d43-a8f3-cd0c928ab719
Reading back through the comments more closely, I see that this is actually related to having air and templ both trying to do hot reload at the same time. It seems you've got a solution, and documented it for others at https://github.com/a-h/templ/discussions/596
I'll close this.


New certificate schema, mandatory type, chart sha and timestamp

This PR covers several things

New schema implemented. See "Certificate" struct in chartverifier/Certificate.go
Added ability to mark checks as Mandatory, Optional or Experimental. All current checks are mandatory
Generating a sha256 value for the chart. Basically sort all files into alphabetic order and then create sha from their content. Test case repeatedly creates sha calues for test charts making sure they are always the same.
Report is output to console and no longer a file. Running locallly use "command 2> report.yaml", running docker image just "command > report.yaml"
Default output is now yaml.
Some tests had to be updated for the new changes and schema

@isutton @pedjak Some of the comments relate to use of certificate instead of report. I used certificate because it is consistent with the rest of the code. The schema is in Cerificate.go, it is created from certificatebuilder.go, the  check process is created by certifierbuilder.go and run by certifier.go. If we use Report for the schema we should change all of those, the object and funcs too. Thoughts?

If we use Report for the schema we should change all of those, the object and funcs too. Thoughts?

Yes, change everything what is needed.

@pedjak @isutton  : have addressed the comments which are not connected to using report instead of certificate - for those comments and the entire rename effort I opened a new issue #78


use XPU instead of GPU in the accelerate config prompt text

What does this PR do?
When using accelerate config to configure params on XPU, it shows "What GPU(s) (by id)..." rather than "What XPU(s) (by id)..." as shown below:
In which compute environment are you running?
This machine
--------------------------------------------------------------------------------------------------------------------------------------------Which type of machine are you using?
multi-XPU
How many different machines will you use (use more than 1 for multi-node training)? [1]: 1
Should distributed operations be checked while running for errors? This can avoid timeout issues but will be slower. [yes/NO]: no
Do you want to use XPU plugin to speed up training on XPU? [yes/NO]:yes
Do you wish to optimize your script with torch dynamo?[yes/NO]:no
Do you want to use DeepSpeed? [yes/NO]: no
Do you want to use FullyShardedDataParallel? [yes/NO]: no
How many XPU(s) should be used for distributed training? [1]:2
What GPU(s) (by id) should be used for training on this machine as a comma-seperated list? [all]:1,2

This PR fixes this issue.
@muellerzr @BenjaminBossan

Hi, can we proceed with these PRs as well? #3220, #3228, #3221, as they have been around for quiet a few weeks. Thanks a lot!

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Add forecasted "people revolt" chance

As well as showing the unrest level, we should show the forecasted chance (%) of the senate being overthrown when the people revolt. This would help communicate to the players when there is a significant danger of players being defeated.

I personally disagee. ngl


Endorse: Dank memes

if you put an emoji reaction here, your profile pic will show up  on my README as an endorsement!

nice


object is not iterable

Hello,
I've coded this test here:
		const listSelector = {
			 selector: {
					controlType: "sap.m.List",
					viewName: "sap.ui.demo.todo.view.App"
			 }
		}

		const checkedItems = await browser.asControl(listSelector).getItems();
		const checked = 0
		for (const item of checkedItems) {
		  if (await item.getChecked()) { checked++ }
		}
		expect(checked).toBe(2);

But I'm getting: checkedItems is not iterable
The list is displayed on the screen and I don't know why I am getting that error.
I have added await browser.debug(); which stops the execution but in the console I cannot type await browser.asControl(listSelector).getItems(); because the console is not attached to the current flow of execution and I don't know if it's ever possible to debug and to what extent (I don't want to debug the original javascript file but the spec js).

debuggin a wdi5 test is pretty easy as it adheres to Node.js debugger/--inspect setting.
E.g. in VS Code, start a "JavaScript Debug Terminal"...

...and run wdi5 from there, e.g. via npm run wdi5 (or whatever npm script you've chosen).
Then add breakpoints in the test source...

...and wdi5 will halt execution at that point.
(Reminds me: we'll still need a recipe for debugging, will put it in the issues list.)
Then you can look at checkedItems in the debugger and examine why it's not iterable.

Hello,
thank you very much for giving the recipe to debug.
I don't know why but it seems that the list of items is empty even though in the last image you can see that it's not.
What could the issue be?

i guess you're missing interaction: "root" on the selector - see #319
selector: {
  controlType: "...",
  interaction: "root"
}

Thank you very much, that did the trick.
One more question.
If I need to add some text to sap.m.input and fire the change event, how can this be done? Do I need to raise a separate issue?

The statement I've added doesn't raise the change event. How can this be done in wdi5?

Hello,
I've managed to find a solution:
await oControl.enterText("Restart the server");
I think that you should enhance the "Recipe" sections with more examples.
Thanks .

I've managed to find a solution:
await oControl.enterText("Restart the server");
I think that you should enhance the "Recipe" sections with more examples.

given how easy it is to contribute to the documentation, would you mind giving this a shot?
as you stated, many would benefit from that.
thanks in advance!


fix(data-toolbar): merge refactor-data-toolbar branch (#2434)

This reverts commit 30af6bd879b6513c06171bcaecb4da50621f8213.

PatternFly-Next preview: https://patternfly-next-pr-2440.surge.sh

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use Decimal for min_value

The DecimalField from Django REST Framework recommends using a Decimal value when setting the min_value. It logs a warning otherwise.
Reference: https://github.com/encode/django-rest-framework/blob/fe92f0dd0d4c587eed000c7de611ddbff241bd6a/rest_framework/fields.py#L991-L992

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
8243

Relevant Lines:
8788

💛  - Coveralls


[Feature Request] Add option for right alignment of top tabs

Existing Component
Yes
Component Name
el-tabs
Description
At the moment we have the option to set the layout of the tabs to be positioned on top, but we lack the option to specify if the items in the scroll should be aligned to the left or to the right. Since the scroll behavior is controlled with JS, it is not possible to solve this issue by only overwriting CSS. An option like align = left|right, in the case of top/bottom positioned tabs list would be great and is a common need.

Moved to product backlog


Do not validate issuerRef's Kind field if group is not recognised

What this PR does / why we need it:
This is needed in order to allow issuerRef's that specify kind fields other than Issuer/ClusterIssuer to be accepted by the validation webhook.
With this patch, we only validate the kind field if the group name field is empty.
This may need to be backported to v0.9 to support the on-going out-of-tree issuer efforts.
Release note:
Don't validate issuerRef.kind field if issuerRef.group is set in order to support out-of-tree Issuer types

/unassign
/assign @munnerz

Updated

/lgtm


Release of Orthosie testnet

This is a tracking issue for the release of the next Penumbra testnet, Orthosie.
Final pre-flight testing: ~Friday, March 4~ delayed likely to subsequent week
Release and deployment: ~Monday, March 7 in the AM Eastern time~ delayed likely to subsequent week
Please file bugs if you find them and associate them with the Orthosie testnet milestone.
High-level plan:

[x] Pre-release testing throughout this week (week of Feb 28-Mar 4, 2022)
[x] Generate pre-flight test plan (here: https://docs.google.com/document/d/1QIU-bV51Ltc0SYeZknHGlN7O9d4Y4M8-4ofiJ266WkI/edit#)
[x] Prepare announcement / high-level description of changes
[x] Final pre-flight testing on Friday, fixing any bugs found
[x] Deployment ~on Monday~ (delayed, TBD) using the existing droplet (following #396, h/t @zbuc - I'll update that testnet deployment checklist during release of the Orthosie testnet and add below for future reference)

The (updated) deployment checklist from #396 and #210 is now stored in the wiki here and a basic test plan is in the wiki here


ENH: Pull request template

Added a PR template to passively enforce contributing standards. Suggestions are welcome

Seems cool. Is it possible to test this?

@EmmaRenauld If you click on the file "Files Changed" tab and then "View file" in the three dots menu, you can view the template as it will appear when creating a new PR


Bundle json file path

I put bundle.json in src/main/resource

and my css and js folders are in src/main/webapp

I tried src/main/webapp/css/xx.css and css/xx.css but neither  work in the process of package phase,and said not found xx.css xx.js
Debug message as follow:

the file location is correct,but can not compress.

Hi @user20161119,
I do not have access to your POM, but if you are using the defaults, you should only use the name of the files in the files option instead of the paths.
Have a look at the demo folder of the plugin for a working example using the bundle configuration.

@samaxes I use maven module projects,kxwp-parent is the parent project.

I reference the demo config as follow:

still not work.
the debug information in the project build process,
debug shows the file path is right:

but  build error,not found the source files.

Hmm, I believe that this functionality was never tested in a multi-module project.
Could you please build a small project prototype replicating this bug and sent it to me?


Display cursor as pointer for relevant checkbox and radio elements...

...plus their labels.
No Trello card, just a quick update.

👍


[Event Request] Table 18 - Function CustBlockedErrorMessage: OnBeforeCustBlockedErrorMessage

Hello, would it be possible to get an event OnBeforeCustBlockedErrorMessage (with IsHandle) in Table 18 Function CustBlockedErrorMessage:
procedure CustBlockedErrorMessage(Cust2: Record Customer; Transaction: Boolean)
var
    "Action": Text[30];
    **"IsHandled ": Boolean;**
begin
    **OnBeforeCustBlockedErrorMessage(Cust2, Transaction, IsHandled);
    IF IsHandled then
        exit;**
    if Transaction then
        Action := Text004
    else
        Action := Text005;
    Error(Text006, Action, Cust2."No.", Cust2.Blocked);
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeCustBlockedErrorMessage(Cust2: Record Customer; Transaction: Boolean; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


It is hard to find issues without logging.

Users saw error page "Application Not Authorized to Use Single Sign-on" but there were no any logs to find out what went wrong.
We spent a lot of time to find the issue. It was exception in method SamlIdPUtils#determineEndpointForRequest:207 telling about ACS urls mismatch.

 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.Andrei Kabakou 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.

It seems that I can't write adequate tests here because I just added one line LOGGER.warm(...) to method.
@mmoayyed Could you please take a look ?

You need to provide a lot more detail. The title and description of the PR says nothing about what happened, how it happened, etc. There is lots of logging around this particular behavior already and I am not keen on adding more unless there is good enough reason to do so, and that there is a reproducer that can show sufficient logs are not displayed.

@mmoayyed , here is discussion https://groups.google.com/a/apereo.org/g/cas-user/c/o_Hr3aekh44


Make this names context-dependent

It occurred to me that because of the name heuristics, this can be a common source of conservative recompilation when changes in the source code happens. We fixed a similar issue with constructors in https://github.com/sbt/zinc/pull/288, and the same rationale applies here. I'm optimistic that, just like that change, this improvement can reduce unnecessary compilations and increase the efficiency of the recompilations.

Another common name is package, which we may just want to outright remove.

Like this, synthesized constructors like the ones generated by default arguments should also be prepended with the class name they are owned by to minimize recompilations. Currently: <init>$default$1, should be: foo;MyBar;<init>$default$1 just as in the PR in
https://github.com/sbt/zinc/pull/288


Is NickJS going to change the steps of 'npm install nickjs' installation in future?

I just paste npm install nickjs and I received some warnings.
Shouldn't a chromium browser gets downloaded as part of nickJS installation instead of manually pointing chromium executable path?
Thanks for the library.

NickJS supports multiple drivers, at the moment CasperJS+PhantomJS and Chrome. I'm not a fan of downloading 2 full headless browsers for every npm install.
How would you do it? We're open to suggestions :)

As we all know, consumers of these kind of libraries are more expert than other developers or at least they are more curious(within ambition), which we can say, they can begin to work at the end of the day if everything is not ready, but in comparison to new libraries like Puppeteer which it installs a proper chromium while npm package installation, it seems like it would be more friendlier whether to ask for a browser download.

+1, it is not a good idea to tell "oh install this and that headless browser" to the developer. Or maybe two projects could be created nickjs-browsers-bundled and nickjs alone.

We are trying to upgrade our NodeJS8.10 application which uses NickJS, however we don't have a compatible chrome binary.
We were using, https://github.com/adieuadieu/serverless-chrome/tree/master/packages/lambda, but they don't have NodeJS10.x+ chrome binaries.
We are now looking at using, https://github.com/alixaxel/chrome-aws-lambda. Does anyone know if these chrome binaries would be compatible?
The application will be running on Amazon Linux 2, using NodeJS10.x or NodeJS12.x, as NodeJS8.10 is end-of-life.
Does anyone have any recommendations?


Symfony\Component\Console\Helper\DialogHelper not required

I installed dev-develop via composer and when I open the doctrine migrations-provider I get the message that Symfony\Component\Console\Helper\DialogHelper can not be found.
Best,
Florian

Hi, what do you mean "when I open the doctrine migrations-provider"?
On Sat, 12 Nov 2016 at 10:16, Florian Scholz<EMAIL_ADDRESS>wrote:

I installed dev-develop via composer and when I open the doctrine
migrations-provider I get the message that
Symfony\Component\Console\Helper\DialogHelper can not be found.
Best,
Florian
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kurlltd/silex-doctrine-migrations-provider/issues/14,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEHQDkufuK1r6-_gUzXbA1qLKU_zkmrks5q9ZIRgaJpZM4KwYc3
.

I see it now. Fixed in commit 6867960a5567dbdd0e3f5700d5dc0ebcba81b3e2.


select by modified not correct

fselect name,modified  from .  where modified  le  '2019-04-18 18:50:00'

it list file which modified is 2019-04-18 18:51:06

I think I had found it
it should be contained with quotation marks

fselect  "name,modified from . where modified le '2019-04-18 18:50:00'"

Thank you for this issue nevertheless! I should do something with invalid arguments to date/time functions broken by the shell. Probably to give a warning at least...


put toggle check back

looks like filters got removed from behind a toggle by accident

My bad - sorry.


Field Level Validation Validator is not a function

Hi, I have a simple signup form component and Im trying to use field level validation on each field. Everytime I pass validate prop on any field, I get this weird error. I'm using next js for server-rendering.
TypeError: validator is not a function
    at getError (http://localhost:3000/_next/-/commons.js:25486:19)
    at http://localhost:3000/_next/-/commons.js:25513:19
    at Array.forEach (native)
    at http://localhost:3000/_next/-/commons.js:25511:29
    at Form.validateIfNeeded (http://localhost:3000/_next/-/commons.js:26490:213)
    at Form.componentWillReceiveProps (http://localhost:3000/_next/-/commons.js:26558:18)
    at http://localhost:3000/_next/-/main.js:19132:23
    at measureLifeCyclePerf (http://localhost:3000/_next/-/main.js:18596:12)
    at ReactCompositeComponentWrapper.updateComponent (http://localhost:3000/_next/-/main.js:19131:9)**

If I remove the validate prop. the page renders as expected.

Please provide a reproducible example.

It was my mistake with the format. My issue is fixed and I'm closing this issue.

I'm getting the same error @khpatel4991 could you share the details of your error so maybe it can help me fix the error

I get the same error, it would be nice to know what syntax issue you had


How to modify "AndroidManifest.tmpl.xml" before "buildozer-action@v1" ?

HI,
I need to modify "AndroidManifest.tmpl.xml", before the build process (to add a android:usesCleartextTraffic="true" in )
How can I do that, with the github/action ?
thanks in advance

Hi! You can use python-for-android hooks for this.
Add line to buildozer.spec:
# (str) Filename to the hook for p4a
p4a.hook = p4a/hook.py

Add file p4a/hook.py with your code (you need hook after_apk_build, it is called from here).
I use this to change android.screenOrientation, you can change for your case:
import os
import shutil
from pathlib import Path
from pythonforandroid.toolchain import ToolchainCL

def after_apk_build(toolchain: ToolchainCL):
    manifest_file = Path(toolchain._dist.dist_dir) / "src" / "main" / "AndroidManifest.xml"
    old_manifest = manifest_file.read_text(encoding="utf-8")
    new_manifest = old_manifest.replace(
        'android:screenOrientation="portrait"',
        'android:screenOrientation="userPortrait"',
    )
    manifest_file.write_text(new_manifest, encoding="utf-8")
    if old_manifest != new_manifest:
        print("Set orientation SUCCESSFULLY")
    else:
        print("Set orientation FAILED")

Thanks, you are a god ! You save me ...
it now works (it builds an apk !) : https://github.com/manatlan/htagapk
But how can you explain ?!
The resulted apk/package can't be installed on my phone (xiaomi mi9)....
While, locally (on my ubu lts, the same repo/srcs), a simple buildozer android debug deploy run install it and run it, without trouble ?!
Have you got an idea ?
But thanks for the p4a tips !!!!

Apk from this build installs correctly on my Samsung S21.
What error do you get?

Update !
It works like a charm ! forget my latest comment !
(In fact, "Google Files" refused to install the github/apk .... but using another process : it installs, and it works !)
Big thanks to you !!

Glad to hear it, good luck with your projects!


How to create a user when running in single tenant node and using docker

So I've setup Hours using the instructions in Getting Started With Docker. My problem is creating a user with rake create_user for the application. Is there a way to do this for those running the application with Docker?

The script should work, you'd just need to run it inside the docker container, have you tried that already?

I had tried it but against the hours_cache_1 container :woman_facepalming: . Have run the command against the hours_app_1 container and it worked. Thanks for the response.
P. S: For those whom Google leads here, the commands I used are in this StackOverflow answer: https://stackoverflow.com/a/31578527

Happy that you got it to work. Feel free to add this to the Docker section in the README.


emotion v8 + adjustments for breaking changes

Update for with-emotion example. Updated emotion packages and adjusted the code for changes listed here: https://medium.com/@tkh44/emotion-8-9f892346d0af

@tkh44 Do you mind checking this one 😄


openmp 17.0.2

Just a simple bump from what's already in the rc-channel.  Waiting for builds of https://github.com/conda-forge/llvmdev-feedstock/pull/238
The biggest open question to me is https://github.com/conda-forge/openmp-feedstock/issues/96. Upstream LLVM changed the default version of OpenMP to 5.1, even though the status page shows this as far from complete. I've asked about this several times, with no response.
Closes #103
PS. The rc-branch didn't get merged back to main for https://github.com/conda-forge/openmp-feedstock/pull/81, so the commit history looks a bit longer; it seems some more smaller changes didn't make it back to main (switch to ninja, cos7, etc.; I've reverted the latter, 🤞 that it works).

@conda-forge/openmp this is ready for review, PTAL 🙏
Some relevant context in the OP.

Aside from the question of whether to increase the version (for which we have #96), this is a straight-forward bump, and brings the main & rc branches up-to-date with each other again. Merging.


privatelink endpoints not working

from azure.storage.filedatalake import DataLakeServiceClient

account_url = "https://[ommitted].privatelink.dfs.core.windows.net/"
key1 = "[ommitted]"
fs_name = "[ommitted]"

service = DataLakeServiceClient(
    account_url=account_url,
    credential=key1)
fs = service.create_file_system(file_system=fs_name)

---------------------------------------------------------------------------
ServiceRequestError                       Traceback (most recent call last)
<ipython-input-54-68aacab587c5> in <module>
      2     account_url=account_url,
      3     credential=key1)
----> 4 directory = service.create_file_system(file_system=fs_name)

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_data_lake_service_client.py in create_file_system(self, file_system, metadata, public_access, **kwargs)
    248         """
    249         file_system_client = self.get_file_system_client(file_system)
--> 250         file_system_client.create_file_system(metadata=metadata, public_access=public_access, **kwargs)
    251         return file_system_client
    252

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_file_system_client.py in create_file_system(self, metadata, public_access, **kwargs)
    244                 :caption: Creating a file system in the datalake service.
    245         """
--> 246         return self._container_client.create_container(metadata=metadata,
    247                                                        public_access=public_access,
    248                                                        **kwargs)

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\tracing\decorator.py in wrapper_use_tracer(*args, **kwargs)
     81             span_impl_type = settings.tracing_implementation()
     82             if span_impl_type is None:
---> 83                 return func(*args, **kwargs)
     84
     85             # Merge span is parameter is set, but only if no explicit parent are passed

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\blob\_container_client.py in create_container(self, metadata, public_access, **kwargs)
    284         container_cpk_scope_info = get_container_cpk_scope_info(kwargs)
    285         try:
--> 286             return self._client.container.create( # type: ignore
    287                 timeout=timeout,
    288                 access=public_access,

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\blob\_generated\operations\_container_operations.py in create(self, timeout, metadata, access, request_id_parameter, container_cpk_scope_info, **kwargs)
    126
    127         request = self._client.put(url, query_parameters, header_parameters)
--> 128         pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
    129         response = pipeline_response.http_response
    130

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in run(self, request, **kwargs)
    209             else _TransportRunner(self._transport)
    210         )
--> 211         return first_node.send(pipeline_request)  # type: ignore

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\policies\_redirect.py in send(self, request)
    156         redirect_settings = self.configure_redirects(request.context.options)
    157         while retryable:
--> 158             response = self.next.send(request)
    159             redirect_location = self.get_redirect_location(response)
    160             if redirect_location and redirect_settings['allow']:

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_shared\policies.py in send(self, request)
    513                     self.sleep(retry_settings, request.context.transport)
    514                     continue
--> 515                 raise err
    516         if retry_settings['history']:
    517             response.context['history'] = retry_settings['history']

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_shared\policies.py in send(self, request)
    487         while retries_remaining:
    488             try:
--> 489                 response = self.next.send(request)
    490                 if is_retry(response, retry_settings['mode']):
    491                     retries_remaining = self.increment(

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_shared\policies.py in send(self, request)
    288             request.context.options.pop('raw_response_hook', self._response_callback)
    289
--> 290         response = self.next.send(request)
    291         will_retry = is_retry(response, request.context.options.get('mode'))
    292         if not will_retry and download_stream_current is not None:

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
     69         _await_result(self._policy.on_request, request)
     70         try:
---> 71             response = self.next.send(request)
     72         except Exception:  # pylint: disable=broad-except
     73             if not _await_result(self._policy.on_exception, request):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\_base.py in send(self, request)
    101         return PipelineResponse(
    102             request.http_request,
--> 103             self._sender.send(request.http_request, **request.context.options),
    104             context=request.context,
    105         )

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\storage\filedatalake\_shared\base_client.py in send(self, request, **kwargs)
    317
    318     def send(self, request, **kwargs):
--> 319         return self._transport.send(request, **kwargs)
    320
    321     def open(self):

~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\azure\core\pipeline\transport\_requests_basic.py in send(self, request, **kwargs)
    283
    284         if error:
--> 285             raise error
    286         return RequestsTransportResponse(request, response, self.connection_config.data_block_size)

ServiceRequestError: ("hostname '[ommitted].privatelink.blob.core.windows.net' doesn't match either of '*.blob.core.windows.net', '*.mwh01prdstrz01a.store.core.windows.net', '*.blob.storage.azure.net', '*.z1.blob.storage.azure.net', '*.z2.blob.storage.azure.net', '*.z3.blob.storage.azure.net', '*.z4.blob.storage.azure.net', '*.z5.blob.storage.azure.net', '*.z6.blob.storage.azure.net', '*.z7.blob.storage.azure.net', '*.z8.blob.storage.azure.net', '*.z9.blob.storage.azure.net', '*.z10.blob.storage.azure.net', '*.z11.blob.storage.azure.net', '*.z12.blob.storage.azure.net', '*.z13.blob.storage.azure.net', '*.z14.blob.storage.azure.net', '*.z15.blob.storage.azure.net', '*.z16.blob.storage.azure.net', '*.z17.blob.storage.azure.net', '*.z18.blob.storage.azure.net', '*.z19.blob.storage.azure.net', '*.z20.blob.storage.azure.net', '*.z21.blob.storage.azure.net', '*.z22.blob.storage.azure.net', '*.z23.blob.storage.azure.net', '*.z24.blob.storage.azure.net', '*.z25.blob.storage.azure.net', '*.z26.blob.storage.azure.net', '*.z27.blob.storage.azure.net', '*.z28.blob.storage.azure.net', '*.z29.blob.storage.azure.net', '*.z30.blob.storage.azure.net', '*.z31.blob.storage.azure.net', '*.z32.blob.storage.azure.net', '*.z33.blob.storage.azure.net', '*.z34.blob.storage.azure.net', '*.z35.blob.storage.azure.net', '*.z36.blob.storage.azure.net', '*.z37.blob.storage.azure.net', '*.z38.blob.storage.azure.net', '*.z39.blob.storage.azure.net', '*.z40.blob.storage.azure.net', '*.z41.blob.storage.azure.net', '*.z42.blob.storage.azure.net', '*.z43.blob.storage.azure.net', '*.z44.blob.storage.azure.net', '*.z45.blob.storage.azure.net', '*.z46.blob.storage.azure.net', '*.z47.blob.storage.azure.net', '*.z48.blob.storage.azure.net', '*.z49.blob.storage.azure.net', '*.z50.blob.storage.azure.net'",)

Thanks for the feedback, we’ll investigate asap.

The same issue exists for accessing blob storage too.

@isgallagher if it helps the URL for the storage automatically CNAMEs to the private link address on vm. I got around this by using the storage account's URL instead of the private link one in my connection.

Facing the same issue while accessing azure blob storage, unable to push blobs using set_proxy.
Has this issue been resolved? Thanks

I think I'm hitting this issue too. I have a custom DNS alias for my storage account so it obviously won't match the standard urls.

I've responded to the email offline @isgallagher

Hi, Looks like this is a common problem that occurs in Python when attempting to make requests that require a specific certificate.
During client creation in any python SDK (not limited to the storage SDK) you will need to set the certificate information to the requests.
https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core#configurations

For those who require a quick fix and do not care for the verification of the certificate (e.g. if you're scenario is a throwaway application) then set the connection_verify to False. However I do not recommend this approach since it's insecure.
For those with the correct SSL certificate to verify  connection_verify parameter to a path that contains the certificate. Respectfully specify the connection_cert for client-side certificates.
Please make sure that if you convert your certificate file to a PEM format, that you also include the existing CA bundle. Python request module will not use the existing bundle if you specify the certificate without that.

@isgallagher Thanks for reaching out to us. I wanted to follow-up on this thread to check if the pointers provided by @amnguye helped to address your issue. Awaiting your reply.

Also I wanted to add that when using a private endpoint to remember to use the same connection string to connect to the storage account as documented here.
https://docs.microsoft.com/en-us/azure/storage/common/storage-private-endpoints#connecting-to-a-private-endpoint

@isgallagher This github issue has been open for quite sometime. I wanted to do a quick follow-up to check if you need any further assistance on this.

@isgallagher This github issue has been open for quite sometime. I wanted to do a quick follow-up to check if you need any further assistance on this.

I ended up adding the public endpoints into the DNS to resolve to the private IPs.  Not great but it works.  I really would like to be able to specify a custom URL for the endpoint like with the AWS CLI.

@isgallagher @dhirschfeld
Have you attempted the following solutions that I suggested above? What were the outcomes of that for each one? I am asking so we can get clarification on the issue so we can move forward with a solution.
If the outcomes were the same for each suggestion as the original post, then I would highly suggest you to look at the last solution because looking at your output and repro it looks like "privatelink" is being included in the endpoint URL you are passing.
e.g. You are passing "https://[ommitted].privatelink.dfs.core.windows.net/" when the docs state that you should use the same connection string to connect to the storage account using the private endpoints and not to connect to the storage using the its private subdomain URL

(from: https://docs.microsoft.com/en-us/azure/storage/common/storage-private-endpoints#connecting-to-a-private-endpoint)

I really would like to be able to specify a custom URL for the endpoint like with the AWS CLI / boto3.

We accept custom URLs as long as the storage account name is specified as well (e.g. the endpoint URL, storage account name and storage account credential must all be passed).
@tasherif-msft @jalauzon-msft To assist with a sample of this, if the reply asks for a sample of how to do this.

@isgallagher This is s quick follow-up to check if you had a chance to look at the above comment by @amnguye. Awaiting your reply.

We accept custom URLs as long as the storage account name is specified as well

I was wanting to use a CNAME alias to address my storage exactly to abstract away the specific storage account being accessed, so having to include the storage account name would defeat the entire purpose of what I was trying to achieve.
Similarly, I haven't tried disabling SSL because, even if it works, I can't do that in production so there's no point going down that route.
I'm not sure what the solution is to achieve what I want but if there is no support for using custom DNS names to address Azure storage accounts then maybe I will have to put a proxy in front of it.

I wanted to provide a final update to this issue by saying that I have confirmed with the service team that specifying the privatelink endpoint (i.e. https://[ommitted].privatelink.dfs.core.windows.net/) directly when connecting to Storage is not a supported scenario. PrivateLinks are intended to be handled by DNS.
The documentation that @amnguye provided above is correct and outlines how the PrivateLink feature should be used.
As per above, I'm going to Close this issue.

@isgallagher if it helps the URL for the storage automatically CNAMEs to the private link address on vm. I got around this by using the storage account's URL instead of the private link one in my connection.

This worked for me.. it wouldve been useful to know this beforehand, someone document this stuff if not already.


Correct wrong links in manage-resources pages

@TechWatching : Thanks for your contribution! The author, @mumian, has been notified to review your proposed change.

#sign-off


Robusta and Kubecost are not deleted when uninstalling XkOps with Helm

About Bug or problem
When you uninstall XkOps by using Helm, Robusta and Kubecost are not deleted and the namespaces for XkOps, Robusta and Kubecost are also not cleared.

[ ] In which environment bug or problem reported/observed?
EKS Cluster

[ ] Priority of reported bug
High

Steps to reproduce

Install the XkOps using the image
Check the namespace by using the command
kubectl get ns
Uninstall the XkOps by using command
helm uninstall xkops
Then you can check the namespace and pods by using the following commands and find that they are not deleted
kubectl get ns
kubectl get pod -n <namespace name>

12 June,2023
Brainstorming on how to achieve this.


GitHub Release Event

This pull request adds a new github_release event to runway

There is an inherent problem with releases that I haven't quite figured out yet. Since runway is so highly customizable, a project could be literally anything: a git repo, a k8s deployment, a docker container, etc.
That being said, how does one figure out what version you are "currently at" in order to figure out if you should upgrade/redeploy it? Runway has no state and because of how flexible it is, it is a challenge to figure out what the current version of a "project" is at.


Add optional '-v' flag to ensure args help text

What does this do / why do we need it?
Details use of '-v' command line option in the ensure sub command.
What should your reviewer look out for in this PR?
Look for the updated command line option syntax and an associated test case.
Do you need help or clarification on anything?
No
Which issue(s) does this PR fix?
Fixes #1458

thanks!